18/11/2018, 04:45 PM
(Última modificación: 19/11/2018, 03:49 PM por NahuuCja. Edited 3 times in total.)
Regalitos v2 (CON/SIN ADV_VAULT)
Hola le vengo a aportar el sistema de regalitos de kikizon
Solo le agregue que al agarrar una caja almacena los regalos para despues abrirlo con un menu y el guardado adv_vault
Este es el post original que es de kikizon2
Regalitos :3
Codigo de fuente:
Con Guardado (ADV_VAULT):
Código PHP:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <zombieapocalypse>
#include <adv_vault>
#define PLUGIN "regalitos"
#define VERSION "2.0"
#define AUTHOR "kikizon"
#define FLAGS ADMIN_IMMUNITY
// Variables
new g_trailSpr, g_msgScreenFade, g_regalitos
new cvar_activado, cvar_limite, cvar_new_round, cvar_colors
new bool:can_pickup[33]
new g_regalo[33]
new g_abiertos[33]
new g_playername[33][32], g_maxplayers
new g_vault
enum
{
CAMPO_REGALOS,
CAMPO_REGALOS_ABIERTOS,
CAMPO_MAX
}
new g_campos[CAMPO_MAX]
// Models y Sonidos
new MDL[] = "models/regalito.mdl"
new SND[] = "regalitos_pickup.wav"
new TRAIL[] = "sprites/laserbeam.spr"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /regalitos", "show_menu_regalos")
register_clcmd("say_team /regalitos", "show_menu_regalos")
register_clcmd("regalitos", "show_menu_regalos")
register_forward(FM_Touch, "player_Touch")
register_logevent("round_start", 2, "1=Round_Start")
cvar_activado = register_cvar("regalitos_activado","1") // Activar o desactivar el plugin
cvar_new_round = register_cvar("regalitos_remover","1") // Remover Regalitos en nueva ronda
cvar_colors = register_cvar("regalitos_colores","5") // Colores de Regalitos ( 1=Blanco 2=Rojo 3=Verde 4=Azul 5=Random)
cvar_limite = register_cvar("regalitos_limite","100") // Limite de Regalitos
set_task(72.0, "anuncio", 100, _,_, "b")
set_task(1.0, "check_status", 20000, _,_, "b")
g_maxplayers = get_maxplayers()
g_vault = adv_vault_open("REGALOS", false)
g_campos[CAMPO_REGALOS] = adv_vault_register_field(g_vault, "REGALOS")
g_campos[CAMPO_REGALOS_ABIERTOS] = adv_vault_register_field(g_vault, "REGALOS ABIERTOS")
adv_vault_init(g_vault)
g_msgScreenFade = get_user_msgid("ScreenFade")
}
public plugin_precache() {
precache_model(MDL)
precache_sound(SND)
g_trailSpr = engfunc(EngFunc_PrecacheModel, TRAIL)
}
public client_putinserver(id)
{
get_user_name( id, g_playername[id], charsmax(g_playername[]))
can_pickup[id] = true
g_regalo[id] = 0
Cargar(id)
}
public client_disconnect(id)
{
can_pickup[id] = false
Guardar(id)
}
public round_start()
{
if(get_pcvar_num(cvar_new_round))
remover()
}
public anuncio()
client_print_color(0, "!g[amxmodx-es.com] !tSistema de Regalitos !g%s !tby: !g%s", VERSION, AUTHOR)
public reset_pick(id)
can_pickup[id] = true
public check_status() {
if(!get_pcvar_num(cvar_activado))
remover()
}
public remover() {
new ent = -1
while ((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", "regalitos_volando")) != 0) {
engfunc(EngFunc_RemoveEntity, ent)
g_regalitos = 0
}
}
public show_menu_regalitos(id)
{
new Menu = menu_create("\wSOLTAR \yREGALITOS","menu_regalitos")
menu_additem(Menu, "\wSOLTAR", "1")
menu_additem(Menu, "\wREMOVER REGALITOS", "2")
menu_additem(Menu, "\WSELECCIONAR REGALOS", "3")
menu_setprop(Menu, MPROP_EXIT, MEXIT_NORMAL)
menu_display(id, Menu, 0)
}
public menu_regalitos(id, Menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(Menu)
return PLUGIN_HANDLED
}
if(!(get_user_flags(id) & FLAGS) || !get_pcvar_num(cvar_activado)) return PLUGIN_HANDLED
switch(item)
{
case 0: dropear(id), show_menu_regalitos(id)
case 1: remover(), show_menu_regalitos(id)
case 2: show_menu_colores(id)
}
return PLUGIN_HANDLED
}
public show_menu_colores(id) {
new Menu = menu_create("\wCOLOR DE \yTRAIL", "menu_colores")
menu_additem(Menu, "BLANCO", "1")
menu_additem(Menu, "ROJO", "2")
menu_additem(Menu, "VERDE", "3")
menu_additem(Menu, "AZUL^n", "4")
menu_additem(Menu, "RANDOM", "5")
menu_setprop(Menu, MPROP_EXIT, MEXIT_NORMAL)
menu_display(id, Menu, 0)
}
public menu_colores(id, Menu, item) {
if(item == MENU_EXIT) {
menu_destroy(Menu)
return PLUGIN_HANDLED
}
switch(item) {
case 0: server_cmd("regalitos_colores 1")
case 1: server_cmd("regalitos_colores 2")
case 2: server_cmd("regalitos_colores 3")
case 3: server_cmd("regalitos_colores 4")
case 4: server_cmd("regalitos_colores 5")
}
show_menu_regalitos(id)
return PLUGIN_HANDLED
}
public dropear(id) {
if(!is_user_alive(id)) return PLUGIN_HANDLED
if(g_regalitos >= get_pcvar_num(cvar_limite)) {
set_hudmessage(255, 0, 0, 0.0, 0.80, 1, 6.0, 12.0)
show_hudmessage(id, "Limite de regalitos alcanzado")
return PLUGIN_HANDLED
}
if(can_pickup[id] != false) {
can_pickup[id] = false
set_task(0.1, "reset_pick", id)
new Float:Speed[3]
velocity_by_aim(id, 10 * 100, Speed)
dropear2(id, Speed)
g_regalitos++
set_hudmessage(0, 255, 0, 0.0, 0.80, 1, 6.0, 12.0)
show_hudmessage(id, "Regalitos en mapa: %d", g_regalitos)
}
return PLUGIN_HANDLED
}
public dropear2(id, Float:Speed[]) {
new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
new Float:origin[3]
pev(id, pev_origin, origin)
set_pev(ent, pev_origin, origin)
Speed[2] += 100.0
set_pev(ent, pev_velocity, Speed)
new Float:angles[3]
pev(ent, pev_angles,angles)
angles[1] += random_num(1,360)
set_pev(ent, pev_angles, angles)
set_pev(ent, pev_classname, "regalitos_volando")
engfunc(EngFunc_SetModel, ent, MDL)
engfunc(EngFunc_SetSize, ent, Float:{-2.79, -0.0, -6.14}, Float:{2.42, 1.99, 6.35})
set_pev(ent, pev_solid, SOLID_TRIGGER)
set_pev(ent, pev_movetype, MOVETYPE_BOUNCE)
engfunc(EngFunc_DropToFloor, ent)
colores(ent)
}
public colores(ent) {
set_pev(ent, pev_renderfx, kRenderFxGlowShell)
new cvar = get_pcvar_num(cvar_colors)
new r, g, b
if(cvar == 1) {
set_pev(ent, pev_rendercolor, Float:{255.0, 255.0, 255.0})
r = 255
g = 255
b = 255
}
else if(cvar == 2) {
set_pev(ent, pev_rendercolor, Float:{255.0, 000.0, 000.0})
r = 255
g = 0
b = 0
}
else if(cvar == 3) {
set_pev(ent, pev_rendercolor, Float:{000.0, 255.0, 000.0})
r = 000
g = 255
b = 000
}
else if(cvar == 4) {
set_pev(ent, pev_rendercolor, Float:{000.0, 000.0, 255.0})
r = 000
g = 000
b = 255
} else {
switch (random(4)) {
case 0: {
set_pev(ent, pev_rendercolor, Float:{255.0, 255.0, 255.0})
r = 255
g = 255
b = 255
}
case 1: {
set_pev(ent, pev_rendercolor, Float:{255.0, 000.0, 000.0})
r = 255
g = 000
b = 000
}
case 2:{
set_pev(ent, pev_rendercolor, Float:{000.0, 255.0, 000.0})
r = 000
g = 255
b = 000
}
case 3: {
set_pev(ent, pev_rendercolor, Float:{000.0, 000.0, 255.0})
r = 000
g = 000
b = 255
}
}
}
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_BEAMFOLLOW)
write_short(ent)
write_short(g_trailSpr)
write_byte(5)
write_byte(1)
write_byte(r)
write_byte(g)
write_byte(b)
write_byte(255)
message_end()
}
public screen_fade(id) {
message_begin(MSG_ONE, g_msgScreenFade, {0, 0, 0}, id)
write_short(1<<12)
write_short(1<<12)
write_short(1<<12)
write_byte(200)
write_byte(200)
write_byte(200)
write_byte(20)
message_end()
}
public player_Touch(ent, id) {
if(!pev_valid(ent) || !is_user_alive(id) || !get_pcvar_num(cvar_activado) || !can_pickup[id]) return FMRES_IGNORED
new classname[32]
pev(ent, pev_classname, classname, charsmax(classname))
if(equali(classname, "regalitos_volando")) {
g_regalitos--
g_regalo[id]++
client_print_color(id, "!g[amxmodx-es.com] Agarraste un regalo")
screen_fade(id)
emit_sound(id, CHAN_AUTO, SND, 1.0, ATTN_NORM, 0, PITCH_NORM)
if(pev_valid(ent)) {
engfunc(EngFunc_RemoveEntity, ent)
}
}
return FMRES_IGNORED
}
stock client_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")
replace_all(msg, 190, "!team2", "^0")
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();
}
}
}
// En esta funcion se define el regalo que se le dara al que toque un regalito
public give_item(id)
{
new AP = random_num(2300, 8300)
new PH = random_num(3, 33)
new PZ = random_num(3, 33)
new EXP = random_num(2300, 8300)
switch (random_num(0, 500))
{
case 0..100:
{
client_print_color(id, "!g[amxmodx-es.com]!t Abriste un regalo, Ganaste !g+%d !tAP", AP)
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + AP)
}
case 101..200:
{
client_print_color(id, "!g[amxmodx-es.com]!t Abriste un regalo, Ganaste !g+%d !tPH", PH)
za_set_user_hpoints(id, za_get_user_hpoints(id) + PH)
}
case 201..300:
{
client_print_color(id, "!g[amxmodx-es.com]!t Abriste un regalo, Ganaste !g+%d !tPZ", PZ)
za_set_user_zpoints(id, za_get_user_zpoints(id) + PZ)
}
case 301..400:
{
client_print_color(id, "!g[amxmodx-es.com]!t Abriste un regalo, Ganaste !g+%d !tEXP", EXP)
za_set_user_experience(id, za_get_user_experience(id) + EXP)
}
case 401..500:
{
client_print_color(id, "!g[amxmodx-es.com] Mala suerte, el regalo no contenia nada")
}
}
}
public show_menu_regalos(id)
{
static item[128]
formatex(item, charsmax(item), "\wMENU DE \yREGALOS^n\wREGALOS DISPONIBLES\r: \d%d^n\wREGALOS ABIERTOS\r: \d%d", g_regalo[id], g_abiertos[id])
new menu = menu_create(item, "menu_regalo")
if (g_regalo[id] >= 1)
{
formatex(item, charsmax(item), "\wABRIR REGALO")
menu_additem(menu, item, "1")
}
else
{
formatex(item, charsmax(item), "\dABRIR REGALO")
menu_additem(menu, item, "1")
}
if (get_user_flags(id) & FLAGS)
{
menu_additem(menu, "\wSOLTAR REGALITOS", "2")
}
else
{
menu_additem(menu, "\wSOLTAR REGALITOS \d(SOLO ADMIN)", "2")
}
menu_setprop(menu, MPROP_EXITNAME, "Salir")
menu_display(id, menu, 0)
}
public menu_regalo(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
switch(item)
{
case 0:
{
if (g_regalo[id] >= 1)
{
give_item(id)
g_regalo[id]--
g_abiertos[id]++
show_menu_regalos(id)
}
else
{
client_print_color(0, "!g[amxmodx-es.com] No tienes regalos disponibles.")
}
}
case 1:
{
if (get_user_flags(id) & FLAGS)
{
show_menu_regalitos(id)
}
else
{
client_print_color(id, "!g[amxmodx-es.com] No tienes acceso, Compra admin para acceder.")
}
}
}
return PLUGIN_HANDLED
}
public Guardar(id)
{
adv_vault_set_start(g_vault)
adv_vault_set_field(g_vault, g_campos[CAMPO_REGALOS], g_regalo[id])
adv_vault_set_field(g_vault, g_campos[CAMPO_REGALOS_ABIERTOS], g_abiertos[id])
adv_vault_set_end(g_vault, 0, g_playername[id])
}
public Cargar(id)
{
if(!adv_vault_get_prepare(g_vault, _, g_playername[id]))
return
g_regalo[id] = adv_vault_get_field(g_vault, g_campos[CAMPO_REGALOS])
g_abiertos[id] = adv_vault_get_field(g_vault, g_campos[CAMPO_REGALOS_ABIERTOS])
}
Sin Guardado:
Código PHP:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <zombieapocalypse>
#define PLUGIN "Regalitos"
#define VERSION "2.0"
#define AUTHOR "kikizon"
#define FLAGS ADMIN_IMMUNITY
// Variables
new g_trailSpr, g_msgScreenFade, g_regalitos
new cvar_activado, cvar_limite, cvar_new_round, cvar_colors
new bool:can_pickup[33]
new g_regalo[33]
new g_abiertos[33]
new g_playername[33][32]
// Models y Sonidos
new MDL[] = "models/regalito.mdl"
new SND[] = "regalitos_pickup.wav"
new TRAIL[] = "sprites/laserbeam.spr"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /regalitos", "show_menu_regalos")
register_clcmd("say_team /regalitos", "show_menu_regalos")
register_clcmd("regalitos", "show_menu_regalos")
register_forward(FM_Touch, "player_Touch")
register_logevent("round_start", 2, "1=Round_Start")
cvar_activado = register_cvar("regalitos_activado","1") // Activar o desactivar el plugin
cvar_new_round = register_cvar("regalitos_remover","1") // Remover Regalitos en nueva ronda
cvar_colors = register_cvar("regalitos_colores","5") // Colores de Regalitos ( 1=Blanco 2=Rojo 3=Verde 4=Azul 5=Random)
cvar_limite = register_cvar("regalitos_limite","100") // Limite de Regalitos
set_task(72.0, "anuncio", 100, _,_, "b")
set_task(1.0, "check_status", 20000, _,_, "b")
g_msgScreenFade = get_user_msgid("ScreenFade")
}
public plugin_precache() {
precache_model(MDL)
precache_sound(SND)
g_trailSpr = engfunc(EngFunc_PrecacheModel, TRAIL)
}
public client_putinserver(id)
{
get_user_name( id, g_playername[id], charsmax(g_playername[]))
can_pickup[id] = true
g_regalo[id] = 0
g_abiertos[id] = 0
}
public client_disconnect(id)
can_pickup[id] = false
public round_start()
{
if(get_pcvar_num(cvar_new_round))
remover()
}
public anuncio()
client_print_color(0, "!g[amxmodx-es.com] !tSistema de Regalitos !g%s !tby: !g%s", VERSION, AUTHOR)
public reset_pick(id)
can_pickup[id] = true
public check_status() {
if(!get_pcvar_num(cvar_activado))
remover()
}
public remover() {
new ent = -1
while ((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", "regalitos_volando")) != 0) {
engfunc(EngFunc_RemoveEntity, ent)
g_regalitos = 0
}
}
public show_menu_regalitos(id)
{
new Menu = menu_create("\wSOLTAR \yREGALITOS","menu_regalitos")
menu_additem(Menu, "\wSOLTAR", "1")
menu_additem(Menu, "\wREMOVER REGALITOS", "2")
menu_additem(Menu, "\WSELECCIONAR REGALOS", "3")
menu_setprop(Menu, MPROP_EXIT, MEXIT_NORMAL)
menu_display(id, Menu, 0)
}
public menu_regalitos(id, Menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(Menu)
return PLUGIN_HANDLED
}
if(!(get_user_flags(id) & FLAGS) || !get_pcvar_num(cvar_activado)) return PLUGIN_HANDLED
switch(item)
{
case 0: dropear(id), show_menu_regalitos(id)
case 1: remover(), show_menu_regalitos(id)
case 2: show_menu_colores(id)
}
return PLUGIN_HANDLED
}
public show_menu_colores(id) {
new Menu = menu_create("\wCOLOR DE \yTRAIL", "menu_colores")
menu_additem(Menu, "BLANCO", "1")
menu_additem(Menu, "ROJO", "2")
menu_additem(Menu, "VERDE", "3")
menu_additem(Menu, "AZUL^n", "4")
menu_additem(Menu, "RANDOM", "5")
menu_setprop(Menu, MPROP_EXIT, MEXIT_NORMAL)
menu_display(id, Menu, 0)
}
public menu_colores(id, Menu, item) {
if(item == MENU_EXIT) {
menu_destroy(Menu)
return PLUGIN_HANDLED
}
switch(item) {
case 0: server_cmd("regalitos_colores 1")
case 1: server_cmd("regalitos_colores 2")
case 2: server_cmd("regalitos_colores 3")
case 3: server_cmd("regalitos_colores 4")
case 4: server_cmd("regalitos_colores 5")
}
show_menu_regalitos(id)
return PLUGIN_HANDLED
}
public dropear(id) {
if(!is_user_alive(id)) return PLUGIN_HANDLED
if(g_regalitos >= get_pcvar_num(cvar_limite)) {
set_hudmessage(255, 0, 0, 0.0, 0.80, 1, 6.0, 12.0)
show_hudmessage(id, "Limite de regalitos alcanzado")
return PLUGIN_HANDLED
}
if(can_pickup[id] != false) {
can_pickup[id] = false
set_task(0.1, "reset_pick", id)
new Float:Speed[3]
velocity_by_aim(id, 10 * 100, Speed)
dropear2(id, Speed)
g_regalitos++
set_hudmessage(0, 255, 0, 0.0, 0.80, 1, 6.0, 12.0)
show_hudmessage(id, "Regalitos en mapa: %d", g_regalitos)
}
return PLUGIN_HANDLED
}
public dropear2(id, Float:Speed[]) {
new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
new Float:origin[3]
pev(id, pev_origin, origin)
set_pev(ent, pev_origin, origin)
Speed[2] += 100.0
set_pev(ent, pev_velocity, Speed)
new Float:angles[3]
pev(ent, pev_angles,angles)
angles[1] += random_num(1,360)
set_pev(ent, pev_angles, angles)
set_pev(ent, pev_classname, "regalitos_volando")
engfunc(EngFunc_SetModel, ent, MDL)
engfunc(EngFunc_SetSize, ent, Float:{-2.79, -0.0, -6.14}, Float:{2.42, 1.99, 6.35})
set_pev(ent, pev_solid, SOLID_TRIGGER)
set_pev(ent, pev_movetype, MOVETYPE_BOUNCE)
engfunc(EngFunc_DropToFloor, ent)
colores(ent)
}
public colores(ent) {
set_pev(ent, pev_renderfx, kRenderFxGlowShell)
new cvar = get_pcvar_num(cvar_colors)
new r, g, b
if(cvar == 1) {
set_pev(ent, pev_rendercolor, Float:{255.0, 255.0, 255.0})
r = 255
g = 255
b = 255
}
else if(cvar == 2) {
set_pev(ent, pev_rendercolor, Float:{255.0, 000.0, 000.0})
r = 255
g = 0
b = 0
}
else if(cvar == 3) {
set_pev(ent, pev_rendercolor, Float:{000.0, 255.0, 000.0})
r = 000
g = 255
b = 000
}
else if(cvar == 4) {
set_pev(ent, pev_rendercolor, Float:{000.0, 000.0, 255.0})
r = 000
g = 000
b = 255
} else {
switch (random(4)) {
case 0: {
set_pev(ent, pev_rendercolor, Float:{255.0, 255.0, 255.0})
r = 255
g = 255
b = 255
}
case 1: {
set_pev(ent, pev_rendercolor, Float:{255.0, 000.0, 000.0})
r = 255
g = 000
b = 000
}
case 2:{
set_pev(ent, pev_rendercolor, Float:{000.0, 255.0, 000.0})
r = 000
g = 255
b = 000
}
case 3: {
set_pev(ent, pev_rendercolor, Float:{000.0, 000.0, 255.0})
r = 000
g = 000
b = 255
}
}
}
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(TE_BEAMFOLLOW)
write_short(ent)
write_short(g_trailSpr)
write_byte(5)
write_byte(1)
write_byte(r)
write_byte(g)
write_byte(b)
write_byte(255)
message_end()
}
public screen_fade(id) {
message_begin(MSG_ONE, g_msgScreenFade, {0, 0, 0}, id)
write_short(1<<12)
write_short(1<<12)
write_short(1<<12)
write_byte(200)
write_byte(200)
write_byte(200)
write_byte(20)
message_end()
}
public player_Touch(ent, id) {
if(!pev_valid(ent) || !is_user_alive(id) || !get_pcvar_num(cvar_activado) || !can_pickup[id]) return FMRES_IGNORED
new classname[32]
pev(ent, pev_classname, classname, charsmax(classname))
if(equali(classname, "regalitos_volando")) {
g_regalitos--
g_regalo[id]++
client_print_color(id, "!g[amxmodx-es.com] %s !tAgarraste un regalo", g_playername[id])
screen_fade(id)
emit_sound(id, CHAN_AUTO, SND, 1.0, ATTN_NORM, 0, PITCH_NORM)
if(pev_valid(ent)) {
engfunc(EngFunc_RemoveEntity, ent)
}
}
return FMRES_IGNORED
}
stock client_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")
replace_all(msg, 190, "!team2", "^0")
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();
}
}
}
// En esta funcion se define el regalo que se le dara al que toque un regalito
public give_item(id)
{
new AP = random_num(2300, 8300)
new PH = random_num(3, 33)
new PZ = random_num(3, 33)
new EXP = random_num(2300, 8300)
switch (random_num(0, 500))
{
case 0..100:
{
client_print_color(id, "!g[amxmodx-es.com]!t Abriste un regalo, Ganaste !g+%d !tAP", AP)
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + AP)
}
case 101..200:
{
client_print_color(id, "!g[amxmodx-es.com]!t Abriste un regalo, Ganaste !g+%d !tPH", PH)
za_set_user_hpoints(id, za_get_user_hpoints(id) + PH)
}
case 201..300:
{
client_print_color(id, "!g[amxmodx-es.com]!t Abriste un regalo, Ganaste !g+%d !tPZ", PZ)
za_set_user_zpoints(id, za_get_user_zpoints(id) + PZ)
}
case 301..400:
{
client_print_color(id, "!g[amxmodx-es.com]!t Abriste un regalo, Ganaste !g+%d !tEXP", EXP)
za_set_user_experience(id, za_get_user_experience(id) + EXP)
}
case 401..500:
{
client_print_color(id, "!g[amxmodx-es.com]!t Mala suerte!!!, el regalo no contenia nada")
}
}
}
public show_menu_regalos(id)
{
static item[128]
formatex(item, charsmax(item), "\wMENU DE \yREGALOS^n\wREGALOS DISPONIBLES\r: \d%d^n\wREGALOS ABIERTOS\r: \d%d", g_regalo[id], g_abiertos[id])
new menu = menu_create(item, "menu_regalo")
if (g_regalo[id] >= 1)
{
formatex(item, charsmax(item), "\wABRIR REGALO")
menu_additem(menu, item, "1")
}
else
{
formatex(item, charsmax(item), "\dABRIR REGALO")
menu_additem(menu, item, "1")
}
if (get_user_flags(id) & FLAGS)
{
menu_additem(menu, "\wSOLTAR REGALITOS", "2")
}
else
{
menu_additem(menu, "\wSOLTAR REGALITOS \d(SOLO ADMIN)", "2")
}
menu_setprop(menu, MPROP_EXITNAME, "Salir")
menu_display(id, menu, 0)
}
public menu_regalo(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
switch(item)
{
case 0:
{
if (g_regalo[id] >= 1)
{
give_item(id)
g_regalo[id]--
g_abiertos[id]++
show_menu_regalos(id)
}
else
{
client_print_color(0, "!g[amxmodx-es.com]!t No tienes regalos disponibles.")
}
}
case 1:
{
if (get_user_flags(id) & FLAGS)
{
show_menu_regalitos(id)
}
else
{
client_print_color(id, "!g[amxmodx-es.com]!t No tienes acceso, Compra admin para acceder.")
}
}
}
return PLUGIN_HANDLED
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang11274\\ f0\\ fs16 \n\\ par }
*/