Page 2 of 2

Re: How can I spawn a monster randomly?

Posted: Thu Sep 20, 2012 12:44 pm
by Daght
Thank you all, this was truly usefull. But i got anorther question... can it be that more monsters (tentacles) spawns in the same tile? Cause i got a tile with 2 tentacles at once.

Re: How can I spawn a monster randomly?

Posted: Thu Sep 20, 2012 1:05 pm
by Daght
How can it be... in one dungeon this works weel, the same code in a second dungeon doesn't work. No spawn... i'm sad for this.
tis is the code:

Code: Select all

    function spawnInRandomRangeChanceTime(objectToSpawn,Xrange,Yrange,ChanceTime)
    local coordinateX = self.x
    local coordinateY = self.y

    local basecoordinateX = coordinateX-Xrange
    local basecoordinateY = coordinateY-Yrange

    local maxSpawnX = Xrange*2
    local maxSpawnY = Yrange*2


    local randomCoordinateX = math.random(0,maxSpawnX)
    local randomCoordinateY = math.random(0,maxSpawnY)

    local finalCoordinateX = basecoordinateX + randomCoordinateX
    local finalCoordinateY = basecoordinateY + randomCoordinateY

    local chancetospawn = math.random(1,100)

       if chancetospawn < ChanceTime then
       spawn(objectToSpawn,1,finalCoordinateX,finalCoordinateY,0)
       --print(finalCoordinateX,finalCoordinateY)
       end
    end

    function check()
    spawnInRandomRangeChanceTime("tentacles",2,2,95)
    end
and the Timer is set on Running and Interval 1. Event: Activate - Target:; ScriptTentacles - Action: Check

Re: How can I spawn a monster randomly?

Posted: Thu Sep 20, 2012 1:32 pm
by cromcrom
did you check the level where you put the code ? it works only on level 1, I will try to improve this, at it is a little dumb.

Re: How can I spawn a monster randomly?

Posted: Thu Sep 20, 2012 5:19 pm
by cromcrom
the below code should work whatever the level is.

Code: Select all

  function spawnInRandomRangeChanceTime(objectToSpawn,Xrange,Yrange,ChanceTime)
    local coordinateX = self.x
    local coordinateY = self.y
    local level = self.level

    local basecoordinateX = coordinateX-Xrange
    local basecoordinateY = coordinateY-Yrange

    local maxSpawnX = Xrange*2
    local maxSpawnY = Yrange*2


    local randomCoordinateX = math.random(0,maxSpawnX)
    local randomCoordinateY = math.random(0,maxSpawnY)

    local finalCoordinateX = basecoordinateX + randomCoordinateX
    local finalCoordinateY = basecoordinateY + randomCoordinateY

    local chancetospawn = math.random(1,100)

       if chancetospawn < ChanceTime then
       spawn(objectToSpawn,level ,finalCoordinateX,finalCoordinateY,0)
       --print(finalCoordinateX,finalCoordinateY)
       end
    end

    function check()
    spawnInRandomRangeChanceTime("tentacles",2,2,95)
    end