AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   How to catch animation (https://forums.alliedmods.net/showthread.php?t=225204)

G[o]Q 09-01-2013 18:46

How to catch animation
 
Hi

I need solution about catching animation

example:

i would like to catch reload animation in glock and block or change it for shot animation but question is how do it?

Black Rose 09-01-2013 19:33

Re: How to catch animation
 
Catch the reload event using Ham_Weapon_Reload and force a new animation by sending, for example, SVC_WEAPONANIM.

I'm not sure if there's a better way but I'm sure someone will correct me if there is.

ConnorMcLeod 09-01-2013 19:45

Re: How to catch animation
 
Method seems ok, about SVC_WEAPONANIM, you can use Ham_CS_Weapon_SendWeaponAnim from hamsandwich updated.
You can also try to hook it to catch other animations.

I hope this ham version gonna be integrated in amxx, but atm there are no testers for some mods to confirm all is working.

G[o]Q 09-02-2013 07:18

Re: How to catch animation
 
hmm i tested ham_ and it didn't work

i have a model with one "idle" animation (first in sequence) and I try change glock for them but glock has three "idle" animations and when i'm walking third animation("idle" for glock and "attack1 for my Model) is triggered

i would like to block it

Black Rose 09-02-2013 13:13

Re: How to catch animation
 
May be easier to just edit the model?
Here's a solution:
Quote:

Originally Posted by bibu (Post 1950392)
Try something like the following code. I still don't get why you want to replace anim. If you're already using a custom model, then it should show the anim already correctly. Correct me if it's wrong.

PHP Code:

#include <amxmodx>
#include <hamsandwich>

#define ANIM_TO_REPLACE 1
#define REPLACE_ANIM_WITH 1337

public plugin_init()
{
    
RegisterHam(Ham_CS_Weapon_SendWeaponAnim"weapon_entity""WeaponSendWeaponAnim")
}

public 
WeaponSendWeaponAnim(idiAnim/*, skiplocal*/)
{
    
// Check the animation to replace.
    
if(iAnim == ANIM_TO_REPLACE)
    {
        
// Replace animation with the value you want.
        
SetHamParamInteger(2REPLACE_ANIM_WITH)
    }



Requires Hamsandwich Updated.

Quote:

Originally Posted by ConnorMcLeod (Post 2026609)
Method seems ok, about SVC_WEAPONANIM, you can use Ham_CS_Weapon_SendWeaponAnim from hamsandwich updated.
You can also try to hook it to catch other animations.

I hope this ham version gonna be integrated in amxx, but atm there are no testers for some mods to confirm all is working.

Are there advantages? Otherwise I would definitely use what's included in the default AMXx package.

ConnorMcLeod 09-02-2013 14:10

Re: How to catch animation
 
Advantages are all missing virtual fonctions from default ham have been added, see thread for details.

Black Rose 09-02-2013 15:56

Re: How to catch animation
 
No I mean if there's any advantage using Ham_CS_Weapon_SendWeaponAnim over SVC_WEAPONANIM?

G[o]Q 09-02-2013 17:30

Re: How to catch animation
 
so i solved my problem
HTML Code:

if(get_cd(cd,CD_WeaponAnim) <3 ){
            set_cd(cd, CD_WeaponAnim, 0)
}

in updateClientData

but i have new problem i try set knife model for glock and everything is ok but if I set cl_righthand 1 then i have model after change in left hand.

Anybody knows why?

ConnorMcLeod 09-02-2013 18:28

Re: How to catch animation
 
Quote:

Originally Posted by Black Rose (Post 2027222)
No I mean if there's any advantage using Ham_CS_Weapon_SendWeaponAnim over SVC_WEAPONANIM?

Not really since you won't send it hundred times a millisecond.

G[o]Q 09-02-2013 18:49

Re: How to catch animation
 
Ham_CS_Weapon_SendWeaponAnim crashed my server server

so anybody knows why if I change model glock for model knife it's in left hand by default?


All times are GMT -4. The time now is 19:14.

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