This site is a testing version, but all data is shared with the live forum.


Raised This Month: $ Target: $400
 0% 

[Help] Ham_TakeDamage and Ham_Touch don't work


Post New Thread Reply   
 
Thread Tools Display Modes
Shiina.Mashiro
Senior Member
Join Date: Sep 2014
Location: Vietnam
Old 12-31-2014 , 11:00   Re: [Help] Ham_TakeDamage and Ham_Touch don't work
Reply With Quote #11

Quote:
Originally Posted by RateX View Post
It's because Ham_Spawn's function is not found, so any function after it is not registered, including fw_TakeDamage.
BTW, some tips:
1.Why using set_task when you can call a function directly?
2.Use Ham_spawn instead of ResetHUD
i'll try it right now
1. because this plugin is just beta version, i think i need to set up later
2. when i use Ham_Spawn, the command didnt work, so i use ResetHUD and it works fine
__________________
Shiina.Mashiro is offline
Shiina.Mashiro
Senior Member
Join Date: Sep 2014
Location: Vietnam
Old 12-31-2014 , 11:05   Re: [Help] Ham_TakeDamage and Ham_Touch don't work
Reply With Quote #12

@RateX
Ok now the Ham_Touch worked fine, but my Ham_TakeDamage still not working
Do u have any idea ?
__________________
Shiina.Mashiro is offline
RateX
Veteran Member
Join Date: Jun 2012
Location: 0o. SEA .o0
Old 12-31-2014 , 14:02   Re: [Help] Ham_TakeDamage and Ham_Touch don't work
Reply With Quote #13

Don't know. Works fine for me.
Post what you have done.
offtopic: Is this some sort of cf like ghost mode?
RateX is offline
Shiina.Mashiro
Senior Member
Join Date: Sep 2014
Location: Vietnam
Old 01-01-2015 , 05:12   Re: [Help] Ham_TakeDamage and Ham_Touch don't work
Reply With Quote #14

Quote:
Originally Posted by RateX View Post
Don't know. Works fine for me.
Post what you have done.
offtopic: Is this some sort of cf like ghost mode?
here's the full code now:
PHP Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <engine>

#define PLUGIN "Ghost-beta"
#define VERSION "1.0"
#define AUTHOR "S.M"

#define V_MODEL "models/v_blurred_knife.mdl"

new g_ghost[33]
new 
g_invis[33]

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_forward(FM_CmdStart"FMCmdStart")
    
register_event("CurWeapon""CurWeapon""be""1=1")
    
register_event("ResetHUD""newround""b")
//    RegisterHam(Ham_Spawn, "player", "HamSpawn", 1)
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage")
    
RegisterHam(Ham_Touch"armoury_entity""FwdHamPickupWeapon")
    
