Jump to content

Recommended Posts

Posted

Overview

This plugin replaces the standard white smoke grenades with colorful smoke effects in Counter-Strike 1.6. It adds visual variety to the game by allowing smoke grenades to produce smoke in different colors - either randomly or based on team affiliation.

Plugin Information

  • Name: Colored Smoke Grenades
  • Version: 1.2
  • Author: steams.ro
  • Original Concept: xPaw
  • Game: Counter-Strike 1.6
  • Required Modules: engine, fakemeta

Features

🎨 Six vibrant smoke colors:

  • Yellow
  • Red
  • Blue
  • Green
  • Magenta
  • Orange

🎯 Three operating modes:

  • Disabled (standard white smoke)
  • Random colors
  • Team-based colors (T=Red, CT=Blue, Spectators=Green)

⚙️ Realistic physics:

  • Grenades bounce realistically on surfaces
  • Bounce sound effects
  • Proper gravity and friction simulation
  • Auto-removal after 21.5 seconds

Installation

Step 1: Required Files

Make sure you have the following sprite files in your server:

cstrike/sprites/gas_puff_01y.spr  (Yellow)
cstrike/sprites/gas_puff_01r.spr  (Red)
cstrike/sprites/gas_puff_01b.spr  (Blue)
cstrike/sprites/gas_puff_01g.spr  (Green)
cstrike/sprites/gas_puff_01m.spr  (Magenta)
cstrike/sprites/gas_puff_01o.spr  (Orange)

Step 2: Plugin Installation

  1. Place colored_smoke.sma in addons/amxmodx/scripting/
  2. Compile the plugin using AMX Mod X compiler
  3. Move compiled colored_smoke.amxx to addons/amxmodx/plugins/
  4. Add colored_smoke.amxx to your plugins.ini file
  5. Restart server or change map

Step 3: Configuration

Add to your amxx.cfg or server.cfg:

sv_colored_smoke 1  // Enable with random colors

Configuration

Console Variable (CVar)

sv_colored_smoke <mode>
Mode Description Effect
0 Disabled Standard white smoke (plugin inactive)
1 Random Colors Each smoke grenade gets a random color
2 Team-Based Colors Terrorist=Red, Counter-Terrorist=Blue, Spectators=Green

Examples

Enable random colored smoke:

sv_colored_smoke 1

Enable team-based colored smoke:

sv_colored_smoke 2

Disable plugin (use default smoke):

sv_colored_smoke 0

How It Works

Technical Process

  1. Interception: Plugin detects when a smoke grenade explodes (via weapons/sg_explode.wav sound)
  2. Entity Removal: Original smoke entity is moved off-map and flagged for removal
  3. Custom Entity: New entity is created with custom properties
  4. Physics Application: Entity receives random velocity for realistic bounce
  5. Color Assignment: Smoke color is determined based on current mode
  6. Visual Effects: Two-layer smoke effect is created for depth
  7. Ground Effect: Small smoke puffs appear when grenade settles
  8. Auto-Cleanup: Entity is automatically removed after 21.5 seconds

Smoke Effect Layers

The plugin creates a dual-layer smoke effect:

  • Main Cloud: Large smoke cloud (100 units radius) centered 50 units above ground
  • Secondary Layer: Wider diffusion effect (150 units radius) for visual depth
  • Ground Smoke: Small smoke puffs (2 units radius) when grenade is stationary

Color Distribution

Random Mode (sv_colored_smoke 1)

Each smoke grenade randomly selects from all 6 available colors with equal probability.

Team-Based Mode (sv_colored_smoke 2)

Team Color Sprite
Terrorist Red gas_puff_01r.spr
Counter-Terrorist Blue gas_puff_01b.spr
Spectator Green gas_puff_01g.spr

Performance Impact

  • CPU Usage: Minimal (< 1% on modern hardware)
  • Network Traffic: Slightly increased due to additional temp entities
  • Memory Usage: Negligible (~50KB for sprite precaching)
  • FPS Impact: None for most clients
  • Server Performance: No noticeable impact

Optimization Features

  • Uses efficient Fakemeta natives (pev, set_pev)
  • Proper entity cleanup prevents memory leaks
  • Sprites are precached only once at map start
  • Minimal forward hook overhead

Compatibility

Compatible with:

  • AMX Mod X 1.8.2 or higher
  • Metamod 1.21 or higher
  • Counter-Strike 1.6 (all builds)
  • Windows and Linux servers
  • All game modes (Classic, Deathmatch, etc.)

