Sprawdź logi jak ci się serwer wywali i ew wrzuć do tematu.
Szukaj czegoś w stylu Fatal error albo shutdown (nie pamiętam już).
Screen z pierwszego posta oraz log z 2 raczej nie powodują crashy.
To równanie zostało stworzone przy pomocy kodu LaTeX:
Edytor LaTeX online: CodeCogs.com/latex/eqneditor.php
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.
|
Napisane przez Sniper Elite
w 30.10.2016 17:47
Napisane przez Sniper Elite
w 30.10.2016 17:41
Niby działa, ale wciąż nie do końca.
Przy czyszczeniu zapisanego nicku,nie kasuje go całkowicie = czasami w kolejnej rundzie wyświetli się nowy nick, czasami nie(częściej nie)
public zp_round_started(gamemode, id) { for(new i = 1; i <= 32; i++) { if(zp_core_is_first_zombie(i) && is_user_connected(i)) { get_user_name(i, mname, charsmax(mname)); break; } } }public EventRoundEnd() { for (new id=0; id < 33; id++) { mname[id] = 0 if(!is_user_connected(id) || !is_user_alive(id)/* || ilosc_graczy < min_licz_graczy*/) continue; set_task(1.0,"czy_wygral_runde",id); } }Próbowałem też wyczyścić informację na początku rundy, jednak wychodziło na to samo. Przeszukałem trochę dokumentacji i poradników, jednak nigdzie nie znalazłem nic o resetowaniu zmiennej, więc za pewne zrobiłem to źle.
Czekaj czekaj, ty chcesz mieć nick matki zombie w jakimś tam hudzie i chcesz pokazywać to wszystkim graczom, tak?
Resetowanie tej zmiennej będzie wyglądało mniej więcej tak:
nmane[0] = 0 lub formatex(name, 0, "");
Co do resetowania zmiennej możesz użyć forwardu z zp:
public zp_round_ended(winteam){ nmane[0] = 0 }
Napisane przez Sniper Elite
w 30.10.2016 13:51
Dawno z tego nie korzystałem, ale najlepiej jest podłączyć się pod forward.
new name[32]; public zp_round_started(gamemode, id) { for(new i = 1; i <= 32; i ++) { if(zp_get_user_first_zombie(i)){ get_user_name(i, name, charsmax(name)); break; } } }
Zapisujesz nick gracza do zmiennej globalnej, po zakończeniu rundy ją resetujesz.
Sama pętla wygląda ok, możesz tylko dodać break po znalezieniu matki.
Moim zdaniem bez sensu szukać gracza co sekundę dla 32 graczy 32 razy iterując po każdym graczu (w sumie 1024 iteracje).
O samym forwardzie w dokumentacji:
/*** Called when the ZP round starts, i.e. first zombie* is chosen or a game mode begins.** @param gamemode Mode which has started.* @param id Affected player's index (if applicable).*/forward zp_round_started(gamemode, id)
Napisane przez Sniper Elite
w 15.07.2016 17:07
Skonfiguruj sobie własne środowisko np. notepad++. https://amxx.pl/topi...-pracy-notepad/
Troche z tym roboty, ale się opłaca. Kompilacja pod klawisz + jesteś niezależny od kompilatorów online + masz pewność że nikt ci pluginów nie podmieni .
Każdy szanujący się programista musi umieć przygotować swoje stanowisko pracy.
Napisane przez Sniper Elite
w 20.05.2016 21:29
Palec Zeusa by DarkGL na swiat magii
To w takie rzeczy się teraz bawicie
to tt nie moze bic tt
A normalnie mogą się naparzać?
Znalazłem taki kod:
to chyba da efekt, że każdy może naparzać w każdego, przetestuj, ja nie mam gdzie.
Napisane przez Sniper Elite
w 20.05.2016 11:54
Napisane przez Sniper Elite
w 20.05.2016 10:58
Napisane przez Sniper Elite
w 11.05.2016 18:45
Zobaczysz jak wgrasz, ta paczka z neta nie działa a snajper na 100% dobrze o tym wie.A co w nim jest nie tak?
Działa, działa.
Elitzone, napisz na gg.
Napisane przez Sniper Elite
w 06.03.2016 14:38
Napisane przez Sniper Elite
w 19.02.2016 12:05
Napisane przez Sniper Elite
w 19.02.2016 12:01
SetHamParamFloat(which, Float:value)
Funkcja zmienia w locie dane wyjściowe (wg dokumentacji).
Dobrą praktyką programisty jest zrobienie tego jak ja, a nie tak jak ty. Najpierw działasz na zmiennej, z później wywołujesz funkcję na jej rzecz.
new jakas_zmienna = 40; JakasFunkcja(jakas_zmienna * 1.5) //tu zmienna jakas_zmienna ma dalej wartość 40 (chyba :P)
więc robimy tak:
jakas_zmienna *= 1.5 JakasFunkcja(jakas_zmienna); // tu dalej mozesz spokojnie edytowac zmienna jakas_zmienna (czyli damage) bo zostala zedytowana
czyli najlepiej jest:
jakas_zmienna += 5; jaka_zmienna *= 1.5 JakasFunkcja(jakas_zmienna);
Na sam koniec dajesz znać silnikowi, że zmieniasz obrażenia (metodą SetHamParamFloat). Nie ma sensu wywoływać jej 2 razy.
Napisane przez Sniper Elite
w 18.02.2016 23:22
Napisane przez Sniper Elite
w 18.02.2016 00:45
Napisane przez Sniper Elite
w 13.02.2016 13:35
Napisane przez Sniper Elite
w 11.02.2016 14:22