AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   What should i do ? (https://forums.alliedmods.net/showthread.php?t=321118)

Ykaru 01-25-2020 20:19

What should i do ?
 
Hi, i have this plugin :

PHP Code:

#include <amxmodx>
#include <cstrike>
#include <engine>
#include <fun>
#include <hamsandwich>

#pragma semicolon 1

#define FLASH_SPEED         350.0        // viteza care o are Flash
#define HULK_GRAVITY        0.75        // gravitatea setata lui hulk ( 1.0 = 800 )
#define PREDATOR_MULTIPLY    1.8        // damage facut inmultit cu 1.5 sau cat pui.
#define ELF_INVISIBILITY    76        // ( 0 - 255 ) 2.55 este aproximativ 1% deci 76 vine cam 30% vizibil

#define PLUGIN "Plugin Nou"
#define VERSION "1.0"

new  const  Models[  5  ][    ]  =
{
    
    
"",        //Null
    
"bb_playerCTs",      //Gigi Rapidu
    
"bb_playerCTs",      //Saltaretu' Ninja
    
"bb_playerCTs",      //Terminator
    
"bb_playerCTs"          //Ursu Negru
};

new  const  
kModels[  5  ][    ]  =
{
    
    
"",            //Null
    
"models/v_xmasknifeK.mdl",    //Gigi Rapidu
    
"models/v_xmasknifeK.mdl",    //Saltaretu' Ninja
    
"models/v_xmasknifeK.mdl",    //Terminator
    
"models/v_xmasknifeK.mdl"    //Ursu negru    
};

new  const  
MenuName[    ]  =  " \wRase \rHuman^n";
new  const  
NumeSite[    ]  =  "\yRase Human";

new  
bool:UserIsFlash[  33  ];
new  
bool:UserIsHulk[  33  ];
new  
bool:UserIsPredator[  33  ];
new  
bool:UserIsElf[  33  ];
new  
bool:UserChoosed[  33  ];

public  
plugin_precache(    )
{
    
    new  
ModelPath[  64  ];
    
    for(  new  
i  1;  i  <  6;  i++  )
    {
        
formatex(  ModelPath,  sizeof  (  ModelPath  )  -1"models/player/%s/%s.mdl",  Models[  i  ],  Models[  i  ]  );
        
precache_model(  ModelPath  );
        
    }
    for(  new  
i  1;  i  <  6;  i++  )
    {
        
precache_model(  kModels[  i  ]  );
    }
}

public 
plugin_cfg(    )    set_cvar_float(  "sv_maxspeed",  FLASH_SPEED  );

public 
plugin_init(    ) 
{
    
register_plugin(  PLUGIN,  VERSION"Askhanar"  );
    
register_clcmd(  "say /race",  "sayRace"  );
    
    
RegisterHam(  Ham_Spawn,  "player",  "Ham_PlayerSpawnPost",  true  );
    
RegisterHam(  Ham_TakeDamage,  "player""Ham_PlayerTakeDamage"false  );
    
register_event"CurWeapon""evCurWeapon""be""1=1" );
    
register_event"HLTV""evHookRoundStart""a""1=0""2=0" );
}

public 
client_connect(id)
{
    
SetCl_Settings(  id  ,  0  );
    
UserIsFlash[  id  ]  =  false;
    
UserIsHulk[  id  ]  =  false;
    
UserIsPredator[  id  ]  =  false;
    
UserIsElf[  id  ]  =  false;
    
UserChoosed[  id  ]  =  false;
}

public 
client_disconnect(id)
{
    
SetCl_Settings(  id,  0  );
    
UserIsFlash[  id  ]  =  false;
    
UserIsHulk[  id  ]  =  false;
    
UserIsPredator[  id  ]  =  false;
    
UserIsElf[  id  ]  =  false;
    
UserChoosed[  id  ]  =  false;
}

public 
sayRace(  id  )
{
    if( 
UserChoosed[  id  ]  )
    {
        
client_printidprint_chat"* Ti-ai ales deja rasa runda aceasta !" );
        return 
1;
    }
    if(  
cs_get_user_team(  id  )  ==  CS_TEAM_CT   )   MainMenu(  id  );
    
    return 
0;
}

