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

[Help] Creating Fake Viewmodels


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Celena Luna
Veteran Member
Join Date: Aug 2013
Location: Nagazora
Old 09-23-2017 , 08:16   [Help] Creating Fake Viewmodels
Reply With Quote #1

Like the title said, I am trying to create the ent that always in front of player. When I tried to move player view, it doesn't move up or down, just left and right is work

PHP Code:
public Create_Slash_Ent(idAnim)
{
    new 
ent engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target"))
    if(
pev_valid(ent))
    {
        static 
Float:Origin[3]
        static 
Float:Angles[3]
        static 
Float:Time
        pev
(idpev_v_angleAngles)
        
get_position(id2.00.00.0Origin)
        
//fm_vector_forward(id, 2, Origin)

        
set_pev(entpev_classnameCLASSNAME_ENT_RED)
        
engfunc(EngFunc_SetModelentV_MODEL2)
        
set_pev(entpev_movetypeMOVETYPE_FLY)
        
//set_pev(ent, pev_renderfx, kRenderFxNone)
        //set_pev(ent, pev_rendermode, kRenderGlow)
        
set_pev(entpev_ownerid)

        switch(
Anim)
        {
            case 
0Time 1.9
            
case 1Time 1.7
            
case 2Time 1.5
            
case 3Time 1.3
        
}

        
entity_set_float(entEV_FL_fuser4get_gametime()+Time)
        
set_pev(entpev_anglesAngles)

        
set_pev(entpev_minsFloat:{-1.0, -1.0, -1.0})
        
set_pev(entpev_maxsFloat:{1.01.01.0})

        
set_pev(entpev_scale0.075)
        
entity_set_float(entEV_FL_fuser3get_gametime() + 4.0)
        
set_pev(entpev_nextthinkget_gametime() + 0.01)
        
dllfunc(DLLFunc_Spawnent)
    }
}
public 
fw_ent_think(Ent)
{
    if(!
pev_valid(Ent))
        return

    static 
ownerowner pev(Entpev_owner)
    static 
Float:Origin[3], FloatfRemoveTimeFloatAngles[3];
    
get_position(owner2.00.00.0Origin)
    
//GetGunPosition(owner, Origin)
    //fm_vector_forward(owner, 2    , Origin)
    
pev(ownerpev_v_angleAngles)
    
set_pev(Entpev_originOrigin)
    
set_pev(Entpev_nextthink0.1)
    
set_pev(Entpev_anglesAngles)

    new 
Float:fNextThink
    set_pev
(Entpev_nextthinkget_gametime() + fNextThink)

    
fRemoveTime entity_get_float(EntEV_FL_fuser4)

    if(
get_gametime() >= fRemoveTime)
    {
        
remove_entity(Ent)
        return 
    } 

__________________
My plugin:

Last edited by Celena Luna; 09-23-2017 at 13:32. Reason: change the titles for better understanding
Celena Luna is offline
aron9forever
Veteran Member
Join Date: Feb 2013
Location: Rromania
Old 09-23-2017 , 08:26   Re: [Help] Create Ent that always in front of player
Reply With Quote #2

https://forums.alliedmods.net/showthread.php?t=159584 this plugin does what you need with a sprite entity
you can extract the code you need or at least get inspired from there
__________________
Meanwhile, in 2050:
Quote:
Originally Posted by aron9forever
useless small optimizations
Quote:
Originally Posted by Black Rose View Post
On a map that is 512x512x128 units you end up with 3,355,443,200,000 different "positions". To store each one of those positions individually in the variable "user_or" you need 12 terabytes of memory.
aron9forever is offline
Natsheh
Veteran Member
Join Date: Sep 2012
Old 09-23-2017 , 08:45   Re: [Help] Create Ent that always in front of player
Reply With Quote #3

you can do it in client post/prethink
__________________
@Jailbreak Main Mod v2.7.0 100%
@User Tag Prefix 100% done !
@Mystery Box 100% done !
@VIP System 100% done !


Last edited by Natsheh; 09-23-2017 at 08:45.
Natsheh is offline
Send a message via MSN to Natsheh Send a message via Skype™ to Natsheh
Celena Luna
Veteran Member
Join Date: Aug 2013
Location: Nagazora
Old 09-23-2017 , 09:24   Re: [Help] Create Ent that always in front of player
Reply With Quote #4

Quote:
Originally Posted by aron9forever View Post
https://forums.alliedmods.net/showthread.php?t=159584 this plugin does what you need with a sprite entity
you can extract the code you need or at least get inspired from there
I can do it with sprite entity but not with model entity

Quote:
Originally Posted by Natsheh View Post
you can do it in client post/prethink
Can you give me a hint/example please?
__________________
My plugin:
Celena Luna is offline
Natsheh
Veteran Member
Join Date: Sep 2012
Old 09-23-2017 , 10:37   Re: [Help] Create Ent that always in front of player
Reply With Quote #5

Edit :- check out this example

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

#define SPRITE "sprites/test.spr"

new user_ent[33];

public 
plugin_precache()
{
    
precache_model(SPRITE)
}

public 
plugin_init()
{
    
register_clcmd("say /test""Create_Slash_Ent")
}

public 
Create_Slash_Ent(id)
{
    new 
ent;
    if((
user_ent[id] = ent engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"env_sprite"))) > 0)
    {
    
// Set sprite on entity
    
engfuncEngFunc_SetModelentSPRITE )

    
// Set proper rendering
    
set_peventpev_rendermodekRenderTransAdd )
    
set_peventpev_renderamt200.0 )
    
    
// Set the animation's framerate
    
set_peventpev_framerate1.0 // doesn't work!
    
set_peventpev_spawnflagsSF_SPRITE_STARTON )
    
dllfuncDLLFunc_Spawnent )
    
