Ir para conteúdo
Banner com Efeitos

[Error - LuaInterface::loadFile] data/talkactions/scripts/bomb.lua:149: '<eof>' expected near 'end'

Featured Replies

Postado

erro da distro:

Citar

[14:10:09.822] [Error - LuaInterface::loadFile] data/talkactions/scripts/bomb.lua:149: '<eof>' expected near 'end'
[14:10:09.822] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/bomb.lua)
[14:10:09.822] data/talkactions/scripts/bomb.lua:149: '<eof>' expected near 'end'

bomb.lua

Citar

function getPlayersInRange(position, radiusx, radiusy)
local creaturesList = {}
for x = -radiusx, radiusx do
for y = -radiusy, radiusy do
if not (x == 0 and y == 0) then
local creature = getTopCreature({x = position.x+x, y = position.y+y, z = position.z})
if creature.type == 1 then
table.insert(creaturesList, creature.uid)
end
end
end
end
local creature = getTopCreature(position)
if creature.type == 1 then
if not(table.find(creaturesList, creature.uid)) then
table.insert(creaturesList, creature.uid)
end
end
return creaturesList
end
function isPositionInArray(haystack, needle)
for i = 1, #haystack do
if haystack.x == needle.x and haystack.y == needle.y and haystack.z == needle.z then
return true
end
end
return false
end
local t = {
from = {x=261, y=134, z=7}, --- Zona Num 1
to = {x=275, y=144, z=7}, ---- zona Num 8
storage = {
placed = 10001,
max = 10002,
radius = 10003
},
delay = 3000,
bombID = 10570,
effect = CONST_ME_FIREAREA,
blockID = 9468,
text = "BOOM!",
temple = {x=498, y=541, z=9},
exceptions = {
{x=261, y=134, z=7}, --- zona 1 
{x=262, y=134, z=7}, --- zona 2 
{x=261, y=135, z=7}, --- zona 3

{x=275, y=134, z=7}, --- zona 5
{x=274, y=134, z=7}, --- zona 4
{x=275, y=135, z=7}, --- zona 6

{x=261, y=144, z=7}, --- zona 12 
{x=262, y=144, z=7}, --- zona 11
{x=261, y=143, z=7}, --- zona 10

{x=275, y=144, z=7}, --- zona 8 
{x=274, y=144, z=7}, --- zona 9
{x=275, y=143, z=7} --- zona 7
}
}
function reset()
local dummy = doCreateItem(10570, 1, {x=269,y=161,z=7}) --- Centro Del Juego
for x = t.from.x, t.to.x do
for y = t.from.y, t.to.y do
local pos = {x=x,y=y,z=t.from.z}
local i1, i2, i3 = getTileItemById(pos, 8304).uid, getTileItemById(pos, 8306).uid, getTileItemById(pos, 8310).uid
end
end
end
local N, E, W, S, l = 1, 1, 1, 1, getPlayerStorageValue(cid, t.storage.radius)
function loopDir(dir)
local _pos = {x=pos.x+(dir=="E" and E or dir=="W" and -W or 0), y=pos.y+(dir=="N" and -N or dir=="S" and S or 0), z=pos.z}
if queryTileAddThing(v, _pos, 4) == RETURNVALUE_NOERROR or getTileItemById(_pos, t.blockID).uid > 0 then
doSendMagicEffect(_pos, t.effect)
local c = getTopCreature(_pos).uid
if isPlayer(c) and isInRange(getThingPos(c), t.from, t.to) then
doSendMagicEffect(_pos, CONST_ME_GIFT_WRAPS)
doTeleportThing(c, t.temple)
doSendMagicEffect(t.temple, CONST_ME_MORTAREA)
local n1, n2 = getPlayerName(c), getPlayerName(cid)
doBroadcastMessage(n1==n2 and n1 .. " killed " .. (getPlayerSex(c) == 0 and "her" or "him") .. "self![Bomberman]" or n1 .. " was killed by " .. n2 .. "![Bomberman]", MESSAGE_STATUS_WARNING)
local a = getPlayersInRange({x=497, y=500, z=9}, 7, 5) --- CENTRO DEl JUEGO
if #a < 2 then
doBroadcastMessage(getPlayerName(a[1]) .. " has won the match![Bomberman]", MESSAGE_STATUS_WARNING)
doTeleportThing(a[1], t.temple)
doSendMagicEffect(t.temple, CONST_ME_FIREWORK_RED)
reset()
reset()
return "endgame"
end
else
local b = getTileItemById(_pos, t.blockID).uid
if b > 0 then
doSendMagicEffect(_pos, CONST_ME_BLOCKHIT)
doRemoveItem(b)
local r = math.random(10)
if r < 4 then
doCreateItem(r==1 and 8304 or r==2 and 8306 or r==3 and 8310, 1, _pos)
end
return false
end
end
elseif queryTileAddThing(v, _pos, 4) == 3 then
return false
end
return true
end
while N <= l do
local q = loopDir("N")
if q == "endgame" then
return doRemoveItem(v, 1)
elseif not q then
break
else
N = N + 1
end
end
while E <= l do
local q = loopDir("E")
if q == "endgame" then
return doRemoveItem(v, 1)
elseif not q then
break
else
E = E + 1
end
end
while W <= l do
local q = loopDir("W")
if q == "endgame" then
return doRemoveItem(v, 1)
elseif not q then
break
else
W = W + 1
end
end
while S <= l do
local q = loopDir("S")
if q == "endgame" then
return doRemoveItem(v, 1)
elseif not q then
break
else
S = S + 1
end
doRemoveItem(v, 1)
end
end
end
function onSay(cid, words, param, channel)
if isInRange(getThingPos(cid), t.from, t.to) then
setPlayerStorageValue(cid, t.storage.placed, math.max(getPlayerStorageValue(cid, t.storage.placed), 0))
setPlayerStorageValue(cid, t.storage.max, math.max(getPlayerStorageValue(cid, t.storage.max), 1))
setPlayerStorageValue(cid, t.storage.radius, math.max(getPlayerStorageValue(cid, t.storage.radius), 1))
if getPlayerStorageValue(cid, t.storage.placed) < getPlayerStorageValue(cid, t.storage.max) then
doCreateItem(t.bombID, 1, getThingPos(cid))
addEvent(boom, t.delay, getThingPos(cid), cid)
setPlayerStorageValue(cid, t.storage.placed, getPlayerStorageValue(cid, t.storage.placed) + 1)
end
return true
end
end

 

