Skip to content

Commit 6705463

Browse files
authored
Updated sorce scripts to newset update
A rather large overhaul separated users into teams and fixed the background. Removed separators because of Respawn weirdness.
1 parent 85820f2 commit 6705463

File tree

2 files changed

+176
-91
lines changed

2 files changed

+176
-91
lines changed

PlayerPing/mod.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"Description": "Shows the ping of connected players in a server. Overlay is toggled with the F1 key.",
44
"LoadPriority": 2,
55
"RequiredOnClient": false,
6-
"Version": "2.6",
6+
"Version": "3.0",
77

88
"Scripts": [
99
{

PlayerPing/mod/scripts/vscripts/playerping.nut

+175-90
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ global function playerPingPreCache
44
struct{
55
// Settings below to change the appearance of the display
66
float size = 20 // UI element Size, basically it's bounding box kinda I think
7-
float verticalPos = 0.00 // Vertical Postion on-screen. 0.00 is max up, 1.00 is max down, default 0.00
8-
float horizPos = 0.68 // Horizontal position on-screen. 0.00 is max left, 1.00 is max right, default 0.68
97
vector color = Vector(1.0, 1.0, 1.0) //color of on-screen display, standard rgb values. Supported Range 0.00 to 1.00. For easy conversion of standard rgb values that look like 255,255,255 (white) lookup a rgb value to percentage converter. 1.00 would be considered 100% 0.50 for 50%, etc..
108
float alpha = 0.6 // this is the opacity of the on-screen display, 1.00 is solid, 0.00 would be completely see through and such will be invisible.
119
float textSize = 19 // value for font size, 19 is default
@@ -25,6 +23,18 @@ var playerName = null
2523
var playerKD = null
2624
var background = null
2725

26+
var friendlyHeader = null
27+
var friendlyTeamMates = null
28+
var friendlyKD = null
29+
var friendlyPing = null
30+
31+
var enemyHeader = null
32+
var enemyTeam = null
33+
var enemyKD = null
34+
var enemyPing = null
35+
float shifter = 0
36+
float horzShifter = 0
37+
2838
void function playerPingPreCache(){
2939
thread menusTread()
3040
}
@@ -47,129 +57,204 @@ void function displayPings(){
4757
RegisterButtonPressedCallback(KEY_F1, displayOn)
4858
}
4959

50-
5160
void function displayOn(var button){
5261
entity player = GetLocalClientPlayer()
5362
script.show = !script.show
5463
if(!script.show){
55-
RuiDestroyIfAlive(playerPing)
56-
RuiDestroyIfAlive(playerName)
57-
RuiDestroyIfAlive(playerKD)
64+
RuiDestroyIfAlive(friendlyHeader)
65+
RuiDestroyIfAlive(friendlyTeamMates)
66+
RuiDestroyIfAlive(friendlyKD)
67+
RuiDestroyIfAlive(friendlyPing)
68+
RuiDestroyIfAlive(enemyHeader)
69+
RuiDestroyIfAlive(enemyTeam)
70+
RuiDestroyIfAlive(enemyKD)
71+
RuiDestroyIfAlive(enemyPing)
5872
if(settings.addBackground){
5973
if(background != null){
6074
RuiDestroyIfAlive(background)
6175
}
6276
}
6377
}
6478
if(script.show){
65-
thread playerNameDisplay()
79+
thread friendlyTeamDisplay()
80+
thread enemyTeamDisplay()
6681
if(settings.addBackground){
6782
thread backgroundCreate()
6883
}
6984
EmitSoundOnEntity(player, "menu_click")
85+
thread playerPingBrain()
7086
}
7187
}
7288

7389
void function backgroundCreate(){
74-
background = RuiCreate($"ui/scoreboard_background.rpak", clGlobal.topoCockpitHudPermanent, RUI_DRAW_COCKPIT, 10)
90+
background = RuiCreate($"ui/scoreboard_background.rpak", clGlobal.topoFullScreen, RUI_DRAW_HUD, 10)
7591
}
92+
struct{
93+
float vertPos = 0.50
94+
}overlay
95+
void function friendlyTeamDisplay(){
96+
friendlyHeader = RuiCreate($"ui/cockpit_console_text_top_left.rpak", clGlobal.topoFullScreen, RUI_DRAW_HUD, 15)
97+
RuiSetInt(friendlyHeader, "lineNum", 1)
98+
RuiSetFloat2(friendlyHeader, "msgPos", <0.68, 0.0, 0.0>)
99+
RuiSetString(friendlyHeader, "msgText", "Your Team \n---------------------------------------------------" )
100+
RuiSetFloat(friendlyHeader, "msgFontSize", 21)
101+
RuiSetFloat(friendlyHeader, "msgAlpha", settings.alpha)
102+
RuiSetFloat(friendlyHeader, "thicken", settings.boldVal)
103+
RuiSetFloat3(friendlyHeader, "msgColor", settings.color)
76104

77-
void function playerNameDisplay(){
78-
playerName = RuiCreate($"ui/cockpit_console_text_top_left.rpak", clGlobal.topoCockpitHudPermanent, RUI_DRAW_COCKPIT, 15)
79-
RuiSetInt(playerName, "lineNum", 1)
80-
RuiSetFloat2(playerName, "msgPos", <settings.horizPos, settings.verticalPos, 0.0>)
81-
RuiSetString(playerName, "msgText", "Name Display" )
82-
RuiSetFloat(playerName, "msgFontSize", settings.textSize)
83-
RuiSetFloat(playerName, "msgAlpha", settings.alpha)
84-
RuiSetFloat(playerName, "thicken", settings.boldVal)
85-
RuiSetFloat3(playerName, "msgColor", settings.color)
86-
87-
thread playerKDs()
88-
}
105+
friendlyTeamMates = RuiCreate($"ui/cockpit_console_text_top_left.rpak", clGlobal.topoFullScreen, RUI_DRAW_HUD, 15)
106+
RuiSetInt(friendlyTeamMates, "lineNum", 1)
107+
RuiSetFloat2(friendlyTeamMates, "msgPos", <0.68, 0.04, 0.0>)
108+
RuiSetString(friendlyTeamMates, "msgText", "Name Display" )
109+
RuiSetFloat(friendlyTeamMates, "msgFontSize", settings.textSize)
110+
RuiSetFloat(friendlyTeamMates, "msgAlpha", settings.alpha)
111+
RuiSetFloat(friendlyTeamMates, "thicken", settings.boldVal)
112+
RuiSetFloat3(friendlyTeamMates, "msgColor", settings.color)
89113

90-
void function playerKDs(){
91-
playerKD = RuiCreate($"ui/cockpit_console_text_top_left.rpak", clGlobal.topoCockpitHudPermanent, RUI_DRAW_COCKPIT, 15)
92-
RuiSetInt(playerKD, "lineNum", 1)
93-
RuiSetFloat2(playerKD, "msgPos", <settings.horizPos, settings.verticalPos, 0.0>)
94-
RuiSetString(playerKD, "msgText", "KD Display" )
95-
RuiSetFloat(playerKD, "msgFontSize", settings.textSize)
96-
RuiSetFloat(playerKD, "msgAlpha", settings.alpha)
97-
RuiSetFloat(playerKD, "thicken", settings.boldVal)
98-
RuiSetFloat3(playerKD, "msgColor", settings.color)
99-
100-
thread playerPingDisplay()
114+
friendlyKD = RuiCreate($"ui/cockpit_console_text_top_left.rpak", clGlobal.topoFullScreen, RUI_DRAW_HUD, 15)
115+
RuiSetInt(friendlyKD, "lineNum", 1)
116+
RuiSetFloat2(friendlyKD, "msgPos", <0.83, 0.04, 0.0>)
117+
RuiSetString(friendlyKD, "msgText", "fKD Display" )
118+
RuiSetFloat(friendlyKD, "msgFontSize", settings.textSize)
119+
RuiSetFloat(friendlyKD, "msgAlpha", settings.alpha)
120+
RuiSetFloat(friendlyKD, "thicken", settings.boldVal)
121+
RuiSetFloat3(friendlyKD, "msgColor", settings.color)
122+
123+
friendlyPing = RuiCreate($"ui/cockpit_console_text_top_left.rpak", clGlobal.topoFullScreen, RUI_DRAW_HUD, 15)
124+
RuiSetInt(friendlyPing, "lineNum", 1)
125+
RuiSetFloat2(friendlyPing, "msgPos", <0.93, 0.04, 0.0>)
126+
RuiSetString(friendlyPing, "msgText", "fPing Display" )
127+
RuiSetFloat(friendlyPing, "msgFontSize", settings.textSize)
128+
RuiSetFloat(friendlyPing, "msgAlpha", settings.alpha)
129+
RuiSetFloat(friendlyPing, "thicken", settings.boldVal)
130+
RuiSetFloat3(friendlyPing, "msgColor", settings.color)
101131
}
102-
void function playerPingDisplay(){
103-
playerPing = RuiCreate($"ui/cockpit_console_text_top_left.rpak", clGlobal.topoCockpitHudPermanent, RUI_DRAW_COCKPIT, 15)
104-
RuiSetInt(playerPing, "lineNum", 1)
105-
RuiSetFloat2(playerPing, "msgPos", <settings.horizPos, settings.verticalPos, 0.0>)
106-
RuiSetString(playerPing, "msgText", "Ping Display" )
107-
RuiSetFloat(playerPing, "msgFontSize", settings.textSize)
108-
RuiSetFloat(playerPing, "msgAlpha", settings.alpha)
109-
RuiSetFloat(playerPing, "thicken", settings.boldVal)
110-
RuiSetFloat3(playerPing, "msgColor", settings.color)
111-
thread playerPingBrain()
132+
void function enemyTeamDisplay(){
133+
shifter = 0
134+
enemyHeader = RuiCreate($"ui/cockpit_console_text_top_left.rpak", clGlobal.topoFullScreen, RUI_DRAW_HUD, 15)
135+
RuiSetInt(enemyHeader, "lineNum", 1)
136+
RuiSetFloat2(enemyHeader, "msgPos", <0.68, overlay.vertPos, 0.0>)
137+
RuiSetString(enemyHeader, "msgText", "Enemy Team \n--------------------------------------------------------" )
138+
RuiSetFloat(enemyHeader, "msgFontSize", settings.textSize)
139+
RuiSetFloat(enemyHeader, "msgAlpha", settings.alpha)
140+
RuiSetFloat(enemyHeader, "thicken", settings.boldVal)
141+
RuiSetFloat3(enemyHeader, "msgColor", settings.color)
142+
143+
shifter = overlay.vertPos + 0.04
144+
145+
enemyTeam = RuiCreate($"ui/cockpit_console_text_top_left.rpak", clGlobal.topoFullScreen, RUI_DRAW_HUD, 20)
146+
RuiSetInt(enemyTeam, "lineNum", 1)
147+
RuiSetFloat2(enemyTeam, "msgPos", <0.68, shifter, 0.0>)
148+
RuiSetString(enemyTeam, "msgText", "eName Display" )
149+
RuiSetFloat(enemyTeam, "msgFontSize", settings.textSize)
150+
RuiSetFloat(enemyTeam, "msgAlpha", settings.alpha)
151+
RuiSetFloat(enemyTeam, "thicken", settings.boldVal)
152+
RuiSetFloat3(enemyTeam, "msgColor", settings.color)
153+
154+
enemyKD = RuiCreate($"ui/cockpit_console_text_top_left.rpak", clGlobal.topoFullScreen, RUI_DRAW_HUD, 20)
155+
RuiSetInt(enemyKD, "lineNum", 1)
156+
RuiSetFloat2(enemyKD, "msgPos", <0.83, shifter, 0.0>)
157+
RuiSetString(enemyKD, "msgText", "Name Display" )
158+
RuiSetFloat(enemyKD, "msgFontSize", settings.textSize)
159+
RuiSetFloat(enemyKD, "msgAlpha", settings.alpha)
160+
RuiSetFloat(enemyKD, "thicken", settings.boldVal)
161+
RuiSetFloat3(enemyKD, "msgColor", settings.color)
162+
163+
enemyPing = RuiCreate($"ui/cockpit_console_text_top_left.rpak", clGlobal.topoFullScreen, RUI_DRAW_HUD, 20)
164+
RuiSetInt(enemyPing, "lineNum", 1)
165+
RuiSetFloat2(enemyPing, "msgPos", <0.93, shifter, 0.0>)
166+
RuiSetString(enemyPing, "msgText", "Name Display" )
167+
RuiSetFloat(enemyPing, "msgFontSize", settings.textSize)
168+
RuiSetFloat(enemyPing, "msgAlpha", settings.alpha)
169+
RuiSetFloat(enemyPing, "thicken", settings.boldVal)
170+
RuiSetFloat3(enemyPing, "msgColor", settings.color)
171+
112172
}
113173

174+
// Updates the leaderboard overlay
114175
void function playerPingBrain(){
115-
string nameString = ""
116-
string kdString = ""
117-
string pingString = ""
118-
entity localplayer = GetLocalClientPlayer()
119-
string localname = localplayer.GetPlayerName()
120-
int nameLength = 0
176+
var clientTeam = GetLocalClientPlayer().GetTeam()
177+
string friendlyNameString = ""
178+
string friendlyKdString = ""
179+
string friendlyPingString = ""
121180

122-
float kdPos = 0
123-
float pingPos = 0
181+
string enemyNameString = ""
182+
string enemyKdString = ""
183+
string enemyPingString = ""
184+
overlay.vertPos = 0.50
124185

186+
// For setting (You) to the correct player
187+
entity localplayer = GetLocalClientPlayer()
188+
string localname = localplayer.GetPlayerName()
189+
string sep = "--------------------------------------------------------\n"
190+
//Avoids script attempting to set Ruis if destroyed.
125191
while(script.show){
126192
if(!IsLobby() && !IsMenuLevel()){
127193
WaitFrame()
128-
foreach(entity player in GetPlayerArray()){
129-
string userName = ""
130-
if(player.GetPlayerName() == localname){
131-
userName = "(You)" + player.GetPlayerName()
132-
}
133-
else{
134-
userName = player.GetPlayerName()
135-
}
136-
int playerPing = player.GetPlayerGameStat( PGS_PING )
137-
int playerKills = player.GetPlayerGameStat( PGS_KILLS )
138-
int playerDeaths = player.GetPlayerGameStat( PGS_DEATHS )
139-
string sep = "-----------------------------------------------------------------\n"
140-
141-
string converter = "0." + nameLength.tostring()
142-
float converter2 = converter.tofloat()
143-
144-
kdPos = settings.horizPos + 0.15
145-
//settings.horizPos + (converter2 - 15)
146-
pingPos = kdPos + 0.10
147-
//kdPos + 0.08
148-
149-
nameString = nameString + "| " + userName + "\n" + sep
150-
kdString = kdString + "K/D: " + playerKills + "/" + playerDeaths + "\n\n"
151-
pingString = pingString + "Ping: " + playerPing + "ms\n\n"
152-
153-
}
154-
if(script.show){
155-
RuiSetString(playerName, "msgText", nameString)
156-
RuiSetString(playerKD, "msgText", kdString)
157-
RuiSetString(playerPing, "msgText", pingString)
158-
159-
160-
161-
RuiSetFloat2(playerKD, "msgPos", <kdPos, settings.verticalPos, 0.0>)
162-
RuiSetFloat2(playerPing, "msgPos", <pingPos, settings.verticalPos, 0.0>)
163-
164-
nameString = ""
165-
kdString = ""
166-
pingString = ""
194+
//Gathering player's game info
195+
int counter = 0
196+
foreach(entity player in GetPlayerArray()){
197+
string fUserName = ""
198+
if(player.GetTeam() == clientTeam ){
199+
if(player.GetPlayerName() == localname){
200+
fUserName = "(You)" + player.GetPlayerName()
201+
}
202+
else{
203+
fUserName = player.GetPlayerName()
204+
}
205+
int fPing = player.GetPlayerGameStat( PGS_PING )
206+
int fKills = player.GetPlayerGameStat ( PGS_KILLS )
207+
int fDeaths = player.GetPlayerGameStat ( PGS_DEATHS )
167208

168-
209+
counter ++
210+
if(counter < 2){
211+
overlay.vertPos = 0.15
212+
}
213+
if(counter > 2){
214+
overlay.vertPos = 0.50
215+
}
216+
if(counter > 15){
217+
overlay.vertPos = 0.70
218+
}
219+
169220

221+
friendlyNameString = friendlyNameString + "|" + fUserName + "\n\n" //+ sep
222+
friendlyKdString = friendlyKdString + "K/D: " + fKills + "/" + fDeaths + "\n\n"
223+
friendlyPingString = friendlyPingString + fPing + "ms\n\n"
224+
}
225+
string eUserName = ""
226+
if(player.GetTeam() != clientTeam){
227+
int ePing = player.GetPlayerGameStat( PGS_PING )
228+
int eKills = player.GetPlayerGameStat( PGS_KILLS )
229+
int eDeaths = player.GetPlayerGameStat( PGS_DEATHS )
230+
eUserName = player.GetPlayerName()
231+
170232

233+
enemyNameString = enemyNameString + "|" + eUserName + "\n\n" //+ sep
234+
enemyKdString = enemyKdString + "K/D: " + eKills + "/" + eDeaths + "\n\n"
235+
enemyPingString = enemyPingString + ePing + "ms\n\n"
171236
}
172237

173-
}
238+
}
239+
if(script.show){
240+
RuiSetString(friendlyTeamMates, "msgText", friendlyNameString)
241+
RuiSetString(friendlyKD, "msgText", friendlyKdString)
242+
RuiSetString(friendlyPing, "msgText", friendlyPingString)
243+
244+
RuiSetString(enemyTeam, "msgText", enemyNameString)
245+
RuiSetString(enemyKD, "msgText", enemyKdString)
246+
RuiSetString(enemyPing, "msgText", enemyPingString)
247+
248+
}
249+
friendlyNameString = ""
250+
friendlyKdString = ""
251+
friendlyPingString = ""
252+
counter = 0
253+
enemyNameString = ""
254+
enemyKdString = ""
255+
enemyPingString = ""
256+
}
174257
}
175258
}
259+
260+

0 commit comments

Comments
 (0)