Offline |
|
|
Csatlakozott: 2015.03.12. 15:06 Hozzászólások: 624
Megköszönt másnak: 199 alkalommal Megköszönték neki: 78 alkalommal
|
Hogy lehetne megoldani a következőben (lásd pm.sma), hogy a halottnak és a nézőknek is lehessen írni, ne csak az élőknek? Mert aki halott, vagy aki specben van, annak nincs ott a neve a menüben. Csak az élőknek. #include <amxmodx> #include <amxmisc> #include <ColorChat> #define PLUGIN "PM - Private Message" #define VERSION "1.0" #define AUTHOR "EaGle" new gidPlayer[33]; new const pm_sound[] = { "User" } public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /pm", "cmd_privatemessage") register_clcmd("say_team /pm", "cmd_privatemessage") register_clcmd("PrivateMessage", "cmd_player"); } public cmd_privatemessage(id) { static opcion[64] formatex(opcion, charsmax(opcion),"Private Message") new iMenu = menu_create(opcion, "cmd_pm") new players[32], pnum, tempid new szName[32], szTempid[10] get_players(players, pnum, "ach") for( new i; i<pnum; i++ ) { tempid = players[i] get_user_name(tempid, szName, 31) num_to_str(tempid, szTempid, 9) formatex(opcion, charsmax(opcion), "\w%s", szName) menu_additem(iMenu, opcion, szTempid, 0) } menu_display(id, iMenu) return PLUGIN_HANDLED } public cmd_pm(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu) return PLUGIN_HANDLED } new Data[6], Name[64] new Access, Callback menu_item_getinfo(menu, item, Access, Data,5, Name, 63, Callback) new tempid = str_to_num(Data) gidPlayer[id] = tempid 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(equal(say, "")) return PLUGIN_HANDLED; cmd_send_pm(id, say) return PLUGIN_CONTINUE; } public cmd_send_pm(id, say[]) { new player = gidPlayer[id]; printMessage(player, id, say) return PLUGIN_HANDLED; } stock printMessage(reciever, sender, const message[]) { new name[32]; get_user_name(sender, name, charsmax(name)) new szname[32]; get_user_name(reciever,szname,31) print_color(sender, "^3[Priv.Üzenet Neki]: ^4%s ^1: %s", szname, message); print_color(reciever, "^3[Priv.Üzenet Tőlle]: ^4%s ^1: %s", name, message); } public plugin_precache() { precache_sound(pm_sound) } stock print_color(const id, const input[], any:...) { new count = 1, players[32] static msg[191] vformat(msg, 190, input, 3) replace_all(msg, 190, "!g", "^4") replace_all(msg, 190, "!y", "^1") replace_all(msg, 190, "!t", "^3") if (id) players[0] = id; else get_players(players, count, "ch") { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]) write_byte(players[i]) write_string(msg) message_end() } } } return PLUGIN_HANDLED }
_________________ „Nem azért felejtünk el játszani, mert megöregszünk, hanem attól öregszünk meg, hogy elfelejtünk játszani.”-MAXHACKED Website--HERViD Website-
|
|