Raised This Month: $32 Target: $400
 8% 

Cso Emotions


Post New Thread Reply   
 
Thread Tools Display Modes
semihkerim31
Member
Join Date: Feb 2017
Old 02-19-2017 , 08:43   Re: Cso Emotions
Reply With Quote #11

Hello I want a "Hi" effect when the player is born
semihkerim31 is offline
semihkerim31
Member
Join Date: Feb 2017
Old 02-20-2017 , 08:29   Re: Cso Emotions
Reply With Quote #12

Help please
semihkerim31 is offline
edon1337
Penguin Enthusiast
Join Date: Jun 2016
Location: Macedonia
Old 02-20-2017 , 10:15   Re: Cso Emotions
Reply With Quote #13

Quote:
Originally Posted by semihkerim31 View Post
when the player is born
wat
__________________
edon1337 is offline
semihkerim31
Member
Join Date: Feb 2017
Old 02-21-2017 , 10:02   Re: Cso Emotions
Reply With Quote #14

https://www.youtube.com/watch?v=jTPMrsyPv8g


Cso emotion not open menu

round start in open effect
open mdl in Hi Effect
Model:
https://mega.nz/#!UpJlHKQB!BxhlNUxAt...Yu7GQECjcVug4M
https://mega.nz/#!M94EibLJ!dZPR5rWoS...ASG3qAV8UPoB-Y
semihkerim31 is offline
semihkerim31
Member
Join Date: Feb 2017
Old 02-21-2017 , 10:57   Re: Cso Emotions
Reply With Quote #15

@Moderator
@Scripter
semihkerim31 is offline
georgik57
Veteran Member
Join Date: Oct 2008
Location: 🎧Music World
Old 02-22-2017 , 07:51   Re: Cso Emotions
Reply With Quote #16

Here.



Everything works fine except for the fact that the models go invisible when playing the emotions which I don't know how to and am too lazy to fix. Hopefully that doesn't happen to you too.

PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <fakemeta_util>
//#include <hamsandwich>

#define PLUGIN "CSO Emotion"
#define VERSION "2.3"
#define AUTHOR "Dias"

#define MAX_EMOTION 6
#define BUTTON_HOLDTIME 0.5
#define USE_TYPE 1 // 1 = J Button (Cheer); 2 = Hold R Button

#define TASK_EMOTION 1962
#define TASK_HOLDTIME 1995

new const p_model[] = "models/cso_emotion/cso_emotion2.mdl"
new const v_model[] = "models/cso_emotion/v_cso_emotion_v23.mdl"
new const Resource_Sound[MAX_EMOTION][] = 
{
    
"cso_emotion/man_angry.wav",
    
"cso_emotion/man_dance.wav",
    
"cso_emotion/man_hi.wav",
    
"cso_emotion/man_joy.wav",
    
"cso_emotion/man_procoke.wav",
    
"cso_emotion/man_special.wav"        
}

new 
Emotion_Name[MAX_EMOTION][] = 
{
    
"Hi",
    
"Provoke",
    
"Joy",
    
"Angry",
    
"Dance",
    
"Special 1 (Enzo)"
}

new 
Float:Emotion_Time[MAX_EMOTION] = 
{
    
3.0,
    
7.0,
    
4.5,
    
3.8,
    
6.7,
    
6.0
}

enum
{
    
EMO_HI 0,
    
EMO_PROVOKE,
    
EMO_JOY,
    
EMO_ANGRY,
    
EMO_DANCE,
    
EMO_SPECIAL1
}

new 
g_InDoingEmo[33], g_AnimEnt[33], g_AvtEnt[33], g_OldWeapon[33], g_OldKnifeModel[33][128]
new 
g_MaxPlayersg_HoldingButton[33], g_UseType

public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_event("HLTV""Event_NewRound""a""1=0""2=0")
    
register_event("DeathMsg""Event_DeathMsg""a")
    
    
register_forward(FM_CmdStart"fw_CmdStart")
    
register_forward(FM_AddToFullPack"fw_AddToFullPack_Post"1)
    
register_forward(FM_Think"fw_Think")
    
    
//RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1)
    
    
g_UseType USE_TYPE
    
if(g_UseType == 1register_clcmd("cheer""Open_EmoMenu")
    
    
g_MaxPlayers get_maxplayers()
}

public 
plugin_precache()
{
    
engfunc(EngFunc_PrecacheModelp_model)
    
engfunc(EngFunc_PrecacheModelv_model)
    
    for(new 
0sizeof(Resource_Sound); i++)
        
engfunc(EngFunc_PrecacheSoundResource_Sound[i])
}