Postado

@Fabio Leandro

 

function getPlayersInRange(position, radiusx, radiusy)
local creaturesList = {}
for x = -radiusx, radiusx do
for y = -radiusy, radiusy do
if not (x == 0 and y == 0) then
local creature = getTopCreature({x = position.x+x, y = position.y+y, z = position.z})
if creature.type == 1 then
table.insert(creaturesList, creature.uid)
end
end
end
end
local creature = getTopCreature(position)
if creature.type == 1 then
if not(table.find(creaturesList, creature.uid)) then
table.insert(creaturesList, creature.uid)
end
end
return creaturesList
end
function isPositionInArray(haystack, needle)
for i = 1, #haystack do
if haystack.x == needle.x and haystack.y == needle.y and haystack.z == needle.z then
return true
end
end
return false
end
local t = {
from = {x=261, y=134, z=7}, --- Zona Num 1
to = {x=275, y=144, z=7}, ---- zona Num 8
storage = {
placed = 10001,
max = 10002,
radius = 10003
},
delay = 3000,
bombID = 10570,
effect = CONST_ME_FIREAREA,
blockID = 9468,
text = "BOOM!",
temple = {x=498, y=541, z=9},
exceptions = {
{x=261, y=134, z=7}, --- zona 1 
{x=262, y=134, z=7}, --- zona 2 
{x=261, y=135, z=7}, --- zona 3

{x=275, y=134, z=7}, --- zona 5
{x=274, y=134, z=7}, --- zona 4
{x=275, y=135, z=7}, --- zona 6

{x=261, y=144, z=7}, --- zona 12 
{x=262, y=144, z=7}, --- zona 11
{x=261, y=143, z=7}, --- zona 10

{x=275, y=144, z=7}, --- zona 8 
{x=274, y=144, z=7}, --- zona 9
{x=275, y=143, z=7} --- zona 7
}
}
function reset()
local dummy = doCreateItem(10570, 1, {x=269,y=161,z=7}) --- Centro Del Juego
for x = t.from.x, t.to.x do
for y = t.from.y, t.to.y do
local pos = {x=x,y=y,z=t.from.z}
local i1, i2, i3 = getTileItemById(pos, 8304).uid, getTileItemById(pos, 8306).uid, getTileItemById(pos, 8310).uid
end
end
end
local N, E, W, S, l = 1, 1, 1, 1, getPlayerStorageValue(cid, t.storage.radius)
function loopDir(dir)
local _pos = {x=pos.x+(dir=="E" and E or dir=="W" and -W or 0), y=pos.y+(dir=="N" and -N or dir=="S" and S or 0), z=pos.z}
if queryTileAddThing(v, _pos, 4) == RETURNVALUE_NOERROR or getTileItemById(_pos, t.blockID).uid > 0 then
doSendMagicEffect(_pos, t.effect)
local c = getTopCreature(_pos).uid
if isPlayer(c) and isInRange(getThingPos(c), t.from, t.to) then
doSendMagicEffect(_pos, CONST_ME_GIFT_WRAPS)
doTeleportThing(c, t.temple)
doSendMagicEffect(t.temple, CONST_ME_MORTAREA)
local n1, n2 = getPlayerName(c), getPlayerName(cid)
doBroadcastMessage(n1==n2 and n1 .. " killed " .. (getPlayerSex(c) == 0 and "her" or "him") .. "self![Bomberman]" or n1 .. " was killed by " .. n2 .. "![Bomberman]", MESSAGE_STATUS_WARNING)
local a = getPlayersInRange({x=497, y=500, z=9}, 7, 5) --- CENTRO DEl JUEGO
if #a < 2 then
doBroadcastMessage(getPlayerName(a[1]) .. " has won the match![Bomberman]", MESSAGE_STATUS_WARNING)
doTeleportThing(a[1], t.temple)
doSendMagicEffect(t.temple, CONST_ME_FIREWORK_RED)
reset()
reset()
return "endgame"
end
else
local b = getTileItemById(_pos, t.blockID).uid
if b > 0 then
doSendMagicEffect(_pos, CONST_ME_BLOCKHIT)
doRemoveItem(b)
local r = math.random(10)
if r < 4 then
doCreateItem(r==1 and 8304 or r==2 and 8306 or r==3 and 8310, 1, _pos)
end
return false
end
end
elseif queryTileAddThing(v, _pos, 4) == 3 then
return false
end
return true
end
while N <= l do
local q = loopDir("N")
if q == "endgame" then
return doRemoveItem(v, 1)
elseif not q then
break
else
N = N + 1
end
end
while E <= l do
local q = loopDir("E")
if q == "endgame" then
return doRemoveItem(v, 1)
elseif not q then
break
else
E = E + 1
end
end
while W <= l do
local q = loopDir("W")
if q == "endgame" then
return doRemoveItem(v, 1)
elseif not q then
break
else
W = W + 1
end
end
while S <= l do
local q = loopDir("S")
if q == "endgame" then
return doRemoveItem(v, 1)
elseif not q then
break
else
S = S + 1
end
doRemoveItem(v, 1)
end
function onSay(cid, words, param, channel)
if isInRange(getThingPos(cid), t.from, t.to) then
setPlayerStorageValue(cid, t.storage.placed, math.max(getPlayerStorageValue(cid, t.storage.placed), 0))
setPlayerStorageValue(cid, t.storage.max, math.max(getPlayerStorageValue(cid, t.storage.max), 1))
setPlayerStorageValue(cid, t.storage.radius, math.max(getPlayerStorageValue(cid, t.storage.radius), 1))
if getPlayerStorageValue(cid, t.storage.placed) < getPlayerStorageValue(cid, t.storage.max) then
doCreateItem(t.bombID, 1, getThingPos(cid))
addEvent(boom, t.delay, getThingPos(cid), cid)
setPlayerStorageValue(cid, t.storage.placed, getPlayerStorageValue(cid, t.storage.placed) + 1)
end
return true
end
end

 

Postado
  • Autor

vou testar, se funcionar, ja sabe. REP+

os erros atras sumiram, mas agora apareceram esses:

 

[15:23:33.306] [Error - TalkAction Interface]
[15:23:33.306] data/talkactions/scripts/bomb.lua
[15:23:33.306] Description:
[15:23:33.322] (luaGetCreatureStorage) Creature not found

[15:23:33.322] [Error - TalkAction Interface]
[15:23:33.322] data/talkactions/scripts/bomb.lua
[15:23:33.322] Description:
[15:23:33.322] data/talkactions/scripts/bomb.lua:108: attempt to compare number with boolean
[15:23:33.322] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/bomb.lua)

LINK do site que peguei o evento: 

 

http://www.tibiaface.com/t772-event-bomberman

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo