Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.38 KB | None | 0 0
  1. function GeneratePlate()
  2.     local generatedPlate
  3.     local doBreak = false
  4.  
  5.     while true do
  6.         Citizen.Wait(2)
  7.         math.randomseed(GetGameTimer())
  8.         if Config.PlateUseSpace then
  9.             generatedPlate = string.upper(GetRandomLetter(Config.PlateLetters) .. ' ' .. GetRandomNumber(Config.PlateNumbers))
  10.         else
  11.             generatedPlate = string.upper(GetRandomLetter(Config.PlateLetters) .. GetRandomNumber(Config.PlateNumbers))
  12.         end
  13.  
  14.         ESX.TriggerServerCallback('esx_vehicleshop:isPlateTaken', function (isPlateTaken)
  15.             if not isPlateTaken then
  16.                 doBreak = true
  17.             end
  18.         end, generatedPlate)
  19.  
  20.         if doBreak then
  21.             break
  22.         end
  23.     end
  24.  
  25.     return generatedPlate
  26. end
  27.  
  28. -- mixing async with sync tasks
  29. function IsPlateTaken(plate)
  30.     local callback = 'waiting'
  31.  
  32.     ESX.TriggerServerCallback('esx_vehicleshop:isPlateTaken', function(isPlateTaken)
  33.         callback = isPlateTaken
  34.     end, plate)
  35.  
  36.     while type(callback) == 'string' do
  37.         Citizen.Wait(0)
  38.     end
  39.  
  40.     return callback
  41. end
  42.  
  43. function GetRandomNumber(length)
  44.     Citizen.Wait(1)
  45.     math.randomseed(GetGameTimer())
  46.     if length > 0 then
  47.         return GetRandomNumber(length - 1) .. NumberCharset[math.random(1, #NumberCharset)]
  48.     else
  49.         return ''
  50.     end
  51. end
  52.  
  53. function GetRandomLetter(length)
  54.     Citizen.Wait(1)
  55.     math.randomseed(GetGameTimer())
  56.     if length > 0 then
  57.         return GetRandomLetter(length - 1) .. Charset[math.random(1, #Charset)]
  58.     else
  59.         return ''
  60.     end
  61. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement