Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.

  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Tekst wyświetlany po wybraniu/zakończeniu zadania


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
3 odpowiedzi w tym temacie

#1 Tomek179

    Pomocny

  • Użytkownik

Reputacja: 0
zer0.

  • Postów:43
  • Lokalizacja:Białystok
Offline

Napisano 08.11.2012 22:33

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.

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

  • +
  • -
  • 0

#2 GwynBleidD

    Godlike

  • Administrator

Reputacja: 1849
Godlike

  • Postów:3066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 09.11.2012 10:38

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...
  • +
  • -
  • 1
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark

#3 Tomek179

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
zer0.

  • Postów:43
  • Lokalizacja:Białystok
Offline

Napisano 09.11.2012 12:22

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 :D, 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.
  • +
  • -
  • 0

#4 GwynBleidD

    Godlike

  • Administrator

Reputacja: 1849
Godlike

  • Postów:3066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 10.11.2012 12:26

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
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych