User Messages

From AlliedModders Wiki
Revision as of 22:54, 21 November 2014 by Chdata (talk | contribs) (Add TF2 ones so I can stop meta gaming all the time.)
Jump to: navigation, search

This is just a dump of some stuff for now, needs a complete revamp later. Here's a topic on the subject as well: https://forums.alliedmods.net/showthread.php?t=80256 and here http://forums.alliedmods.net/showthread.php?t=52777

Counter-Strike: Source User Messages

List obtained by using 'meta game' in the console

 User Messages:  Name                              Index  Size 
                 Geiger                            0      1    
                 Train                             1      1    
                 HudText                           2      -1   
                 SayText                           3      -1   
                 SayText2                          4      -1   
                 TextMsg                           5      -1   
                 HudMsg                            6      -1   
                 ResetHUD                          7      1    
                 GameTitle                         8      0    
                 ItemPickup                        9      -1   
                 ShowMenu                          10     -1   
                 Shake                             11     13   
                 Fade                              12     10   
                 VGUIMenu                          13     -1   
                 Rumble                            14     3    
                 CloseCaption                      15     -1   
                 SendAudio                         16     -1   
                 RawAudio                          17     -1   
                 VoiceMask                         18     25   
                 RequestState                      19     0    
                 BarTime                           20     -1   
                 Damage                            21     -1   
                 RadioText                         22     -1   
                 HintText                          23     -1   
                 KeyHintText                       24     -1   
                 ReloadEffect                      25     2    
                 PlayerAnimEvent                   26     -1   
                 AmmoDenied                        27     2    
                 UpdateRadar                       28     -1   
                 KillCam                           29     -1   
                 MarkAchievement                   30     -1   
                 CallVoteFailed                    31     -1   
                 VoteStart                         32     -1   
                 VotePass                          33     -1   
                 VoteFailed                        34     2    
                 VoteSetup                         35     -1   
                 SPHapWeapEvent                    36     4    
                 HapDmg                            37     -1   
                 HapPunch                          38     -1   
                 HapSetDrag                        39     -1   
                 HapSetConst                       40     -1   
                 HapMeleeContact                   41     0    
                 PlayerStatsUpdate_DEPRECATED      42     -1   
                 AchievementEvent                  43     -1   
                 MatchEndConditions                44     -1   
                 MatchStatsUpdate                  45     -1   
                 PlayerStatsUpdate                 46     -1   
 47 user messages in total


Left 4 Dead 2 User Messages

For vote specific user messages see http://wiki.alliedmods.net/Left_4_Voting_2

 User Messages:  Name                              Index  Size Parameter types
                 SayText2                          4      -1
                 TextMsg                           5      -1
                 HudMsg                            6      -1
                 ResetHUD                          7      1
                 GameTitle                         8      0
                 ItemPickup                        9      -1
                 ShowMenu                          10     -1
                 Shake                             11     13
                 Fade                              12     10
                 VGUIMenu                          13     -1	string, bool, string (keyvalues)
                 Rumble                            14     3
                 CloseCaption                      15     -1
                 CloseCaptionDirect                16     -1
                 SendAudio                         17     -1
                 RawAudio                          18     -1
                 VoiceMask                         19     9
                 RequestState                      20     0
                 BarTime                           21     -1
                 Damage                            22     -1
                 RadioText                         23     -1
                 HintText                          24     -1
                 KeyHintText                       25     -1
                 ReloadEffect                      26     4
                 PlayerAnimEvent                   27     -1
                 AmmoDenied                        28     2
                 UpdateRadar                       29     -1
                 KillCam                           30     -1
                 MarkAchievement                   31     -1
                 Splatter                          32     1
                 MeleeSlashSplatter                33     1
                 MeleeClubSplatter                 34     1
                 MudSplatter                       35     1
                 SplatterClear                     36     0
                 MessageText                       37     -1
                 TransitionRestore                 38     0
                 Spawn                             39     1
                 CreditsLine                       40     -1
                 CreditsMsg                        41     0
                 JoinLateMsg                       42     0
                 StatsCrawlMsg                     43     0
                 StatsSkipState                    44     2
                 ShowStats                         45     -1
                 BlurFade                          46     0
                 MusicCmd                          47     -1
                 WitchBloodSplatter                48     -1	vec[3]
                 AchievementEvent                  49     -1
                 PZDmgMsg                          50     -1
                 AllPlayersConnectedGameStarting   51     0
                 VoteRegistered                    52     1
                 DisconnectToLobby                 53     0	empty
                 CallVoteFailed                    54     1
                 SteamWeaponStatData               55     -1
                 CurrentTimescale                  56     4
                 DesiredTimescale                  57     16
                 PZEndGamePanelMsg                 58     1
                 PZEndGamePanelVoteRegisteredMsg   59     1
                 PZEndGameVoteStatsMsg             60     8
                 VoteStart                         61     -1
                 VotePass                          62     -1
                 VoteFail                          63     1


