←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

change_health - wycięcie funkcji

Zablokowany

  • +
  • -
Sniper Elite - zdjęcie Sniper Elite 03.06.2011

Witam. Mógłby ktoś dla mnie tę funkcję wyciąć, bardzo by mi się przydała do Cod'a. Sam próbowałem, ale nie daje rady.
Odpowiedz

JLB. Leo - zdjęcie JLB. Leo 03.06.2011

do podstawienia do pluginu

public change_health(id,hp,attacker,weapon[])
{
if(is_user_alive(id) && is_user_connected(id))
{
new health = get_user_health(id)
if(hp>0)
{
set_user_health(id,get_user_health(id)+hp)
}
else
{
if(health+hp<1)
{
UTIL_Kill(attacker,id,weapon)
}
else set_user_health(id,get_user_health(id)+hp)
}
}
}

public UTIL_Kill(attacker,id,weapon[])
{
if( is_user_alive(id)){
if(get_user_team(attacker)!=get_user_team(id))
set_user_frags(attacker,get_user_frags(attacker) +1);

if(get_user_team(attacker)==get_user_team(id))
set_user_frags(attacker,get_user_frags(attacker) -1);

if (cs_get_user_money(attacker) + 150 <= 16000)
cs_set_user_money(attacker,cs_get_user_money(attacker)+150)
else
cs_set_user_money(attacker,16000)

cs_set_user_deaths(id, cs_get_user_deaths(id)+1)
user_kill(id,1)

message_begin( MSG_ALL, gmsgDeathMsg,{0,0,0},0)
write_byte(attacker)
write_byte(id)
write_byte(0)
write_string(weapon)
message_end()

message_begin(MSG_ALL,gmsgScoreInfo)
write_byte(attacker)
write_short(get_user_frags(attacker))
write_short(get_user_deaths(attacker))
write_short(0)
write_short(get_user_team(attacker))
message_end()

message_begin(MSG_ALL,gmsgScoreInfo)
write_byte(id)
write_short(get_user_frags(id))
write_short(get_user_deaths(id))
write_short(0)
write_short(get_user_team(id))
message_end()

new kname[32], vname[32], kauthid[32], vauthid[32], kteam[10], vteam[10];

get_user_name(attacker, kname, 31);
get_user_team(attacker, kteam, 9);
get_user_authid(attacker, kauthid, 31);

get_user_name(id, vname, 31);
get_user_team(id, vteam, 9);
get_user_authid(id, vauthid, 31);

log_message("^"%s<%d><%s><%s>^" killed ^"%s<%d><%s><%s>^" with ^"%s^"",
kname, get_user_userid(attacker), kauthid, kteam,
vname, get_user_userid(id), vauthid, vteam, weapon);
}
}
Odpowiedz

  • +
  • -
Sniper Elite - zdjęcie Sniper Elite 03.06.2011

No do cod'a mi potrzebne bo robić cos takiego za każdym razem:

new health = get_user_health(id);
	new new_health = (health+10<maksymalne_zdrowie_gracza[id])?health+10:maksymalne_zdrowie_gracza[id];
	set_user_health(id, new_health);

To troche niewygodnie.

dzięki.
Odpowiedz

JLB. Leo - zdjęcie JLB. Leo 03.06.2011

PS tutaj wyjąłem z tego wszystkie bonusy expa z diablo ale nie włożyłem bonusów za zabicie / damage z coda
Odpowiedz

  • +
  • -
Sniper Elite - zdjęcie Sniper Elite 03.06.2011

jak zabilem to dalo mi expa z coda normalnie
Odpowiedz

JLB. Leo - zdjęcie JLB. Leo 04.06.2011

widocznie silnik cod'a działa na innym mechanizmie, ważne że działa :)
Odpowiedz
Zablokowany