AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Zombie Plague Mod (https://forums.alliedmods.net/forumdisplay.php?f=126)
-   -   [ZP] Addon Round Fog (https://forums.alliedmods.net/showthread.php?t=158512)

yokomo 06-05-2011 14:32

[ZP] Addon Round Fog
 
1 Attachment(s)
Plugin Description:
This plugin is created for all HL1 fog lover, it makes different fog for each mod (infection, multi, swarm, plague, survivor, nemesis).

Cvars:
No cvars all hardcoded :)

Configuration:
* Please make sure to use OpenGL mod, because HL1 based game is suck!
* Remember to disable ZP original fog, look in "zombieplague.ini" and set "FOG = 0"

To set fog color and density:
PHP Code:

public zp_round_started(gamemode)
{
    switch(
gamemode)
    {
        
// Make sure density must between 0.0001 and 0.25
        // Max RGB color is 255
        
case MODE_INFECTIONCreateFog(00000.0008);
        case 
MODE_MULTICreateFog(010010000.0008);
        case 
MODE_PLAGUECreateFog(0010000.0008);
        case 
MODE_SURVIVORCreateFog(0001000.0008);
        case 
MODE_NEMESISCreateFog(0100000.0008);
        case 
MODE_SWARMCreateFog(01001001000.0005);
    }


To remove fog for certain player:
PHP Code:

CreateFog(id, .clear true); 

To remove fog for all players:
PHP Code:

CreateFog(0, .clear true); 

Credits:
Arkshine -- Custom Fog Stock.
Dolph_Ziggler -- His idea, nice yow!

bibu 06-05-2011 14:43

Re: [ZP] Addon Round Fog
 
Good job! :up:
I would add cvars for the colors of individual modes though. :)

yokomo 06-05-2011 14:47

Re: [ZP] Addon Round Fog
 
Quote:

Originally Posted by bibu (Post 1481910)
Good job! :up:
I would add cvars for the colors of individual modes though. :)

Nice, i hate to write cvars because it's too many.. :) so i will past to you to update it :mrgreen:

bibu 06-05-2011 15:00

Re: [ZP] Addon Round Fog
 
Quote:

Originally Posted by yokomo (Post 1481913)
so i will past to you to update it :mrgreen:

No, since it isn't bad coded, I won't touch it. :)

Dolph_Ziggler 06-05-2011 15:03

Re: [ZP] Addon Round Fog
 
Quote:

Originally Posted by yokomo (Post 1481913)
Nice, i hate to write cvars because it's too many.. :) so i will past to you to update it :mrgreen:

niceee yokomo thank you very much :D :))))

georgik57 06-06-2011 11:08

Re: [ZP] Addon Round Fog
 
very nice
can you add fading fog? (in and out)

Dolph_Ziggler 06-06-2011 11:11

Re: [ZP] Addon Round Fog
 
Quote:

Originally Posted by georgik57 (Post 1482411)
very nice
can you add fading fog? (in and out)

what is fading ???

georgik57 06-06-2011 11:12

Re: [ZP] Addon Round Fog
 
Quote:

Originally Posted by Dolph_Ziggler (Post 1482416)
what is fading ???

gradual changing

bibu 06-06-2011 13:18

Re: [ZP] Addon Round Fog
 
Quote:

Originally Posted by yokomo (Post 1481913)
so i will past to you to update it :mrgreen:

Done. :mrgreen:

Untested, please test all cvars out, hope it works flawlessly. :)
The colors should be by default ok.

PHP Code:

#include <amxmodx>
#include <zombieplague>

#define PLUGIN    "ZP Round Fog"
#define VERSION    "1.0.0"
#define AUTHOR    "yokomo"

new zp_fog_infzp_fog_inf_colorzp_fog_inf_density
new zp_fog_multizp_fog_multi_colorzp_fog_multi_density
new zp_fog_plaguezp_fog_plague_colorzp_fog_plague_density
new zp_fog_survzp_fog_surv_colorzp_fog_surv_density
new zp_fog_nemzp_fog_nem_colorzp_fog_nem_density
new zp_fog_swarmzp_fog_swarm_colorzp_fog_swarm_density

public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
zp_fog_inf register_cvar("zp_fog_inf""1")
    
zp_fog_inf_color register_cvar("zp_fog_inf_color""0 200 0")
    
zp_fog_inf_density register_cvar("zp_fog_inf_density""0.0002")
    
    
zp_fog_multi register_cvar("zp_fog_multi""1")
    
zp_fog_multi_color register_cvar("zp_fog_multi_color""200 0 0")
    
zp_fog_multi_density register_cvar("zp_fog_multi_density""0.0002")
    
    
zp_fog_plague register_cvar("zp_fog_plague""1")
    
