Mensajes: 73
Temas: 24
Registro en: Jul 2018
Reputación:
0
Necesito un plugin que al escribir /rep me salga un menú para darle como quien dice un punto a la persona que yo seleccione.
Hazlo, y si te da miedo, hazlo con miedo.
Mensajes: 449
Temas: 32
Registro en: Apr 2017
Reputación:
6
Código PHP: #include <amxmodx> #include <amxmisc>
new g_Puntos[33]; new g_MaxPlayers;
public plugin_init() { register_plugin("Menu de puntos", "1.0", "Saber") register_clcmd("say /rep", "CmdMenu") g_MaxPlayers = get_maxplayers() } public client_putinserver(id) { g_Puntos[id] = 0 } public CmdMenu(id) { new Nombre[32], menu = menu_create("Menu de rep", "HandlerMenu") for(new i = 1; i < g_MaxPlayers; i++) { get_user_name(i, Nombre, charsmax(Nombre)) menu_additem(menu, Nombre) } menu_display(id, menu, 0) return; } public HandlerMenu(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return; } new NombreSelec[32], NombrePlayer[32]; get_user_name(id, NombrePlayer, charsmax(NombrePlayer)) for(new i = 1; i < g_MaxPlayers; i++) { if(!is_user_connected(i)) { break; } get_user_name(i, NombreSelec, charsmax(NombreSelec)) g_Puntos[i]++ chatcolor(i, "El usuario %s te dio un punto ^4PRE", NombrePlayer) chatcolor(id, "Le diste un punto ^4PRE a %s", NombreSelec) } } stock chatcolor(id, const input[], any:...) { static szMsg[191], msgSayText; if (!msgSayText) msgSayText = get_user_msgid("SayText"); vformat(szMsg, 190, input, 3);
replace_all(szMsg, 190, "!g", "^4"); replace_all(szMsg, 190, "!y", "^1"); replace_all(szMsg, 190, "!team", "^3"); message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgSayText, .player = id); write_byte(id ? id : 33); write_string(szMsg); message_end(); }
no lo probe xD
Si no te gusta algo, cámbialo. Si no lo puedes cambiar, cambia la forma en que piensas sobre ello <3
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 1,933
Temas: 39
Registro en: Jul 2014
Reputación:
23
(19/08/2018, 11:43 PM)Saber escribió: Código PHP: #include <amxmodx> #include <amxmisc>
new g_Puntos[33]; new g_MaxPlayers;
public plugin_init() { register_plugin("Menu de puntos", "1.0", "Saber") register_clcmd("say /rep", "CmdMenu") g_MaxPlayers = get_maxplayers() } public client_putinserver(id) { g_Puntos[id] = 0 } public CmdMenu(id) { new Nombre[32], menu = menu_create("Menu de rep", "HandlerMenu") for(new i = 1; i < g_MaxPlayers; i++) { get_user_name(i, Nombre, charsmax(Nombre)) menu_additem(menu, Nombre) } menu_display(id, menu, 0) return; } public HandlerMenu(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return; } new NombreSelec[32], NombrePlayer[32]; get_user_name(id, NombrePlayer, charsmax(NombrePlayer)) for(new i = 1; i < g_MaxPlayers; i++) { if(!is_user_connected(i)) { break; } get_user_name(i, NombreSelec, charsmax(NombreSelec)) g_Puntos[i]++ chatcolor(i, "El usuario %s te dio un punto ^4PRE", NombrePlayer) chatcolor(id, "Le diste un punto ^4PRE a %s", NombreSelec) } } stock chatcolor(id, const input[], any:...) { static szMsg[191], msgSayText; if (!msgSayText) msgSayText = get_user_msgid("SayText"); vformat(szMsg, 190, input, 3);
replace_all(szMsg, 190, "!g", "^4"); replace_all(szMsg, 190, "!y", "^1"); replace_all(szMsg, 190, "!team", "^3"); message_begin(id ? MSG_ONE_UNRELIABLE : MSG_BROADCAST, msgSayText, .player = id); write_byte(id ? id : 33); write_string(szMsg); message_end(); }
no lo probe xD
eso no funciona ni que venga Bilgeits transformado en super sayajin dios fase 4,
verifica el "HandlerMenu" e interpreta al español lo que estas haciendo
como tip: el loop esta demas
Mensajes: 449
Temas: 32
Registro en: Apr 2017
Reputación:
6
20/08/2018, 10:02 AM
(Última modificación: 20/08/2018, 10:02 AM por Saber.)
sugisaki, seria de esta manera? y perdon por invadir el tema
Código PHP: public HandlerMenu(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return; } new Nombre[32] get_user_name(id, Nombre, charsmax(Nombre)) if(!is_user_connected(item)) { return; } chatcolor(id, "Le diste un punto ^4REP ^1a %s", item) chatcolor(item, "%s Te dio un punto ^4REP", Nombre) return; }
o tendria que hacer una variable para el nombre del jugador que elijio (item)
Si no te gusta algo, cámbialo. Si no lo puedes cambiar, cambia la forma en que piensas sobre ello <3
Mensajes: 1,933
Temas: 39
Registro en: Jul 2014
Reputación:
23
20/08/2018, 11:24 AM
(Última modificación: 20/08/2018, 11:26 AM por Sugisaki.)
(20/08/2018, 10:02 AM)Saber escribió: sugisaki, seria de esta manera? y perdon por invadir el tema
Código PHP: public HandlerMenu(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return; } new Nombre[32] get_user_name(id, Nombre, charsmax(Nombre)) if(!is_user_connected(item)) { return; } chatcolor(id, "Le diste un punto ^4REP ^1a %s", item) chatcolor(item, "%s Te dio un punto ^4REP", Nombre) return; }
o tendria que hacer una variable para el nombre del jugador que elijio (item)
es peor aun, ya que item la index de la opcion en el menu, no del player.
esta seria una manera
Código PHP: public CmdMenu(id) { new Nombre[32], menu = menu_create("Menu de rep", "HandlerMenu") new num[3] for(new i = 1; i <= g_MaxPlayers; i++) { if(!is_user_connected(i)) { continue; } num_to_str(i, num, charsmax(num)) get_user_name(i, Nombre, charsmax(Nombre)) menu_additem(menu, Nombre, num); } menu_display(id, menu, 0) return; } public HandlerMenu(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return; } new NombreSelec[32], NombrePlayer[32], info[2], target; menu_item_getinfo(menu, item, target, info, charsmax(info), NombreSelec, charsmax(NombreSelec), target) menu_destroy(menu) // <------------------ target = str_to_num(info); if(!is_user_connected(target)) { chatcolor(id, "%s se ha desconectado", NombreSelec); return } get_user_name(id, NombrePlayer, charsmax(NombrePlayer)) chatcolor(target, "El usuario %s te dio un punto ^4PRE", NombrePlayer) chatcolor(id, "Le diste un punto ^4PRE a %s", NombreSelec) }
tiene cierto fallo: al tener el menu abierto, los users se van, otros players llegan y toman su id, se le sumara al user que llego y no al que estaba antes, pero se puede fixear.
Mensajes: 449
Temas: 32
Registro en: Apr 2017
Reputación:
6
gracias por aclarar mi duda xD
Si no te gusta algo, cámbialo. Si no lo puedes cambiar, cambia la forma en que piensas sobre ello <3
|