←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Dodawanie Punktów Honoru zale...

Zablokowany

  • +
  • -
Kaleka - zdjęcie Kaleka 29.10.2011

Witam.
Próbuję zrobić że dostaję się X punktów honoru zależnie od poziomu zabitego przeciwnika.
Wyglądać to powinno tak:
Jeżeli zabijesz przeciwnika który ma
0-100 poziom dostajesz 0-2 punktów honoru (odznak)
100-200 poziom dostajesz 1-3 punktów honoru (odznak)
200-300 poziom dostajesz 2-4 punktów honoru (odznak)
300-400 poziom dostajesz 3-5 punktów honoru (odznak)

Jednak mi nie wychodzi bo dopiero się uczę, oto mój kod:

public eDeath() {
new attacker = read_data( 1 );
new ofiara = read_data( 2 );

new nick[34];
get_user_name(attacker, nick, 33)

if(ofiara != attacker && attacker != 0)
{
if(get_user_team(attacker) != get_user_team(ofiara))
{
new dodatkowe1=random_num(0,2);
new dodatkowe2=random_num(1,3);
new dodatkowe3=random_num(2,4);
new dodatkowe4=random_num(3,5);

new poziom=cod_get_user_level(attacker);

//Odznaki[attacker] += dodatkowe; // Nic nie znaczy, taka mała ściąga

if(poziom <= 400 && dodatkowe4 > 0)
{
Odznaki[attacker] += dodatkowe4;
set_hudmessage(255, 60, 600, 0.2, 0.9, 0, 6.0, 7.0)
show_hudmessage(attacker, "+%i Punktow Honoru", dodatkowe4)
}
else if(poziom <= 300 && dodatkowe3 > 0)
{
Odznaki[attacker] += dodatkowe3;
set_hudmessage(255, 60, 600, 0.2, 0.9, 0, 6.0, 7.0)
show_hudmessage(attacker, "+%i Punktow Honoru", dodatkowe3)
}
else if(poziom <= 200 && dodatkowe2 > 0)
{
Odznaki[attacker] += dodatkowe2;
set_hudmessage(255, 60, 600, 0.2, 0.9, 0, 6.0, 7.0)
show_hudmessage(attacker, "+%i Punktow Honoru", dodatkowe2)
}
else if(poziom <= 100 && dodatkowe1 > 0)
{
Odznaki[attacker] += dodatkowe1;
set_hudmessage(255, 60, 600, 0.2, 0.9, 0, 6.0, 7.0)
show_hudmessage(attacker, "+%i Punktow Honoru", dodatkowe1)
}
}

}
}

Użytkownik Zielony Smerf edytował ten post 29.10.2011 18:19
Odpowiedz

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


new poziom=cod_get_user_level(attacker);

nie powinno być

new poziom=cod_get_user_level(ofiara);
Odpowiedz

  • +
  • -
Kaleka - zdjęcie Kaleka 30.10.2011

Hah :facepalm2: Zapomniałem zmienić bo edytowałem kod, zaraz sprawdzę czy po zmianie działa :giggle:

Nadal nie działa.
Np gdy zabije gracza który ma 1lvl dostaje +5 punktów, lub gracza który ma 300 też dostaje +5

Aktualnie Kod wygląda tak:
public eDeath() {
new attacker = read_data( 1 );
new ofiara = read_data( 2 );

new dodatkowe1=random_num(0,2);
new dodatkowe2=random_num(1,3);
new dodatkowe3=random_num(2,4);
new dodatkowe4=random_num(3,5);

new nick[34];
get_user_name(attacker, nick, 33)

if(ofiara != attacker && attacker != 0)
{
if(get_user_team(attacker) != get_user_team(ofiara))
{

new poziom=cod_get_user_level(ofiara);

if(poziom <= 400 && dodatkowe4 > 0 )
{
Odznaki[attacker] += dodatkowe4;
set_hudmessage(255, 60, 600, 0.2, 0.9, 0, 6.0, 7.0)
show_hudmessage(attacker, "+%i Punktow Honoru", dodatkowe4)
}
else if(poziom <= 300 && dodatkowe3 > 0)
{
Odznaki[attacker] += dodatkowe3;
set_hudmessage(255, 60, 600, 0.2, 0.9, 0, 6.0, 7.0)
show_hudmessage(attacker, "+%i Punktow Honoru", dodatkowe3)
}
else if(poziom <= 200 && dodatkowe2 > 0)
{
Odznaki[attacker] += dodatkowe2;
set_hudmessage(255, 60, 600, 0.2, 0.9, 0, 6.0, 7.0)
show_hudmessage(attacker, "+%i Punktow Honoru", dodatkowe2)
}
else if(poziom <= 100 && dodatkowe1 > 0)
{
Odznaki[attacker] += dodatkowe1;
set_hudmessage(255, 60, 600, 0.2, 0.9, 0, 6.0, 7.0)
show_hudmessage(attacker, "+%i Punktow Honoru", dodatkowe1)
}
}

}
}


Problem polega na tym że gracz ciągle dostaje kase jak z 300-400 poziom czyli pierwszy if ( dodatkowe 4 )
Ktoś pomoże? o_O

@ Do zamknięcia. Poradziłem sobie ^D^
Użytkownik Zielony Smerf edytował ten post 30.10.2011 20:11
Odpowiedz

  • +
  • -
Goliath - zdjęcie Goliath 01.11.2011

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Odpowiedz
Zablokowany