16/12/2017, 12:05 AM
Buenas tengo un problema con un plugin de Private message, bueno el plugin trabaja perfectamente cuando coloco /pm, me aparecen todos los jugadores, pero si vuelvo a ejecutar el comando de /pm me van apareciendo menos jugadores en la lista hasta el punto que si se intenta varias veces durante una misma ronda, sale El titulo de Private message menu pero no aparece ningun jugador el cual seleccionar, una vez comienza una nueva ronda se reinicia esto y al momento de volver ejecutar el comando /pm vuelve a salir todos los jugadores nuevamente y así...
he aqui el codigo que me encontre buscando en alliemodders
he aqui el codigo que me encontre buscando en alliemodders
Código PHP:
#include <amxmodx>
#include <colorchat>
#define OWNER_FLAG ADMIN_RCON
new g_iTarget[33]
public plugin_init()
{
register_plugin("PM - Private Message", "1.0", "EaGle/Flicker-rewriten")
register_clcmd("say /pm", "cmdPMMenu")
register_clcmd("say_team /pm", "cmdPMMenu")
register_clcmd("PrivateMessage", "cmd_player");
}
public cmdPMMenu(id)
{
new menu = menu_create("\yPrivate Message \wMenu", "handlePMMEnu")
new players[32], num
new szName[32], szTempid[32]
get_players(players, num, "ach")
for(new i; i < num; i++)
{
get_user_name(players[i], szName, charsmax(szName))
num_to_str(get_user_userid(players[i]), szTempid, charsmax(szTempid))
menu_additem(menu, szName, szTempid, 0)
}
menu_display(id, menu)
}
public handlePMMEnu(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
new szData[6], szName[64], iAccess, iCallback
menu_item_getinfo(menu, item, iAccess, szData, charsmax(szData), szName, charsmax(szName), iCallback)
g_iTarget[id] = find_player("k", str_to_num(szData))
client_cmd(id, "messagemode PrivateMessage")
menu_destroy(menu)
return PLUGIN_HANDLED
}
public cmd_player(id)
{
new say[300]
read_args(say, charsmax(say))
remove_quotes(say)
if(!strlen(say))
return PLUGIN_HANDLED
new szSenderName[32], szReceiverName[32]
get_user_name(id, szSenderName, charsmax(szSenderName))
get_user_name(g_iTarget[id], szReceiverName, charsmax(szReceiverName))
ColorChat(id, GREY, "[AMXX]^4 Private Message To^3 %s^1: %s", szReceiverName, say)
ColorChat(g_iTarget[id], GREY, "[AMXX]^4 Private Message From^3 %s^1: %s", szSenderName, say)
for(new i = 1; i < get_maxplayers(); i++ )
if(is_user_connected(i) && (get_user_flags(i) & OWNER_FLAG))
{
ColorChat(i, GREY, "[AMXX]^4 Private Message from ^3%s ^1To ^3%s:", szSenderName, szReceiverName)
ColorChat(i, GREEN, "%s", say)
}
return PLUGIN_CONTINUE
}