Team Fortress 2 User Messages

 User Messages:  Name                              Index  Size
                 Geiger                            0      1
                 Train                             1      1
                 HudText                           2      -1
                 SayText                           3      -1
                 SayText2                          4      -1
                 TextMsg                           5      -1
                 ResetHUD                          6      1
                 GameTitle                         7      0
                 ItemPickup                        8      -1
                 ShowMenu                          9      -1
                 Shake                             10     13
                 Fade                              11     10
                 VGUIMenu                          12     -1
                 Rumble                            13     3
                 CloseCaption                      14     -1
                 SendAudio                         15     -1
                 VoiceMask                         16     17
                 RequestState                      17     0
                 Damage                            18     -1
                 HintText                          19     -1
                 KeyHintText                       20     -1
                 HudMsg                            21     -1
                 AmmoDenied                        22     2
                 AchievementEvent                  23     -1
                 UpdateRadar                       24     -1
                 VoiceSubtitle                     25     3
                 HudNotify                         26     1
                 HudNotifyCustom                   27     -1
                 PlayerStatsUpdate                 28     -1
                 MapStatsUpdate                    29     -1
                 PlayerIgnited                     30     3
                 PlayerIgnitedInv                  31     3
                 HudArenaNotify                    32     2
                 UpdateAchievement                 33     -1
                 TrainingMsg                       34     -1
                 TrainingObjective                 35     -1
                 DamageDodged                      36     -1
                 PlayerJarated                     37     2
                 PlayerExtinguished                38     2
                 PlayerJaratedFade                 39     2
                 PlayerShieldBlocked               40     2
                 BreakModel                        41     -1
                 CheapBreakModel                   42     -1
                 BreakModel_Pumpkin                43     -1
                 BreakModelRocketDud               44     -1
                 CallVoteFailed                    45     -1
                 VoteStart                         46     -1
                 VotePass                          47     -1
                 VoteFailed                        48     2
                 VoteSetup                         49     -1
                 PlayerBonusPoints                 50     3
                 RDTeamPointsChanged               51     4
                 SpawnFlyingBird                   52     -1
                 PlayerGodRayEffect                53     -1
                 PlayerTeleportHomeEffect          54     -1
                 MVMStatsReset                     55     -1
                 MVMPlayerEvent                    56     -1
                 MVMResetPlayerStats               57     -1
                 MVMWaveFailed                     58     0
                 MVMAnnouncement                   59     2
                 MVMPlayerUpgradedEvent            60     9
                 MVMVictory                        61     2
                 MVMWaveChange                     62     15
                 MVMLocalPlayerUpgradesClear       63     1
                 MVMLocalPlayerUpgradesValue       64     6
                 MVMResetPlayerWaveSpendingStats   65     1
                 MVMLocalPlayerWaveSpendingValue   66     12
                 MVMResetPlayerUpgradeSpending     67     -1
                 MVMServerKickTimeUpdate           68     1
                 PlayerLoadoutUpdated              69     -1
                 PlayerTauntSoundLoopStart         70     -1
                 PlayerTauntSoundLoopEnd           71     -1
                 WarKilledOther                    72     -1
                 ForcePlayerViewAngles             73     -1
                 BonusDucks                        74     1
                 SPHapWeapEvent                    75     4
                 HapDmg                            76     -1
                 HapPunch                          77     -1
                 HapSetDrag                        78     -1
                 HapSetConst                       79     -1
                 HapMeleeContact                   80     0

Fade Flags

