Przerobienie radaru
Windowspl
13.05.2011
Witam.
Mam plugin "Radar" i jak ktoś wpisz w konsoli testradar to dostaje radar a jak zrobić tak żeby ten radar był tylko na 1 runde ? Lub do zginięcia ?
Mam plugin "Radar" i jak ktoś wpisz w konsoli testradar to dostaje radar a jak zrobić tak żeby ten radar był tylko na 1 runde ? Lub do zginięcia ?
#include <amxmodx> #include <fun> #include <cstrike> public plugin_init() { register_concmd("testradar","radar_scan",ADMIN_IMMUNITY); set_task(2.0, "radar_scan", _, _, _, "b"); } public radar_scan(id) { new PlayerCoords[3]; for (new id=1; id<=32; id++) { if(!is_user_alive(id)) continue; for (new i=1;i<=32;i++) { if(!is_user_alive(i) || get_user_team(i) == get_user_team(id)) continue; get_user_origin(i, PlayerCoords) message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HostagePos"), {0,0,0}, id) write_byte(id) write_byte(i) write_coord(PlayerCoords[0]) write_coord(PlayerCoords[1]) write_coord(PlayerCoords[2]) message_end() message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HostageK"), {0,0,0}, id) write_byte(i) message_end() } } }
R3X
13.05.2011
Musisz przypilnować w globalnej tablicy i czyścić ją w na początku rundy
Oczywiście jak już naprawisz swój plugin (task i komenda na 1 funkcji?)
new bool:gbUzylJuz[33]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_logevent( "eventRoundStart",2, "1=Round_Start"); } public eventRoundStart(){ for(new i=1;i<33;i++) gbUzylJuz[i] = false; } public uzyj(id){ if(gbUzylJuz[id]){ //Juz uzyl return PLUGIN_HANDLED; } gbUzylJuz[id] = true; }
Oczywiście jak już naprawisz swój plugin (task i komenda na 1 funkcji?)
Windowspl
13.05.2011
a do public radar_scan coś trzeba dodać ?
Edited by Windowspl, 13.05.2011 12:49.
public radar_scan(id) { new PlayerCoords[3]; for (new id=1; id<=32; id++) { if(!is_user_alive(id)) continue; for (new i=1;i<=32;i++) { if(!is_user_alive(i) || get_user_team(i) == get_user_team(id)) continue; get_user_origin(i, PlayerCoords) message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HostagePos"), {0,0,0}, id) write_byte(id) write_byte(i) write_coord(PlayerCoords[0]) write_coord(PlayerCoords[1]) write_coord(PlayerCoords[2]) message_end() message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("HostageK"), {0,0,0}, id) write_byte(i) message_end() } } }
?Oczywiście jak już naprawisz swój plugin (task i komenda na 1 funkcji?)
Edited by Windowspl, 13.05.2011 12:49.
vaverix
13.05.2011
Witam,
proszę bardzo:
*.sma i *.amxx w załączniku
Edited by vaverix, 13.05.2011 15:05.
proszę bardzo:
#include <amxmodx> #define MAX_PLAYERS 20 new g_enemy, g_enemydie; public plugin_init() { register_concmd("testradar","radar_scan"); register_logevent("nowa_runda",2,"1=Round_Start"); g_enemy = get_user_msgid("HostagePos"); g_enemydie = get_user_msgid("HostageK"); } public client_disconnect(id) { if(task_exists(id)) remove_task(id); } public nowa_runda() { for(new i=1;i<33;i++) { if(task_exists(i)) remove_task(i); } } public radar_scan(id) { if(!(get_user_flags(id) & ADMIN_IMMUNITY) || !is_user_alive(id)) return PLUGIN_HANDLED; new PlayerCoords[3]; for (new i=1; i<=MAX_PLAYERS; i++) { if(!is_user_connected(i) || !is_user_alive(i) || get_user_team(i) == get_user_team(id)) continue; get_user_origin(i, PlayerCoords); message_begin(MSG_ONE_UNRELIABLE, g_enemy, {0,0,0}, id); write_byte(id); write_byte(i); write_coord(PlayerCoords[0]); write_coord(PlayerCoords[1]); write_coord(PlayerCoords[2]); message_end(); message_begin(MSG_ONE_UNRELIABLE, g_enemydie, {0,0,0}, id); write_byte(i); message_end(); } if(!task_exists(id)) set_task(2.0, "radar_scan", id, _, _, "b"); return PLUGIN_HANDLED; }
*.sma i *.amxx w załączniku
Attached Files
Edited by vaverix, 13.05.2011 15:05.