Jak zrobić z eventu spawna?
Change
01.09.2009
Jakim eventem moge wywołać daną funkcję po zrespieniu się ale tylko za pierwszym razem po podłączeniu sie do serwera przez gracza?
Dokładnie najlepiej by było gdyby ktoś na jakiejś prostej komendzie w konsoli gracza dał przykład ;>
Dokładnie najlepiej by było gdyby ktoś na jakiejś prostej komendzie w konsoli gracza dał przykład ;>
naven
01.09.2009
ufff
#include <amxmodx> #include <amxmisc> new test [33] //wiem, że nie musi być aż tyle ale niech jest public plugin_init() { register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0") } public Nowa_Runda(id) { if(test[id] == 0 ){ client_print(0, print_chat, "Pierwsza runda") test[id] = 1 } else if(test[id] > 0 ){ client_print(0, print_chat, "Druga runda")//druga lub więcej... test[id] = 1 } } public client_connect(id) //tutaj niby przy connect zmieniam, ale nie wiem czy działa bo nie miałem z kim testować test[id] = 0;
kyku
01.09.2009
#include <amxmodx> #include <amxmisc> public plugin_init() { register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0") } public Nowa_Runda(){ for(new id; id<33; id++){ if(is_user_connected(id)){ client_cmd(id, "kill"); } } }Taki przyklad na poczatek rundy u kazdego gracza wykonuje sie komenda kill
mozna to tez zrobic tak:
#include <amxmodx> #include <amxmisc> public plugin_init() { register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0") } public Nowa_Runda(){ client_cmd(0, "kill"); // 0 - wykonaj wszystkim }ale w ten sposob nie bedziemy mieli ID gracza
R3X
01.09.2009
oj
Najlepsze
Średnio dobre, ale nie sprawi problemów w tym przypadku
Mniej dobre (niedokładne) masz w postach wyżej
Wybór metody zależy od tego co tam ma się wydarzać:
Napis można pokazać byle kiedy, więc masz dowolność.
Zmiana parametrów gracza - wybierz pierwszy lub drugi kod z tego posta
Jeśli chcesz mieć pewność, że kod zostanie wykonany dokładnie po spawnie wybierz pierwszy kod
Najlepsze
#include <amxmodx> #include <amxmisc> #include <hamsandwich> #define PLUGIN "Spawn" #define VERSION "1.0" #define AUTHOR "R3X" new bool:gbFirst[33]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam(Ham_Spawn, "player","fwSpawn",1); } public client_connect(id) gbFirst[id]=true; public fwSpawn(id){ if(gbFirst[id]){ //tutaj zrób coś gbFirst[id]=false; } return HAM_IGNORED; }
Średnio dobre, ale nie sprawi problemów w tym przypadku
#include <amxmodx> #include <amxmisc> #define PLUGIN "Spawn2" #define VERSION "1.0" #define AUTHOR "R3X" new bool:gbFirst[33]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("ResetHUD","fwSpawn","be"); } public client_connect(id) gbFirst[id]=true; public fwSpawn(id){ if(gbFirst[id]){ //tutaj zrób coś gbFirst[id]=false; } return PLUGIN_CONTINUE; }
Mniej dobre (niedokładne) masz w postach wyżej
Wybór metody zależy od tego co tam ma się wydarzać:
Napis można pokazać byle kiedy, więc masz dowolność.
Zmiana parametrów gracza - wybierz pierwszy lub drugi kod z tego posta
Jeśli chcesz mieć pewność, że kod zostanie wykonany dokładnie po spawnie wybierz pierwszy kod
Change
02.09.2009
Tzn. np. w przypadku kill to będzie tak? :
#include <amxmodx> #include <amxmisc> #include <hamsandwich> #define PLUGIN "Spawn" #define VERSION "1.0" #define AUTHOR "R3X" new bool:gbFirst[33]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam(Ham_Spawn, "player","fwSpawn",1); } public client_connect(id) gbFirst[id]=true; public fwSpawn(id){ if(gbFirst[id]){ //tutaj zrób coś client_cmd(id, "kill", kill); gbFirst[id]=false; } return HAM_IGNORED; }
kyku
02.09.2009
#include <amxmodx> #include <amxmisc> #include <hamsandwich> #define PLUGIN "Spawn" #define VERSION "1.0" #define AUTHOR "R3X" new bool:gbFirst[33]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam(Ham_Spawn, "player","fwSpawn",1); } public client_connect(id) gbFirst[id]=true; public fwSpawn(id){ if(gbFirst[id]){ //tutaj zrób coś client_cmd(id, "kill"); gbFirst[id]=false; } return HAM_IGNORED; }