Advertisement
Guest User

Untitled

a guest
Jul 24th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.42 KB | None | 0 0
  1. --[[ Configuration ]]
  2.  
  3.     --[[ Temps en secondes entre chaque nouveau spawn ]]
  4.         local delay = 5
  5.  
  6.     -- [[ Nombre d'exécution de spawn ( 0 = infini ) ]]
  7.         local repetitions = 0
  8.  
  9.     --[[ Classe de l'entité à faire spawn ]]
  10.         local entityClass = "gmod_button"
  11.  
  12.     -- [[ Point de spawn ( ne pas modifier 'use = false' )]]
  13.         local pos = {
  14.             [1] = {
  15.                 pos = Vector(0, 0, 0),
  16.                 use = false
  17.             },
  18.             [2] = {
  19.                 pos = Vector(1, 1, 1),
  20.                 use = false
  21.             },
  22.             [3] = {
  23.                 pos = Vector(2, 2, 2),
  24.                 use = false
  25.             },
  26.             [4] = {
  27.                 pos = Vector(3, 3, 3),
  28.                 use = false
  29.             },
  30.             [5] = {
  31.                 pos = Vector(4, 4, 4),
  32.                 use = false
  33.             }
  34.         }
  35.  
  36. --[[ Fin de la configuration ]]
  37.  
  38. local oldEnt
  39.  
  40. local function getSpawnPos()
  41.     local posUtilisable = {}
  42.  
  43.     for _, data in ipairs( pos ) do
  44.         if ( !data.use ) then
  45.             table.insert(posUtilisable, data.pos)
  46.         end
  47.     end
  48.  
  49.     if ( #posUtilisable <= 0 ) then
  50.         for _, data in ipairs( pos ) do
  51.             data.use = false
  52.         end
  53.         return getSpawnPos()
  54.     end
  55.  
  56.     local spawnPos = posUtilisable[math.Rand(1, #posUtilisable)]
  57.  
  58.     for _, data in ipairs( pos ) do
  59.         if ( data.pos == spawnPos ) then
  60.             date.use = true
  61.         end
  62.     end
  63.  
  64.     return spawnPos
  65. end
  66.  
  67. timer.Create("RespawnMyEnt", delay, repetitions, function()
  68.     local myEnt = ents.Create(entityClass)
  69.     myEnt:SetPos(getSpawnPos())
  70.     myEnt:Spawn()
  71.  
  72.     if ( IsValid( oldEnt ) ) then
  73.         oldEnt:Remove()
  74.     end
  75.  
  76.     oldEnt = myEnt
  77. end )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement