←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Pobranie nicku gracza przy zabójstwie

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

Witam.
Próbuję zrobić zabójcę gigantów. Jeżeli zabijemy kogoś kto ma więcej niż 30 lvl+ dostajemy dodatkowy exp i mam problem z odpowiednim if'em


new roznica_poziomow = player_lvl[victim_id] - player_lvl[killer_id]

if(roznica_poziomow >= 30){
new nick_ofiary[33][64]
new nick_zabijaki[33][64]
get_user_name(victim_id, nick_ofiary[victim_id], 63);
get_user_name(killer_id, nick_zabijaki[killer_id], 63);
new doswiadczenie_za_giganta = 2*(player_lvl[victim_id] - player_lvl[killer_id]);
nowe_doswiadczenie += doswiadczenie_za_giganta
ColorChat(killer_id, GREEN, "[Diablo]^x03 Gracz %s zabil %s ktory mial %i poziomow wiecej. Gratulacje! W nagrode otrzymuje %i dodatkowego doswiadczenia!^x04", nick_zabijaki[killer_id], nick_ofiary[victim_id], doswiadczenie_za_giganta/2, doswiadczenie_za_giganta);
}

Błąd jest w linijkach:

new nick_ofiary[33][64]
new nick_zabijaki[33][64]

I kod nie chcę się dalej wykonywać.

jak to poprawnie zapisać?
Odpowiedz

  • +
  • -
Stachuu :D ?? - zdjęcie Stachuu :D ?? 16.07.2012

ale jaki blad ze zle zarejestrowane czy co ?
Odpowiedz

  • +
  • -
Jak się nazwać - zdjęcie Jak się nazwać 16.07.2012

Ja bym użył tablic jednoelementowych bo po co skoro nie przechowujesz globalnie nicków graczy tylko pobierasz je w funkcji i od razu wyświetlasz.
Odpowiedz

  • +
  • -
speedkill - zdjęcie speedkill 16.07.2012

Zamień sobie ten 4 linijki na :
new nick_ofiary[64]
new nick_zabijaki[64]
get_user_name(victim_id, nick_ofiary, 63);
get_user_name(killer_id, nick_zabijaki, 63);
Odpowiedz

  • +
  • -
ogieR8 - zdjęcie ogieR8 19.07.2012

Tak jak speedkill, oraz po co :

new doswiadczenie_za_giganta = 2*(player_lvl[victim_id] - player_lvl[killer_id]);


skoro

new roznica_poziomow = player_lvl[victim_id] - player_lvl[killer_id]


?

Nie latwiej bedzie :

new doswiadczenie_za_giganta = 2*roznica_poziomow;


? =d
Odpowiedz