startowy armor
lexar
15.07.2014
Witam
Jak zrobić aby na starcie każdy miał 20 armoru, a gracz który posiada np: flagę H nie dostawał by tego startwego armoru takie troche masło maślane ale myślę, że jest zrozumiałe
Pozdrawiam
0-0-0
15.07.2014
#include <amxmodx> #include <cstrike> #include <hamsandwich> #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "author" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1) } public fwHamPlayerSpawnPost(id) { if(!(get_user_flags(id) & ADMIN_CFG)){ cs_set_user_armor(id, 20, CS_ARMOR_VESTHELM) } }
lexar
15.07.2014
sypie errorami
[AMXX] Displaying debug trace (plugin "armor_na_start.amxx") L 07/15/2014 - 22:26:42: [AMXX] Run time error 10: native error (native "cs_set_user_armor") L 07/15/2014 - 22:26:42: [AMXX] [0] armor_na_start.sma::fwHamPlayerSpawnPost (line 18)
lexar
15.07.2014
sorki cały log:
L 07/15/2014 - 22:26:42: Info (map "zm_dusthorror") (file "addons/amxmodx/logs/error_20140715.log") L 07/15/2014 - 22:26:42: [CSTRIKE] Invalid player 1 L 07/15/2014 - 22:26:42: [AMXX] Displaying debug trace (plugin "armor_na_start.amxx") L 07/15/2014 - 22:26:42: [AMXX] Run time error 10: native error (native "cs_set_user_armor") L 07/15/2014 - 22:26:42: [AMXX] [0] armor_na_start.sma::fwHamPlayerSpawnPost (line 18)
Puchate
15.07.2014
Ten plugin pokazuje błąd w hamsandwich / engine gry (nie zagłębiałem się dokładnie). Flaga ustawiona jest na post więc funkcja powinna wykonać się gry gracz jest już żywy, lecz wykonuje się dwukrotnie: zanim będzie żywy oraz gdy już serwer go odrodzi.
#include <amxmodx> #include <cstrike> #include <hamsandwich> #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "author" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1) } public fwHamPlayerSpawnPost(id) { if(is_user_alive(id) && !(get_user_flags(id) & ADMIN_CFG)){ cs_set_user_armor(id, 20, CS_ARMOR_VESTHELM) } }
Edited by Puchate, 15.07.2014 23:10.
BlackPerfum
16.07.2014
To nie jest żaden bugen plugin pokazuje błąd w hamsandwich / engine gry (nie zagłębiałem się dokładnie).
To że wykonuje się spawn na gracz nie oznacza że zostanie ożywiony!!! Jedynie że jego byt zostanie poprawnie zrespiony (dla hl) Podczas wchodzenia na serwer wykonuje się ten event 2x gdyż najpierw jest spawn naszego bytu byśmy mogli być na mapie jako spec w odpowiednim miejscu (w tym momęcie wykonuje się event client_putinserver) a następnie spawn jako gracza (dla cs'a) tzn. ustawia nam model itdFlaga ustawiona jest na post więc funkcja powinna wykonać się gry gracz jest już żywy, lecz wykonuje się dwukrotnie: zanim będzie żywy oraz gdy już serwer go odrodzi.
Dlaczego spawn nr. 1 jest wymagany? Bez niego nasz byt gracza nie jest zrespiony i bysmy nie mogli latać na spectu przed pierwszym spawnem jako gracza (tzn. ustawia nam model i możemy biegać, strzelać itd)
Dalsze spawny jedynie powodują odebranie nam niepotrzebnych flag (+ wszystkie właściwości bytu żyjącego) + ustawienie w odpowiednim miejscu na mapie
Dodam że użycie Ham_Spawn jest błędne gdyż ten event jest przeznaczony do spawnu bytu nie określonego lub bytu określonego którego spawn nie jest wymuszany.
Jesli chcesz złapać poprawny spawn gracza to złap Ham_CS_RoundRespawn