therrax
Member
- Joined
- Jul 12, 2012
- Messages
- 262
- Solutions
- 1
- Reaction score
- 11
Hi.
I used this script:
"http://otland.net/threads/last-man-standing-event-100-working.185769/"
and I have this:
I have tfs 0.4
My config:
data\globalevents\scripts\LMS\lastman.lua
data\globalevents\scripts\LMS\arena.lua
and in globalevents.xml
Please help me if You can.
I used this script:
"http://otland.net/threads/last-man-standing-event-100-working.185769/"
and I have this:
I have tfs 0.4
My config:
data\globalevents\scripts\LMS\lastman.lua
Code:
local createpos = {x=778,y=996,z=6} -- Every 2h where will the Teleport Appear
local topos = {x=775,y=1006,z=8} -- Where will the Teleport take you
local msg = "Last man standing event TP has now been closed! It will open again in 2 hours! All participants get Ready for a Fight!"
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! Teleport is Located in Events Room.")
addEvent(remove,timetoclose*1000)
return true
end
Code:
local t = {
tmp = {
{x = 772, y = 1004, z = 8}, -- North west corner of Area where players must stand in order to join the event
{x = 778, y = 1008, z = 8} -- South east corner of Area
},
arena = {
{x = 770, y = 1002, z = 9}, -- North west Corner of Arena
{x = 780, y = 1011, z = 9}, -- South East corner of Arena
{x = 775, y = 1006, z = 9} -- Center of Arena
},
from = {x = 772, y = 1005, z = 9}, -- Top left cornor of the playground (random players teleportation)
to = {x = 778, y = 1009, z = 9}, -- Bottom right cornor of the playground (random players teleportation)
minPlayers = 2, -- min players required to start the battle
noPlayers = 1, -- Leave it as it is
prize = {6527} -- Reward that player recives
}
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 have won the event and received your reward.")
doBroadcastMessage(getCreatureName(arenaPlayers[1]) .." won a Last Man Standing Event.")
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=1005, y=1001, z=4})
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=1005, y=1001, z=4})
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
Code:
<globalevent name="lastman" interval="3600000" event="script" value="LMS/lastman.lua"/>
<globalevent name="arena" interval="3612000" event="script" value="LMS/arena.lua"/>