Tekst wyświetlany po wybraniu/zakończeniu...
Tomek179
08.11.2012
Witam.
Chciałbym prosić o pomoc, ponieważ mam problem.
Korzystam z ExpModa, wersja v1.6. Można pobrać z tego tematu: http://amxx.pl/topic...-striker-mcpr0/
Problem polega na tym, że:
- po wybraniu misji i wykonaniu jej, misja jest odblokowana a powinna być zablokowana i powinien widnieć napis, że jest ukończona
- po wybraniu misji jest napisane, ze misja jest zablokowana a powinno być napisane, że jest właśnie wykonywana..
Nie wiem w czym problem i proszę o pomoc, o jakieś wskazówki.
Użytkownik Tomek179 edytował ten post 08.11.2012 22:36
Chciałbym prosić o pomoc, ponieważ mam problem.
Korzystam z ExpModa, wersja v1.6. Można pobrać z tego tematu: http://amxx.pl/topic...-striker-mcpr0/
Problem polega na tym, że:
- po wybraniu misji i wykonaniu jej, misja jest odblokowana a powinna być zablokowana i powinien widnieć napis, że jest ukończona
- po wybraniu misji jest napisane, ze misja jest zablokowana a powinno być napisane, że jest właśnie wykonywana..
Nie wiem w czym problem i proszę o pomoc, o jakieś wskazówki.
public WyborMisji(id)
{
if(!is_user_connected(id))
return PLUGIN_CONTINUE
new tytul[256], opis[256]
formatex(tytul, 255, "\yWybierz zadanie: \RStrona")
client_cmd(id, "spk %s", menu_on)
new menu = menu_create(tytul, "WyborMisji_Handler")
new menu_cb = menu_makecallback("WyborMisji_cb")
for(new i = 1 ; i < sizeof NazwaMisji ; i++)
{
if(wykonane_misje[id][i] == 0)
formatex(opis, 249, "%s \d[Wymagany %d poziom]", NazwaMisji[i], WymaganyPoziom[i]);
else if (wykonane_misje[id][i] == 1)
formatex(opis, 249, "%s \r[Zablokowane]", NazwaMisji[i]);
else if (wykonane_misje[id][i] == 2)
formatex(opis, 249, "%s \r[Ukonczone]", NazwaMisji[i]);
menu_additem(menu, opis, _, _, menu_cb);
}
menu_display(id, menu)
return PLUGIN_CONTINUE
}
public WyborMisji_cb(id, menu, item)
{
for(new i = 0 ; i < sizeof NazwaMisji ; i++)
{
if((item == i && poziom_gracza[id] < WymaganyPoziom[i+1]) || ma_misje[id])
return ITEM_DISABLED
}
for(new a = 0 ; a < sizeof NazwaMisji ; a++)
{
if(item == a && wykonane_misje[id][a+1] == 2)
return ITEM_DISABLED
}
return ITEM_ENABLED
}
public WyborMisji_Handler(id, menu, item)
{
if(item == MENU_EXIT || !is_user_connected(id))
{
menu_destroy(menu)
return PLUGIN_CONTINUE
}
new opis[256]
switch(random_num(1,2))
{
case 1:client_cmd(id, "spk %s", klik)
case 2:client_cmd(id, "spk %s", klik2)
}
for(new i = 0 ; i < sizeof NazwaMisji ; i++)
{
if(item == i)
{
wybierana_misja[id] = i+1
formatex(opis, 255, "\yMisja: \w%s^n\yZadanie: \w%s^n\yNagroda: \w%d expa^n\rPrzyjmujesz Misje?", NazwaMisji[i+1], OpisMisji[i+1], NagrodaMisji[i+1])
}
}
new menu_potwierdz = menu_create(opis, "PotwierdzMisje")
menu_additem(menu_potwierdz, "Tak")
menu_additem(menu_potwierdz, "Nie")
menu_display(id, menu_potwierdz)
return PLUGIN_CONTINUE
}
Użytkownik Tomek179 edytował ten post 08.11.2012 22:36
GwynBleidD
09.11.2012
Ten kod to jakiś koszmar, naprawdę... Po kie licho przy każdym sprawdzaniu jest pętla po tablicy z misjami? Zamiast po prostu id misji wziąć z item... No cóż...
Co masz źle? Hmm... nie wiem co oznacza przypisanie wartości 2 w polu tablicy wykonane_misje. W oryginalnym pluginie ta wartość nie występuje. Skoro ją dorobiłeś to zastanów się, czy w prawidłowych miejscach prawidłowo ją przypisujesz, bo tu może leżeć błąd.
Druga kwestia, dotycząca już oryginału pluginu... W niektórych miejscach jest brana wartość o 1 większa, niż powinna, przy odczytywaniu czegokolwiek z tablic informacji o misjach. To też może powodować pewne błędy. Ogólnie rzecz biorąc kod jest pełen dziwnych rzeczy i dziwnych błędów...
Sprawdź na razie to, co napisałem...
Co masz źle? Hmm... nie wiem co oznacza przypisanie wartości 2 w polu tablicy wykonane_misje. W oryginalnym pluginie ta wartość nie występuje. Skoro ją dorobiłeś to zastanów się, czy w prawidłowych miejscach prawidłowo ją przypisujesz, bo tu może leżeć błąd.
Druga kwestia, dotycząca już oryginału pluginu... W niektórych miejscach jest brana wartość o 1 większa, niż powinna, przy odczytywaniu czegokolwiek z tablic informacji o misjach. To też może powodować pewne błędy. Ogólnie rzecz biorąc kod jest pełen dziwnych rzeczy i dziwnych błędów...
Sprawdź na razie to, co napisałem...
Tomek179
09.11.2012
Na pisaniu pluginów się nie znam ale przerobić coś tam potrafię. To jest trochę bardziej skomplikowane i nie potrafię tego przerobić dlatego proszę o pomoc.
Wartość 2 skopiowałem z innego pluginu myśląc, że zadziała , no i zadziałało lecz nie wyświetla tego prawidłowo.
Kopia była z pluginu expmod_achievements, co oznacza, że:
0 = Zablokowany
1 = Odblokowany
2 = Ukonczony
skoro tam jest taki efekt wyświetlania 3 różnych tekstów w zależności od wykonania zadania to pomyślałem, żeby przerobić tak jak tam jest.
Wartość 2 skopiowałem z innego pluginu myśląc, że zadziała , no i zadziałało lecz nie wyświetla tego prawidłowo.
Kopia była z pluginu expmod_achievements, co oznacza, że:
0 = Zablokowany
1 = Odblokowany
2 = Ukonczony
skoro tam jest taki efekt wyświetlania 3 różnych tekstów w zależności od wykonania zadania to pomyślałem, żeby przerobić tak jak tam jest.
GwynBleidD
10.11.2012
Niestety, ale żeby to działało musisz większość pluginu przerobić. W bieżącej wersji możesz używać tylko:
0 = odblokowany
1 = zablokowany/ukończony
Nie rozróżnia ta metoda zablokowanego od ukończonego...
0 = odblokowany
1 = zablokowany/ukończony
Nie rozróżnia ta metoda zablokowanego od ukończonego...