• 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!

lms requset

Nosaa

New Member
Joined
Mar 6, 2013
Messages
31
Reaction score
0
i have script for lms and idk why don't work this script don't gave me any error but event wont work idk why i post here to see if there any missing party or anything im use tfs 3.6 v5

globalevents\scripts

Code:
local t = {
	tmp = {
		{x = 32251, y = 32217, z = 6}, -- northwest corner of area where players must stand in order to join the event
		{x = 32255, y = 32219, z = 6} -- south east corner
	},
	arena = {
		{x = 32257, y = 32210, z = 6}, -- nw corner of arena
		{x = 32270, y = 32227, z = 6}, -- se corner of arena
		{x = 32263, y = 32219, z = 6} -- center of arena
	},
	
	from = {x = 32257, y = 32210, z = 6}, -- top left cornor of the playground (random players teleportation)
    to = {x = 32270, y = 32227, z = 6}, -- bottom right cornor of the playground (random players teleportation)
	
	minPlayers = 2, -- min players required to start the battle
	noPlayers = 1, -- no players
	prize = {6527} -- rewards
}
local kick = 0

function onThink()
	local arenaPlayers = {}

	for x = t.arena[1].x, t.arena[2].x do
		for y = t.arena[1].y, t.arena[2].y do
			for z = t.arena[1].z, t.arena[2].z do
				local pos = {x = x, y = y, z = z}
				local n = getTileInfo(pos).creatures
				if n ~= 0 then
					pos.stackpos = 1
					local c = getThingfromPos(pos)
					while c.uid ~= 0 do
						if c.itemid == 1 and c.type == 1 then
							table.insert(arenaPlayers, c.uid)
							if #arenaPlayers == n then
								break
							end
						end
						pos.stackpos = pos.stackpos + 1
						c = getThingfromPos(pos)
					end
				end
			end
		end
	end

	if #arenaPlayers == 1 then
		local p = getPlayerMasterPos(arenaPlayers[1])
		doTeleportThing(arenaPlayers[1], p)
		doSendMagicEffect(p, CONST_ME_TELEPORT)
		doPlayerSendTextMessage(arenaPlayers[1], MESSAGE_STATUS_CONSOLE_BLUE, "You won a battle and received your reward.")
		doBroadcastMessage(getCreatureName(arenaPlayers[1]) .." won a Last Man Standing battle.")
		doPlayerAddItem(arenaPlayers[1], t.prize[math.random(#t.prize)], 10)
		kick = 0
	elseif #arenaPlayers > 1 then
		if kick == 0 then
			kick = os.time()
		else
			if os.time() - kick >= 840 then
				kick = 0
				for i = 1, #arenaPlayers do
					doTeleportThing(arenaPlayers[i], {x=32345, y=32225, z=7})
					doPlayerSendTextMessage(arenaPlayers[i], MESSAGE_STATUS_WARNING, "Too even, try harder next time.")
				end
			end
		end
	elseif #arenaPlayers == 0 then
		kick = 0
		
		local players = {}
		for x = t.tmp[1].x, t.tmp[2].x do
			for y = t.tmp[1].y, t.tmp[2].y do
				for z = t.tmp[1].z, t.tmp[2].z do
					local c = getTopCreature({x = x, y = y, z = z})
					if c.type == 1 then
						table.insert(players, c.uid)
					end
				end
			end
		end

		if #players >= t.minPlayers then
			for i = 1, #players do
				local p = {x = math.random(t.from.x, t.to.x), y = math.random(t.from.y, t.to.y), z = math.random(t.from.z, t.to.z)}
				doTeleportThing(players[i], p)
				doSendMagicEffect(p, CONST_ME_TELEPORT)
				doPlayerSendTextMessage(players[i], MESSAGE_STATUS_WARNING, "The battle begins. Survive for glory!")
			end
		--[[else
			for i = 1, #players do
				doTeleportThing(players[i], {x=32345, y=32223, z=7})
				doPlayerSendTextMessage(players[i], MESSAGE_STATUS_WARNING, "The event didn't start because there isn't enough players in area!")
			end]]
		end
	end
	return true
end


and
Code:
local createpos = {x=32349,y=32223,z=7}
local topos = {x=32248,y=32218,z=6}
local msg = "Last man standing event TP has now closed! It will open again in 30 minutes!"
local timetoclose = 120          -- in second
 
local function remove()
	local tp = getTileItemById(createpos,1387).uid
	if tp ~= 0 then
		doRemoveItem(tp)
		doBroadcastMessage(msg)
	end
end

function onThink(interval)
	doCreateTeleport(1387, topos, createpos)
	doBroadcastMessage("Last man standing event TP is now open!\nCatch the teleport within "..timetoclose.." seconds quickly! Located in Thais depot, reward 10 game tokens!")
	addEvent(remove,timetoclose*1000)
	return true
end

and now xml

Code:
<globalevent name="LastMan" interval="1839000" event="script" value="lastmantp.lua"/>
<globalevent name="arena" interval="4000" event="script" value="lastman.lua"/>

please if there any missing party tell me

- - - Updated - - -

why no one answer me and check what the missing party
 
Last edited:
Back
Top Bottom