• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • 2026 staff recruitment is open! Check it out and consider applying!

[onUse] Some help with spawning monsters (inside another script)

Swiff

Member
Joined
Apr 6, 2009
Messages
366
Reaction score
12
Location
Sweden
I'm trying to make a anni script. I saearched for "anni" and "spawn lever" but none of them have the part where the monsters spawn. Having the monsters alredy on map will cause problems if there's other players around that are, the monsters will move around and mess up the quest, also another team can enter if some team recently cleaned it.

I have no idea how i should put a "spawning onUse" script inside this alredy existing one

So i'm trying to add 8 monsters spawning in this script:

HTML:
local playerr1 = {x=871, y=963, z=7, stackpos=253}
local playerr2 = {x=xxx, y=xxx, z=x, stackpos=253}     <!--- These are from posision -->
local playerr3 = {x=xxx, y=xxx, z=x, stackpos=253}

local posisionn1 = {x=xxx, y=xxx, z=x}    <!--- These are to posision XXX -->
local posisionn2 = {x=xxx, y=xxx, z=x}
local posisionn3 = {x=xxx, y=xxx, z=x}

Local uniqueidoflever = XXX                        <!---- lever uniqueID -->

function onUse(cid, item, frompos, item2, topos)

   	if item.uid == uniqueidoflever and item.itemid == 1945 then
		player1pos = playerr1		
		player1 = getThingfromPos(player1pos)

		player2pos = playerr2
		player2 = getThingfromPos(player2pos)

		player3pos = playerr3
		player3 = getThingfromPos(player3pos)


		if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 then
			queststatus1 = getPlayerStorageValue(player1.uid,uniqueidoflever)
			queststatus2 = getPlayerStorageValue(player2.uid,uniqueidoflever)
			queststatus3 = getPlayerStorageValue(player3.uid,uniqueidoflever)

			if queststatus1 == -1 and queststatus2 == -1 and queststatus3 == -1 then
				nplayer1pos = posisionn1
				nplayer2pos = posisionn2
				nplayer3pos = posisionn3

				doSendMagicEffect(player1pos,2)
				doSendMagicEffect(player2pos,2)
				doSendMagicEffect(player3pos,2)

				doTeleportThing(player1.uid,nplayer1pos)
				doTeleportThing(player2.uid,nplayer2pos)
				doTeleportThing(player3.uid,nplayer3pos)

				doSendMagicEffect(nplayer1pos,10)
				doSendMagicEffect(nplayer2pos,10)
				doSendMagicEffect(nplayer3pos,10)

				doTransformItem(item.uid,item.itemid+1)
			else
				doPlayerSendCancel(cid,"Somebody in your team has already done this quest.")
			end
		else
			doPlayerSendCancel(cid,"You need three players for this quest.")
		end

	elseif item.uid == uniqueidoflever and item.itemid == 1946 then
		if getPlayerAccess(cid) > 0 then
			doTransformItem(item.uid,item.itemid-1)
		else
			doPlayerSendCancel(cid,"Sorry, not possible.")
		end
	else
		return 0
	end

	return 1
end

And then I'm going to use this as a build to make a couple more anni's with different amount and type of monsters.
Would be cool if i could get some help here :)
 
Last edited:
This is a tfs script, never tested it, but maybe it's usefull.
LUA:
	function onUse(cid, item, frompos, item2, topos)
if item.uid == 7000 then
if item.itemid == 1946 then

player1pos = {x=194, y=118, z=9, stackpos=253}
player1 = getThingfromPos(player1pos)

player2pos = {x=193, y=118, z=9, stackpos=253}
player2 = getThingfromPos(player2pos)

player3pos = {x=192, y=118, z=9, stackpos=253}
player3 = getThingfromPos(player3pos)

player4pos = {x=191, y=118, z=9, stackpos=253}
player4 = getThingfromPos(player4pos)


if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then

player1level = getPlayerLevel(player1.uid)
player2level = getPlayerLevel(player2.uid)
player3level = getPlayerLevel(player3.uid)
player4level = getPlayerLevel(player4.uid)

questlevel = 100

if player1level >= questlevel and player2level >= questlevel and player3level >= questlevel and player4level >= questlevel then

	demon1pos = {x=190, y=116, z=10}
	demon2pos = {x=192, y=116, z=10}
	demon3pos = {x=191, y=120, z=10}
	demon4pos = {x=193, y=120, z=10}
	demon5pos = {x=194, y=118, z=10}
	demon6pos = {x=195, y=118, z=10}

	doSummonCreature("Demon", demon1pos)
	doSummonCreature("Demon", demon2pos)
	doSummonCreature("Demon", demon3pos)
	doSummonCreature("Demon", demon4pos)
	doSummonCreature("Demon", demon5pos)
	doSummonCreature("Demon", demon6pos)

	nplayer1pos = {x=193, y=118, z=10}
	nplayer2pos = {x=192, y=118, z=10}
	nplayer3pos = {x=191, y=118, z=10}
	nplayer4pos = {x=190, y=118, z=10}

	doSendMagicEffect(player1pos,2)
	doSendMagicEffect(player2pos,2)
	doSendMagicEffect(player3pos,2)
	doSendMagicEffect(player4pos,2)

	doTeleportThing(player1.uid,nplayer1pos)
	doTeleportThing(player2.uid,nplayer2pos)
	doTeleportThing(player3.uid,nplayer3pos)
	doTeleportThing(player4.uid,nplayer4pos)

	doSendMagicEffect(nplayer1pos,10)
	doSendMagicEffect(nplayer2pos,10)
	doSendMagicEffect(nplayer3pos,10)
	doSendMagicEffect(nplayer4pos,10)

	doTransformItem(item.uid,1945)

	else
	doPlayerSendCancel(cid,"All players must have level 100 to enter.")
	end
	else
	doPlayerSendCancel(cid,"You need 4 players in your team.")
end
end
if item.itemid == 1945 then

starting={x=188, y=111, z=10, stackpos=253}
checking={x=starting.x, y=starting.y, z=starting.z, stackpos=starting.stackpos}
ending={x=210, y=122, z=10, stackpos=253}
players=0
totalmonsters=0
monster = {}
repeat
creature= getThingfromPos(checking)
if creature.itemid > 0 then
if getPlayerAccess(creature.uid) == 0 then
players=players+1
end
if getPlayerAccess(creature.uid) ~= 0 and getPlayerAccess(creature.uid) ~= 3 then
totalmonsters=totalmonsters+1
monster[totalmonsters]=creature.uid
	end
end
checking.x=checking.x+1
if checking.x>ending.x then
checking.x=starting.x
checking.y=checking.y+1
end
until checking.y>ending.y
if players==0 then
trash= {x=233, y=125, z=10}
current=0
repeat
current=current+1
doTeleportThing(monster[current],trash)
until current>=totalmonsters
doTransformItem(item.uid,1946)
end


end
end
return 1
end
 
Last edited:
Is this script to make a Lever that spawns monsters? Im new to Scripting and i honestly am trying to learn, If this is a Spawning lever How would i imput it into my server? I am looking for one for Custom Houses. I want to make a room and have the lever in their to spawn monsters. And not waste map space mapping a spawn. Please get back to me if you can help or have ideas on where i can go to get some help. Thank you for reading this.
 
Is this script to make a Lever that spawns monsters? Im new to Scripting and i honestly am trying to learn, If this is a Spawning lever How would i imput it into my server? I am looking for one for Custom Houses. I want to make a room and have the lever in their to spawn monsters. And not waste map space mapping a spawn. Please get back to me if you can help or have ideas on where i can go to get some help. Thank you for reading this.

yes
 
Back
Top