Raised This Month: $ Target: $400
 0% 

problem +USE in ent


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
frk_14
Senior Member
Join Date: Jan 2009
Location: Argentina
Old 01-28-2010 , 12:48   problem +USE in ent
Reply With Quote #1

i'm trying when press E(+USE) in the entity "cosa" something happen, but dont work

PHP Code:
#include <amxmodx> 
#include <engine> 
#include <fakemeta>


 
public plugin_init()
 {
     
register_clcmd("cosa""cosa"
     
register_forward(FM_CmdStart"fw_CmdStart")

     
 }
 
 public 
plugin_precache()
 {
     
precache_model("models/a.mdl"
     
 }
 
 public 
cosa(id)
 {
 
     new 
Float:origin[3
 
     
entity_get_vector(id,EV_VEC_origin,origin)
 
     new 
ent create_entity("info_target"
     
 
     
entity_set_origin(ent,origin); 
     
origin[2] += 100.0
     entity_set_origin
(id,origin)
 
     
entity_set_float(ent,EV_FL_takedamage,1.0
     
entity_set_float(ent,EV_FL_health,100.0
 
     
entity_set_string(ent,EV_SZ_classname,"cosa"); 
     
entity_set_model(ent,"models/a.mdl"); 
     
entity_set_int(ent,EV_INT_solid2)
 
     
entity_set_byte(ent,EV_BYTE_controller1,125);
     
entity_set_byte(ent,EV_BYTE_controller2,125);
     
entity_set_byte(ent,EV_BYTE_controller3,125);
     
entity_set_byte(ent,EV_BYTE_controller4,125);
 
     new 
Float:maxs[3] = {16.0,16.0,36.0}
     new 
Float:mins[3] = {-16.0,-16.0,-36.0}
     
entity_set_size(ent,mins,maxs)
 
     
entity_set_float(ent,EV_FL_animtime,2.0
     
entity_set_float(ent,EV_FL_framerate,1.0
     
entity_set_int(ent,EV_INT_sequence,0);
 
     
entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01)
 
     
drop_to_floor(ent)
     return 
1;
 }
 public 
fw_CmdStart(idhandlerandom_seed)
{
    if(!
is_user_alive(id))
        return;
    
    new 
buttons = (get_uc handleUC_Buttons ) & IN_USE
    
    
    if (
buttons )
    {
        new 
targettemp
        
if(get_user_aiming(idtargettemp50) != 0.0)
        {
            if(!
target || !is_valid_ent(target))
                return
        
            new class[
33]
            
entity_get_string(targetEV_SZ_classname, class, 31)
            
            if(
equal(class, "cosa"))
            {
                
client_print(idprint_center"Tocaste la Cosa we")
            }
        }
    }

frk_14 is offline
Send a message via MSN to frk_14 Send a message via Skype™ to frk_14
xPaw
Retired AMX Mod X Moderator
Join Date: Jul 2008
Old 01-28-2010 , 13:09   Re: problem +USE in ent
Reply With Quote #2

Register Ham_Use for "info_target" and then filter your classname there
__________________
xPaw is offline
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 01-28-2010 , 13:39   Re: problem +USE in ent
Reply With Quote #3

Dunno if info_target is usable, but some other entity types can do the job.
__________________
- tired and retired -

- my plugins -
ConnorMcLeod is offline
joropito
AlliedModders Donor
Join Date: Mar 2009
Location: pfnAddToFullPack
Old 01-28-2010 , 14:45   Re: problem +USE in ent
Reply With Quote #4

Quote:
Originally Posted by ConnorMcLeod View Post
Dunno if info_target is usable, but some other entity types can do the job.
func_button maybe

There's a lot of entities to play
http://www.twhl.co.za/wiki.php?sub=1
__________________

Divide et vinces
approved plugins | steam account

I don't accept PM for support. Just ask on forums.
If you're looking for private work, PM me.
joropito is offline
Send a message via MSN to joropito
frk_14
Senior Member
Join Date: Jan 2009
Location: Argentina
Old 01-29-2010 , 14:30   Re: problem +USE in ent
Reply With Quote #5

Ok, i try with ham_use, and diferent entities, but the problem continues...


PHP Code:
  RegisterHam(Ham_Use"func_button""ToqueLaCosa"
PHP Code:
public ToqueLaCosa(entity)
{
    new 
classname[32]
    
entity_get_string(entityEV_SZ_classnameclassnamesizeof classname 1)
    
    if (
equal(classname"cosa"))
    {
        
client_print(0print_chat"Alguien toco la cosa")
    }

maybe the problem is here?
PHP Code:
public cosa(id)
 {
 
     new 
Float:origin[3
 
     
entity_get_vector(id,EV_VEC_origin,origin)
 
     new 
ent create_entity("info_target"
     
 
     
entity_set_origin(ent,origin); 
     
origin[2] += 100.0
     entity_set_origin
(id,origin)
 
     
entity_set_float(ent,EV_FL_takedamage,1.0
     
entity_set_float(ent,EV_FL_health,100.0
 
     
entity_set_string(ent,EV_SZ_classname,"cosa"); 
     
entity_set_model(ent,"models/a.mdl"); 
     
entity_set_int(ent,EV_INT_solid2)
 
     
entity_set_byte(ent,EV_BYTE_controller1,125);
     
entity_set_byte(ent,EV_BYTE_controller2,125);
     
entity_set_byte(ent,EV_BYTE_controller3,125);
     
entity_set_byte(ent,EV_BYTE_controller4,125);
 
     new 
Float:maxs[3] = {16.0,16.0,36.0}
     new 
Float:mins[3] = {-16.0,-16.0,-36.0}
     
entity_set_size(ent,mins,maxs)
 
     
entity_set_float(ent,EV_FL_animtime,2.0
     
entity_set_float(ent,EV_FL_framerate,1.0
     
entity_set_int(ent,EV_INT_sequence,0);
 
     
entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01)
 
     
drop_to_floor(ent)
     return 
1;
 } 

Last edited by frk_14; 01-29-2010 at 15:00.
frk_14 is offline
Send a message via MSN to frk_14 Send a message via Skype™ to frk_14
joropito
AlliedModders Donor
Join Date: Mar 2009
Location: pfnAddToFullPack
Old 01-29-2010 , 17:06   Re: problem +USE in ent
Reply With Quote #6

Change info_target for func_button

If you change classname, Ham_Use will not be called for that entity.

For test purposes I suggest to use FM_Use (register_forward)

Then you can start using ham but before registerham you must be sure that you you have at least one entity with your new classname and then registerham using that classname and not func_button.
__________________

Divide et vinces
approved plugins | steam account

I don't accept PM for support. Just ask on forums.
If you're looking for private work, PM me.
joropito is offline
Send a message via MSN to joropito
joropito
AlliedModders Donor
Join Date: Mar 2009
Location: pfnAddToFullPack
Old 01-29-2010 , 19:45   Re: problem +USE in ent
Reply With Quote #7

Try something like this


PHP Code:
new g_HamUse

public plugin_init()
{
      
register_plugin(......
}

public 
cosa(id)
{
 
     new 
Float:origin[3
 
     
entity_get_vector(id,EV_VEC_origin,origin)
 
     new 
ent create_entity("info_target")
     
entity_set_string(ent,EV_SZ_classname,"cosa"); 

     if(!
g_HamUse)
     {
          
g_HamUse RegisterHam(Ham_Use"cosa""ToqueLaCosa")
     }
     
 
     
entity_set_origin(ent,origin); 
     
origin[2] += 100.0
     entity_set_origin
(id,origin)
 
     
entity_set_float(ent,EV_FL_takedamage,1.0
     
entity_set_float(ent,EV_FL_health,100.0
 
     
entity_set_model(ent,"models/a.mdl"); 
     
entity_set_int(ent,EV_INT_solid2)
 
     
entity_set_byte(ent,EV_BYTE_controller1,125);
     
entity_set_byte(ent,EV_BYTE_controller2,125);
     
entity_set_byte(ent,EV_BYTE_controller3,125);
     
entity_set_byte(ent,EV_BYTE_controller4,125);
 
     new 
Float:maxs[3] = {16.0,16.0,36.0}
     new 
Float:mins[3] = {-16.0,-16.0,-36.0}
     
entity_set_size(ent,mins,maxs)
 
     
entity_set_float(ent,EV_FL_animtime,2.0
     
entity_set_float(ent,EV_FL_framerate,1.0
     
entity_set_int(ent,EV_INT_sequence,0);
 
     
entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.01)
 
     
drop_to_floor(ent)
     return 
1;
 } 
__________________

Divide et vinces
approved plugins | steam account

I don't accept PM for support. Just ask on forums.
If you're looking for private work, PM me.

Last edited by joropito; 01-29-2010 at 19:52.
joropito is offline
Send a message via MSN to joropito
IneedHelp
Veteran Member
Join Date: Mar 2007
Location: Argentina
Old 01-29-2010 , 19:54   Re: problem +USE in ent
Reply With Quote #8

I'd use RegisterHamFromEntity & alter the entity's classname to func_button/cycler_sprite.
__________________
IneedHelp is offline
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 01-29-2010 , 20:28   Re: problem +USE in ent
Reply With Quote #9

Quote:
Originally Posted by IneedHelp View Post
I'd use RegisterHamFromEntity & alter the entity's classname to func_button/cycler_sprite.
Hum, i guess it would be better to spawn a func_button, and then to alter the classname to a custom classname.
__________________
- tired and retired -

- my plugins -
ConnorMcLeod is offline
joropito
AlliedModders Donor
Join Date: Mar 2009
Location: pfnAddToFullPack
Old 01-29-2010 , 21:13   Re: problem +USE in ent
Reply With Quote #10

frk, make it simple

With your code here

1- You can try with func_pushable too
2- ToqueLaCosa is wrong. The correct declaration of that function must be like this
PHP Code:
public ToqueLaCosa(thisidcalleridactivatoruse_typeFloat:value
3- Try first without any classname change and registerham at plugin_init
PHP Code:
RegisterHam(Ham_Use"func_button""ToqueLaCosa"
__________________

Divide et vinces
approved plugins | steam account

I don't accept PM for support. Just ask on forums.
If you're looking for private work, PM me.
joropito is offline
Send a message via MSN to joropito
Reply



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 07:21.


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