public 
Event_NewRound()
{
    for(new 
1<= g_MaxPlayersi++)
    {
        if(!
is_user_connected(i))
            continue
        
        
Reset_Var(i)
        
        
remove_task(i)
        
set_task(0.75,"ayarlama"i)
    }
}

public 
Event_DeathMsg()
{
    static 
VictimVictim read_data(2)
    
Do_Reset_Emotion(Victim)
}
/*
public fw_PlayerSpawn_Post(id)
{
    if (!is_user_alive(id))
        return;
    
}*/

public ayarlama(id)
{
    if (!
is_user_alive(id))
        return;
    
    
Set_Emotion_Start(idEMO_HI)
}

public 
Reset_Var(id)
{
    if(!
is_user_connected(id))
        return
        
    if(
g_InDoingEmo[id])
    {
        if(
get_user_weapon(id) == CSW_KNIFE)
            
set_pev(idpev_viewmodel2g_OldKnifeModel[id])
    }
        
    if(
task_exists(id+TASK_EMOTION)) remove_task(id+TASK_EMOTION)    
        
    
Set_Entity_Invisible(id0)
    
    if(
pev_valid(g_AnimEnt[id])) engfunc(EngFunc_RemoveEntityg_AnimEnt[id])
    if(
pev_valid(g_AvtEnt[id])) engfunc(EngFunc_RemoveEntityg_AvtEnt[id])
    
    
g_InDoingEmo[id] = 0
    g_AnimEnt
[id] = g_AvtEnt[id] = 0    
    g_HoldingButton
[id] = 0
}

public 
Open_EmoMenu2(id)
{
    
id -= TASK_HOLDTIME
    Open_EmoMenu
(id)
}

public 
Open_EmoMenu(id)
{
    if(!
is_user_alive(id))
        return
    if(
g_InDoingEmo[id])
        return
        
    static 
menuNumberId[6]
    
menu menu_create("CSO Emotion""MenuHandle_Emo")
    
    for(new 
0MAX_EMOTIONi++)
    {
        
num_to_str(iNumberIdsizeof(NumberId))
        
menu_additem(menuEmotion_Name[i], NumberId)
    }
    
    
menu_setprop(menuMPROP_EXITMEXIT_ALL)
    
menu_display(idmenu0)    
}

public 
MenuHandle_Emo(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        
menu_destroy(menu)
        return
    }
    if(!
is_user_alive(id))
        return
    if(
g_InDoingEmo[id])
        return
        
    static 
Data[6], Name[64], AccessCallback
    menu_item_getinfo
(menuitemAccessDatacharsmax(Data), Namecharsmax(Name), Callback)
    
    static 
EmoIdEmoId str_to_num(Data)
    
    if(
EmoId >= MAX_EMOTION)
        return
        
    
Set_Emotion_Start(idEmoId)
}

public 
Set_Emotion_Start(idEmoId)
{
    
g_InDoingEmo[id] = 1
    Set_Entity_Invisible
(id1)
    
    
Create_AvtEnt(id)
    
Create_AnimEnt(id)
    
    if(!
Check_Avalible(id)) return
    
    
Do_Set_Emotion(idEmoId)
}

