GTA:O Styled Playerlist with configurable data support for each player/row through events/exports


#1

GTA:O styled playerlist

Preview:

screenshot

Features:

  • Configurable rows through a server event or export.
  • Configured rows update live as soon as the event/export is called, even if someone has the playerlist open at that time.
  • GTA:O scaleform used, so it looks exactly like GTA:O.
  • Future proof, it supports more than 32 online players.
  • “Max Players” indicator updates with the “sv_maxClients” convar, so no need to configure this manually.

Installation

Download the latest version, drag the folder from the zip file into your resources folder and add start playerlist to your server.cfg file.

Configuration

There is no config file to change any of the “visual” settings for player rows. You will have to create your own script to modify the rows through the playerlist api.

Developer info

To change the player’s row settings, trigger this server event:

TriggerEvent("fs:setPlayerRowConfig", 1, "SNAIL", 50, true)

Parameters

type name description
int playerServerId This is the player’s server id for the player you want to change the row of.
string crewText The text to display for the “crew” tag behind the player’s username. Pass an empty string ("") to disable the crew label.
int jobPointsAmount The number to display for the “job points (jp)” value. Set to -1 to disable.
bool showJobPointsIcon Should the “(JP)” icon be visible next to the job points number?

You can access this event from both C# or Lua scripts. By default the crew tag, job points amount and job points logo are all hidden for all players, only if you add them using the event will it make them visible for that specific player row. (syncing for all clients is managed by the resource)

You can also use the provided server export (setPlayerRowConfig()) however, due to some issues (possibly a bug with FiveM) this is kind of buggy now. Use the event for now, once I figure out why some parameters are not getting passed on when using the export I’ll make sure to add documentation for the server export.

Download / Source Code

Download the resource on GitHub. Make sure to go to the “releases” page and download the latest release, don’t download the repository as that’s useless if you don’t know how to use visual studio or don’t want to edit the resource.

Usage in-game

When in-game, press “Z” to open the first page, press “Z” again to go to the next page (just like the playerlist in GTA:O). If you’re at the last page, pressing “Z” will close the playerlist. If the playerlist is open and you don’t close it yourself, then it will auto-close after a couple of seconds.
For controller support, use DPAD-DOWN.

Note, if other resources on your server disable the “Z” key or the “DPAD-DOWN” (INPUT_MULTIPLAYER_INFO / 20) control, then you won’t be able to toggle the playerlist.



(this resource, replaces my previously released “gta:o styled scoreboard/playerlist” resource, but it is still available here if you want to use that older version.)


Credits

Thanks to @IllusiveTea for the base of the scaleform function, he did the most research, then I finished the resource and completed the functions documentation used for the scaleform in this resource. I’ve also build upon the research of Tea to make this a full resource with API support.


#2

Epic. Looks fantastic. Will be using this on all my servers.


#3

You always make the good stuff :wink:


#4

Gotta love dem scaleforms :wink:


#5

Noice


#6

organization colors when :slightly_frowning_face:


#7

as soon as I have time to update the api for it, should be really easy to implement. if anyone feels like creating a PR for this go ahead.


#8

wew

(22 Characters…)


#9

nice. Looking good.


#10

Maybe I’m missing something. Where do we change the settings? The release download only has the .dll files and the resource lua.


#11

Read the OP​​​​​​​​​​


#12

I did. It says you can access them both from C# or lua. There is no lua script in the release and I have no way to do anything with the .dll files. I realize the source is provided for the .dll, but I don’t have the software to assemble them. Again, am I missing something here?


#13

Developer info
To change the player’s row settings, trigger this server event:

TriggerEvent(“fs:setPlayerRowConfig”, 1, “SNAIL”, 50, true)


#14

Great, where do you trigger the event? I mean, my apologies for not being as smart as a few people here, but I don’t see anywhere to put that line in the files provided in the resource, nor do I know how to create a script to work with the resource.


#15

You need your own resource to trigger those options via the event, because the rows are customizable “per-player”.

I’ll add an example later, though the api is already explained in the op so all required info is already there.


#16

Ok, so if you don’t code, this resource is basically worthless to you unless you are willing to put up with the default settings.

Too bad, it’s a great looking player list.


#17

If you think it’s worthless, why use it? Nobody is forcing you to use it, the default version works fine. What else would you want to have by default? everyone’s crew tag be “SNAIL” or something like that? There’s no way to have a configuration to dynamically set player rows. Only decent way to do this is to create your own api for it. So yeah, if you don’t know how to use an event, or don’t know anyone else that can do this for you, then the customization options are worthless. But your server is probably “worthless” too if you can’t create your own scripts or have someone that can do this for you.


#18

:+1: Good job saying people are beneath you if you can’t code. I’m sure this is one of your prouder moments.


#19

All I’m saying is that it’s not fair to call a resource “worthless” just because a small feature is not available if you don’t have the knowledge or know someone that does have the knowledge to use it. The resource works perfectly fine without this small feature.

I’m sure you’re very proud of yourself for calling a resource worthless just because you don’t know how to use it yourself. Especially because there is no decent way to implement this as a config file or something like that, so it’s just impossible to implement this in a decent way for easy configuration in the resource itself.


#20

First of all, I’ll admit using the word “worthless” may have been a bit harsh and it wasn’t intended to come across as being a bad script. My apologies for that.

My intention was that, other than in its default form, people that don’t know how to code and/or do not have anyone that can do it for them will be unable to use the features provided. You and a couple of others make seem like it is a simple task to just “toss together” a quick script. If it’s so simple, why not provide it?

With vMenu, you did a fantastic job of documenting how to use it. With this one, it feels more like you just dropped it here and said “here you guys go, best of luck to you”.

And for the record, I may not be able to create a script from scratch, but I can take a script and make it work the way I need it to, add a few bells and whistles the original coder didn’t put in, and fix bugs. So my server runs pretty darn smooth, but thank you for the concern.