Member
|
![Old](images/statusicon/post_old.svg)
09-13-2016
, 22:01
SetViewEntityBody
|
#1
|
Version: Release 1.7
Requirements: latest AmxModX 1.8.3
Description:
The main function of this plugin is changing the viewmodel bodygroup.
It doesn't matter how high is player latency/ping, low fps count - the player will see only bodygroup you pointed without bugs. The custom weapons are also supported.
Also this plugin comes with custom v_ models, you don't need to replace original, just put them into cstrike/models/weapons. The default v_ models are removed from precache.
As you know, Counter-Strike Online uses two hands bodygroup in v_ models. So let's make it now work in Counter-Strike 1.6!
Some functions are still need to do.
1. Spectators support - DONE (Release 1.0)
2. Remove trace attack and use default cs decals - TODO
There is three native functions:
Main:
native SetViewEntityBody(pPlayer, iValue); //pPlayer - player index, iValue - bodygroup number
Secondary:
native SetUserSex(pPlayer, iValue); //pPlayer - player index, iValue /1 - MALE, 2 - FEMALE
native GetUserSex(pPlayer); //pPlayer - player index /Getting the player sex
Usage example:
Code:
#define MALE 0
#define FEMALE 1
public client_connect(id)
{SetUserSex(id, MALE); //Making it male at connect for example
SetViewEntityBody(id, 0); //Setting viewmodel bodygroup to zero for example
}
public HamF_Item_Deploy_Post(iEnt)
{static id, iWeaponName[24];
id = get_pdata_cbase(iEnt, m_pPlayer, 4);
switch(GetUserSex(id))
{case FEMALE: set_pev(id, pev_viewmodel2, FEMALE_KNIFE);
default: set_pev(id, pev_viewmodel2, MALE_KNIFE);
}
return HAM_IGNORED;
}
You can uncomment DEBUG and lookout for switch_sex command function.
14/9/16: First Beta release
Update 15/9/16: Release 1.0, added Spectator support, redefined MALE, FEMALE, added sex checks into deploy, fixed dead player bodies non disappear.
Update 15/9/16: Release 1.1, some bugfix.
Update 15/9/16: Release 1.2, removed value msg check
Update 15/9/16: Release 1.3, i've made one big mistake while setting the spectating target anim, so it's now fixed. The spectator target body now will be fine.
Update 15/9/16: Release 1.4, while playing online, i've seen a bug with spectators hands, so i decided to lookout what's the problem. Instead of using SpecHealth, i've replaced it with StatusValue. Why? The first player who killed us in previous version always was bugged. Now it's fixed. The attack bug is also fixed.
Also... I randomized the connected players hand body. Look at:
Code:
//test functions only
public client_connect(id)
{ //testing, was good. Comment nearby both if you want to uncomment and test this randomize
switch(random_num(1,10))
{
case 1..5:
{
SetUserSex(id, MALE); //Making it male, to make our nearby func work
SetViewEntityBody(id, MALE); //Set Viewbody
}
case 6..10
{
SetUserSex(id, FEMALE); //Making this female
SetViewEntityBody(id, FEMALE); //Set Viewbody
}
}
/*SetUserSex(id, MALE); //Making it male, to make our nearby func work
SetViewEntityBody(id, MALE); //Reset Viewbody*/
}
Update 15/9/16: Release 1.5, some bugfix, the observer is done.
P.S. Enough for today.
Update 15/9/16: Release 1.6, again bugfix.
Update 16/9/16: Release 1.7, bugfixes. Now i started to lookout for attack system. I have 2 ideas currently and one of them is replacing atk system with custom trace, but the way it can be done - with Orpheu. Need some time to think. P.S: download both include and source again.
Last edited by Hanna; 09-16-2016 at 05:17.
|
|