←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Wyłapanie czy gracz ma perk

  • +
  • -
ViHuRa - zdjęcie ViHuRa 14.11.2012

Jak ma wyglądać funkcja dzięki której wyłapie perk? Dodam, że mam więcej perków niż 1, więc :
cod_get_user_perk

Ma więcej o 1 argument, który zwraca liczbę perków.
Próbowałem wielu rzeczy, lecz bez efektu.

@Edit: Dokładnie rzecz ujmując chcę sprawdzić czy Gracz NIE ma perku na danym slocie.
Użytkownik ViHuRa edytował ten post 14.11.2012 21:15
Odpowiedz

  • +
  • -
JabLuszko - zdjęcie JabLuszko 15.11.2012

Porównujesz cod_get_user_perk(id, parametry_jakie_tam_masz, numer_slotu) z cod_get_perkid("Brak") - czy co tam masz ustawione.
Jak jest true, to nie ma perku na tym slocie, jak jest false to ma.

if (cod_get_user_perk(victim, 0, 0) == cod_get_perkid("Brak")) { tutaj coś } 
Odpowiedz

  • +
  • -
ViHuRa - zdjęcie ViHuRa 15.11.2012

Niestety nie kompiluje się z powodu wartości perku, która u ciebie wynosi 0. Jeśli zamiast wartości dam "_", to zawsze funkcja działa nie zależnie czy dana osoba ma perk czy nie.
public LosowyPerk(id)
{
if(!is_user_connected(id))
  return HAM_IGNORED;

if (cod_get_user_perk(id, _, 0) == cod_get_perkid("Brak"))
   cod_set_user_perk(id, -1, -1, 1, 0);
else if(cod_get_user_perk(id, _, 1) == cod_get_perkid("Brak"))
   cod_set_user_perk(id, -1, -1, 1, 1);
else
  client_print(id, print_chat, "[Sklep] Wyrzuc jeden z perkow, aby zrobic miejsce.");
return PLUGIN_CONTINUE
}

Użytkownik ViHuRa edytował ten post 15.11.2012 17:33
Odpowiedz

  • +
  • -
Pan PrO - zdjęcie Pan PrO 15.11.2012

Sprawdź.



public LosowyPerk(id)
{
if(!is_user_connected(id))
return PLUGIN_CONTINUE;

new wartosc;
if(cod_get_user_perk(id, wartosc, 0) == cod_get_perkid("Brak"))
cod_set_user_perk(id, -1, -1, 1, 0);
else
{
if(cod_get_user_perk(id, wartosc, 1) == cod_get_perkid("Brak"))
cod_set_user_perk(id, -1, -1, 1, 1);
}
if(cod_get_user_perk(id, wartosc, 0) == cod_get_perkid("Brak") && cod_get_user_perk(id, wartosc, 1) == cod_get_perkid("Brak"))
client_print(id, print_chat, "[Sklep] Wyrzuc jeden z perkow, aby zrobic miejsce.");

return PLUGIN_CONTINUE;
}
Odpowiedz

  • +
  • -
ViHuRa - zdjęcie ViHuRa 15.11.2012

Dalej nie działa. Zawsze podmienia 1 perk.
Użytkownik ViHuRa edytował ten post 15.11.2012 19:15
Odpowiedz