Witam!
W tym poradniku chcę wam przedstawić jak ustawić ograniczenie kupna danego extra itemu na rundę.
Postaram się w jak najprostszy sposób wam to pokazać i wyjaśnić co dane parametry oznaczają.
1. Otwieramy nasz extra item (plik .sma)
2. Pod bibliotekami (tu: #include) dodajemy:
new iBuyCount[33] const iMaxBuy = 4 // <=ile razy mozna kupic extra item na runde
3. Następnie rejestrujemy nową rundę (w plugin_init)
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
4. Dodajemy całą funkcje, najlepiej na sam koniec:
public event_round_start() for(new i = 1; i <= 33; i++) iBuyCount[i] = 0
Publik resetuje nam ilość naszego kupna. Jeśli kupiliśmy ex item 4 razy, w nowej rundzie zostanie on zmieniony na 0, więc jeśli mieliśmy ogranicznik ustawiony na 4 to będziemy znowu mogli kupować item 4 razy, w przeciwnym wypadku nasza ilość nie zostanie zresetowana i dalsze kupno będzie niemożliwe.
5. I tu zaczyna się tak "trochę ciężej dla zielonych". Radzę uważnie czytać.
Public zp_extra_item_selected przeważnie wygląda tak:
public zp_extra_item_selected(player, itemid) { if (itemid == g_itemid1) { client_print(player, print_chat, "[ZP] Kupiles EXTRA ITEM!") // opis moc[player] = true // zmienna włączająca dany skill/moc/atrybut give_item(player, "weapon_hegrenade") // i tam dla bajeru, dostaje się granata } }
Ten przykładowy ex item musimy przerobić na ograniczenie.
Wystarczy, że przed naszymi dodatkami z ex itemu, czyli:
client_print(player, print_chat, "[ZP] Kupiles EXTRA ITEM!") // opis moc[player] = true // zmienna włączająca dany skill/moc/atrybut give_item(player, "weapon_hegrenade") // i tam dla bajeru, dostaje się granata
Dodajemy:
if(iBuyCount[player] >= iMaxBuy) { client_print(player, print_chat, "[ZP] Przepraszamy, ale juz nie mozesz tego kupowac!") return ZP_PLUGIN_HANDLED; } iBuyCount[player]++
I do if (itemid == g_itemid1) zwrócimy wartość PLUGIN_CONTINUE.
Czyli nasz publik powinien wyglądać tak:
public zp_extra_item_selected(player, itemid) { if (itemid == g_itemid1) { if(iBuyCount[player] >= iMaxBuy) { client_print(player, print_chat, "[ZP] Przepraszamy, ale juz nie mozesz tego kupowac!") return ZP_PLUGIN_HANDLED; } iBuyCount[player]++ client_print(player, print_chat, "[ZP] Kupiles EXTRA ITEM!") moc[player] = true give_item(player, "weapon_hegrenade") } return PLUGIN_CONTINUE; }
Od teraz gracz, który kupił dany extra item 4 razy nie będzie mógł kupować go dalej. Dopiero od nowej rundy.
Niżej przykładowy extra item.
Poradnik piszę "sam z głowy", nie kieruje się innym poradnikiem, lecz przeanalizowałem plugin, przetestowałem i dzielę się z wami.
I to by było na tyle, bye.
Użytkownik Drago36 edytował ten post 15.09.2014 16:08