user_ent[id] = ent
    set_task
(5.0"remove_ent"id)
    }
}

public 
remove_ent(id)
{
    if(
user_ent[id] > 0remove_entity(user_ent[id]); user_ent[id] = 0;
}

const 
Float:distance 10.0;

public 
client_PreThink(id)
{
    static 
Ent;
    if(!(
Ent user_ent[id]))
        return
    static 
Float:Origin[3], FloatAngles[3], Float:fvDistance[3];
    
pev(idpev_view_ofsAngles)
    
pev(idpev_originOrigin)
    
xs_vec_add(OriginAnglesOrigin)
    
pev(idpev_v_angleAngles)
    
angle_vector(AnglesANGLEVECTOR_FORWARDfvDistance)
    
Origin[0] += (fvDistance[0] * distance)
    
Origin[1] += (fvDistance[1] * distance)
    
Origin[2] += (fvDistance[2] * distance)
    
set_pev(Entpev_originOrigin)
    
Angles[2] = 180.0
    set_pev
(Entpev_anglesAngles)

__________________
@Jailbreak Main Mod v2.7.0 100%
@User Tag Prefix 100% done !
@Mystery Box 100% done !
@VIP System 100% done !


Last edited by Natsheh; 09-24-2017 at 00:37.
Natsheh is offline
Send a message via MSN to Natsheh Send a message via Skype™ to Natsheh
aron9forever
Veteran Member
Join Date: Feb 2013
Location: Rromania
Old 09-23-2017 , 12:16   Re: [Help] Create Ent that always in front of player
Reply With Quote #6

Quote:
Originally Posted by Celena Luna View Post
I can do it with sprite entity but not with model entity



Can you give me a hint/example please?
what's the difference, you also want the model to be "facing" the player all the time?
__________________
Meanwhile, in 2050:
Quote:
Originally Posted by aron9forever
useless small optimizations
Quote:
Originally Posted by Black Rose View Post
On a map that is 512x512x128 units you end up with 3,355,443,200,000 different "positions". To store each one of those positions individually in the variable "user_or" you need 12 terabytes of memory.
aron9forever is offline
Old 09-23-2017, 12:20
Celena Luna
This message has been deleted by Celena Luna.
Celena Luna
Veteran Member
Join Date: Aug 2013
Location: Nagazora
Old 09-23-2017 , 12:46   Re: [Help] Create Ent that always in front of player
Reply With Quote #7

Quote:
Originally Posted by Natsheh View Post
Edit :- check out this example

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

#define SPRITE "sprites/test.spr"

new user_ent[33];

public 
plugin_precache()
{
    
precache_model(SPRITE)
}

public 
plugin_init()
{
    
register_clcmd("say /test""Create_Slash_Ent")
}

public 
Create_Slash_Ent(id)
{
    new 
ent;
    if((
user_ent[id] = ent engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"env_sprite"))) > 0)
    {
    
// Set sprite on entity
    
engfuncEngFunc_SetModelentSPRITE )

    
// Set proper rendering
    
set_peventpev_rendermodekRenderTransAdd )
    
set_peventpev_renderamt200.0 )
    
    
// Set the animation's framerate
    
set_peventpev_framerate1.0 // doesn't work!
    
set_peventpev_spawnflagsSF_SPRITE_STARTON )
    
dllfuncDLLFunc_Spawnent )
    
user_ent[id] = ent
    set_task
(5.0"remove_ent"id)
    }
}

public 
remove_ent(id)
{
    if(
user_ent[id] > 0remove_entity(user_ent[id]); user_ent[id] = 0;
}

const 
Float:distance 10.0;

public 
client_PreThink(id)
{
    static 
Ent;
    if(!(
Ent user_ent[id]))
        return
    static 
Float:Origin[3], FloatAngles[3], Float:fvDistance[3];
    
pev(idpev_view_ofsAngles)
    
pev(idpev_originOrigin)
    
xs_vec_add(OriginAnglesOrigin)
    
pev(idpev_v_angleAngles)
    
angle_vector(AnglesANGLEVECTOR_FORWARDfvDistance)
    
Origin[0] += (fvDistance[0] * distance)
    
Origin[1] += (fvDistance[1] * distance)
    
Origin[2] += (fvDistance[2] * distance)
    
set_pev(Entpev_originOrigin)
    
Angles[0]*= -1
    Angles
[1]*= -1
    Angles
[2]*= -1
    set_pev
(Entpev_anglesAngles)

Ehh... more specifically, I want to make like a fake viewmodel, not an sprites effect.
- Hide current viewmodel
- make 4 new ent that show 4 different animation at the same time
- remove all 4 ent at the same time and show back the original viewmodel

Quote:
Originally Posted by aron9forever View Post
what's the difference, you also want the model to be "facing" the player all the time?
Sprites will always move with the camera view (env_sprite) but the Model Ent doesn't (info_target).

EDIT: Changed that title, that title make missunderstanding
__________________
My plugin:

Last edited by Celena Luna; 09-23-2017 at 12:49.
Celena Luna is offline
Cristian505
Senior Member
Join Date: Oct 2020
Old 10-21-2021 , 16:03   Re: [Help] Create Ent that always in front of player
Reply With Quote #8

Quote:
Originally Posted by Celena Luna View Post
Ehh... more specifically, I want to make like a fake viewmodel, not an sprites effect.
- Hide current viewmodel
- make 4 new ent that show 4 different animation at the same time
- remove all 4 ent at the same time and show back the original viewmodel



Sprites will always move with the camera view (env_sprite) but the Model Ent doesn't (info_target).

EDIT: Changed that title, that title make missunderstanding
So you finnaly solved ur problem?
Cristian505 is offline
Reply


Thread Tools
Display Modes

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 06:54.


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