new Float:punkty[33];
new punkty_umiejetnosci[33];
new skill1[33];
new skill2[33];
new skill3[33];
new level_gracza[33];
(...)
public plugin_init()
{
plik_vault = nvault_open("pliczek");
if(plik_vault == INVALID_HANDLE)
set_fail_state("Nie moge otworzyc pliku");
}
public plugin_end() {
nvault_close(plik_vault)
}
public client_authorized(id) {
WczytajDane(id);
}
(...)
public skills(id) {
new pierwszy[65];
new drugi[60];
new trzeci[60];
new tytul[60];
punkty_umiejetnosci[id] = (level_gracza[id]-1)/2-skill1[id]-skill2[id]-skill3[id];
format(pierwszy, charsmax(pierwszy), "Stealth: \r%i", skill1[id]);
format(drugi, charsmax(drugi), "Piercing Shot: \r%i", skill2[id]);
format(trzeci, charsmax(trzeci), "Elixir: \r%i", skill3[id]);
format(tytul, charsmax(tytul), "Ulepsz swoje umiejetnosci \r(%i)", punkty_umiejetnosci[id]);
new skille = menu_create(tytul, "g_Skills");
new unlock = menu_makecallback("unlockmenu");
new lock = menu_makecallback("lockmenu");
if(skill1[id] >= 5) {
menu_additem(skille, pierwszy,"",0, lock);
} else {
menu_additem(skille, pierwszy,"",0, unlock);
}
if(skill2[id] >= 5) {
menu_additem(skille, drugi,"",0, lock);
} else {
menu_additem(skille, drugi,"",0, unlock);
}
if(skill3[id] >=5) {
menu_additem(skille, trzeci,"",0, lock);
} else {
menu_additem(skille, trzeci,"",0, unlock);
}
menu_display(id, skille);
}
public g_Skills(id, menu, item){
if(item == MENU_EXIT){
menu_destroy(menu)
return PLUGIN_HANDLED
}
if(punkty_umiejetnosci[id] < 1) {
return PLUGIN_CONTINUE
}
if(punkty_umiejetnosci[id] > 1) {
skills(id);
}
switch(item)
{
case 0:{
skill1[id]+=1;
punkty_umiejetnosci[id]-=1;
}
case 1:{
skill2[id]+=1;
punkty_umiejetnosci[id]-=1;
}
case 2:{
skill3[id]+=1;
punkty_umiejetnosci[id]-=1;
}
}
return PLUGIN_CONTINUE;
}
(...)
public ZapiszDane(id) {
new name[48];
get_user_name(id,name,47);
new vaultkey[64],vaultdata[128];
formatex(vaultkey,63,"%s-umiejetnosci",name);
formatex(vaultdata,127,"%i#%i#%i", skill1[id], skill2[id], skill3[id]);
nvault_set(plik_vault,vaultkey,vaultdata);
}
public WczytajDane(id) {
new name[48];
get_user_name(id,name,47);
new vaultkey[64],vaultdata[128];
formatex(vaultkey,63,"%s-umiejetnosci",name);
formatex(vaultdata,127,"%i#%i#%i", skill1[id], skill2[id], skill3[id]);
nvault_get(plik_vault,vaultkey,vaultdata,127)
new first[16], second[16], third[16], fourth[16];
parse(vaultdata, first, 15, second, 15, third, 15);
skill1[id] = str_to_num(first);
skill2[id] = str_to_num(second);
skill3[id] = str_to_num(third);
punkty[id] = (level_gracza[id]-1)/2-skill1[id]-skill2[id]-skill3[id];
punkty_umiejetnosci[id] = floatround(punkty[id], floatround_floor);
}
Użytkownik kotlet edytował ten post 02.12.2012 15:20