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

[ES] Como hago esto?


  
 
 
Thread Tools Display Modes
Author Message
valeen.conti
Junior Member
Join Date: May 2010
Old 08-23-2010 , 13:17   [ES] Como hago esto?
#1

Hola, tengo algunas dudas que agradeceria que me ayuden.

Me lei el tuto de multiplicar el damage a las armas, y todo bien, excepto por 1 cosa... No se como hacer para que se active con 1 menu y que solo le aumente al cuchillo :S! Como hago eso?

Mejor explicado:

Tengo 1 menu y una opcion es "Aumentar daño del cuchillo", como hago que al seleccionar esa opcion se active el multiplicador de damage pero SOLO CON EL CUCHILLO, y que NO ESTE ACTIVADO antes de seleccionar la accion... ( y obiamente que solo se le aumente al que selecciono esa opcion )

Muchisimas gracias
valeen.conti is offline
Send a message via MSN to valeen.conti
LittleBody
BANNED
Join Date: Apr 2010
Old 08-23-2010 , 14:23   Re: [ES] Como hago esto?
#2

Algo así? :S

Code:
#include <amxmodx> #include <amxmisc> #include <hamsandwich> enum DAMAGE { Damage1, Damage2, Damage3 } new DAMAGE:MYDAMAGE[33] new Float:DAMAGEMULTIPLIER[ DAMAGE ] = { _:1.0,_:2.0,_:3.0 } public plugin_init() {     register_plugin( "Damage al cuchillo", "1.0", "Littlebody" )         register_clcmd( "say /damage", "CmdDamageCuchillo" )         RegisterHam( Ham_TakeDamage, "player", "fw_TakeDamage" ) } public CmdDamageCuchillo( id ) {     new iLen[500]         formatex(iLen, charsmax(iLen), "\wDamage al cuchillo")         new Menu = menu_create(iLen, "HandleMenuTest")         menu_additem(Menu, "\wDamage x1", "1", 0)     menu_additem(Menu, "\wDamage x2", "2", 0)     menu_additem(Menu, "\wDamage x3", "3", 0)         menu_setprop(Menu, MPROP_EXIT, MEXIT_NEVER)     menu_display(id, Menu, 0)         return PLUGIN_HANDLED; } public HandleMenuTest( id, Menu, Item ) {     new Data[6], iName[64], _access, callback;         menu_item_getinfo( Menu, Item, _access, Data,5, iName, 63, callback )         if( get_user_weapon( id ) != CSW_KNIFE ) return;         switch ( str_to_num(Data) )     {         case 1:         {             client_print(id, print_chat, "Fuerza x1" )             MYDAMAGE[id] = Damage1         }         case 2:         {             client_print(id, print_chat, "Fuerza x2" )             MYDAMAGE[id] = Damage2         }         case 3:         {             client_print(id, print_chat, "Fuerza x3" )             MYDAMAGE[id] = Damage3         }     } }     public fw_TakeDamage( victim, inflictor, attacker, Float:damage, damage_bits ) {     SetHamParamFloat(4, damage * DAMAGEMULTIPLIER[MYDAMAGE[attacker]]) }
LittleBody is offline
valeen.conti
Junior Member
Join Date: May 2010
Old 08-23-2010 , 15:08   Re: [ES] Como hago esto?
#3

nono, me referia a algo como esto: (sory por no explicarme bien)

yo tengo creado 1 menu, que tiene para elegir tu "HABILIDAD", 1 de esas es la del cuchillo, al tocar esa ahi se activa el damage.

yo puse esto en el plugin_init

PHP Code:
RegisterHam(Ham_TakeDamage"player""FwdTakeDamage"0
Despues hago esto:

PHP Code:
public FwdTakeDamage(idvictiminflictorattackerFloat:damagedamage_bits)
{
    
SetHamParamFloat(4,(damage*5.0)) 
    return 
HAM_HANDLED

Pero quiero que ese FwdTakeDamage se active cuando seleccione la opcion del menu y solo funke con el cuchillo...

Espero averme expresado mejor

PD: Gracias por la ayuda
valeen.conti is offline
Send a message via MSN to valeen.conti
Lawer
Senior Member
Join Date: Jul 2010
Location: C:\WINDOWS\MyHouse
Old 08-23-2010 , 15:14   Re: [ES] Como hago esto?
#4

Quote:
Originally Posted by valeen.conti View Post
nono, me referia a algo como esto: (sory por no explicarme bien)

yo tengo creado 1 menu, que tiene para elegir tu "HABILIDAD", 1 de esas es la del cuchillo, al tocar esa ahi se activa el damage.

yo puse esto en el plugin_init

PHP Code:
RegisterHam(Ham_TakeDamage"player""FwdTakeDamage"0
Despues hago esto:

PHP Code:
public FwdTakeDamage(idvictiminflictorattackerFloat:damagedamage_bits)
{
    
SetHamParamFloat(4,(damage*5.0)) 
    return 
HAM_HANDLED

Pero quiero que ese FwdTakeDamage se active cuando seleccione la opcion del menu y solo funke con el cuchillo...

Espero averme expresado mejor

PD: Gracias por la ayuda
Lo que te paso esta bien...

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>

enum DAMAGE Damage1Damage2Damage3 }

new 
DAMAGE:MYDAMAGE[33]

new 
Float:DAMAGEMULTIPLIERDAMAGE ] = { _:1.0,_:2.0,_:3.0 // Aca el damage que queres que saque cada 'case' del menu

public plugin_init()
{
    
register_plugin"Damage al cuchillo""1.0""Littlebody" )
    
    
register_clcmd"say /damage""CmdDamageCuchillo" )
    
    
RegisterHamHam_TakeDamage"player""fw_TakeDamage" )
}