⚠️ May conflict with:

  • Other smoke modification plugins
  • Plugins that hook FM_EmitSound for smoke grenades
  • Custom smoke sprite replacements

Troubleshooting

Smoke appears white (not colored)

Cause: Missing colored sprite files
Solution: Download and install all 6 colored sprite files in the correct directory

Plugin not working

Cause: CVar set to 0 or plugin not loaded
Solution:

sv_colored_smoke 1
amx_plugins  // Check if plugin is loaded

Smoke grenades disappear instantly

Cause: Entity limit reached or conflicting plugin
Solution:

  • Increase sv_maxents value
  • Check for conflicting plugins with amx_plugins

Colors don't match teams in team-based mode

Cause: Plugin uses internal team IDs
Solution: This is expected behavior; team colors are:

  • Team 1 (T) = Red
  • Team 2 (CT) = Blue
  • Team 3 (Spec) = Green

Use Cases

1. Visual Enhancement

Add visual variety to standard gameplay without affecting balance.

2. Team Identification

Use team-based mode to help players quickly identify which team threw a smoke.

3. Event Servers

Create colorful and fun atmosphere for community events and casual play.

4. Training Servers

Use colored smokes to mark different areas or strategies during practice sessions.

5. Fun Servers

Enhance the visual appeal of fun/mod servers with random colored effects.

Commands

This plugin has no player commands. All configuration is done via server CVars.

Admin Commands

None required. Configuration is automatic based on CVar settings.

Known Limitations

  1. Sprite Requirement: Requires custom sprite files (not included with default CS 1.6)
  2. Client Download: Clients must download sprite files on first connect
  3. No Mid-Air Color Change: Color is determined at explosion, not while grenade is in flight
  4. Team Color Override: In team mode, player cannot choose custom colors

Changelog

Version 1.2 (Current - steams.ro)

  • Complete code refactoring and optimization
  • Switched to modern Fakemeta natives (pev, set_pev)
  • Added proper enums for colors and modes
  • Improved entity validation
  • Better code organization and comments
  • Separated smoke effect creation into dedicated function
  • Enhanced error handling
  • Updated to modern AMXX coding standards
  • Author credit updated to steams.ro

Version 1.1 (xPaw)

  • Fixed team-based color assignment
  • Improved bounce physics
  • Added ground smoke effect

Version 1.0 (xPaw)

  • Initial release
  • Basic colored smoke functionality
  • Random and team-based modes

FAQ

Q: Do clients need to download anything?
A: Yes, clients will automatically download the 6 colored sprite files on first connect (if FastDL is configured).

Q: Does this affect gameplay or provide any advantage?
A: No, this is purely cosmetic. Smoke blocks vision equally regardless of color.

Q: Can I add custom colors?
A: Yes, you can add custom sprites and modify the plugin source code to include them.

Q: Will this work with custom smoke mods?
A: It may conflict with other smoke modification plugins. Test compatibility carefully.

Q: Does this increase server lag?
A: No, the performance impact is negligible on modern servers.

Q: Can individual players choose colors?
A: Not in the current version. Colors are determined by server settings.

Support & Credits

Support

  • Website: steams.ro
  • Community: AMX Mod X forums
  • Issues: Report bugs through appropriate channels

Credits

  • Original Plugin: xPaw
  • Optimization & Update: steams.ro
  • Community: AMX Mod X developers and testers

Special Thanks

  • xPaw for the original colored smoke concept
  • AMX Mod X development team
  • Counter-Strike modding community

License

This plugin is free to use and modify for personal and commercial servers. Please maintain author credits when redistributing or modifying.

Redistribution Terms

  • Keep original author credits (xPaw)
  • Keep updated version credits (steams.ro)
  • Provide source code if distributing compiled version
  • Don't claim original authorship

Additional Resources

Sprite Creation

If you want to create custom colored sprites:

  1. Use Sprite Viewer/Creator tools
  2. Base your sprites on the original gas_puff_01.spr
  3. Modify the color palette
  4. Save with appropriate naming convention

Performance Monitoring

Monitor plugin performance with:

amx_plugins  // Check if plugin is active
stats  // View server performance

Version History Summary

Version Date Author Key Changes
1.0 Original xPaw Initial release
1.1 Update xPaw Physics improvements
1.2 2024 steams.ro Complete optimization

Thank you for using Colored Smoke Grenades! 🎨💨

For questions, suggestions, or bug reports, visit steams.ro or the AMX Mod X community forums.

ColoredSmoke.amxx ColoredSmoke.sma sprites.zip

×
×
  • Create New...