Menu - crash
KariiO
10.10.2011
Witam. W skrócie : robiłem pewne menu na początku było ok bez żadnych bajerów - podstawowe tylko do testów czy działa , no ale moje wymogi zostały dziś wcielone w menu :
Użytkownik KariiO edytował ten post 10.10.2011 16:58
public pytanie(id,index) { new name[48] get_user_name(index, name, charsmax(name)); new tekst[512] formatex(tekst, 511, "\dLider \r'%s' \dzaprasza Cie do \r'%s' Party\d,chcesz dolaczyc ?",name,nazwa_party[index]); new menu = menu_create(tekst, "WyborGraczax"); menu_additem(menu, "Tak , chce dolaczyc !"); menu_additem(menu, "Nie , odmawiam !"); menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona"); menu_display(id, menu); } public WyborGraczax(id, menu, item) { new player = find_player ( "a", nazwa_lidera_party[id]) ; if(item == MENU_EXIT) { menu_destroy(menu); jestes_w_party[id]=false czy_lider[id]=false hudmsg(player,3.0,"Gracz wylaczyl menu zaproszenia tym samym odmawiajac !") return PLUGIN_HANDLED; } switch(item) { case 0: { for(new i=1; i<=32; i++) { if(is_user_connected(i) && (get_user_team(i) == 1 || get_user_team(i) == 2)) { if((equal(nazwa_party[id],nazwa_party[i])) && id!=i && player!=i) { ilosc_graczy_party[i]++ } } } jestes_w_party[id]=true czy_lider[id]=false ilosc_graczy_party[player]+=1 nazwa_party[id] = nazwa_party[player] ilosc_graczy_party[id] = ilosc_graczy_party[player] hudmsg(player,3.0,"Gracz zaakceptowal zaproszenie !") } case 1: { jestes_w_party[id]=false czy_lider[id]=false hudmsg(player,3.0,"Gracz odmowil !") } } menu_destroy(menu); return PLUGIN_HANDLED; }Nie umiem dopatrzeć się błędu , może ktoś widzi , pomoże
Użytkownik KariiO edytował ten post 10.10.2011 16:58
KariiO
10.10.2011
Diablomod ? Niestety nie mogę , tutaj jest na 100 % błąd.Tibia? O mógłbyś pokazać jak wywołujesz menu(całą funkcje)
sebul
10.10.2011
Chcesz, żeby te manu było wyświetlane zaproszonemu? Jeśli tak, to chyba trochę źle to robisz, przyjrzyj się dobrze id jakie tutaj wykorzystujesz.
KariiO
10.10.2011
id - to gość któremu się wyświetla menu czyli zaproszony.Chcesz, żeby te manu było wyświetlane zaproszonemu? Jeśli tak, to chyba trochę źle to robisz, przyjrzyj się dobrze id jakie tutaj wykorzystujesz.
index - to id zapraszającego.
sebul
10.10.2011
Ale nie pisz mi, które id to kto, bo nie o to chodziło, chociażby
szukasz nazwy lidera patrząc na tablicę nazwa_lidera_party[id], a z tego co widać id to właśnie gracz, który dostał zapro, a jak on ma mieć lidera parta (nie wiem jak to odmienić), skoro jeszcze w nim nie jest...?
new player = find_player ( "a", nazwa_lidera_party[id]) ,
szukasz nazwy lidera patrząc na tablicę nazwa_lidera_party[id], a z tego co widać id to właśnie gracz, który dostał zapro, a jak on ma mieć lidera parta (nie wiem jak to odmienić), skoro jeszcze w nim nie jest...?
KariiO
10.10.2011
Ale nie pisz mi, które id to kto, bo nie o to chodziło, chociażby
new player = find_player ( "a", nazwa_lidera_party[id]) ,
szukasz nazwy lidera patrząc na tablicę nazwa_lidera_party[id], a z tego co widać id to właśnie gracz, który dostał zapro, a jak on ma mieć lidera parta (nie wiem jak to odmienić), skoro jeszcze w nim nie jest...?
new id2 = Players[id][item]; if(jestes_w_party[id2]) hudmsg(id,3.0,"Wybrany gracz jest juz w party !") else pytanie(id2,id) new nazwa_lidera[32] get_user_name(id, nazwa_lidera, 31); nazwa_lidera_party[id2] = nazwa_lidera nazwa_lidera_party[id] = nazwa_lidera //urywek
sebul
10.10.2011
No i właśnie tak to jest jak ktoś tak urywkami wyskakuje w temacie. Ja bym tutaj użył copy do przypisywania nazwy party, czy nazwy lidera. No i jeszcze jedno, skąd ta pewność, że błąd występuje w tym menu?
KariiO
10.10.2011
Bo jeżeli wybiorę gracza w innym menu i następnie powinno mu wyskoczyć menu a nie wyskakuję bo od razu crash.
Lepsze bd. copy ? Bo tego nie zmieniałem a wiem że działa.
Lepsze bd. copy ? Bo tego nie zmieniałem a wiem że działa.
sebul
10.10.2011
A masz gdzieś wstawiony warunek, czy gracz, lider, albo chociażby osoba zapraszająca jest połączona z serwerem?
KariiO
12.10.2011
Racja nie mam.A masz gdzieś wstawiony warunek, czy gracz, lider, albo chociażby osoba zapraszająca jest połączona z serwerem?
Ale dlaczego wcześniej śmigało też bez warunku a teraz nie ;/ ?
Dodałem tylko to:
for(new i=1; i<=32; i++) { if(is_user_connected(i) && (get_user_team(i) == 1 || get_user_team(i) == 2)) { if((equal(nazwa_party[id],nazwa_party[i])) && id!=i && player!=i) { ilosc_graczy_party[i]++ } } }i zmieniłem to:
formatex(tekst, 511, "\dLider \r'%s' \dzaprasza Cie do \r'%s' Party\d,chcesz dolaczyc ?",name,nazwa_party[index]);Ale nigdzie tu nie widzę błędu...
odświeżam
Użytkownik KariiO edytował ten post 10.10.2011 21:01