public 
CmdDamageCuchilloid )
{
    new 
iLen[500]
    
    
formatex(iLencharsmax(iLen), "\wDamage al cuchillo"// Aca el menu del cuchi
    
    
new Menu menu_create(iLen"HandleMenuTest")
    
    
menu_additem(Menu"\wDamage x1""1"0)
    
menu_additem(Menu"\wDamage x2""2"0)
    
menu_additem(Menu"\wDamage x3""3"0)
    
    
menu_setprop(MenuMPROP_EXITMEXIT_NEVER)
    
menu_display(idMenu0)
    
    return 
PLUGIN_HANDLED;
}

public 
HandleMenuTestidMenuItem )
{
    new 
Data[6], iName[64], _accesscallback;
    
    
menu_item_getinfoMenuItem_accessData,5iName63callback )
    
    if( 
get_user_weaponid ) != CSW_KNIFE ) return; // Aca define que sea el cuchi
    
    
switch ( str_to_num(Data) )
    {
        case 
1:
        {
            
client_print(idprint_chat"Fuerza x1" )
            
MYDAMAGE[id] = Damage1
        
}
        case 
2:
        {
            
client_print(idprint_chat"Fuerza x2" )
            
MYDAMAGE[id] = Damage2
        
}
        case 
3:
        {
            
client_print(idprint_chat"Fuerza x3" )
            
MYDAMAGE[id] = Damage3
        
}
    }
}
    
public 
fw_TakeDamagevictiminflictorattackerFloat:damagedamage_bits )
{
    
SetHamParamFloat(4damage DAMAGEMULTIPLIER[MYDAMAGE[attacker]])

__________________
Lawer is offline
Send a message via Skype™ to Lawer
Gun Slinger
Member
Join Date: Mar 2010
Old 08-23-2010 , 15:27   Re: [ES] Como hago esto?
#5

Quote:
Originally Posted by Lawer View Post
PHP Code:
SetHamParamFloat(4damage DAMAGEMULTIPLIER[MYDAMAGE[attacker]]) 
-->

PHP Code:
if (get_user_weapon(attacker) == CSW_KNIFE)) SetHamParamFloat(4damage DAMAGEMULTIPLIER[MYDAMAGE[attacker]]) 
__________________
Gun Slinger is offline
valeen.conti
Junior Member
Join Date: May 2010
Old 08-23-2010 , 15:28   Re: [ES] Como hago esto?
#6

Look at this.

PHP Code:
#include <amxmodx>
#include <hamsandwich> //indispensable para que funcione xD

public plugin_init()
{
    
register_plugin("Mini tuto","1.0","Maartin! (Starsailor)")

//  registramos el hamtakedamage    ENTidad      Handler     Post
    
RegisterHam(Ham_TakeDamage"player""FwdTakeDamage"0)
    
}

//              id  victima     arma  attacker id  daño      tipo de daño              
public FwdTakeDamage(victiminflictorattackerFloat:damagedamage_bits)
{            
//parametro 1         2         3             4             5
    
        
SetHamParamFloat(4,(damage*2.0)) 
        return 
HAM_HANDLED  
    
    
// ya el nombre del comando te lo dice
    // set param float
    // PARAMETRO 4 (daño)
    // FLOAT porqe es un numero decimal
    // 2.0 porqe multiplicamos el daño que hace por 2
    

yo quiero que sea algo asi pero que se active el multiplicar damage cuando activo la opcion en MI MENU, no en un menu nuevo,

yo ya tengo creado todo mi menu excepto esa opcion, quisiera saber que debo poner en el case 6:, para que se active el multiplicar damage.

PD: Si, soy un asco explicando lo que quiero.
valeen.conti is offline
Send a message via MSN to valeen.conti
Lawer
Senior Member
Join Date: Jul 2010
Location: C:\WINDOWS\MyHouse
Old 08-23-2010 , 15:35   Re: [ES] Como hago esto?
#7

Quote:
Originally Posted by Gun Slinger View Post
-->

PHP Code:
if (get_user_weapon(attacker) == CSW_KNIFE)) SetHamParamFloat(4damage DAMAGEMULTIPLIER[MYDAMAGE[attacker]]) 
Em no, ya lo define más arriba en el hanled del menu