RegisterHam(Ham_Touch"weaponbox""FwdHamPickupWeapon")
    
    
set_msg_block(get_user_msgid("ShadowIdx"), BLOCK_SET// remove shadow
}
public 
plugin_precache()
{
    
precache_model(V_MODEL)
}
public 
FMCmdStart(iduc_handlerandseed//handle user speed
{
    new 
Floatfmove
    
new Floatsmove
    get_uc
(uc_handleUC_ForwardMovefmove)
    
get_uc(uc_handleUC_SideMovesmove)
    new 
Floatmaxspeed
    pev
(idpev_maxspeedmaxspeed)
    new 
Floatwalkspeed = (0.52 maxspeed)
    
fmove floatabs(fmove)
    
smove floatabs(smove)
    if(
fmove <= walkspeed && smove <= walkspeed//player is walking
    
{
        
set_task(0.0"task_walking"id)
    }
    else 
//player is running
    
{
        
set_task(0.0"task_running"id)
    }
}
public 
CurWeapon(id)
{
    new 
weapon read_data(2)
    if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        if(
weapon == CSW_KNIFE)
        {
            new 
vModel[56]
            
format(vModel55V_MODEL)
            
entity_set_string(idEV_SZ_viewmodelvModel)
            
set_user_maxspeed(id500.0)
        }
        else
        {
            
strip_user_weapons(id)
            
give_item(id"weapon_knife")
        }
    }
}
public 
task_walking(id)
{
    if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        
set_user_rendering(idkRenderFxNone000kRenderTransTexture0)
        
set_user_footsteps(id1)
        
set_pev(idpev_viewmodel0)
        
g_invis[id] = 1
    
}
}
public 
task_running(id)
{
    if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        
set_user_rendering(idkRenderFxNone000kRenderTransTexture25)
        
set_user_footsteps(id1)
        new 
vModel[56]
        
format(vModel55V_MODEL)
        
entity_set_string(idEV_SZ_viewmodelvModel)
        
g_invis[id] = 0
    
}
}
public 
newround(id)
{
    if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        
set_user_health(id50)
        
set_user_armor(id200)
        
g_ghost[id] = 1
        set_task
(3.0"set_speed"id)
    }
    else
    {
        
set_user_health(id100)
        
set_user_armor(id100)
        
g_ghost[id] = 0
        set_user_maxspeed
(id250.0)
    }
}
public 
set_speed(id)
{
    
set_user_maxspeed(id500.0)
}
public 
fw_TakeDamage(victiminflictorattackerFloat:damage)
{
    if(
victim != attacker && is_user_connected(attacker))
    {
        if(
cs_get_user_team(attacker) == CS_TEAM_T)
        {
/*            if(g_invis[attacker] == 1)
            {
                SetHamParamFloat(4, damage * 0.4)
            }
            if(g_invis[attacker] == 0)
            {
                SetHamParamFloat(4, damage * 0.6)
            }
*/
            
if(get_user_weapon(attacker) == CSW_KNIFE)
            {
                
SetHamParamFloat(4damage 0.5)
            }
        }
    }
    
//return HAM_HANDLED
}
public 
FwdHamPickupWeapon(entid)
{
    if(
is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T)
    {
        return 
HAM_SUPERCEDE
    
}
    return 
HAM_IGNORED

2. yea, I made this plugin based on CF-Ghost Mode, but my gameplay would have a bit different
__________________
Shiina.Mashiro is offline
HamletEagle
AMX Mod X Plugin Approver
Join Date: Sep 2013
Location: Romania
Old 01-01-2015 , 06:01   Re: [Help] Ham_TakeDamage and Ham_Touch don't work
Reply With Quote #15

If you keep ignoring what I told you is fine. I already gave you the solution.
__________________
HamletEagle is offline
Shiina.Mashiro
Senior Member
Join Date: Sep 2014
Location: Vietnam
Old 01-01-2015 , 06:36   Re: [Help] Ham_TakeDamage and Ham_Touch don't work
Reply With Quote #16

Quote:
Originally Posted by HamletEagle View Post
If you keep ignoring what I told you is fine. I already gave you the solution.
No, I tried your way but it didn't work
__________________
Shiina.Mashiro is offline
HamletEagle
AMX Mod X Plugin Approver
Join Date: Sep 2013
Location: Romania
Old 01-01-2015 , 07:36   Re: [Help] Ham_TakeDamage and Ham_Touch don't work
Reply With Quote #17

Omfg, just adapt it to the new code, I didn't see that Spawn public was not found.
__________________

Last edited by HamletEagle; 01-01-2015 at 07:36.
HamletEagle is offline
Shiina.Mashiro
Senior Member
Join Date: Sep 2014
Location: Vietnam
Old 01-01-2015 , 09:38   Re: [Help] Ham_TakeDamage and Ham_Touch don't work
Reply With Quote #18

@HamletEagle
you mean this right?
PHP Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <engine>

#define PLUGIN "Ghost-beta"
#define VERSION "1.0"
#define AUTHOR "S.M"

#define V_MODEL "models/v_blurred_knife.mdl"

new g_ghost[33]
new 
g_invis[33]

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_forward(FM_CmdStart"FMCmdStart")
    
register_event("CurWeapon""CurWeapon""be""1=1")
    
register_event("ResetHUD""newround""b")
    
RegisterHam(Ham_Spawn"player""HamSpawn"1)
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage")
    
RegisterHam(Ham_Touch"armoury_entity""FwdHamPickupWeapon")
    
RegisterHam(Ham_Touch"weaponbox""FwdHamPickupWeapon")
    
    
set_msg_block(get_user_msgid("ShadowIdx"), BLOCK_SET// remove shadow
}
public 
plugin_precache()
{
    
precache_model(V_MODEL)
}
public 
FMCmdStart(iduc_handlerandseed//handle user speed
{
    new 
Floatfmove
    
new Floatsmove
    get_uc
(uc_handleUC_ForwardMovefmove)
    
get_uc(uc_handleUC_SideMovesmove)
    new 
Floatmaxspeed
    pev
(idpev_maxspeedmaxspeed)
    new 
Floatwalkspeed = (0.52 maxspeed)
    
fmove floatabs(fmove)
    
smove floatabs(smove)
    if(
fmove <= walkspeed && smove <= walkspeed//player is walking
    
{
        
set_task(0.0"task_walking"id)
    }
    else 
//player is running
    
{
        
set_task(0.0"task_running"id)
    }
}
public 
CurWeapon(id)
{
    new 
weapon read_data(2)
    if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        if(
weapon == CSW_KNIFE)
        {
            new 
vModel[56]
            
format(vModel55V_MODEL)
            
entity_set_string(idEV_SZ_viewmodelvModel)
            
set_user_maxspeed(id500.0)
        }
        else
        {
            
strip_user_weapons(id)
            
give_item(id"weapon_knife")
        }
    }
}
public 
task_walking(id)
{
    if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        
set_user_rendering(idkRenderFxNone000kRenderTransTexture0)
        
set_user_footsteps(id1)
        
set_pev(idpev_viewmodel0)
        
g_invis[id] = 1
    
}
}
public 
task_running(id)
{
    if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        
set_user_rendering(idkRenderFxNone000kRenderTransTexture25)
        
set_user_footsteps(id1)
        new 
vModel[56]
        
format(vModel55V_MODEL)
        
entity_set_string(idEV_SZ_viewmodelvModel)
        
g_invis[id] = 0
    
}
}
public 
newround(id)
{
    if(
cs_get_user_team(id) == CS_TEAM_T)
    {
        
set_user_health(id50)
        
set_user_armor(id200)
        
g_ghost[id] = 1
        set_task
(3.0"set_speed"id)
    }
    else
    {
        
set_user_health(id100)
        
set_user_armor(id100)
        
g_ghost[id] = 0
        set_user_maxspeed
(id250.0)
    }
}
public 
set_speed(id)
{
    
set_user_maxspeed(id500.0)
}
public 
fw_TakeDamage(victiminflictorattackerFloat:damage)
{
    if(
victim != attacker && is_user_connected(attacker))
    {
        if(
cs_get_user_team(attacker) == CS_TEAM_T)
        {
/*            if(g_invis[attacker] == 1)
            {
                SetHamParamFloat(4, damage * 0.4)
            }
            if(g_invis[attacker] == 0)
            {
                SetHamParamFloat(4, damage * 0.6)
            }
*/
            
if(get_user_weapon(attacker) == CSW_KNIFE)
            {
                
SetHamParamFloat(4damage 0.5)
        return 
HAM_HANDLED
            
}
        }
    }
    return 
HAM_IGNORED
}
public 
FwdHamPickupWeapon(entid)
{
    if(
is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T)
    {
        return 
HAM_SUPERCEDE
    
}
    return 
HAM_IGNORED

I tried it but it didnt work, even when I remove Ham_Spawn
__________________

Last edited by Shiina.Mashiro; 01-01-2015 at 09:39.
Shiina.Mashiro is offline
Kz1.0
Senior Member
Join Date: Jan 2013
Location: Vietnam
Old 01-01-2015 , 12:25   Re: [Help] Ham_TakeDamage and Ham_Touch don't work
Reply With Quote #19

^
How do you test it ? With players or bots ?
Some code will not work properly against zbot.
Kz1.0 is offline
Shiina.Mashiro
Senior Member
Join Date: Sep 2014
Location: Vietnam
Old 01-02-2015 , 00:24   Re: [Help] Ham_TakeDamage and Ham_Touch don't work
Reply With Quote #20

Quote:
Originally Posted by Kz1.0 View Post
^
How do you test it ? With players or bots ?
Some code will not work properly against zbot.
I tested it with both PODBot and players, and both is not working
__________________
Shiina.Mashiro is offline
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 14:23.


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