Search the Community
Showing results for tags 'for loop'.
-
Script.maxEnemies = 3 Script.currentround = roundssurvived -1 Script.spawner1 = nil --entity "spawn1" Script.spawner2 = nil --entity "spawn2" Script.spawner3 = nil --entity "spawn3" Script.spawner4 = nil --entity "spawn4" Script.spawner5 = nil --entity "spawn5" Script.spawner6 = nil --entity "spawn6" Script.spawner7 = nil --entity "spawn7" Script.fighting = true Script.alreadyrunning = false --[[wichtige Varieblen: zombieskilled = 0 roundssurvived = 0 ]]-- function Script:Start() self.spawners={} self.spawners[0]=self.spawner1 self.spawners[1]=self.spawner2 self.spawners[2]=self.spawner3 self.spawners[3]=self.spawner4 self.spawners[4]=self.spawner5 self.spawners[5]=self.spawner6 self.spawners[6]=self.spawner7 --self.spawner2.script:SpawnEnemy(1) --self.spawner2.script:SpawnEnemy(2) self:NewRound() end function Script:UpdatePhysics() --local rounds = roundssurvived --calculates the new amount of zombies in new round --if window:KeyDown(Key.W) then self:NewRound() end if zombiesleft <0 then zombiesleft = 0 end if zombiesleft == 0 then self.fighting = false end --if self.fighting == false then self:NewRound() end self:UpdateZombieSpawn() end function Script:NewRound() roundssurvived= roundssurvived +1 local a = (roundssurvived*.1) + roundssurvived self.maxEnemies= self.maxEnemies + Math:Round(a) end function Script:UpdateZombieSpawn() if zombiesleft==0 then self:NewRound() end local g = self.maxEnemies if self.fighting == false then for n=0,self.maxEnemies do if self.fighting == true then break end if n==maxEnemies then self.fighting = true break end local b=Math:Round(Math:Random(0, 6)) self.spawners[b].script:SpawnEnemy(b) zombiesleft = zombiesleft +1 end end --alreadyrunning = true end --[[ function Script:Collision(entity, position, normal, speed) end ]]-- function Script:PostRender(context) context:SetBlendMode(Blend.Alpha) context:DrawText(tostring(self.maxEnemies),200,2) context:SetBlendMode(Blend.Solid) end --[[ function Script:DrawEach(camera) end ]]-- --[[ --This function will be called after the world is rendered, before the screen is refreshed. --Use this to perform any 2D drawing you want the entity to display. function Script:PostRender(context) end ]]-- --[[ --This function will be called when the entity is deleted. function Script:Detach() end ]]-- --[[ --This function will be called when the last instance of this script is deleted. function Script:Cleanup() end ]]-- This is a script of mine and if I use it like that a huge amount of crawlers get spawned (it should only be as much as in the maxenemies value). I think it is probably because the for loop gets called several times before the first one makes the fighting = true, which should end the for -loop. My question is how to fix that.
- 5 replies
-
- for
- updatephysics
-
(and 3 more)
Tagged with: