Skocz do zawartości

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
DiabloMod

Druga strona menu klas.

diablomod

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

#1 Blondyna

    Wszechwidzący

  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 04.07.2013 13:43

Siemka :D

Stworzyłem drugą stronę klas, lecz nie mogę wybrać klasy mag i gdy dam "Dalej" wyłącza się menu.

Tu kod:

public select_class(id)
{
    if(is_user_bot(id)) return
    new flags[13]
    get_cvar_string("diablo_classes",flags,12)
    new text[512]
    new keys = read_flags(flags)
    
    asked_klass[id]=0
    
    format(text, 511, "\yWybierz Klase -^n");

    for(new i=0;i<8;i++)
    format(text, 511, "%s%s%i. %s [Level: %i]^n", text, (keys & (1<<i-1)) ? "\w" : "\d", i, Race[i], player_class_lvl[id][i]);

    format(text, 511,"%s^n9. Dalej^n",text)
    show_menu(id, keys, text);
}
public select_class_menu(id, key)
{
    new lx[12]
    g_haskit[id] = 0
    asked_klass[id] = 0;
    switch(key)
    {
    case 0:
        {    
            player_class[id] = Mag            
        }
    case 1:
        {    
            player_class[id] = Mnich
        }
    case 2:
        {    
            player_class[id] =  Paladyn
        }
    case 3:
        {    
            player_class[id] = Zabojca
        }
    case 4:
        {            
            player_class[id] = Nekromanta
            g_haskit[id] = 1
        }
    case 5:
        {    
            player_class[id] = Barbarzynca            
        }
    case 6:
        {    
            player_class[id] = Ninja
        }
    case 7:
        {    
            player_class[id] = Hunter
            g_GrenadeTrap[id] = 1
        }
    case 8:
        {
            ShowKlasy(id,lx)
            
        }    
    }
    
    LoadXP(id, player_class[id])
    CurWeapon(id)
    
    give_knife(id)
    
    return PLUGIN_HANDLED
}

public ShowKlasy(id,lx[])
{
    new text2[512]
    asked_klass[id]=0
    format(text2, 511,"\yWybierz klase - ^n\w1. Killer\y(P)   \wLevel :%i^n2. Zombie\y(P)   \wLevel :%i^n3. Master\y(P)   \wLevel :%i^n.Wstecz^n",player_class_lvl[id][9],player_class_lvl[id][10])
    show_menu(id, KeysKlasy,text2, -1, "Klasy")
    
    
}

public PressedKlasy(id, key)
{
    /* Menu:
    * Wybierz klase:
    * 1:Killer
    * 2:Zombie
    * 3:Master
    * 0:Wstecz
    */
    g_haskit[id] = 0
    switch (key) {
    case 0:
        {
            if(get_user_flags(id) & ADMIN_LEVEL_A)
            {
                player_class[id] = Killer
                LoadXP(id, player_class[id])
            }
            else
            {
                client_print(id,print_chat,"Kup Premium")
            }
        }
    case 1:
        {
            if(get_user_flags(id) & ADMIN_LEVEL_F)
            {
                player_class[id] = Zombie
                LoadXP(id, player_class[id])
            }
            else
            {
                client_print(id,print_chat,"Kup Premium")
            }
        }
    case 2:
        {
            if(get_user_flags(id) & ADMIN_LEVEL_F)
            {
                player_class[id] = Master
                LoadXP(id, player_class[id])
            }
            else
            {
                client_print(id,print_chat,"Kup Premium")
            }
        }
    case 9:
        {
            select_class(id)
        }
    }
    LoadXP(id, player_class[id])
    CurWeapon(id)
    give_knife(id)
    
    return PLUGIN_HANDLED
}

  • +
  • -
  • 0

#2 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 05.07.2013 14:14

ref


  • +
  • -
  • 0

#3 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 05.07.2013 20:11

Dodam, że wgrałem fix:

 

http://amxx.pl/topic...olaczen-z-baza/


  • +
  • -
  • 0

#4 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 06.07.2013 01:35

Sposoby na uniknięcie problemu:

 