These may not be correct...

FFADE_IN            0x0001        // Just here so we don't pass 0 into the function
FFADE_OUT           0x0002        // Fade out (not in)
FFADE_MODULATE      0x0004        // Modulate (don't blend)
FFADE_STAYOUT       0x0008        // ignores the duration, stays faded out until new ScreenFade message received
FFADE_PURGE         0x0010        // Purges all other fades, replacing them with this one

Fade Function

Example Fade function (be sure to define the Fade Flags!)

This Fades the clients screen to a specified color, and stays until you reset the color to {0,0,0,0}

To modify it to Fade the screen for a certain amount of time, remove the STAYOUT flag, and pass a value to "fade & hold"

PerformFade(target, 500, {0, 128, 255, 51})
PerformFade(client, duration, const color[4]) {
	new Handle:hFadeClient=StartMessageOne("Fade",client)
	BfWriteShort(hFadeClient,duration)	// FIXED 16 bit, with SCREENFADE_FRACBITS fractional, milliseconds duration
	BfWriteShort(hFadeClient,0)		// FIXED 16 bit, with SCREENFADE_FRACBITS fractional, milliseconds duration until reset (fade & hold)
	BfWriteShort(hFadeClient,(FFADE_PURGE|FFADE_OUT|FFADE_STAYOUT)) // fade type (in / out)
	BfWriteByte(hFadeClient,color[0])	// fade red
	BfWriteByte(hFadeClient,color[1])	// fade green
	BfWriteByte(hFadeClient,color[2])	// fade blue
	BfWriteByte(hFadeClient,color[3])	// fade alpha
	EndMessage()
}

HudMsg Function

This does not work in CS:S.

This Draws a text Message to a specified players screen. This is just for educational purposes and there is a much easier way of doing this with native functions here: http://docs.sourcemod.net/api/index.php?fastload=show&id=846& & http://docs.sourcemod.net/api/index.php?fastload=show&id=842&

PerformHudMsg(client, "This is a Test")
PerformHudMsg(client, const String:szMsg[]) {
	new Handle:hBf = StartMessageOne("HudMsg", client)
	BfWriteByte(hBf, 3) //channel
	BfWriteFloat(hBf, 0.0); // x ( -1 = center )
	BfWriteFloat(hBf, -1); // y ( -1 = center )
	// second color
	BfWriteByte(hBf, 0); //r1
	BfWriteByte(hBf, 0); //g1
	BfWriteByte(hBf, 255); //b1
	BfWriteByte(hBf, 255); //a1 // transparent?
	// init color
	BfWriteByte(hBf, 255); //r2
	BfWriteByte(hBf, 0); //g2
	BfWriteByte(hBf, 0); //b2
	BfWriteByte(hBf, 255); //a2
	BfWriteByte(hBf, 0); //effect (0 is fade in/fade out; 1 is flickery credits; 2 is write out)
	BfWriteFloat(hBf, 1.0); //fadeinTime (message fade in time - per character in effect 2)
	BfWriteFloat(hBf, 1.0); //fadeoutTime
	BfWriteFloat(hBf, 15.0); //holdtime
	BfWriteFloat(hBf, 5.0); //fxtime (effect type(2) used)
	BfWriteString(hBf, szMsg); //Message
	EndMessage();
}

HookUserMessage Fade

Some sample code to hook a UserMessage, In this case Fade. You cannot send other UserMessages inside of a UserMessage Hook. Many simple functions such as PrintToChat call UserMessages.

public OnPluginStart() {
    HookUserMessage(GetUserMessageId("Fade"),HookFade,true)
}
public Action:HookFade(UserMsg:msg_id, Handle:bf, const players[], playersNum, bool:reliable, bool:init) {
	new duration = BfReadShort(bf)
	new holdtime = BfReadShort(bf)
	BfReadShort(bf) 	//You must read all of the bf values, even If you only want the last value such as this one.
	new r = BfReadByte(bf) 	//You do NOT need to store their value though.
	new g = BfReadByte(bf)
	new b = BfReadByte(bf)
	new a = BfReadByte(bf)
	
	PrintToServer("Duration: %i, HoldTime: %i, rgba: %i %i %i %i",duration,holdtime,r,g,b,a)
}