public 
Ham_PlayerSpawnPost(  id  
{
    
    if(  !
is_user_alive(  id  )  ||  UserChoosed[  id  ]  )  return HAM_IGNORED;
    
    if( 
UserChoosed[  id  ]  )
    {
        
client_printidprint_chat"* Ti-ai ales deja rasa runda aceasta !" );
        return 
HAM_IGNORED;
    }
    
    
ResetUserSettings(  id  );
    if(  
cs_get_user_team(  id  )  ==  CS_TEAM_CT )   MainMenu(  id  );
    
    
cs_reset_user_model(  id  );
    
    return 
HAM_IGNORED;
}
    
public 
MainMenuid )
{
    new  
menu  =  menu_create(  MenuName,  "MainMenuHandler"  );    
    
    
menu_additem(  menu,  "Gigi Rapidu \r[\yViteza Mare \w+ \yM4a1 \w+ \yDeagle\r]",  "1",  0  );
    
menu_additem(  menu,  "Saltaretu' Ninja \r[\yGravitatie \w+ \yAk47 \w+ \yDeagle\r]",  "2",  0  );
    
menu_additem(  menu,  "Terminator \r[\yDamage Ridicat \w+ \yM249 \w+ \yUsp\r]",  "3",  0  );
    
menu_additem(  menu,  "Ursu Invizibil \r[\yInvizibilitate \w+ \yM4a1 \w+ \yUsp\r]^n",  "4",  0  );
    
    
menu_setprop(  menu,  MPROP_EXITNAME,  NumeSite  );
    
    
menu_display(  id,  menu,  0  );

}

/*=======================================================================================s=P=u=f=?*/

public MainMenuHandler(  id,  menu,  item  )
{
    if(  
item  ==  MENU_EXIT  )
    {
        
set_task(  0.1,  "MainMenu",  id  );
        return 
1;
    }
    
    if(  
cs_get_user_team(  id  )  !=  CS_TEAM_CT  ) return 1;
    
    new  
data[  6  ],  iName[  64  ];
    new  
iaccess,  callback;
    
    
menu_item_getinfo(  menu,  item,  iaccess,  data,  5,  iName,  sizeof  (  iName  )  -1,  callback  );
    
    new  
key  =  str_to_num(  data  );
    
    switch(  
key  )
    {
        case 
1:
        {
            
UserChoosed[  id  ]  =  true;
            
ResetUserSettings(  id  );
            
GiveUserPowerid,  );
            
cs_set_user_model(  id,  Models[  1  ]  );
            
give_item(id"weapon_m4a1");
            
cs_set_user_bpammo idCSW_M4A1999);
            
give_item(id"weapon_deagle");
            
cs_set_user_bpammo idCSW_DEAGLE999);
            
engclient_cmdid"weapon_knife" );
            return 
1;
        }
        case 
2:
        {
            
UserChoosed[  id  ]  =  true;
            
ResetUserSettings(  id  );
            
GiveUserPowerid,  );
            
cs_set_user_model(  id,  Models[  2  ]  );
            
give_item(id"weapon_ak47");
            
cs_set_user_bpammo idCSW_AK47999);
            
give_item(id"weapon_deagle");
            
cs_set_user_bpammo idCSW_DEAGLE999);
            
engclient_cmdid"weapon_knife" );
            return 
1;
        }
        case 
3:
        {
            
UserChoosed[  id  ]  =  true;
            
ResetUserSettings(  id  );
            
GiveUserPowerid,  );
            
cs_set_user_model(  id,  Models[  3  ]  );
            
give_item(id"weapon_m249");
            
cs_set_user_bpammo idCSW_M249999);
            
give_item(id"weapon_usp");
            
cs_set_user_bpammo idCSW_USP999);
            
engclient_cmdid"weapon_knife" );
            return 
1;
        }
        case 
4:
        {
            
UserChoosed[  id  ]  =  true;
            
ResetUserSettings(  id  );
            
GiveUserPowerid,  );
            
cs_set_user_model(  id,  Models[  4  ]  );
            
give_item(id"weapon_m4a1");
            
cs_set_user_bpammo idCSW_M4A1999);
            
give_item(id"weapon_usp");
            
cs_set_user_bpammo idCSW_USP999);
            
engclient_cmdid"weapon_knife" );
            return 
