Raised This Month: $51 Target: $400
 12% 

Crea tu primer plugin 1 , Parte 3/3


  
 
 
Thread Tools Display Modes
Author Message
xBreak^
BANNED
Join Date: Jul 2009
Old 07-16-2009 , 15:18   Crea tu primer plugin 1 , Parte 3/3
#1

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

PHP Code:
#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(MenuMPROP_EXITMEXIT_ALL
    
menu_display(idMenu0
}

public 
mostrar_menu(idMenuitem)
{
    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)*//*key-len*/iName /*item-name*/63 /*name-len*/iCallback /*menu-callback*/)
    
    new 
money,costcost2cost3 // 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 // Este seria el costo de las 200 HP ( El costo de 100 de vida Multiplicado por 2)
    
cost3 cost // 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(idmoney cost// Le quitamos la plata y...
                
set_user_health(idget_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(idmoney cost2// Le quitamos la plata y...
                
set_user_health(idget_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(idmoney cost3// Le quitamos la plata y...
                
set_user_health(idget_user_health(id) + 300// Le Damos la vida
            
}
            else 
// Y si no ..
            
{
                
menu_destroy(Menu// Destruimos el menu
            
}
        } 
    } 
    
    return 
PLUGIN_HANDLED 

Creditos:
Palitoo ( Siempre se me olvida como crear los menu xd )


NO ESTA TERMINADO AUN

Si te sirvio me regalas un post? =D

Last edited by xBreak^; 07-17-2009 at 23:20.
xBreak^ is offline
xBreak^
BANNED
Join Date: Jul 2009
Old 07-16-2009 , 18:16   Re: [ES][TUT] Crea tu primer plugin 1 , Parte 3/3
#2

Actualizado
xBreak^ is offline
Alucard^
AMXX Moderator: Others
Join Date: Sep 2007
Location: Street
Old 07-17-2009 , 00:06   Re: [ES][TUT] Crea tu primer plugin 1 , Parte 3/3
#3

La unica duda que me quedo es esta:

PHP Code:
new iData[6]; 
    new 
iAccess
    new 
iCallback
    new 
iName[64]; 
    
menu_item_getinfo(MenuitemiAccessiData5iName63iCallback
Siempre es asi? en el caso que no sea siempre asi, podrias explicar mas a fondo esto?

Lo demas esta perfecto, bastante bien explicado... eso si, por mas que no sirva de mucho yo le agregaria a:

PHP Code:
            else // Y si no..
            
{
                
menu_destroy(Menu// Destruimos el menu
            

Un:

PHP Code:
            else // Y si no..
            
{
                
menu_destroy(Menu// Destruimos el menu
                
client_print(idprint_chat"No tenes la plata suficiente!")
            } 

Last edited by Alucard^; 07-17-2009 at 00:14.
Alucard^ is offline
Send a message via Skype™ to Alucard^
IneedHelp
Veteran Member
Join Date: Mar 2007
Location: Argentina
Old 07-17-2009 , 00:51   Re: [ES][TUT] Crea tu primer plugin 1 , Parte 3/3
#4

El menu se sale solo, si no tiene plata le das 1 msg o algo y listo, no hace falta poner menu_destroy en to2 los items.

PHP Code:
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 (flags)*/
iData /*numero (key)*/
/*key-len*/
iName /*item-name*/
63 /*name-len*/
iCallback /*menu-callback*/)  

// re explicativo (¿?¿?¿? 
El callback sirve para activar o desactivar ciertos items, podes ver 1 ejemplo aca
__________________
IneedHelp is offline
xBreak^
BANNED
Join Date: Jul 2009
Old 07-17-2009 , 00:52   Re: [ES][TUT] Crea tu primer plugin 1 , Parte 3/3
#5

gracias inhp
xBreak^ is offline
DaRkBiOhAzArD
Senior Member
Join Date: May 2009
Location: Tijuana, Mexico
Old 07-17-2009 , 16:21   Re: [ES][TUT] Crea tu primer plugin 1 , Parte 3/3
#6

gracias por el tuto voy intentar crear aber como va se agradece
DaRkBiOhAzArD is offline
Send a message via MSN to DaRkBiOhAzArD Send a message via Skype™ to DaRkBiOhAzArD
xBreak^
BANNED
Join Date: Jul 2009
Old 07-17-2009 , 16:23   Re: [ES][TUT] Crea tu primer plugin 1 , Parte 3/3
#7

Quote:
Originally Posted by DaRkBiOhAzArD View Post
gracias por el tuto voy intentar crear aber como va se agradece
Empieza por la parte 1
xBreak^ is offline
lauti87
BANNED
Join Date: Jul 2009
Old 07-17-2009 , 17:51   Re: [ES][TUT] Crea tu primer plugin 1 , Parte 3/3
#8

che taria weno que cuando tengas tiempo y si saves, agas como acer para por ejemplo el item

Vida 1 salga $200
Vida 2 salga $400
Vida 3 salga $600 :E

jeje
lauti87 is offline
xBreak^
BANNED
Join Date: Jul 2009
Old 07-17-2009 , 17:59   Re: [ES][TUT] Crea tu primer plugin 1 , Parte 3/3
#9

sI VALEN DINERO -.-
xBreak^ is offline
Kiske
Veteran Member
Join Date: May 2009
Old 07-17-2009 , 19:53   Re: [ES][TUT] Crea tu primer plugin 1 , Parte 3/3
#10

Quote:
Originally Posted by xBreak^ View Post
Actualizado
Podrias Actualizarlo de vuelta, y poner el Code en PHP.

Por que si lo pones en CODE.
Tengo que bajar hasta abajo de todo para Mover la Flecha y Luego volver a Subir para ver lo que esta mas a la Derecha.
En cambio en PHP

Se crea un Tamaño Determinado donde lo podes ver
__________________

Kiske is offline
Send a message via Skype™ to Kiske
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 15:40.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode