[FREE] Custom License Plates and Patterns

So I have been seeing a whole lot of pretty awful license plate scripts as of late (paid ones for that matter), so I decided to make my own more powerful one, with the help of Bubble adding a custom native for me (and for all of you). So basically this script allows you to replace the texture of any license plate and the generation for each license plate type and isn’t performance degrading like the others that use web based images.

And no this isn’t going to cause joining the server to be slower, my example with all 6 plates replaced, plus the normal map is only 75kb in size. Instantaneous download for any internet connection.

This will also not overwrite any plates you manually change in any other scripts.

Copy xnPlates to your resources folder and add the following to your server.cfg.

ensure xnPlates; exec @xnPlates/plates.cfg

Then to configure the resource for your own needs you will need to edit the included plates.cfg file in the resource. The file includes examples for all 6 plates being edited, you can delete the ones you don’t want to replace, they are not required.

Please note: all options are OPTIONAL, if you don’t define a “fileName” then it will only change the pattern and not replace the plate texture. If the “normalName” is not defined it’ll use the default blank plate normal I have included. If you don’t define a “pattern” then it will use the standard pattern.

So the fileName is the name of the file that you have placed in the plates folder of the resource. Your images in there must be in png format and try to keep them to the same aspect ratio as the included examples. You can name them however you want, just make sure you update the name in your plates.cfg.

The pattern can include any patterns listed in the native repo for the SetDefaultVehicleNumberPlateTextPattern native.

I have included a blank license plate called exampleplate.png that you can use as a template if need be.

Old Plates
Here is a list of the old plates to make it easier to recognise what you’re replacing;

plate01 plate01
plate02 plate02
plate03 plate03
plate04 plate04
plate05 plate05
yankton_plate yankton_plate

The following plates require you to be on build 3095 or higher;
plate_mod_01 plate_mod_01
plate_mod_02 plate_mod_02
plate_mod_03 plate_mod_03
plate_mod_04 plate_mod_04
plate_mod_05 plate_mod_05
plate_mod_06 plate_mod_06
plate_mod_07 plate_mod_07

xnPlates.zip (264.5 KB)


  • Added the new plates from build 3095
  • Made it so the pattern is optional (Please note, patterns are mostly useless for the new plates since they don’t spawn naturally)

Old Updates

  • You can now just define a plate pattern without changing the plate texture
  • You can now specify custom plate normal textures

Great release Smallo! Looks great and I am sure it will be helpful for all sorts of implementations, custom police department plates, custom plates for your server, etc! Really anything! :smiley:

Smallo, you’re always 10 steps forward men, we love you.

Great release!

1 Like

Another dope release by the man himself :stuck_out_tongue:

so with this is there any possibility of seeing addon plates in the future like you can install them in SP?

Not relevant to this thread at all.

So the new native for custom patterns, how would that react if a player got a vehicle in there garage with eks ABC12345 they take it out will the native be smart enough to avoid creating ABC12345 again in the RNG lottery? or is there a chance you can actually have colliding plates?

Maybe some kind of block list would be fitting to be able to supply to the new Plate Pattern native, to avoid cases like this.

It’s just a default value. You should be changing this anyways with your own plate generation so there would never be any issues.

Furthermore the native says:

The default value is 11AAA111 , and using this or a NULL string will revert to the default game RNG.

So just do that. Hard coding plates would be a niche case and probably not for storing a vehicle within your sql assuming you’re checking for plate duplicity.

It works the exact same way as normal plate generation. There is a chance of the same plate being generated. This is a basic script just designed to give you the option to change the texture and pattern. If you want to avoid generation collisions then that’s something you’ll need to do yourself.

1 Like

Is it possible to use a random letter out of chosen letters, for example only G and E? I’ve tried generating it with math.random, but that’ll always choose the same letter.

Nope, you can make it do G or E in a set place, but not randomly between the 2.

but is this resource free? im not sure, the title isnt clear about it
also above, dont buy it if you dont like it

It is.

That’s unfortunate, but thanks for the response!

Dope! :blush:

Great script, do you know if there would be a way to change the lettering color of the plates aswell?

1 Like

That would require setting up a replacement carcols.ymt/.meta

I’ve already tried doing it with carcols which doesn’t work, is there any other way?

For some reason it isnt working for me and your config looks different then what the actual file looks like can you show how to set it up now

1 Like

I got it to work but you can still see the original plates back textures