public 
Create_AvtEnt(id)
{
    if(
pev_valid(g_AvtEnt[id]))
        return
    
    
g_AvtEnt[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target"))

    if(!
pev_valid(g_AvtEnt[id])) 
        return    
    
    static 
entent g_AvtEnt[id]
    
set_pev(entpev_classname"avatar")
    
set_pev(entpev_ownerid)
    
set_pev(entpev_movetypeMOVETYPE_FOLLOW)
    
set_pev(entpev_solidSOLID_NOT)

    
// Set Model
    
static PlayerModel[64]
    
fm_cs_get_user_model(idPlayerModelsizeof(PlayerModel))
    
    
format(PlayerModelsizeof(PlayerModel), "models/player/%s/%s.mdl"PlayerModelPlayerModel)
    
engfunc(EngFunc_SetModelg_AvtEnt[id], PlayerModel)    
    
    
// Set Avatar
    
set_pev(entpev_bodypev(idpev_body))
    
set_pev(entpev_skinpev(idpev_skin))
    
    
set_pev(entpev_renderamtpev(idpev_renderamt))
    static 
Float:Color[3]; pev(idpev_rendercolorColor)
    
set_pev(entpev_rendercolorColor)
    
set_pev(entpev_renderfxpev(idpev_renderfx))
    
set_pev(entpev_rendermodepev(idpev_rendermode))
    
    
Set_Entity_Invisible(ent0)
}

public 
Create_AnimEnt(id)
{
    if(
pev_valid(g_AnimEnt[id]))
        return
            
    
g_AnimEnt[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target"))
    
    if(!
pev_valid(g_AnimEnt[id])) 
        return
        
    static 
entent g_AnimEnt[id]
    
set_pev(entpev_classname"AnimEnt")
    
set_pev(entpev_ownerid)
    
set_pev(entpev_movetypeMOVETYPE_TOSS)
    
    
engfunc(EngFunc_SetModelentp_model)
    
engfunc(EngFunc_SetSizeent, {-16.0, -16.00.0}, {16.016.072.0})
    
set_pev(entpev_solidSOLID_BBOX)
    
    
engfunc(EngFunc_DropToFloorent)
    
Set_Entity_Invisible(ent0)
    
    
set_pev(entpev_nextthinkget_gametime() + 0.1)
}

public 
Check_Avalible(id)
{
    if(!
pev_valid(g_AnimEnt[id]) || !pev_valid(g_AvtEnt[id]))
    {
        
Do_Reset_Emotion(id)
        return 
0
    
}
        
    return 
1
}

public 
Do_Set_Emotion(idEmoId)
{
    
// Set Player Emotion
    
static Float:Origin[3], Float:Angles[3], Float:Velocity[3]
        
    
pev(idpev_originOrigin); pev(idpev_anglesAngles); pev(idpev_velocityVelocity)
        
    
Origin[2] -= 36.0
    set_pev
(g_AnimEnt[id], pev_originOrigin)
        
    
Angles[0] = 0.0Angles[2] = 0.0
    set_pev
(g_AnimEnt[id], pev_anglesAngles)
    
set_pev(g_AnimEnt[id], pev_velocityVelocity)
        
    
set_pev(g_AvtEnt[id], pev_aimentg_AnimEnt[id])
    
Set_Entity_Anim(g_AnimEnt[id], EmoId1)
    
    
// Set Hand Emotion
    
g_OldWeapon[id] = get_user_weapon(id)
    
fm_give_item(id"weapon_knife")
    
engclient_cmd(id"weapon_knife")
    
    
pev(idpev_viewmodel2g_OldKnifeModel[id], 127)
    
set_pev(idpev_viewmodel2v_model)
    
Set_Weapon_Anim(idEmoId)
    
    static 
KnifeEntKnifeEnt fm_get_user_weapon_entity(idCSW_KNIFE)
    if(
pev_valid(KnifeEnt)) set_pdata_float(KnifeEnt48Emotion_Time[EmoId], 4)
    
    if(
task_exists(id+TASK_EMOTION)) remove_task(id+TASK_EMOTION)
    
set_task(Emotion_Time[EmoId], "Reset_Emotion"id+TASK_EMOTION)
}

public 
Reset_Emotion(id)
{
    
id -= TASK_EMOTION
    
    
if(!is_user_connected(id))
        return
    if(!
g_InDoingEmo[id])
        return
        
    
Do_Reset_Emotion(id)
}

public 
Do_Reset_Emotion(id)
{
    if(!
is_user_connected(id))
        return
    if(!
g_InDoingEmo[id])
        return
        
    if(
task_exists(id+TASK_EMOTION)) remove_task(id+TASK_EMOTION)
    
Set_Entity_Invisible(id0)
    
    if(
pev_valid(g_AnimEnt[id])) engfunc(EngFunc_RemoveEntityg_AnimEnt[id])
    if(
pev_valid(g_AvtEnt[id])) engfunc(EngFunc_RemoveEntityg_AvtEnt[id])
    
    
g_AnimEnt[id] = g_AvtEnt[id] = 0
    
    
if(is_user_alive(id))
    {
        if(
get_user_weapon(id) == CSW_KNIFE)
            
set_pev(idpev_viewmodel2g_OldKnifeModel[id])
        
        static 
MyOldWeaponMyOldWeapon g_OldWeapon[id]
        static 
Classname[64]; get_weaponname(MyOldWeaponClassnamesizeof(Classname))
        
engclient_cmd(idClassname)
    }
    
    
g_InDoingEmo[id] = 0
}

public 
fw_CmdStart(iduc_handleseed)
{
    if(!
is_user_alive(id))
        return

    
    if(!
g_InDoingEmo[id] && g_UseType == 2)
    {
        static 
UseButtonUseOldButton
        UseButton 
= (get_uc(uc_handleUC_Buttons) & IN_RELOAD)
        
UseOldButton = (pev(idpev_oldbuttons) & IN_RELOAD)
        
        if(
UseButton)
        {
            if(!
UseOldButton && !g_InDoingEmo[id])
            {
                
g_HoldingButton[id] = 1
                set_task
(BUTTON_HOLDTIME"Open_EmoMenu2"id+TASK_HOLDTIME)
            }
        } else {
            if(
UseOldButton && g_HoldingButton[id])
            {
                if(
task_exists(id+TASK_HOLDTIME)) 
                {
                    
remove_task(id+TASK_HOLDTIME)
                    
g_HoldingButton[id] = 0
                
}
            }
        }    
        
        return
    }
        
    static 
CurButtonCurButton get_uc(uc_handleUC_Buttons)
    
    if((
CurButton IN_ATTACK) || (CurButton IN_ATTACK2) || (CurButton IN_DUCK) || (CurButton IN_JUMP))
    {
        
Do_Reset_Emotion(id)
        return
    }
    
    static 
Float:Velocity[3], Float:Vector
    pev
(idpev_velocityVelocity); Vector vector_length(Velocity)
    
    if(
Vector != 0.0)
    {
        
Do_Reset_Emotion(id)
        return
    }
    
    
/*
    if(get_user_weapon(id) != CSW_KNIFE)
    {
        Do_Reset_Emotion(id)
        return
    }*/
}

public 
fw_AddToFullPack_Post(es_handleenthosthostflagsplayerpSet)
{
    if(!
is_user_alive(host) && !pev_valid(ent))
        return 
FMRES_IGNORED
    
if(g_AnimEnt[host] != ent)
        return 
FMRES_IGNORED
            
    set_es
(es_handleES_Effectsget_es(es_handleES_Effects) | EF_NODRAW)
    return 
FMRES_IGNORED
}

public 
fw_Think(ent)
{
    if(!
pev_valid(ent))
        return
        
    static 
Classname[64]
    
pev(entpev_classnameClassnamesizeof(Classname))
    
    if(
equal(Classname"AnimEnt"))
    {
        static 
idid pev(entpev_owner)
        if(!
is_user_alive(id))
            return
            
        
// Set Player Emotion
        
static Float:Angles[3], Float:Angles2[3]
        
        
pev(idpev_anglesAngles)
        
pev(entpev_anglesAngles2)
        
        
Angles[0] = 0.0Angles[2] = 0.0
        
        
if(Angles[1] != Angles2[1]) set_pev(entpev_anglesAngles)
        
set_pev(entpev_nextthinkget_gametime() + 0.05)
        
        if(
pev(entpev_effects) == (pev(entpev_effects) | EF_NODRAW)) Set_Entity_Invisible(ent0)
    }
}

stock fm_cs_get_user_model(idModel[], Len)
{
    if(!
is_user_connected(id))
        return
        
    
engfunc(EngFunc_InfoKeyValueengfunc(EngFunc_GetInfoKeyBufferid), "model"ModelLen)
}

stock Set_Entity_Invisible(entInvisible 1)
{
    if(!
pev_valid(ent))
        return
        
    
set_pev(entpev_effectsInvisible == pev(entpev_effects) & ~EF_NODRAW pev(entpev_effects) | EF_NODRAW)
}

stock Set_Entity_Anim(entAnimResetFrame)
{
    if(!
pev_valid(ent))
        return
        
    
set_pev(entpev_animtimeget_gametime())
    
set_pev(entpev_framerate1.0)
    
set_pev(entpev_sequenceAnim)
    if(
ResetFrameset_pev(entpev_frame0)
}


stock Set_Weapon_Anim(idAnim)
{
    if(!
is_user_alive(id))
        return
        
    
set_pev(idpev_weaponanimAnim)

    
message_begin(MSG_ONE_UNRELIABLESVC_WEAPONANIM_id)
    
write_byte(Anim)
    
write_byte(pev(idpev_body))
    
message_end()
}

stock client_printc(index, const text[], any:...)
{
    new 
szMsg[128];
    
vformat(szMsgsizeof(szMsg) - 1text3);

    
replace_all(szMsgsizeof(szMsg) - 1"!g""^x04");
    
replace_all(szMsgsizeof(szMsg) - 1"!n""^x01");
    
replace_all(szMsgsizeof(szMsg) - 1"!t""^x03");

    if(
index == 0)
    {
        for(new 
1<= g_MaxPlayersi++)
        {
            if(!
is_user_connected(i))
                continue
            
            
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _i)
            
write_byte(i)
            
write_string(szMsg)
            
message_end()
        }        
    } else {
        
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _index);
        
write_byte(index);
        
write_string(szMsg);
        
message_end();
    }

Attached Files
File Type: sma Get Plugin or Get Source (DiasCSOEmotions.sma - 228 views - 11.4 KB)
__________________
georgik57 is offline
Send a message via MSN to georgik57 Send a message via Yahoo to georgik57 Send a message via Skype™ to georgik57
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 07:18.


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