All pastes #424066 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-04-04 15:37 UTC
rendered paste body
block 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
	}
}