Ustaw perk:
public UstawPerk(id, perk, wartosc, pokaz_info)
{
if(!ilosc_perkow)
return PLUGIN_CONTINUE;
new wytrzym;
static obroty[33];
if(obroty[id]++ >= 5)
{
UstawPerk(id, 0, 0, 0);
obroty[id] = 0;
return PLUGIN_CONTINUE;
}
perk = (perk == -1)? random_num(1, ilosc_perkow): perk;
wartosc = (wartosc == -1 || min_wartosci_perkow[perk] > wartosc || wartosc > max_wartosci_perkow[perk])? random_num(min_wartosci_perkow[perk], max_wartosci_perkow[perk]): wartosc;
wytrzym = (wytrzym == -1 || min_wytrzymalosc_perkow[perk] > wytrzym || wytrzym > max_wytrzymalosc_perkow[perk])? random_num(min_wytrzymalosc_perkow[perk], max_wytrzymalosc_perkow[perk]): wytrzym;
new ret;
new forward_handle = CreateOneForward(pluginy_perkow[perk_gracza[id]], "cod_perk_disabled", FP_CELL, FP_CELL);
ExecuteForward(forward_handle, ret, id, perk);
DestroyForward(forward_handle);
perk_gracza[id] = 0;
forward_handle = CreateOneForward(pluginy_perkow[perk], "cod_perk_enabled", FP_CELL, FP_CELL, FP_CELL);
ExecuteForward(forward_handle, ret, id, wartosc, perk);
DestroyForward(forward_handle);
if(ret == 4)
{
UstawPerk(id, -1, -1, 1);
return PLUGIN_CONTINUE;
}
ExecuteForward(perk_zmieniony, ret, id, perk, wartosc);
if(ret == 4)
{
UstawPerk(id, -1, -1, 1);
return PLUGIN_CONTINUE;
}
perk_gracza[id] = perk;
wartosc_perku_gracza[id] = wartosc;
wytrzymalosc_perku[id] = wytrzym;
obroty[id] = 0;
if(pokaz_info && perk_gracza[id])
ColorChat(id, GREEN, "[COD:MW3]^x01 Zdobyles ^x04%s.", nazwy_perkow[perk_gracza[id]]);
return PLUGIN_CONTINUE;
}
client_deatch
public Death(){
new attacker = read_data(1);
new id = read_data(2);
if(!is_user_alive(attacker) || !is_user_connected(attacker))
return PLUGIN_CONTINUE;
if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
{
new nowe_monety = 0;
new nowe_doswiadczenie = 0;
nowe_monety += monety_za_zabojstwo;
nowe_doswiadczenie += doswiadczenie_za_zabojstwo;
if(poziom_gracza[id] > poziom_gracza[attacker])
nowe_doswiadczenie += poziom_gracza[id] - poziom_gracza[attacker];
if(!perk_gracza[attacker])
UstawPerk(attacker, -1, -1, 1);
if(perk_gracza[id]){
wytrzymalosc_perku[id] -= uszkodzenia_po_smierci;
if(wytrzymalosc_perku[id] < 1){
ColorChat(id, GREEN, "[COD:MW3]^x01 Perk ^x04 %s^x01 ulegl zniszczeniu.", nazwy_perkow[perk_gracza[id]]);
UstawPerk(id, 0, 0, 0);
}
}
monety_gracza[attacker] += nowe_monety;
doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
ColorChat(attacker, GREEN, "[COD:MW3]^x01 Dostales ^x04+%i^x01 doswiadczenia oraz ^x04+%i^x01 monet za ^x04zabojstwo", nowe_doswiadczenie, nowe_monety);
}
SprawdzPoziom(attacker);
return PLUGIN_CONTINUE;
}
Wie ktoś w czym jest sęk?
Użytkownik Czaso Umilacz edytował ten post 10.06.2012 09:46


Dodatki SourceMod












