Zaczynamy od:
new Float:szybkosc_gracza[33];
pod tym dodajemy:
new bonus_gracza[33];
Pozniej w client_connect(id) pod:
kondycja_gracza[id] = 0;
dodajemy:
bonus_gracza[id] = 0;
W public PrzydzielPunkty(id) pod:
new kondycja[60]
dodajemy:
new bonusik[60];
a nastepnie pod:
format(kondycja, 59, "Kondycja: %i (Zwieksza tempo chodu)", kondycja_gracza[id]);
dodajemy:
format(bonusik, 59, "Frager: %i (Zwieksza Expa za Fraga)", bonus_gracza[id]);
i pod:
menu_additem(menu, kondycja);
dodajemy:
menu_additem(menu, bonusik);
Teraz przechodzimy do: public PrzydzielPunkty_Handler(id, menu, item)
Jezeli chcemy aby ta umiejetnosc mozna bylo uzyc od danego lvl robimy tak:
Pod case 3: dodajemy to:
case 4: { if (poziom_gracza[id] >=xx) { if(bonus_gracza[id]<100) bonus_gracza[id]++; else ColorChat(id,GREEN,"^x03 Frager^x01 osiagniety."); } else ColorChat(id,GREEN,"^x03 Aby uzyc wbij^x04 xx LvL"); }
xx - poziom od jakiego mozemy zyc
Jezeli chcemy aby statystka byla nie zaleznie od lvl robimy tak:
case 4: { if(bonus_gracza[id]<100) bonus_gracza[id]++; else ColorChat(id,GREEN,"^x03 Frager^x01 osiagniety."); }
W public ResetujPunkty(id) pod:
wytrzymalosc_gracza[id] = 0;
dodajemy:
bonus_gracza[id] = 0;
Cały public ZapiszDane(id) podmieniamy z tym:
public ZapiszDane(id) { new vaultkey[64],vaultdata[256]; format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa_gracza[id]); format(vaultdata,255,"%i#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id], bonus_gracza[id]); nvault_set(g_vault,vaultkey,vaultdata); }
I takze public WczytajDane(id, klasa) podmieniamy z tym:
public WczytajDane(id, klasa) { new vaultkey[64],vaultdata[256]; format(vaultkey,63,"%s-%i-cod", nazwa_gracza[id], klasa); format(vaultdata,255,"%i#%i#%i#%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], inteligencja_gracza[id], zdrowie_gracza[id], wytrzymalosc_gracza[id], kondycja_gracza[id], bonus_gracza[id]); nvault_get(g_vault,vaultkey,vaultdata,255); replace_all(vaultdata, 255, "#", " "); new doswiadczeniegracza[32], poziomgracza[32], inteligencjagracza[32], silagracza[32], zrecznoscgracza[32], zwinnoscgracza[32], bonus[32]; parse(vaultdata, doswiadczeniegracza, 31, poziomgracza, 31, inteligencjagracza, 31, silagracza, 31, zrecznoscgracza, 31, zwinnoscgracza, 31, bonus, 31); doswiadczenie_gracza[id] = str_to_num(doswiadczeniegracza); poziom_gracza[id] = str_to_num(poziomgracza)>0?str_to_num(poziomgracza):1; inteligencja_gracza[id] = str_to_num(inteligencjagracza); zdrowie_gracza[id] = str_to_num(silagracza); wytrzymalosc_gracza[id] = str_to_num(zrecznoscgracza); kondycja_gracza[id] = str_to_num(zwinnoscgracza); bonus_gracza[id] = str_to_num(bonus); punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]-bonus_gracza[id]; }
W public SprawdzPoziom(id) podmieniamy to:
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
Z tym :
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]-bonus_gracza[id];
No i na koniec przechodzimy do public Death():
Szukamy:
set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0); ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", nowe_doswiadczenie); doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
I zamieniamy na :
new wynik = nowe_doswiadczenie+bonus_gracza[attacker]; set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0); ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", wynik); doswiadczenie_gracza[attacker] += wynik;
Gdzie :
new wynik = nowe_doswiadczenie+bonus_gracza[attacker];
Kazdy moze sobie ustawic do wlasnych potrzeb.Ja zrobilem ze za kazdy 1pkt dodaje mi 1 expa ;]
W zasadzie to jest moj 1 poradnik wiec jak bd jakies bledy lub literowki to wybaczcie(ale wszsytko 10 razy sprawdzilem )