AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   If class x have own hp , grav and etc (https://forums.alliedmods.net/showthread.php?t=105329)

DoviuX 10-03-2009 13:55

If class x have own hp , grav and etc
 
If class x have own hp , grav , speed

PHP Code:

    new const ZombieClass[][] = {
    
"0",
    
"1",
    
"2"
    
};

   public 
fw_PlayerPreThink(id
   { 
        if(!
is_user_alive(id)) 
            return 
FMRES_IGNORED
     
        static 
Floatvelocity[3], FloatTime 
        
static buttonflag 
        button 
pev(idpev_button
        
flag pev(idpev_flags
        
Time get_gametime() 
     
        if (
g_zombie[id] && PlayerClass[id] == 0
        { 
            if ( (!
g_infreezetime) && (button IN_DUCK) && (button IN_ATTACK) && (flag FL_ONGROUND)) 
            { 
                    static 
FloatcooldownFloatlheightlforce 
                    cooldown 
get_pcvar_float(cvar_cooldown
                    
lforce get_pcvar_num(cvar_lforce
                    
lheight get_pcvar_float(cvar_lheight
                    if (
Time cooldown g_LastLeap[id]) 
                        {  
                        
emit_sound(idCHAN_ITEMhunter_leap1.0ATTN_NORM0PITCH_NORM); 
                        
set_pev(idpev_buttonbutton & ~IN_ATTACK
                        
velocity_by_aim(idlforcevelocity
                        
velocity[2] = lheight 
                        set_pev
(idpev_velocityvelocity
                        
g_LastLeap[id] = Time 
                        

            } 
        } 
        if (!
g_infreezetime && g_zombie[id] && ZombieClass[id] == 0
        { 
        
set_user_maxspeed(id280.0)
        
set_user_health(id600)
        
set_user_gravity(id0.7)
        } 
        else if (!
g_infreezetime && g_zombie[id] && PlayerClass[id] == 1
        { 
        
set_user_maxspeed(id255.0)
        
set_user_health(id700)
        
set_user_gravity(id0.8)
        } 
        else if (!
g_infreezetime && g_zombie[id] && PlayerClass[id] == 2
        { 
        
set_user_maxspeed(id250.0)
        
set_user_health(id300)
        
set_user_gravity(id0.9)
        } 
     
        return 
FMRES_IGNORED 
    



Bugsy 10-03-2009 14:04

Re: If class x have own hp , grav and etc
 
PHP Code:

    new const ZombieClass[][] = {
    
"0",
    
"1",
    
"2"
    
}; 

If you are storing integer values in the array then you can use an integer array instead of a string array:

PHP Code:

new const ZombieClass[] = { }; 

You can also do something like this just for better readability
PHP Code:

enum _:ZombieClass
{
      
SkinnyZombie,     //0
      
FatZombie,        //1
      
SlowZombie        //2
};

new 
PlayerClass33 ];

//Assign player a zombie class
PlayerClassid ] = FatZombie;

//Check if player is a fat zombie
if ( PlayerClassid ] == FatZombie )
{
     
//... 

And

Code:
        if (!g_infreezetime && g_zombie[id] && ZombieClass[id] == 0)         {         set_user_maxspeed(id, 280.0)         set_user_health(id, 600)         set_user_gravity(id, 0.7)         }         else if (!g_infreezetime && g_zombie[id] && PlayerClass[id] == 1)

Looks like just a typo but ZombieClass[id] will throw an error if id > 2.

And a little overall indentation work wouldnt hurt either:
PHP Code:

public Function( params )
{
    new 
var1;
    new 
var2;

    if ( 
var1 == )
    {
        
//do stuff
        //do more stuff

        
for ( new var1 i++ )
        {
            
//loop code
        
}
    }




All times are GMT -4. The time now is 22:39.

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