Difference between revisions of "User Messages"

From AlliedModders Wiki
Jump to: navigation, search
(Fade Function)
(Added L4D2 user messages with parameter types of some of them)
Line 35: Line 35:
 
                   KillCam                          27    -1   
 
                   KillCam                          27    -1   
 
   28 user messages in total
 
   28 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
  
 
=== Fade Flags ===
 
=== Fade Flags ===

Revision as of 12:30, 2 September 2013

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   
                 CloseCaption                      14     7    
                 SendAudio                         15     -1   
                 RawAudio                          16     -1   
                 VoiceMask                         17     17   
                 RequestState                      18     0    
                 BarTime                           19     -1   
                 Damage                            20     -1   
                 RadioText                         21     -1   
                 HintText                          22     -1   
                 ReloadEffect                      23     2    
                 PlayerAnimEvent                   24     -1   
                 AmmoDenied                        25     2    
                 UpdateRadar                       26     -1   
                 KillCam                           27     -1   
 28 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

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)
}