Mensajes: 165
Temas: 60
Registro en: Feb 2014
Reputación:
0
Busco un plugin o si existe un comando que siendo admin puedas hacer escribir a un usuario, un ejemplo:
Que el player admin quiera que fulanito diga "hola soy fulanito" por el say, si es que se puede o si existe alguno se los agradeceria.
Salu2.
Mensajes: 926
Temas: 64
Registro en: Feb 2014
Reputación:
9
client_cmd ?
(15/12/2020, 07:06 PM)Mario AR. escribió: Cuando tu acatante conozca de tu nuevo puerto, te volverá a atacar
Mensajes: 659
Temas: 97
Registro en: Feb 2016
Reputación:
12
No es necesario usar client_cmd ya lo hago
Mensajes: 1,933
Temas: 39
Registro en: Jul 2014
Reputación:
23
(09/03/2019, 07:47 PM)Cr3470r escribió: engclient_cmd ?
Mensajes: 1,450
Temas: 59
Registro en: Feb 2015
Reputación:
20
En teoría engclient_cmd y client_cmd cumplen la misma función para lo que pides, pero la manera mas ""sana"" seria con engclient_cmd.
Mensajes: 659
Temas: 97
Registro en: Feb 2016
Reputación:
12
prueba
Código PHP: #include <amxmodx> #include <amxmisc>
#define PLUGIN "Player Chat" #define VERSION "1.0" #define AUTHOR "Ale"
new g_maxplayers; new g_szText[33][128]; new name2[32]
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("Player_Chat", "Mensaje"); register_clcmd("say /player_chat", "show_menu_to_player", ADMIN_KICK); g_maxplayers = get_maxplayers() }
public show_menu_to_player(id) { new menu menu = menu_create("Player Chat", "HandLerPlayer") new name[32], IDS[12]
for(new i = 1; i <= g_maxplayers; i++) {
if(!is_user_connected(i)) continue;
get_user_name(i, name, charsmax(name)) formatex(IDS, charsmax(IDS), "%d %d", i, get_user_userid(i)) menu_additem(menu, name, IDS) } menu_display(id, menu, 0) }
public HandLerPlayer(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED; }
new lol, buffer[12], playerid, userid menu_item_getinfo(menu, item, lol, buffer, charsmax(buffer), _, _, lol) new szid[3], szuserid[9] parse(buffer, szid, charsmax(szid), szuserid, charsmax(szuserid)) playerid = str_to_num(szid) userid = str_to_num(szuserid)
if(!is_user_connected(playerid)) { client_print(id, print_chat, "Usuario seleccionado con la ID: %d se ha desconectado.", playerid) return PLUGIN_HANDLED; } if(userid != get_user_userid(playerid)) { client_print(id, print_chat, "Usuario seleccionado no es el que usted eligio.") return PLUGIN_HANDLED; } get_user_name(playerid, name2, charsmax(name2)) client_cmd(id, "messagemode ^"Player_Chat^"") return PLUGIN_HANDLED; }
public Mensaje(id) { read_args(g_szText[id], charsmax(g_szText[])); remove_quotes(g_szText[id]);
if( strlen(g_szText[id]) > 32 ) { client_print(id, print_center, "Texto demasaido largo"); client_cmd(id, "messagemode ^"Player_chat^""); return PLUGIN_HANDLED; }
client_print_color(0, print_team_default, "^3%s :^1 %s", name2, g_szText[id]) return PLUGIN_HANDLED; }
Mensajes: 220
Temas: 8
Registro en: Nov 2018
Reputación:
7
(12/03/2019, 03:37 PM)Alejandro escribió: prueba
Código PHP: #include <amxmodx> #include <amxmisc>
#define PLUGIN "Player Chat" #define VERSION "1.0" #define AUTHOR "Ale"
new g_maxplayers; new g_szText[33][128]; new name2[32]
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("Player_Chat", "Mensaje"); register_clcmd("say /player_chat", "show_menu_to_player", ADMIN_KICK); g_maxplayers = get_maxplayers() }
public show_menu_to_player(id) { new menu menu = menu_create("Player Chat", "HandLerPlayer") new name[32], IDS[12]
for(new i = 1; i <= g_maxplayers; i++) {
if(!is_user_connected(i)) continue;
get_user_name(i, name, charsmax(name)) formatex(IDS, charsmax(IDS), "%d %d", i, get_user_userid(i)) menu_additem(menu, name, IDS) } menu_display(id, menu, 0) }
public HandLerPlayer(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED; }
new lol, buffer[12], playerid, userid menu_item_getinfo(menu, item, lol, buffer, charsmax(buffer), _, _, lol) new szid[3], szuserid[9] parse(buffer, szid, charsmax(szid), szuserid, charsmax(szuserid)) playerid = str_to_num(szid) userid = str_to_num(szuserid)
if(!is_user_connected(playerid)) { client_print(id, print_chat, "Usuario seleccionado con la ID: %d se ha desconectado.", playerid) return PLUGIN_HANDLED; } if(userid != get_user_userid(playerid)) { client_print(id, print_chat, "Usuario seleccionado no es el que usted eligio.") return PLUGIN_HANDLED; } get_user_name(playerid, name2, charsmax(name2)) client_cmd(id, "messagemode ^"Player_Chat^"") return PLUGIN_HANDLED; }
public Mensaje(id) { read_args(g_szText[id], charsmax(g_szText[])); remove_quotes(g_szText[id]);
if( strlen(g_szText[id]) > 32 ) { client_print(id, print_center, "Texto demasaido largo"); client_cmd(id, "messagemode ^"Player_chat^""); return PLUGIN_HANDLED; }
client_print_color(0, print_team_default, "^3%s :^1 %s", name2, g_szText[id]) return PLUGIN_HANDLED; }
Jajajaj, por dios, ¿por qué? ¿Acaso no sabemos lo que son chat managers?
Mensajes: 1,933
Temas: 39
Registro en: Jul 2014
Reputación:
23
(12/03/2019, 03:25 PM)metita escribió: En teoría engclient_cmd y client_cmd cumplen la misma función para lo que pides, pero la manera mas ""sana"" seria con engclient_cmd.
eeeeeemmmm nope ^_^
hay un pequeño plugin para el cliente llamado "Terminal" que bloquea todo "SVC_STUFFTEXT" (client_cmd) y "protege" tu cliente de aquellos servidores malignos.
Por otro lado cl_filterstuffcmd tiene en su lista negra el "say" asi que con client_cmd no es recomendable hacerlo
haciendo un breve speed test se puede apreciar que usando engclient_cmd tiene una respuesta de <1 ms, mientras que client_cmd tardaria segun el ping del usuario en ejecutarse, haciendo que engclient_cmd es mucho mas viable (para este caso) su uso
Mensajes: 1,450
Temas: 59
Registro en: Feb 2015
Reputación:
20
12/03/2019, 09:57 PM
(Última modificación: 12/03/2019, 09:59 PM por metita. Edited 2 times in total.)
(12/03/2019, 09:17 PM)Sugisaki escribió: (12/03/2019, 03:25 PM)metita escribió: En teoría engclient_cmd y client_cmd cumplen la misma función para lo que pides, pero la manera mas ""sana"" seria con engclient_cmd.
eeeeeemmmm nope ^_^
hay un pequeño plugin para el cliente llamado "Terminal" que bloquea todo "SVC_STUFFTEXT" (client_cmd) y "protege" tu cliente de aquellos servidores malignos.
Por otro lado cl_filterstuffcmd tiene en su lista negra el "say" asi que con client_cmd no es recomendable hacerlo
haciendo un breve speed test se puede apreciar que usando engclient_cmd tiene una respuesta de <1 ms, mientras que client_cmd tardaria segun el ping del usuario en ejecutarse, haciendo que engclient_cmd es mucho mas viable (para este caso) su uso
No que? Yo hablo del lado de lo que pide el autor (respecto al say). (vease las comillas del ""sana"")
Mensajes: 1,933
Temas: 39
Registro en: Jul 2014
Reputación:
23
(12/03/2019, 09:57 PM)metita escribió: No que? Yo hablo del lado de lo que pide el autor (respecto al say). (vease las comillas del ""sana"") no entendiste el mensaje.
(12/03/2019, 03:25 PM)metita escribió: En teoría engclient_cmd y client_cmd cumplen la misma función para lo que pides
client_cmd y engclient_cmd no cumplen la misma funcion, ni para la lo que el pide y te lo aclaro
|