←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Dwie sprawy dotyczące zabijania itemkiem

Zablokowany

  • +
  • -
Joke - zdjęcie Joke 28.07.2010

Witam, więc tak mam takie dwa problemy:
1. Zabijając kogoś z kuszy lub z itemka (meek, archy, 1/1 he itp) nie zalicza fraga do rankingu
2. Jeśli ktoś nas zabije z kuszy lub itemka (j.w) nalicza nam dwie śmierci

Jeśli ktoś wie w czym może tkwić problem proszę o pomoc , pozdrawiam ;)
Odpowiedz

Mesh - zdjęcie Mesh 29.07.2010

Miczu i Gutek specjalnie to zrobili zeby rankiem rzadzil skill a nie jak komus wylosuje sie fajny item.
ale wiele osob o to pyta
Odpowiedz

  • +
  • -
Joke - zdjęcie Joke 29.07.2010

No okej , ale punkt 2 to jakiś bug , ma ktoś jakiś pomysł co jest nie tak ? ;]
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 29.07.2010

zmien sobie util_kill na ExecuteHamB(Ham_Killed...
Odpowiedz

  • +
  • -
Joke - zdjęcie Joke 29.07.2010

yhy ta żeś mi pomógł , co z tego że podmienie jak Util_kill ma swój kod
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)

if(is_user_connected(attacker) && attacker!=id)
{
award_kill(attacker,id)
if(is_user_alive(attacker)) award_item(attacker,0)
}

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);
}
}


poza tym jak miałbym podmienić to np tutaj .. . UTIL_Kill(attacker_id,id, "weapon_hegrenade") O.o
Odpowiedz

  • +
  • -
Ortega - zdjęcie Ortega 29.07.2010

Albo, można prościej użyć tego stocka:
stock fm_user_kill(index, flag = 0) {
if (flag) {
new Float:frags;
pev(index, pev_frags, frags);
set_pev(index, pev_frags, ++frags);
}

dllfunc(DLLFunc_ClientKill, index);

return 1;
}


Użycie:
fm_user_kill( id, 1 );
Odpowiedz
Zablokowany