Dodajemy zmienne logiczne które będą informowały plugin jaki item obecnie posiada gracz.
new bool:ma_rakiety[33]; new bool:ma_miny[33];
przed switch(klasa_gracza[id]) zerujemy co aktualnie posiada
ma_miny[id]=false; ma_rakiety[id]=false;
Nasza Klasa Kaboom będzie miałą dodatkowo deagla i p90. Dodajemy jej 3 rakiety i 3 miny i ustawiamy by na początku rundy korzystała z rakiet
case Kaboom:
{
give_item(id,"weapon_deagle");
give_item(id,"weapon_p90")
ma_rakiety[id] = true;
ilosc_rakiet_gracza[id] = 3;
ilosc_min_gracza[id] = 3;
}do plugin_init dodajemy klawisz zmiany na radio3 ( o ile wczesniej nie był zbindowany - klawisz x)
register_clcmd("radio3", "Zmiana");i dodajemy funkcje Zmiana
public Zmiana(id)
{
if (klasa_gracza[id] == Kaboom) // jesli klasa to Kaboom
{
set_hudmessage(255, 212, 0, 0.75, 0.33, 1, 6.0, 4.0);
if(ma_rakiety[id]) // i ma rakiety
{
ma_miny[id] = true; // ustaw miny
ma_rakiety[id] = false;
ShowSyncHudMsg(id, SyncHudObj2, "Item:Miny");
}
else // jeśli nie ma rakiet
{
ma_rakiety[id] = true; // to je ustaw
ma_miny[id] = false;
ShowSyncHudMsg(id, SyncHudObj2, "Item:Rakieta");
}
}
return PLUGIN_HANDLED; // zastopuj zeby nie wyskoczylo menu radia
}i ulepszamy UzyjPrzedmiotu(id). polega ono na sprawdzeniu czy gracz aktualnie korzysata z min czy rakiet.
zmieniamy z
if(ilosc_rakiet_gracza[id]>0)
StworzRakiete(id);
if(ilosc_min_gracza[id]>0)
PostawMine(id);na
if(ma_rakiety[id])
StworzRakiete(id);
if(ma_miny[id])
PostawMine(id);Funkcje Tworzące minę i rakiete posiadają już sprawdzenie czy graczowi się nie skończyły.
UWAGA! Jeśli dodasz tak miny i rakiety musisz dodać do wszystkich klas posiadających miny ma_mine[id] = true; a do klas posiadających rakiety ma_rakiety[id] = true;
PORADA - u mnie na serwerze działa również opcja z apteczkami w wskrzeszaniem. Można dowolnie łączyć ze sobą itemy na podobnych zasadach.
W razie Gdyby coś było nie tak - napisać. U mnie na serwerze hula to od dobrego pół roku.
miłego.


Dodatki SourceMod















