rendered paste bodyblock config
{
// Set this to how long the bubbles should last for, in seconds.
es_xset emote_lifetime 2.5
}
block load
{
es_xset emote_version v1.0
es_xmakepublic emote_version
es_xset emote_lifetime 2.5
es_xdoblock emote/config
es_xset emote 0
es_xset emote_exists 0
es_xset emote_format 0
es_xset emote_format2 0
es_xset emote_format3 0
es_xset emote_index 0
es_xset emote_isdead 0
es_xset emote_vec 0
es_xset emote_x 0
es_xset emote_y 0
es_xset emote_z 0
downloadable materials/models/extras/mbang/speech_info.vmt
downloadable materials/models/extras/mbang/speech_info.vtf
downloadable models/extras/mbang/info_speech.dx80.vtx
downloadable models/extras/mbang/info_speech.dx90.vtx
downloadable models/extras/mbang/info_speech.mdl
downloadable models/extras/mbang/info_speech.phy
downloadable models/extras/mbang/info_speech.sw.vtx
downloadable models/extras/mbang/info_speech.vvd
downloadable models/extras/mbang/info_speech.xbox.vtv
downloadable materials/models/extras/smile/speech_info.vmt
downloadable materials/models/extras/smile/speech_info.vtf
downloadable models/extras/smile/info_speech.dx80.vtx
downloadable models/extras/smile/info_speech.dx90.vtx
downloadable models/extras/smile/info_speech.mdl
downloadable models/extras/smile/info_speech.phy
downloadable models/extras/smile/info_speech.sw.vtx
downloadable models/extras/smile/info_speech.vvd
downloadable models/extras/smile/info_speech.xbox.vtv
downloadable materials/models/extras/frown/speech_info.vmt
downloadable materials/models/extras/frown/speech_info.vtf
downloadable models/extras/frown/info_speech.dx80.vtx
downloadable models/extras/frown/info_speech.dx90.vtx
downloadable models/extras/frown/info_speech.mdl
downloadable models/extras/frown/info_speech.phy
downloadable models/extras/frown/info_speech.sw.vtx
downloadable models/extras/frown/info_speech.vvd
downloadable models/extras/frown/info_speech.xbox.vtv
downloadable materials/models/extras/grin/speech_info.vmt
downloadable materials/models/extras/grin/speech_info.vtf
downloadable models/extras/grin/info_speech.dx80.vtx
downloadable models/extras/grin/info_speech.dx90.vtx
downloadable models/extras/grin/info_speech.mdl
downloadable models/extras/grin/info_speech.phy
downloadable models/extras/grin/info_speech.sw.vtx
downloadable models/extras/grin/info_speech.vvd
downloadable models/extras/grin/info_speech.xbox.vtv
keygroupremove emote_ents
keygroupremove emote_entsnew
keygroupremove emote_wait
es_keygroupcreate
es_xmsg #multi "#lightgreen[#greenemote#lightgreen]#green CSS Emote has been loaded!"
if (server_var(eventscripts_currentmap) notequalto 0) do
{
es_xprecachemodel extras/smile/info_speech
es_xprecachemodel extras/mbang/info_speech
es_xprecachemodel extras/frown/info_speech
es_xprecachemodel extras/grin/info_speech
}
}
event es_map_start
{
es_xprecachemodel extras/smile/info_speech
es_xprecachemodel extras/mbang/info_speech
es_xprecachemodel extras/frown/info_speech
es_xprecachemodel extras/grin/info_speech
downloadable materials/models/extras/mbang/speech_info.vmt
downloadable materials/models/extras/mbang/speech_info.vtf
downloadable models/extras/mbang/info_speech.dx80.vtx
downloadable models/extras/mbang/info_speech.dx90.vtx
downloadable models/extras/mbang/info_speech.mdl
downloadable models/extras/mbang/info_speech.phy
downloadable models/extras/mbang/info_speech.sw.vtx
downloadable models/extras/mbang/info_speech.vvd
downloadable models/extras/mbang/info_speech.xbox.vtv
downloadable materials/models/extras/smile/speech_info.vmt
downloadable materials/models/extras/smile/speech_info.vtf
downloadable models/extras/smile/info_speech.dx80.vtx
downloadable models/extras/smile/info_speech.dx90.vtx
downloadable models/extras/smile/info_speech.mdl
downloadable models/extras/smile/info_speech.phy
downloadable models/extras/smile/info_speech.sw.vtx
downloadable models/extras/smile/info_speech.vvd
downloadable models/extras/smile/info_speech.xbox.vtv
downloadable materials/models/extras/frown/speech_info.vmt
downloadable materials/models/extras/frown/speech_info.vtf
downloadable models/extras/frown/info_speech.dx80.vtx
downloadable models/extras/frown/info_speech.dx90.vtx
downloadable models/extras/frown/info_speech.mdl
downloadable models/extras/frown/info_speech.phy
downloadable models/extras/frown/info_speech.sw.vtx
downloadable models/extras/frown/info_speech.vvd
downloadable models/extras/frown/info_speech.xbox.vtv
downloadable materials/models/extras/grin/speech_info.vmt
downloadable materials/models/extras/grin/speech_info.vtf
downloadable models/extras/grin/info_speech.dx80.vtx
downloadable models/extras/grin/info_speech.dx90.vtx
downloadable models/extras/grin/info_speech.mdl
downloadable models/extras/grin/info_speech.phy
downloadable models/extras/grin/info_speech.sw.vtx
downloadable models/extras/grin/info_speech.vvd
downloadable models/extras/grin/info_speech.xbox.vtv
}
event player_say
{
if ("m!" in event_var(text)) do
{
es_xset emote "prop_dynamic_create extras/mbang/info_speech.mdl"
es_xdoblock emote/dobubble
}
if (":)" in event_var(text)) do
{
es_xset emote "prop_dynamic_create extras/smile/info_speech.mdl"
es_xdoblock emote/dobubble
}
if (":(" in event_var(text)) do
{
es_xset emote "prop_dynamic_create extras/frown/info_speech.mdl"
es_xdoblock emote/dobubble
}
if ("lol" in event_var(text)) do
{
es_xset emote "prop_dynamic_create extras/grin/info_speech.mdl"
es_xdoblock emote/dobubble
}
}
block dobubble
{
es_exists emote_exists key emote_wait event_var(userid)
ifx false(emote_exists) do
{
es_getplayerprop emote_isdead event_var(userid) CBasePlayer.pl.deadflag
ifx false(emote_isdead) do
{
// Create the speech bubble.
es_xcreateentitylist emote_ents prop_dynamic
es cheatexec event_var(userid) server_var(emote)
es_xcreateentitylist emote_entsnew prop_dynamic
// Look for our speech bubble.
es_xforeachkey emote_index in emote_entsnew "es_xdoblock
emote/dobubble_inner"
es_xkeygroupdelete emote_ents
es_xkeygroupdelete emote_entsnew
}
}
}
block dobubble_inner
{
es_exists emote_exists key emote_ents server_var(emote_index)
ifx false(emote_exists) do
{
// Set the entity's origin.
// We want it above the player's head, so get their location first and then
move it along the Z-axis.
es_getplayerlocation emote_x emote_y emote_z event_var(userid)
es_xmath emote_z + 96
es_createvectorstring emote_vec server_var(emote_x) server_var(emote_y)
server_var(emote_z)
es_setindexprop server_var(emote_index) CBaseEntity.m_vecOrigin server_var
(emote_vec)
// Set the entity's targetname and make it follow the user.
es_format emote_format emote_bubble%1 event_var(userid)
es est_setentname server_var(emote_index) server_var(emote_format)
es_format emote_format2 emote_user%1 event_var(userid)
es_xformatv emote_format3 "targetname %1" emote_format2
es_fire event_var(userid) !self addoutput server_var(emote_format3)
es_fire event_var(userid) server_var(emote_format) SetParent server_var
(emote_format2)
es_fire event_var(userid) server_var(emote_format) SetAnimation idle
es_fire event_var(userid) server_var(emote_format) addoutput "angles 0 0 0"
es_fire event_var(userid) server_var(emote_format) addoutput "solid 0"
es_xformatv emote_format2 "OnUser1 !self,Kill,,%1,1" emote_lifetime
es_fire event_var(userid) server_var(emote_format) addoutput server_var
(emote_format2)
es_fire event_var(userid) server_var(emote_format) FireUser1
}
}