zp_fog_plague_color register_cvar("zp_fog_inf_plague""153 50 204")
    
zp_fog_plague_density register_cvar("zp_fog_inf_plague""0.0010")
    
    
zp_fog_surv register_cvar("zp_fog_surv""1")
    
zp_fog_surv_color register_cvar("zp_fog_surv_color""58 95 208")
    
zp_fog_surv_density register_cvar("zp_fog_surv_density""0.0008")
    
    
zp_fog_nem register_cvar("zp_fog_nem""1")
    
zp_fog_nem_color register_cvar("zp_fog_nem_color""255 0 0")
    
zp_fog_nem_density register_cvar("zp_fog_nem_density""0.0008")
    
    
zp_fog_swarm register_cvar("zp_fog_swarm""1")
    
zp_fog_swarm_color register_cvar("zp_fog_swarm_color""200 200 0")
    
zp_fog_swarm_density register_cvar("zp_fog_swarm_density""0.0005")
    
    
register_event("HLTV""event_round_start""a""1=0""2=0")
}

public 
plugin_cfg()
{
    
set_task(1.0"event_round_start")
}

public 
event_round_start()
{
    
CreateFog(0, .clear true)
}

public 
client_putinserver(id)
{
    
CreateFog(id, .clear true)
}

public 
zp_round_started(gamemode)
{
    new 
rgb
    
    
switch(gamemode)
    {
        case 
MODE_INFECTION:
        {
            if(
get_pcvar_num(zp_fog_inf))
            {
                
PrePareFogColor(zp_fog_inf_colorrgb)
            
                
CreateFog(0rgbget_pcvar_float(zp_fog_inf_density))
            }
        }
        case 
MODE_MULTI:
        {
            if(
get_pcvar_num(zp_fog_multi))
            {
                
PrePareFogColor(zp_fog_multi_colorrgb)
            
                
CreateFog(0rgbget_pcvar_float(zp_fog_multi_density))
            }
        }
        case 
MODE_PLAGUE:
        {
            if(
get_pcvar_num(zp_fog_plague))
            {
                
PrePareFogColor(zp_fog_plague_colorrgb)
            
                
CreateFog(0rgbget_pcvar_float(zp_fog_plague_density))
            }
        }
        case 
MODE_SURVIVOR:
        {
            if(
get_pcvar_num(zp_fog_surv))
            {
                
PrePareFogColor(zp_fog_surv_colorrgb)
            
                
CreateFog(0rgbget_pcvar_float(zp_fog_surv_density))
            }
        }
        case 
MODE_NEMESIS:
        {
            if(
get_pcvar_num(zp_fog_nem))
            {
                
PrePareFogColor(zp_fog_nem_colorrgb)
            
                
CreateFog(0rgbget_pcvar_float(zp_fog_nem_density))
            }
        }
        case 
MODE_SWARM:
        {
            if(
get_pcvar_num(zp_fog_swarm))
            {
                
PrePareFogColor(zp_fog_swarm_colorrgb)
            
                
CreateFog(0rgbget_pcvar_float(zp_fog_swarm_density))
            }
        }
    }
}

public 
PrePareFogColor(cvar, &r, &g, &b)
{
    static 
color[16], piece[5]
    
get_pcvar_string(cvarcolor15)
    
    
strbreak(colorpiece4color15)
    
str_to_num(piece)
    
    
strbreak(colorpiece4color15)
    
str_to_num(piece)
    
str_to_num(color)
}

// Stock create fog by Arkshine
stock CreateFog (const index 0, const red 127, const green 127, const blue 127, const Float:density_f 0.001bool:clear false
{    
    static 
msgFog
    
    
if(msgFog || (msgFog get_user_msgid("Fog")))     
    {         
        new 
density _:floatclamp(density_f0.00010.25) * _:!clear      
        message_begin
(index MSG_ONE_UNRELIABLE MSG_BROADCASTmsgFog, .player index)      
        
write_byte(clamp(red0255))   
        
write_byte(clamp(green0255))         
        
write_byte(clamp(blue 0255))        
        
write_byte((density 0xFF))       
        
write_byte((density >>  8) & 0xFF)     
        
write_byte((density >> 16) & 0xFF)    
        
write_byte((density >> 24) & 0xFF)    
        
message_end()
    } 



yokomo 06-06-2011 14:22

Re: [ZP] Addon Round Fog
 
Quote:

Originally Posted by georgik57 (Post 1482411)
very nice
can you add fading fog? (in and out)

That was dynamic fog just like Silenthill mod?

to make dynamic fog we need to set task just like zp thunder event.. ermm

@bibu
Wow got cvars yow! gonna test it, thanks.


All times are GMT -4. The time now is 15:03.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.