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
 

Adiloveskan - zdjęcie

Adiloveskan

Rejestracja: 12.01.2014
Aktualnie: Nieaktywny
Poza forum Ostatnio: 02.05.2014 16:52
-----

#612046 Pytanie o poprawność zapisu w kodzie

Napisane przez Adiloveskan w 02.02.2014 04:37

po każdym publicku, musisz w tej samej lub następnej (więcej bugów) postawić {, a po zakończeniu danego publicka, musisz dać }

 

Pokaze to na przykładzie

 

public say_respawn(id)
    if (get_pcvar_num(death))
        if (!is_user_alive(id))
            if (get_user_team(id) == 1 || get_user_team(id) == 2)
            {
                set_task(1.5, "player_spawner", id + 200);
                set_task(1.7, "player_spawner", id + 200);
            }

 

Ten zapis jest niepoprawny, gdyż plugin (Gdyby nie było nowych publicków) ciagnął by się dalej, niby powinno działać, ale zaleca się używanie { i }

 

 

public say_respawn(id){
    if (get_pcvar_num(death))
        if (!is_user_alive(id))
            if (get_user_team(id) == 1 || get_user_team(id) == 2)
            {
                set_task(1.5, "player_spawner", id + 200);
                set_task(1.7, "player_spawner", id + 200);
            }

}

 

W tym zapisie, klamra } Ostatecznie zamyka publicka, a więc nie może wystąpić błąd związany z jej brakiem.

 

Dodatkowo, klamr { musi być w jednym publicku tyle co klamr }, inaczej

 

 

public say_respawn(id){1 czerwona

    if (get_pcvar_num(death))
        if (!is_user_alive(id))
            if (get_user_team(id) == 1 || get_user_team(id) == 2)
            {2 czerwona
                set_task(1.5, "player_spawner", id + 200);
                set_task(1.7, "player_spawner", id + 200);
            }1 niebieska

}Brak 2 niebieskiej

 

Ten kod jest niepoprawny, dlatego że są 2 klamry czerwone ( { ), a tylko 1 niebieska ( } ), i plugin nie zostaje zamknięty, bo druga klamra czerwona jest zamykana przez pierwsza niebieską, dlatego że niema pomiędzy nimi żadnych innych klamr. a pierwsza czerwona pozostaje niezamknięta, co wywala Error

 

 

Teraz zamykanie

 

public say_respawn(id){druga para, pomiędzy nimi jest para 1
    if (get_pcvar_num(death))
        if (!is_user_alive(id))
            if (get_user_team(id) == 1 || get_user_team(id) == 2)
            {1-sza para, pomiedzy nimi nie ma zadnej innej pary
                set_task(1.5, "player_spawner", id + 200);
                set_task(1.7, "player_spawner", id + 200);
            }1-sza para, pomiedzy nimi nie ma zadnej innej pary

}druga para, pomiędzy nimi jest para 1

 

Jeżeli jest para 1, i klamry { i } są "kolo siebie" (Nie ma w ich zamknieciu zadnych innych klamr { czy }) to się lączą w pare,

Jeżeli jest para 2, i klamry { i } nie są "kolo siebie" (W ich zamknieciu wystepuja pary)  to pary sa eliminowane przy "rozumowaniu"

Jest jeszcze 1 przypadek, lecz ja ci go nie wytłumacze bo nie wiem jak :D


  • +
  • -
  • 1