/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fun> // la ocuparemos para todo lo que es give_item
new const TAG[] = "[TUT]" // Creamos una constante para definir un tag
new const PLUGIN[] = "PRIVILEGIOS PARA ADMINS" // name del plugin
new const AUTHOR[] = "pipa" // el nombre del author
new const VERSION[] = "1.2" // la version del plugin
//versión 1.2 corregida = mejor explicada
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd( "say /golden", "restriccion") // - registramos el comando que ocuparemos para abrir el menu
//- "restriccion" es el nombre de la seccion del codigo que ocuparemos
}
public client_putinserver(id)
set_task(15.0, "informacion", id)
public informacion(id) {
client_print(id, print_chat, "Escribe /golden para abrir el menu de admin") // mensaje que enviaremos
client_print(id, print_chat, "%s | Author: %s | Version: %s", PLUGIN , AUTHOR , VERSION)
}
public restriccion(id)
{
if (get_user_flags(id) & ADMIN_BAN) // restringimos para que solo el con acceso al admin_ban pueda abrir el menu
Menu_Privilegios(id) // menu
else // en caso que abra el menu y no sea admin no sea admin
client_print(id, print_center, "**Error-Menu Tu no eres Admin**") // mensaje que enviaremos
}
public Menu_Privilegios(id) {
new menu = menu_create("\wPrivilegios Golden^n", "menu_admin") // titulo del menu
menu_additem(menu, "\yObtener +200 De Vida", "0", 0) /* todo desde aqui*/
/* EL 0 ALFINAL ES PARA LAS RESTRICCIONES EN ESTE CASO ESTA EN NULO (PLAYER) EN CASO DE QUE QUIERAN PONERLO PARA ADMIN SERIA MAS O MENOS HACI*/
menu_additem(menu, "\yObtener +100 De Chaleco", "1", ADMIN_BAN)
/* O PUEDE SER CUALQUIER FLAG*/
menu_additem(menu, "\yObtener Pack De Granadas", "2", ADMIN_LEVEL_G)
/* TAMBIEN SE PUEDE QUITAR SI NO LES HACE FALTA */// O SI NO OCUPAN SU FUNCION
menu_additem(menu, "\yKick", "3")
menu_additem(menu, "\yVotemap", "4", 0)
menu_additem(menu, "\yBanear Jugador", "5", 0)
menu_additem(menu, "\yAmxModMenu", "6" , 0) /* hasta aqui son opciones*/
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0) // cerramos el menu con el numero 0
}
public menu_admin(id, menu, item)
{
if ( item == MENU_EXIT )
{
menu_destroy(menu) // destruimos el menu
return PLUGIN_HANDLED;
}
switch(item)
{
// EL case empiesa desdE 0 por que asi lo pusimos en el numero antes de en 0
// menu_additem(menu, "\yObtener +200 De Vida", "0/*AQUI*/", 0)
case 0: {
set_user_health(id, get_user_health(id) + 200) // le damos 200 de vida
client_print(id, print_chat, "%s Has Obtenido +200 de Vida.", TAG ) // mensaje que envia la opcion
}
case 1: {
set_user_armor(id, get_user_armor(id) + 100) // le damos 100 de armor
client_print(id, print_chat, "%s Has Obtenido +100 de Armor.", TAG ) //mensaje que enviara la opcion
}
case 2: {
give_item(id, "weapon_hegrenade") /* le damos las 3 granadas*/
give_item(id, "weapon_smokegrenade")
give_item(id, "weapon_flashbang")
client_print(id, print_chat, "%s Has Obtenido El Pack de Granadas.", TAG ) // mensaje que enviara la opcion
}
case 3: client_cmd(id , "amx_kickmenu") /*comandos que se enviaran a consola */
case 4: client_cmd(id , "amx_votemapmenu")
case 5: client_cmd(id , "amx_banmenu")
case 6: client_cmd(id , "amxmodmenu")
}
return PLUGIN_HANDLED;
}
/*
En programación, un callback es un código ejecutable que
es pasado como un argumento a otro código. Permite que una
capa de software de nivel inferior llame a una subrutina
(o función) definida en una capa de nivel superior. */