Witam,
Po przeniesieniu całych gildii by stachu do swojego diablo napotkałem problem z tworzeniem gildii.
Po stworzeniu gildii mam dostęp do całego menu, czyli dodawania expa, graczy, itd, ale gdy zmieni się mapa znowu po wpisaniu /gildie mam tylko dostęp do stworzenia nowej gildii i informacji o gildiach mimo iż gildię posiadam.
Screen:
Tak wygląda kod:
public gildie(id)
{
new MyMenu=menu_create("Menu Gildi","gildia_menu");
new aktywna=menu_makecallback("aktywna_func");
new nieaktywna=menu_makecallback("nieaktywna_func");
new AuthID[35]
get_user_name(id,AuthID,34)
trybik[id] = 0
if(gildia_lvl[id] == 0) trybik[id] = 0
else if(equal(AuthID,nazwa_zalozycial[id])) trybik[id] = 1
else trybik[id] = 2
switch(trybik[id]){
case 0:{
menu_additem(MyMenu,"Zaloz gildie","",0,aktywna);
menu_additem(MyMenu,"Ogolnie","",0,aktywna);
}
case 1:{
if(ilosc_czlonkow[id] < 2+gildia_lvl[id]) menu_additem(MyMenu,"Zapros graczy","",0,aktywna);
else menu_additem(MyMenu,"Zapros graczy","",0,nieaktywna);
menu_additem(MyMenu,"Opis Gildi","",0,aktywna);
if(player_lvl[id]>10) menu_additem(MyMenu,"Wplac expa","",0,aktywna);
else menu_additem(MyMenu,"Wplac expa","",0,nieaktywna);
if(player_kamien[id]) menu_additem(MyMenu,"Daj Kamienia","",0,aktywna);
else menu_additem(MyMenu,"Daj Kamienia","",0,nieaktywna);
if(ilosc_czlonkow[id]>1) menu_additem(MyMenu,"Wyrzuc Gracza","",0,aktywna);
else menu_additem(MyMenu,"Wyrzuc Gracza","",0,nieaktywna);
menu_additem(MyMenu,"Rozdaj punkty","",0,aktywna);
menu_additem(MyMenu,"Usun Gildie","",0,aktywna);
menu_additem(MyMenu,"Ogolnie","",0,aktywna);
}
case 2:{
menu_additem(MyMenu,"Opis Gildi","",0,aktywna);
if(player_lvl[id]>10) menu_additem(MyMenu,"Wplac expa","",0,aktywna);
else menu_additem(MyMenu,"Wplac expa","",0,nieaktywna);
if(player_kamien[id]) menu_additem(MyMenu,"Daj Kamienia","",0,aktywna);
else menu_additem(MyMenu,"Daj Kamienia","",0,nieaktywna);
menu_additem(MyMenu,"Odejdz z gildi","",0,aktywna);
menu_additem(MyMenu,"Ogolnie","",0,aktywna);
}
}
menu_setprop(MyMenu,MPROP_EXITNAME,"Wyjscie");
menu_setprop(MyMenu,MPROP_BACKNAME,"Wroc")
menu_setprop(MyMenu,MPROP_NEXTNAME,"Nastepne")
//zawsze pokaż opcję wyjścia
menu_setprop(MyMenu,MPROP_EXIT,MEXIT_ALL);
menu_setprop(MyMenu,MPROP_PERPAGE,7)
//kolor cyfry przycisku zmień na żółty
//menu_setprop(MyMenu,MPROP_NUMBER_COLOR,"r");
menu_display(id, MyMenu,0);
return PLUGIN_HANDLED;
}
public gildia_menu(id, menu, item){
if(item == MENU_EXIT){
menu_destroy(menu);
return PLUGIN_HANDLED;
}
switch(trybik[id]){
case 0:{
switch(item){
case 0:{
zrob_gildie(id)
}
case 1:{
show_motd(id,"infogildia.txt")
gildie(id)
}
}
}
case 1:{
switch(item){
case 0:{
gildia_wybierz(id)
}
case 1:{
wczytaj_gildia(id)
showgildia(id)
}
case 2:{
wczytaj_gildia(id)
client_cmd(id, "messagemode wprowadz_ilosc_expa");
ColorChat(id,GREEN,"[*%s*]^x01Twoj exp wynosi %i.",nazwa_gildi[id],player_xp[id]-1)
}
case 3:{
wczytaj_gildia(id)
client_cmd(id, "messagemode wprowadz_kamien");
ColorChat(id,GREEN,"[*%s*]^x01Posiadasz %i kamieni",nazwa_gildi[id],player_kamien[id])
}
case 4:{
odejdz_gildia(id)
}
case 5:{
rozdaj_skill(id)
}
case 6:{
rozwiaz_gildie_menu(id)
}
case 7:{
show_motd(id,"infogildia.txt")
gildie(id)
}
}
}
case 2:{
switch(item){
case 0:{
wczytaj_gildia(id)
showgildia(id)
}
case 1:{
wczytaj_gildia(id)
client_cmd(id, "messagemode wprowadz_ilosc_expa");
ColorChat(id,GREEN,"[*%s*]^x01Twoj exp wynosi %i.",nazwa_gildi[id],player_xp[id]-1)
}
case 2:{
wczytaj_gildia(id)
client_cmd(id, "messagemode wprowadz_kamien");
ColorChat(id,GREEN,"[*%s*]^x01Posiadasz %i kamieni",nazwa_gildi[id],player_kamien[id])
}
case 3:{
odejdz_gildia(id)
}
case 4:{
show_motd(id,"infogildia.txt")
gildie(id)
}
}
}
}
return PLUGIN_HANDLED;
}


Dodatki SourceMod



Temat jest zamknięty