->
PHP Code:
    if( get_user_weaponid ) != CSW_KNIFE ) return; // Aca define que sea el cuchi 

PHP Code:
new boolFuerzita[33]

// Bla bla bla
// Bla bla bla


case 6:
    {
        
g_Fuerza[id] = true
        client_print
(idprint_chat"Tienes mas fuerzita we")
    }
public 
FwdTakeDamage(idvictiminflictorattackerFloat:damagedamage_bits)
{
    if (
g_Fuerza[attacker])
    {
        
SetHamParamFloat(4,(damage*5.0)) 
    }
     return 
HAM_HANDLED

__________________

Last edited by Lawer; 08-23-2010 at 15:44.
Lawer is offline
Send a message via Skype™ to Lawer
valeen.conti
Junior Member
Join Date: May 2010
Old 08-23-2010 , 15:38   Re: [ES] Como hago esto?
#8

Si, entendi lo del cuchi. Responde este mensaje mio plis :

Quote:
Originally Posted by valeen.conti View Post
Look at this.

PHP Code:
#include <amxmodx>
#include <hamsandwich> //indispensable para que funcione xD

public plugin_init()
{
    
register_plugin("Mini tuto","1.0","Maartin! (Starsailor)")

//  registramos el hamtakedamage    ENTidad      Handler     Post
    
RegisterHam(Ham_TakeDamage"player""FwdTakeDamage"0)
    
}

//              id  victima     arma  attacker id  daño      tipo de daño              
public FwdTakeDamage(victiminflictorattackerFloat:damagedamage_bits)
{            
//parametro 1         2         3             4             5
    
        
SetHamParamFloat(4,(damage*2.0)) 
        return 
HAM_HANDLED  
    
    
// ya el nombre del comando te lo dice
    // set param float
    // PARAMETRO 4 (daño)
    // FLOAT porqe es un numero decimal
    // 2.0 porqe multiplicamos el daño que hace por 2
    

yo quiero que sea algo asi pero que se active el multiplicar damage cuando activo la opcion en MI MENU, no en un menu nuevo,

yo ya tengo creado todo mi menu excepto esa opcion, quisiera saber que debo poner en el case 6:, para que se active el multiplicar damage.

PD: Si, soy un asco explicando lo que quiero.
(lo pongo porque creo que lo salteaste )
valeen.conti is offline
Send a message via MSN to valeen.conti
valeen.conti
Junior Member
Join Date: May 2010
Old 08-23-2010 , 16:16   Re: [ES] Como hago esto?
#9

Sorry por el repost pero necesito respuestas, para que me digan mi error posteo mi .sma

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <engine>

new const model[] = "models\knifegore\knifegore.mdl"

new Cuchi[33]
new 
bool:UnaVez[33]
public 
plugin_init()
{
    
RegisterHam(Ham_Spawn"player""logevent_round_start"1);  
    
RegisterHam(Ham_TakeDamage"player""FwdTakeDamage"0)
    
register_plugin("Tienda HighGamers""1.0""valeen.conti")
    
register_clcmd("say /tienda""TiendaJail")
    
register_clcmd("say_team /tienda""TiendaJail")
    
register_clcmd("say /quieroplata""MenuAdmiin")
}
public 
plugin_precache()
{
    
precache_model(model)
}
    
public 
TiendaJail(id)
{
    if(!
UnaVez[id])
    {
        if(
cs_get_user_team(id) == CS_TEAM_T)
        {
                
            new 
menu menu_create("Tienda por Nothing""mostrar_menu")
            
menu_additem(menu"Granada Flash - \r2000$""1"0)
            
menu_additem(menu"Granada HE - \r3000$""2"0)
            
menu_additem(menu"Granada He y Flash - \r5000$""3"0)
            
menu_additem(menu"Gravedad - \r8000$""4"0)
            
menu_additem(menu"Super Velocidad - \r10000$""5"0)
            
menu_additem(menu"Granada teletransportadora - \r13000$""6"0)
            
menu_additem(menu"Gore Mode. - \r16000$""7"0)
            
menu_setprop(menuMPROP_EXITNAME"Salir")
            
menu_setprop(menuMPROP_EXITMEXIT_ALL)
            
menu_display(idmenu0)
        }
        else
        {
            
client_print(idprint_chat"[AMXX]Solo los prisioneros Compran")
        }
    }
    else
    {
        
client_print(idprint_chat"[AMXX]Solo Puedes Comprar Una Vez por Ronda")
    }
}
public 
logevent_round_start(id)
{
    
UnaVez[id] = false;
    
Cuchi[id] = 0;
}
public 
mostrar_menu(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    
    new 
iData[6];
    new 
iName[64];
    new 
iAccess;
    new 
iCallback;
    
menu_item_getinfo(menuitemiAccessiData5iName63iCallback)
    
    new 
money
    money 
cs_get_user_money(id)
    
    switch(
str_to_num(iData))
    {
        case 
1:
        {
            if(
money >= 2000)
            {
                
cs_set_user_money(idmoney 2000)
                
give_item(id"weapon_flashbang")
                
give_item(id"weapon_flashbang")
                
UnaVez[id] = true;
                
client_print(idprint_chat"[AMXX]Compraste Granada Flashbang")
            }
            else
            {
                
client_print(idprint_chat"[AMXX]No tienes el suficiente Dinero")
                
menu_destroy(menu)
            }
        }
        case 
2:
        {
            if(
money >= 3000)
            {
                
cs_set_user_money(idmoney 3000)
                
give_item(id"weapon_hegrenade")
                
UnaVez[id] = true;
                
client_print(idprint_chat"[AMXX]Compraste Granada He")
            }
            else
            {
                
client_print(idprint_chat"[AMXX]No tienes el suficiente Dinero")
                
menu_destroy(menu)
            }
        }
        case 
3:
        {
            if(
money >= 5000)
            {
                
cs_set_user_money(idmoney 5000)
                
give_item(id"weapon_hegrenade")
                
give_item(id"weapon_flashbang")
                
give_item(id"weapon_flashbang")
                
UnaVez[id] = true;
                
client_print(idprint_chat"[AMXX]Compraste He y Flash")
            }
            else
            {
                
client_print(idprint_chat"[AMXX]No tienes el suficiente Dinero")
                
menu_destroy(menu)
            }
        }
        case 
6:
        {
            if(
money >= 13000)
            {
                
cs_set_user_money(idmoney 13000)
                
give_item(id"weapon_smokegrenade")
                
UnaVez[id] = true;
                
client_print(idprint_chat"[AMXX]Compraste Smoke Teleport :D")
            }
            else
            {
                
client_print(idprint_chat"[AMXX]No tienes el suficiente Dinero")
                
menu_destroy(menu)
            }
        }
        case 
4:
        {
            if(
money >= 8000)
            {
                
cs_set_user_money(idmoney 8000)
                
set_user_gravity(id0.3)
                
UnaVez[id] = true;
                
client_print(idprint_chat"[AMXX]Compraste Gravedad")
            }
            else
            {
                
client_print(idprint_chat"[AMXX]No tienes el suficiente Dinero")
                
menu_destroy(menu)
            }
        }
        case 
5:
        {
            if(
money >= 10000)
            {
                
cs_set_user_money(idmoney 10000)
                
set_user_maxspeed(id550.0)
                
UnaVez[id] = true;
                
client_print(idprint_chat"[AMXX]Compraste Velocidad")
            }
            else
            {
                
client_print(idprint_chat"[AMXX]No tienes el suficiente Dinero")
                
menu_destroy(menu)
            }
        }
        case 
7:
        {
            if(
money >= 16000)
            {
                
strip_user_weapons(id)
                
give_item(id"weapon_knife")
                
cs_set_user_money(idmoney 16000)
                
set_pev(idpev_viewmodel2model)
                
Cuchi[id] = 1
                UnaVez
[id] = true;
                
set_user_maxspeed(id550.0)
                
client_print(idprint_chat"[AMXX]Compraste GoreMode!")
                
            }
            else
            {
                
client_print(idprint_chat"[AMXX]No tienes el suficiente Dinero")
                
menu_destroy(menu)
            }
            
        }
    }
    return 
PLUGIN_HANDLED
}
public 
MenuAdmiin(id)
{
    if(
get_user_flags(id) == ADMIN_IMMUNITY)
    {
        
cs_set_user_money(id16000)
    }
}
public 
FwdTakeDamage(idvictiminflictorattackerFloat:damagedamage_bits)
{
    if(
Cuchi[id])
    {
        
SetHamParamFloat(4,(damage*3.0))
        return 
PLUGIN_HANDLED
    
}

No entiendo mi error, (tambien prove haciendo un bool y nada)
mi error es que no multiplica el damage, (en el case 7, por sierto tampoco me sale el print ni me da la velocidad pero me setea el model, me saca las armas y me da el cuchi :S)

Porfavor ayuda
valeen.conti is offline
Send a message via MSN to valeen.conti
Old 08-24-2010, 09:50
LittleBody
This message has been deleted by LittleBody. Reason: Hice cagada xD
 



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 12:56.


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