1;
        }
    }
    
    return 
0;
}

public 
GiveUserPower(  id,  const  Class  )
{
    
    switch(  Class  )
    {
        case 
1:
        {
            
            
//slow hacking ?:O
            
SetCl_Settings(  id,  1  );
            
set_user_maxspeed(  id,  FLASH_SPEED  );
            
UserIsFlash[  id  ]  =  true;
            
            return 
1;
            
        }
        case 
2:
        {
            
set_user_gravity(  id,  HULK_GRAVITY  );
            
UserIsHulk[  id  ]  =  true;
            
            return 
1;
        }
        case 
3:
        {
            
UserIsPredator[  id  ]  =  true;
            return 
1;
        }
        case 
4:
        {
            
set_user_rendering(  id,  kRenderFxNone,  0,  0,  0,  kRenderTransAlpha,  ELF_INVISIBILITY );
            
UserIsElf[  id  ]  =  true;
            
            return 
1;
        }
    }
    
    return 
0;
    
}

public 
ResetUserSettings(  id  )
{
    if(  
UserIsFlash[  id  ]  )    set_user_maxspeed(  id,  255.0  );
    
    if(  
UserIsHulk[  id  ]  )     set_user_gravity(  id,  1.0  );
        
    if(  
UserIsElf[  id  ]  )    set_user_rendering(  id,  kRenderFxNone,  0,  0,  0,  kRenderNormal,  0  );
    
    {
        
set_user_maxspeed(  id,  255.0  );
    
        
set_user_gravity(  id,  1.0  );
            
        
set_user_rendering(  id,  kRenderFxNone,  0,  0,  0,  kRenderNormal,  0  );
    }
        
    
    
SetCl_Settings(  id,  0  );
    
UserIsFlash[  id  ]  =  false;
    
UserIsHulk[  id  ]  =  false;
    
UserIsPredator[  id  ]  =  false;
    
UserIsElf[  id  ]  =  false;
    
}
public 
SetCl_Settings(  id,  const  OnOff  )
{
    if(  
OnOff  >  0  )
    {
        
client_cmd(  id"cl_backspeed %.1f",  FLASH_SPEED  );
        
client_cmd(  id"cl_forwardspeed %.1f",  FLASH_SPEED  );
        
client_cmd(  id"cl_sidespeed %.1f",  FLASH_SPEED  );
        
        return 
1;
        
    }
    
    
client_cmd(  id"cl_backspeed 400"  );
    
client_cmd(  id"cl_forwardspeed 400"  );
    
client_cmd(  id"cl_sidespeed 400"  );
    
    return 
0;
    


And i get this error, what should i modify ?

PHP Code:

[HAMSANDWICH] Function Ham_PlayerTakeDamage not found.
[
AMXXDisplaying debug trace (plugin "rase_arme.amxx"version "unknown")
[
AMXXRun time error 10native error (native "RegisterHam")
[
AMXX] [0rase_arme.sma::plugin_init (line 71 

And sometimes i can choose two races and if i use revive i dont have any benefit from the race i choose.

Bugsy 01-25-2020 20:36

Re: What should i do ?
 
You have a hook registered for Ham_TakeDamage, but you have no function named Ham_PlayerTakeDamage to handle the hook.

RegisterHam( Ham_TakeDamage, "player", "Ham_PlayerTakeDamage", false );

Shadows Adi 01-26-2020 03:14

Re: What should i do ?
 
This is the event:
PHP Code:

    RegisterHam(  Ham_TakeDamage,  "player""Ham_PlayerTakeDamage"false  ); 

And this is the public function for the event:
PHP Code:

public Ham_PlayerTakeDamageid )
{
    
//some code



Bugsy 01-26-2020 11:48

Re: What should i do ?
 
Quote:

Originally Posted by Shadows Adi (Post 2681656)
This is the event:
PHP Code:

    RegisterHam(  Ham_TakeDamage,  "player""Ham_PlayerTakeDamage"false  ); 

And this is the public function for the event:
PHP Code:

public Ham_PlayerTakeDamageid )
{
    
//some code



PHP Code:

public Ham_PlayerTakeDamageiVictim iInflictor iAttacker Float:fDamage DamageBits )
{





All times are GMT -4. The time now is 02:56.

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