nawiązując do tego tematu ( http://amxx.pl/topic...-damage-deagla/ ), chciałbym się dowiedzieć, jak zrobić, żeby ta zmiana dmg działała tylko podczas rozgrzewki?
Zrobiłem tak:
stworzyłem zmienną
new bool:dgldmg;
Następnie w public TakeDamage zrobiłem tak:
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits, id){
if(dgldmg == true){
if ((!is_user_alive(idattacker) || !is_user_alive(this)) && idattacker != this) return HAM_IGNORED;
new weapon = get_user_weapon(idattacker);
if(weapon == CSW_DEAGLE)
damage *= 100; // ile razy ma mnozyc
SetHamParamFloat(4, damage);
return HAM_HANDLED;
}
}
Oraz w public Restart tak:
public restart()
{
//unpausing plugins
server_cmd("amx_pausecfg enable lokalizator.amxx");
g_is_warmup = false;
dgldmg = false;
remove_task(4567);
remove_task(2345);
server_cmd("sv_restart 1");
new Players[32], playerCount;
get_players(Players, playerCount);
for (new i=0; i<playerCount; i++)
{
new id = Players[i];
if(cs_get_user_bpammo(id, CSW_HEGRENADE))
cs_set_user_bpammo(id, CSW_HEGRENADE, 0);
}
}
Jest to plugin Ultimate WarmUp, tylko, że trochę zaedytowany. Po tym jak to zrobiłem wyskakuje mi błąd:
Warning: Function "TakeDamage" should return a value on line 146
Co to oznacza?
I jeszcze pytanie ze starego tematu - do czego służy #pragma ?
Użytkownik `NN edytował ten post 20.09.2012 14:51