[TUTORIAL] Crear un plugin 3/3

Ir abajo

[TUTORIAL] Crear un plugin 3/3

Mensaje por hoticnavi' :$ el Mar Dic 11, 2012 5:11 pm

Bueno , continuaremos con el plugin anterior , pero lo seguiremos editando un poco mas.
Lo que le agregaremos ahora sera:

• Un menu para escoger cuanta vida se desea comprar.
• Restringir la cantidad de veces que se pueda comprar
• Despues lo pondre xd

Código:

Spoiler:
#include <amxmodx> // Esencial para todo plugin , contiene las funciones basicas
#include <fun> // Este es el modulo que trae la funcion para dar vida a un usuario
#include <cstrike> // Este modulo contiene la funcion para ajustar la vida de un usuario

new cvar_cost // Pcvar , ocupadas para crear una CVAR de una manera mas facil
new Menu // Ocupada para crear el menu

public plugin_init() /* Funcion que es llamada cuando el plugin empieza */
{ // Llave , esto indica que lo que escribamos en adelante se ejecutara cuando el plugin inicie
register_plugin("Tutorial", "1.0", "xBreak") // Registramos nuestro plugin
register_clcmd("say /vida", "MostrarMenuVida") // Registramos el comando para dar vida
cvar_cost = register_cvar("amx_vida_cost", "5000") // Registramos la cvar, primero el comando y despues el valor


} // Cerramos la funcion con otra llave

public MostrarMenuVida(id) // Funcion especificada para ser ejecutada al escribir /vida en say
{

Menu = menu_create("\wComprar Vida", "mostrar_menu")
menu_additem(Menu, "\r100 Vida" , "1", 0) // Agregamos opciones al menu
menu_additem(Menu, "\r200 Vida" , "2", 0) // //
menu_additem(Menu, "\r300 Vida" , "3", 0) // //
menu_setprop(Menu,MPROP_EXITNAME,"Salir") // Agregamos la Opcion Salir.
menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, Menu, 0)
}

public mostrar_menu(id, Menu, item)
{
if (item == MENU_EXIT) // Si elige la opcion salir....
{
menu_destroy(Menu) // Destruimos ( Cerramos ) El menu
return PLUGIN_HANDLED
}

/* Variables usadas para recoger datos del menu . Gracias IneedHelp*/
new iData[6]; // Item seleccionado
new iAccess; // Acceso (flags)
new iCallback; // Callback del menu (menu_makecallback)
new iName[64]; // Nombre del item
menu_item_getinfo(Menu /*variable del menu*/, item /*item del menu seleccionado*/, iAccess /*acceso*/, iData /*numero (key)*/, 5 /*key-len*/, iName /*item-name*/, 63 /*name-len*/, iCallback /*menu-callback*/)

new money,cost, cost2, cost3 // Aqui vamos a guardar el costo y la plata que tiene el jugador al que lo escribe
money = cs_get_user_money(id) // Vemos cuanta plata tiene el player
cost = get_pcvar_num(cvar_cost) // Sacamos el valor de la vida
cost2 = cost * 2 // Este seria el costo de las 200 HP ( El costo de 100 de vida Multiplicado por 2)
cost3 = cost * 3 // Lo mismo que arriba ,solo que para 300 HP y Multiplicado por 3


// Aqui vamos a Registrar todo lo que queremos qe haga CADA OPCION.
switch (str_to_num(iData))
{
case 1: // 100 De Vida
{
if (money >= cost && is_user_alive(id)) // Si tiene suficiente dinero & Esta vivo
{
cs_set_user_money(id, money - cost) // Le quitamos la plata y...
set_user_health(id, get_user_health(id) + 100) // Le Damos la vida
}
else // Y si no..
{
menu_destroy(Menu) // Destruimos el menu
}

}
case 2: // 200 De Vida
{
if (money >= cost2 && is_user_alive(id)) // Si tiene suficiente dinero & Esta vivo
{
cs_set_user_money(id, money - cost2) // Le quitamos la plata y...
set_user_health(id, get_user_health(id) + 200) // Le Damos la vida
}
else // Y si no..
{
menu_destroy(Menu) // Destruimos el menu
}
}
case 3: // 300 De Vida
{
if (money >= cost3 && is_user_alive(id)) // Si tiene suficiente dinero & Esta vivo
{
cs_set_user_money(id, money - cost3) // Le quitamos la plata y...
set_user_health(id, get_user_health(id) + 300) // Le Damos la vida
}
else // Y si no ..
{
menu_destroy(Menu) // Destruimos el menu
}
}
}

return PLUGIN_HANDLED
}

Fuente: AlliedMods
avatar
hoticnavi' :$
Recluta
Recluta

Mensajes : 25
Puntos Geop : 2146
Fecha de inscripción : 11/12/2012
Edad : 20
Localización : Buenos Aires - Lomas de Zamora - Llavallol

Ver perfil de usuario https://www.facebook.com/hoticnavi

Volver arriba Ir abajo

Re: [TUTORIAL] Crear un plugin 3/3

Mensaje por >> El Kiosquero << el Mar Dic 11, 2012 6:33 pm

Muy bueno, sigue así ;D
avatar
>> El Kiosquero <<
Sargento
Sargento

Mensajes : 55
Puntos Geop : 2140
Fecha de inscripción : 03/12/2012
Edad : 24
Localización : Tartagal, Salta

Ver perfil de usuario http://www.geopgaming.com.ar

Volver arriba Ir abajo

Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.