1.) (szybsza metoda nie do końca poprawna tzn. jak byś w przyszłości chciał skorzystać z cvar`u "diablo_classes" to by ci się pofajdało) Ustaw cvar "diablo_classes" na "abcdefghi" ale tylko jeżeli nigdzie w kodzie go nie używasz tylko w tym miejscu. (nie testowałem dlatego nie gwarantuje niczego)

2.) (metoda skuteczna na 100%)

W funkcji "select_class" zmieniasz z "get_cvar_string("diablo_classes",flags,12)" na "get_cvar_string("diablo_classes",flags,9)"

Oczywiście zakładam, że twój cvar "diablo_classes" jest ustawiony na standardowy

 

3.) (Improwizacja)

Wątpię, że w ogóle korzystasz z cvaru "diablo_classes" tzn. mod z niego korzysta ale tylko w tej funkcji czyli ty nie masz z niego praktycznie żadnego pożytku (jeśli się mylę i używasz tego cvaru to nie czytaj dalej i skorzystaj z którejś z powyższych metod) A więc sprawdź czy w diablo masz gdzieś ten cvar używany jeszcze oprócz tej funkcji jeżeli jest gdzieś używany to tylko usuwasz z funkcji "select_class" następujące wiersze: "new flags[13]", "get_cvar_string("diablo_classes",flags,12)", "new keys = read_flags(flags)", a następnie pod "new text[512]" dodajesz "new keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8);"

Jeśli nie używasz nigdzie tego cvar`u tylko w tej funkcji to usuwasz go całkowicie (chyba, że chcesz aby zaśmiecał diablo to zostaw a jak go usunąć nie będę pisać bo jest 2 w nocy a o 4 do pracy i przydało by się abyś ty też coś się pogłowił)

 

Jeżeli nadal nie wiesz jak to naprawić albo żadna z powyższych metod nie działa podaj pliczek ".sma" to sprawie aby działało

Za wszystkie błędy ortograficzne jak i te programistyczne bardzo przepraszam ale jest już późno


Użytkownik BlackPerfum edytował ten post 06.07.2013 01:37

  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#5 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 06.07.2013 11:54

Dalej nie działa.

Łap .sma;

Załączone pliki


  • +
  • -
  • 0

#6 Kewin. (ZeZ)

    Wszechobecny

  • Użytkownik

Reputacja: 130
Zaawansowany

  • Postów:465
  • GG:
  • Steam:steam
  • Imię:Kewin
  • Lokalizacja:Zgorzelec
Offline

Napisano 06.07.2013 12:49

Sproboj, jak nie to zobacze inaczej.

Załączone pliki


  • +
  • -
  • 1

"Wiem, że nic nie wiem!"

...Nie jestem OWIECZKĄ!...

 

Pomagam przy DIABLOMODCORE i CODMOD

 

Pisz konkretnie, inaczej nie odpisze!


#7 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 06.07.2013 13:00

Dalej nie działa,

Łap ss'y jak to wygląda:

 

77655654016931476675.jpg


  • +
  • -
  • 0

#8 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 06.07.2013 13:38

Błąd był w przekazywaniu pustej tablicy lx (sam niewiem czemu mi błąd wyskakiwał(nie przy kompilacji tylko na serwerze)), a ta tablica i tak cały czas pozostaje pusta. Nie tylko tam jeszcze przy budowie menu zapomniałeś podać jeszcze jednego argumentu. A przy okazji w zmiennej "race_heal" miałeś o jeden rekord(przyzwyczajenie z sql) za mało (to nie powodowało żadnych błędów ale by spowodowało gdybyś wybrał ostatnią klasę) dopisałem ci standardową ilość hp dlatego zmień bo raczej nie chcesz aby ostatnia klasa miała 100hp. Z kluczami problemu nie było ale, lepiej na nie uważaj przy rejestrowaniu menu.

 


Użytkownik BlackPerfum edytował ten post 06.07.2013 13:40

  • +
  • -
  • 1
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#9 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 06.07.2013 14:04

Sprawdze :D


  • +
  • -
  • 0

#10 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 06.07.2013 16:58

Menu teraz ładnie śmiga, lecz gdy chce wybrać nowe klasy to zamiast:

Killer'a wybiera się mag, za Zombie wybiera się Mnich, za Mastera wybiera się Paladyn


  • +
  • -
  • 0

#11 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 06.07.2013 17:38

Najpierw przerób zapis sql potem dodawaj klasy tzn. dzieje się tak dlatego, że podczas wczytywania podmienia się numer klasy o 20:00 napisze ci jak przerobić.


  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#12 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 06.07.2013 19:00

Dodałem fix do mojego diablo i chyba z zapisem sql nie trzeba nic robić.

 

http://amxx.pl/topic...olaczen-z-baza/


  • +
  • -
  • 0

#13 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 11.07.2013 16:24

ref


  • +
  • -
  • 0

#14 Blondyna

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:246
  • Imię:Rafał
  • Lokalizacja:RTC
Offline

Napisano 21.07.2013 12:35

ref


  • +
  • -
  • 0

#15 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 21.07.2013 19:57

Błędnie nazwałeś menu przy wyświetlaniu i rejestracji jego w plugin_init (oba menu z klasami). Dlaczego źle ? Ponieważ w nazwie menu nie może zostać użyta spacja a jak zostanie to nazwą menu będzie tylko to co jest przed spacją. W twoim wypadku dwa menu zwracały przycisk do funkcji pierwszego menu.

Rozwiązanie: Zmień nazwy menu


  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika





Również z jednym lub większą ilością słów kluczowych: diablomod

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

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