Squash01 2 Postado Janeiro 12, 2016 Share Postado Janeiro 12, 2016 Entao Tenho este Script do Futebol, So que esta dando este erro no Distro [11/1/2016 22:36:15] [Error - LuaInterface::loadFile] data/npc/scripts/juiz.lua:18: unexpected symbol near '[' [11/1/2016 22:36:15] [Warning - NpcEvents::NpcEvents] Cannot load script: data/npc/scripts/juiz.lua [11/1/2016 22:36:15] data/npc/scripts/juiz.lua:18: unexpected symbol near '[' Aqui o Script local focuses = {}local function isFocused(cid)for i, v in pairs(focuses) doif(v == cid) thenreturn trueendendreturn falseend[/left]local function addFocus(cid)if(not isFocused(cid)) thentable.insert(focuses, cid)endendlocal function removeFocus(cid)for i, v in pairs(focuses) doif(v == cid) thentable.remove(focuses, i)breakendendendlocal function lookAtFocus()for i, v in pairs(focuses) doif(isPlayer(v)) thendoNpcSetCreatureFocus(v)returnendenddoNpcSetCreatureFocus(0)endfunction onCreatureAppear(cid)endfunction onCreatureDisappear(cid)if(isFocused(cid)) thenselfSay("Hmph!")removeFocus(cid)if(isPlayer(cid)) then --Be sure he's onlinecloseShopWindow(cid)endendendfunction onCreatureSay(cid, type, msg)endfunction onPlayerCloseChannel(cid)if(isFocused(cid)) thenselfSay("Hmph!")closeShopWindow(cid)removeFocus(cid)endendfunction onThink()for i, focus in pairs(focuses) doif(not isCreature(focus)) thenremoveFocus(focus)elselocal distance = getDistanceTo(focus) or -1if((distance > 4) or (distance == -1)) thenselfSay("Hmph!")closeShopWindow(focus)removeFocus(focus)endendendlookAtFocus()end E Este Esta Dando este erro [11/1/2016 22:36:16] [Error - Action Interface] [11/1/2016 22:36:16] data/actions/scripts/futebol.lua:onUse [11/1/2016 22:36:16] Description: [11/1/2016 22:36:16] data/actions/scripts/futebol.lua:587: attempt to concatenate local 'uidMonstro' (a boolean value) [11/1/2016 22:36:16] stack traceback: [11/1/2016 22:36:16] data/actions/scripts/futebol.lua:587: in function <data/actions/scripts/futebol.lua:452> Aqui o Script -------------------------------------------- ### Sistema de Futebol ### ----------------------------------------------- Feito por: zathao ---- Msn: mayckon_bernardes@@Hotmail.com ---- email: zathao@gmail.com -------------------------------------------- Configurações Geraislocal config = {-- Posição que o jogadores devem estar na hora de puxar a alavancaposJogador1 = {x=345,y=1702,z=7, stackpos=1},posJogador2 = {x=347,y=1702,z=7, stackpos=1},-- Posição inicial dos jogadores na partidaposTeleporte1 = {x=344,y=1697,z=7, stackpos=1},posTeleporte2 = {x=348,y=1697,z=7, stackpos=1},posBola = {x=346,y=1697,z=7, stackpos=1}, -- Posição inicial da bolanomeNpc = "Juiz", -- Lembrando que o npc deve existirposNpc = {x=346,y=1692,z=7, stackpos=1}, -- Posição inicial do npcgols = 5, -- Quantidade de gols para ganhar o jogotempoPrePartida = 5, -- Tempo de espera para começar a partida (segundos)quantidadeTorcedores = 7, -- Para cada equipe-- Posição inicial em que o script irá começar preencher com os torcedoresposTorcida1 = {x=337,y=1702,z=7, stackpos=1},posTorcida2 = {x=349,y=1702,z=7, stackpos=1},-- Posição dos golsposGol1 = {{x=337,y=1696,z=7, stackpos=1},{x=337,y=1697,z=7, stackpos=1},{x=337,y=1698,z=7, stackpos=1}},posGol2 = {{x=335,y=1696,z=7, stackpos=1},{x=335,y=1697,z=7, stackpos=1},{x=335,y=1698,z=7, stackpos=1}}}local jogador1 = nillocal jogador2 = nillocal listaTorcedores1 = ""local listaTorcedores2 = ""local npcUid = nillocal placar = { 0,0 }local eventoTorcida = nillocal eventoGol = nillocal function inicioJogo()doCreatureSay(npcUid, "Valendo!", TALKTYPE_YELL)doSendMagicEffect(config.posTeleporte1, 12)doSendMagicEffect(config.posTeleporte2, 12)doCreatureSetNoMove(jogador1, false)doCreatureSetNoMove(jogador2, false)endlocal function torcida(nome1, nome2)local chanceTorcida1 = math.random(1,2)local chanceTorcida2 = math.random(1,2)if(chanceTorcida1>1)thenlocal uids = string.explode(listaTorcedores1, ",")local torcedor = uids[math.random(1,#uids)]doCreatureSay(torcedor, "Vai "..nome1.."!", TALKTYPE_YELL)endif(chanceTorcida2>1)thenlocal uids = string.explode(listaTorcedores2, ",")local torcedor = uids[math.random(1,#uids)]doCreatureSay(torcedor, "Vai "..nome2.."!", TALKTYPE_YELL)endeventoTorcida = addEvent(torcida,4000, nome1, nome2)endlocal function delayMsg(msg)doCreatureSay(npcUid, msg, TALKTYPE_YELL)endlocal function testeGol(nome1,nome2)for i=1,#config.posGol1 dofor j=1,10 dolocal testPos = {x=config.posGol1.x, y=config.posGol1.y, z=config.posGol1.z, stackpos=j}local thing = getThingFromPos(testPos)if(thing.itemid==2109)thenif(placar[2]==config.gols-1)thendoPlayerSendTextMessage(jogador2, MESSAGE_INFO_DESCR, "Parabéns! Você ganhou a partida.")doPlayerSendTextMessage(jogador1, MESSAGE_INFO_DESCR, "Lamento, mas você perdeu o jogo.")doTeleportThing(jogador1, config.posJogador1)doTeleportThing(jogador2, config.posJogador2)doSendMagicEffect(config.posJogador1, 12)doSendMagicEffect(config.posJogador2, 12)local item = doPlayerAddItem(jogador2, 5805)doItemSetAttribute(item, "description", nome2.." conquistou este troféu apos derrotar "..nome1.." em uma partida de futebol.")doRemoveCreature(npcUid)stopEvent(eventoTorcida)stopEvent(eventoGol)local uids1 = string.explode(listaTorcedores1, ",")local uids2 = string.explode(listaTorcedores2, ",")for k = 1, #uids1 dodoRemoveCreature(uids1[k])doRemoveCreature(uids2[k])endjogador1 = niljogador2 = nillistaTorcedores1 = ""listaTorcedores2 = ""config.posTorcida1 = {x=76,y=165,z=7, stackpos=1}config.posTorcida2 = {x=84,y=165,z=7, stackpos=1}npcUid = nilplacar = { 0,0 }elsedoTeleportThing(jogador1, config.posTeleporte1)doTeleportThing(jogador2, config.posTeleporte2)doSendMagicEffect(config.posTeleporte1, 10)doSendMagicEffect(config.posTeleporte2, 10)doCreatureSetNoMove(jogador1, true)doCreatureSetNoMove(jogador2, true)doCreatureSetLookDirection(jogador1, 1)doCreatureSetLookDirection(jogador2, 3)doCreateItem(2109, 1, config.posBola)doSendMagicEffect(config.posBola, 13)local uids = string.explode(listaTorcedores2, ",")for k = 1, #uids dodoCreatureSay(uids[k], "GOOOOL!", TALKTYPE_YELL)endplacar[2] = placar[2]+1local msg = "Gol do "..nome2.."! O placar atual é "..nome1..": "..placar[1].." e "..nome2..": "..placar[2].."."addEvent(delayMsg,1000, msg)msg = "A próxima rodada irá começar em cerca de "..config.tempoPrePartida.." segundos. Concentrem-se!"addEvent(delayMsg,6000, msg)addEvent(inicioJogo,7000+(config.tempoPrePartida*1000))enddoRemoveItem(thing.uid)endendendfor i=1,#config.posGol2 dofor j=1,10 dolocal testPos = {x=config.posGol2.x, y=config.posGol2.y, z=config.posGol2.z, stackpos=j}local thing = getThingFromPos(testPos)if(thing.itemid==2109)thenif(placar[1]==config.gols-1)thendoPlayerSendTextMessage(jogador1, MESSAGE_INFO_DESCR, "Parabéns! Você ganhou a partida.")doPlayerSendTextMessage(jogador2, MESSAGE_INFO_DESCR, "Lamento, mas você perdeu o jogo.")doTeleportThing(jogador1, config.posJogador1)doTeleportThing(jogador2, config.posJogador2)doSendMagicEffect(config.posJogador1, 12)doSendMagicEffect(config.posJogador2, 12)local item = doPlayerAddItem(jogador1, 5805)doItemSetAttribute(item, "description", nome1.." conquistou este troféu apos derrotar "..nome2.." em uma partida de futebol.")doRemoveCreature(npcUid)stopEvent(eventoTorcida)stopEvent(eventoGol)local uids1 = string.explode(listaTorcedores1, ",")local uids2 = string.explode(listaTorcedores2, ",")for k = 1, #uids1 dodoRemoveCreature(uids1[k])doRemoveCreature(uids2[k])endjogador1 = niljogador2 = nillistaTorcedores1 = ""listaTorcedores2 = ""config.posTorcida1 = {x=337,y=1702,z=7, stackpos=1}config.posTorcida2 = {x=349,y=1702,z=7, stackpos=1}npcUid = nilplacar = { 0,0 }elsedoTeleportThing(jogador1, config.posTeleporte1)doTeleportThing(jogador2, config.posTeleporte2)doSendMagicEffect(config.posTeleporte1, 10)doSendMagicEffect(config.posTeleporte2, 10)doCreatureSetNoMove(jogador1, true)doCreatureSetNoMove(jogador2, true)doCreatureSetLookDirection(jogador1, 1)doCreatureSetLookDirection(jogador2, 3)doCreateItem(2109, 1, config.posBola)doSendMagicEffect(config.posBola, 13)local uids = string.explode(listaTorcedores1, ",")for k = 1, #uids dodoCreatureSay(uids[k], "GOOOOL!", TALKTYPE_YELL)endplacar[1] = placar[1]+1local msg = "Gol do "..nome1.."! O placar atual é "..nome1..": "..placar[1].." e "..nome2..": "..placar[2].."."addEvent(delayMsg,1000, msg)msg = "A próxima rodada irá começar em cerca de "..config.tempoPrePartida.." segundos. Concentrem-se!"addEvent(delayMsg,7000, msg)addEvent(inicioJogo,8000+(config.tempoPrePartida*1000))enddoRemoveItem(thing.uid)endendendeventoGol = addEvent(testeGol,100,nome1,nome2)endfunction onUse(cid, item, fromPosition, itemEx, toPosition)if (isPlayer(jogador1) == true and isPlayer(jogador2) == true)thendoPlayerSendCancel(cid, "Lamento, mas o campo ja está em uso.")doSendMagicEffect(fromPosition, 2)return falseendlocal coisa1 = getThingFromPos(config.posJogador1).uidlocal coisa2 = getThingFromPos(config.posJogador2).uidif(isPlayer(coisa1))thenjogador1 = coisa1endif(isPlayer(coisa2))thenjogador2 = coisa2endif(jogador1==nil or jogador2==nil)thendoPlayerSendCancel(cid, "Desculpe, mas você precisa de outro player para começar um jogo.")doSendMagicEffect(fromPosition, 2)return falseelsedoTeleportThing(jogador1, config.posTeleporte1)doTeleportThing(jogador2, config.posTeleporte2)doSendMagicEffect(config.posTeleporte1, 10)doSendMagicEffect(config.posTeleporte2, 10)doCreatureSetNoMove(jogador1, true)doCreatureSetNoMove(jogador2, true)doCreatureSetLookDirection(jogador1, 1)doCreatureSetLookDirection(jogador2, 3)doCreateItem(2109, 1, config.posBola)doSendMagicEffect(config.posBola, 13)npcUid = doCreateNpc(config.nomeNpc, config.posNpc)doCreatureSetLookDirection(npcUid, 2)doSendMagicEffect(config.posNpc, 10)doCreatureSetNoMove(npcUid, true)local nome1 = getCreatureName(jogador1)local nome2 = getCreatureName(jogador2)local msg = "Saudações "..nome1.." e "..nome2..". Serei o juiz desta partida. Ganhará o primeiro a fazer "..config.gols.." gols."addEvent(delayMsg,1000, msg)msg = "A partida irá começar em cerca de "..config.tempoPrePartida.." segundos. Concentrem-se!"addEvent(delayMsg,9000, msg)local uidMonstrolocal randomOutfitfor i=1,config.quantidadeTorcedores douidMonstro = doCreateMonster("Torcedor",config.posTorcida1)doCreatureSetLookDirection(uidMonstro, 0)doSendMagicEffect(config.posTorcida1, 10)doCreatureSetNoMove(uidMonstro, true)config.posTorcida1.x = config.posTorcida1.x + 1randomOutfit = {lookType = 128,lookHead = math.random(1,66),lookAddons = math.random(0,2),lookLegs = math.random(1,66),lookFeet = math.random(1,66)}doCreatureChangeOutfit(uidMonstro, randomOutfit)if(listaTorcedores1=="")thenlistaTorcedores1 = uidMonstroelselistaTorcedores1 = listaTorcedores1..","..uidMonstroendendfor i=1,config.quantidadeTorcedores douidMonstro = doCreateMonster("Torcedor",config.posTorcida2)doCreatureSetLookDirection(uidMonstro, 0)doSendMagicEffect(config.posTorcida2, 10)doCreatureSetNoMove(uidMonstro, true)config.posTorcida2.x = config.posTorcida2.x + 1randomOutfit = {lookType = 128,lookHead = math.random(67,132),lookAddons = math.random(0,2),lookLegs = math.random(67,132),lookFeet = math.random(67,132)}doCreatureChangeOutfit(uidMonstro, randomOutfit)if(listaTorcedores2=="")thenlistaTorcedores2 = uidMonstroelselistaTorcedores2 = listaTorcedores2..","..uidMonstroendendaddEvent(inicioJogo,10000+(config.tempoPrePartida*1000))eventoTorcida = addEvent(torcida,10000+(config.tempoPrePartida*1000), nome1, nome2)eventoGol = addEvent(testeGol,10000+(config.tempoPrePartida*1000), nome1, nome2)local teste = string.explode(listaTorcedores1,",")endreturn trueend Ficaria Muito Grato !! Por Resolver este 2 Erros !! Valendo Sempre +REP Link para o comentário https://xtibia.com/forum/topic/238746-unexpected-symbol-near/ Compartilhar em outros sites More sharing options...
0 Danihcv 335 Postado Janeiro 12, 2016 Share Postado Janeiro 12, 2016 (editado) Vc tá usando qual editor de texto pra salvar seu script? Se tiver usando o bloco de notas, tente usar o Notepad++. E vice-versa. Basicamente: utilize um editor de texto diferente para salvar o script. #EDIT: na vdd, tinha um erro no 1° script, tinha um [/left] (wtf?!) no meio do script. Tente usa-lo assim: local focuses = {} local function isFocused(cid) for i, v in pairs(focuses) do if(v == cid) then return true end end return false end local function addFocus(cid) if(not isFocused(cid)) then table.insert(focuses, cid) end end local function removeFocus(cid) for i, v in pairs(focuses) do if(v == cid) then table.remove(focuses, i) break end end end local function lookAtFocus() for i, v in pairs(focuses) do if(isPlayer(v)) then doNpcSetCreatureFocus(v) return end end doNpcSetCreatureFocus(0) end function onCreatureAppear(cid) end function onCreatureDisappear(cid) if(isFocused(cid)) then selfSay("Hmph!") removeFocus(cid) if(isPlayer(cid)) then --Be sure he's online closeShopWindow(cid) end end end function onCreatureSay(cid, type, msg) end function onPlayerCloseChannel(cid) if(isFocused(cid)) then selfSay("Hmph!") closeShopWindow(cid) removeFocus(cid) end end function onThink() for i, focus in pairs(focuses) do if(not isCreature(focus)) then removeFocus(focus) else local distance = getDistanceTo(focus) or -1 if((distance > 4) or (distance == -1)) then selfSay("Hmph!") closeShopWindow(focus) removeFocus(focus) end end end lookAtFocus() end Editado Janeiro 12, 2016 por Danihcv Link para o comentário https://xtibia.com/forum/topic/238746-unexpected-symbol-near/#findComment-1680900 Compartilhar em outros sites More sharing options...
0 Squash01 2 Postado Janeiro 12, 2016 Autor Share Postado Janeiro 12, 2016 Vc tá usando qual editor de texto pra salvar seu script? Se tiver usando o bloco de notas, tente usar o Notepad++. E vice-versa. Basicamente: utilize um editor de texto diferente para salvar o script. #EDIT: na vdd, tinha um erro no 1° script, tinha um [/left] (wtf?!) no meio do script. Tente usa-lo assim: local focuses = {} local function isFocused(cid) for i, v in pairs(focuses) do if(v == cid) then return true end end return false end local function addFocus(cid) if(not isFocused(cid)) then table.insert(focuses, cid) end end local function removeFocus(cid) for i, v in pairs(focuses) do if(v == cid) then table.remove(focuses, i) break end end end local function lookAtFocus() for i, v in pairs(focuses) do if(isPlayer(v)) then doNpcSetCreatureFocus(v) return end end doNpcSetCreatureFocus(0) end function onCreatureAppear(cid) end function onCreatureDisappear(cid) if(isFocused(cid)) then selfSay("Hmph!") removeFocus(cid) if(isPlayer(cid)) then --Be sure he's online closeShopWindow(cid) end end end function onCreatureSay(cid, type, msg) end function onPlayerCloseChannel(cid) if(isFocused(cid)) then selfSay("Hmph!") closeShopWindow(cid) removeFocus(cid) end end function onThink() for i, focus in pairs(focuses) do if(not isCreature(focus)) then removeFocus(focus) else local distance = getDistanceTo(focus) or -1 if((distance > 4) or (distance == -1)) then selfSay("Hmph!") closeShopWindow(focus) removeFocus(focus) end end end lookAtFocus() end Este Foi Resolvido Vlw Agora falta o Ultimo Link para o comentário https://xtibia.com/forum/topic/238746-unexpected-symbol-near/#findComment-1680903 Compartilhar em outros sites More sharing options...
0 Danihcv 335 Postado Janeiro 12, 2016 Share Postado Janeiro 12, 2016 Tenta usar o 2° assim: --------------------------------------- ----- ### Sistema de Futebol ### ----- ---------------------------------------- -- Feito por: zathao -- -- Msn: mayckon_bernardes@[member=Hotmail].com -- -- email: zathao@gmail.com -- ---------------------------------------- -- Configurações Gerais local config = { -- Posição que o jogadores devem estar na hora de puxar a alavanca posJogador1 = {x=345,y=1702,z=7, stackpos=1}, posJogador2 = {x=347,y=1702,z=7, stackpos=1}, -- Posição inicial dos jogadores na partida posTeleporte1 = {x=344,y=1697,z=7, stackpos=1}, posTeleporte2 = {x=348,y=1697,z=7, stackpos=1}, posBola = {x=346,y=1697,z=7, stackpos=1}, -- Posição inicial da bola nomeNpc = "Juiz", -- Lembrando que o npc deve existir posNpc = {x=346,y=1692,z=7, stackpos=1}, -- Posição inicial do npc gols = 5, -- Quantidade de gols para ganhar o jogo tempoPrePartida = 5, -- Tempo de espera para começar a partida (segundos) quantidadeTorcedores = 7, -- Para cada equipe -- Posição inicial em que o script irá começar preencher com os torcedores posTorcida1 = {x=337,y=1702,z=7, stackpos=1}, posTorcida2 = {x=349,y=1702,z=7, stackpos=1}, -- Posição dos gols posGol1 = { {x=337,y=1696,z=7, stackpos=1}, {x=337,y=1697,z=7, stackpos=1}, {x=337,y=1698,z=7, stackpos=1} }, posGol2 = { {x=335,y=1696,z=7, stackpos=1}, {x=335,y=1697,z=7, stackpos=1}, {x=335,y=1698,z=7, stackpos=1} } } local jogador1 = nil local jogador2 = nil local listaTorcedores1 = "" local listaTorcedores2 = "" local npcUid = nil local placar = { 0,0 } local eventoTorcida = nil local eventoGol = nil local function inicioJogo() doCreatureSay(npcUid, "Valendo!", TALKTYPE_YELL) doSendMagicEffect(config.posTeleporte1, 12) doSendMagicEffect(config.posTeleporte2, 12) doCreatureSetNoMove(jogador1, false) doCreatureSetNoMove(jogador2, false) end local function torcida(nome1, nome2) local chanceTorcida1 = math.random(1,2) local chanceTorcida2 = math.random(1,2) if(chanceTorcida1>1)then local uids = string.explode(listaTorcedores1, ",") local torcedor = uids[math.random(1,#uids)] doCreatureSay(torcedor, "Vai "..nome1.."!", TALKTYPE_YELL) end if(chanceTorcida2>1)then local uids = string.explode(listaTorcedores2, ",") local torcedor = uids[math.random(1,#uids)] doCreatureSay(torcedor, "Vai "..nome2.."!", TALKTYPE_YELL) end eventoTorcida = addEvent(torcida,4000, nome1, nome2) end local function delayMsg(msg) doCreatureSay(npcUid, msg, TALKTYPE_YELL) end local function testeGol(nome1,nome2) for i=1,#config.posGol1 do for j=1,10 do local testPos = {x=config.posGol1[i].x, y=config.posGol1[i].y, z=config.posGol1[i].z, stackpos=j} local thing = getThingFromPos(testPos) if(thing.itemid==2109)then if(placar[2]==config.gols-1)then doPlayerSendTextMessage(jogador2, MESSAGE_INFO_DESCR, "Parabéns! Você ganhou a partida.") doPlayerSendTextMessage(jogador1, MESSAGE_INFO_DESCR, "Lamento, mas você perdeu o jogo.") doTeleportThing(jogador1, config.posJogador1) doTeleportThing(jogador2, config.posJogador2) doSendMagicEffect(config.posJogador1, 12) doSendMagicEffect(config.posJogador2, 12) local item = doPlayerAddItem(jogador2, 5805) doItemSetAttribute(item, "description", nome2.." conquistou este troféu apos derrotar "..nome1.." em uma partida de futebol.") doRemoveCreature(npcUid) stopEvent(eventoTorcida) stopEvent(eventoGol) local uids1 = string.explode(listaTorcedores1, ",") local uids2 = string.explode(listaTorcedores2, ",") for k = 1, #uids1 do doRemoveCreature(uids1[k]) doRemoveCreature(uids2[k]) end jogador1 = nil jogador2 = nil listaTorcedores1 = "" listaTorcedores2 = "" config.posTorcida1 = {x=76,y=165,z=7, stackpos=1} config.posTorcida2 = {x=84,y=165,z=7, stackpos=1} npcUid = nil placar = { 0,0 } else doTeleportThing(jogador1, config.posTeleporte1) doTeleportThing(jogador2, config.posTeleporte2) doSendMagicEffect(config.posTeleporte1, 10) doSendMagicEffect(config.posTeleporte2, 10) doCreatureSetNoMove(jogador1, true) doCreatureSetNoMove(jogador2, true) doCreatureSetLookDirection(jogador1, 1) doCreatureSetLookDirection(jogador2, 3) doCreateItem(2109, 1, config.posBola) doSendMagicEffect(config.posBola, 13) local uids = string.explode(listaTorcedores2, ",") for k = 1, #uids do doCreatureSay(uids[k], "GOOOOL!", TALKTYPE_YELL) end placar[2] = placar[2]+1 local msg = "Gol do "..nome2.."! O placar atual é "..nome1..": "..placar[1].." e "..nome2..": "..placar[2].."." addEvent(delayMsg,1000, msg) msg = "A próxima rodada irá começar em cerca de "..config.tempoPrePartida.." segundos. Concentrem-se!" addEvent(delayMsg,6000, msg) addEvent(inicioJogo,7000+(config.tempoPrePartida*1000)) end doRemoveItem(thing.uid) end end end for i=1,#config.posGol2 do for j=1,10 do local testPos = {x=config.posGol2[i].x, y=config.posGol2[i].y, z=config.posGol2[i].z, stackpos=j} local thing = getThingFromPos(testPos) if(thing.itemid==2109)then if(placar[1]==config.gols-1)then doPlayerSendTextMessage(jogador1, MESSAGE_INFO_DESCR, "Parabéns! Você ganhou a partida.") doPlayerSendTextMessage(jogador2, MESSAGE_INFO_DESCR, "Lamento, mas você perdeu o jogo.") doTeleportThing(jogador1, config.posJogador1) doTeleportThing(jogador2, config.posJogador2) doSendMagicEffect(config.posJogador1, 12) doSendMagicEffect(config.posJogador2, 12) local item = doPlayerAddItem(jogador1, 5805) doItemSetAttribute(item, "description", nome1.." conquistou este troféu apos derrotar "..nome2.." em uma partida de futebol.") doRemoveCreature(npcUid) stopEvent(eventoTorcida) stopEvent(eventoGol) local uids1 = string.explode(listaTorcedores1, ",") local uids2 = string.explode(listaTorcedores2, ",") for k = 1, #uids1 do doRemoveCreature(uids1[k]) doRemoveCreature(uids2[k]) end jogador1 = nil jogador2 = nil listaTorcedores1 = "" listaTorcedores2 = "" config.posTorcida1 = {x=337,y=1702,z=7, stackpos=1} config.posTorcida2 = {x=349,y=1702,z=7, stackpos=1} npcUid = nil placar = { 0,0 } else doTeleportThing(jogador1, config.posTeleporte1) doTeleportThing(jogador2, config.posTeleporte2) doSendMagicEffect(config.posTeleporte1, 10) doSendMagicEffect(config.posTeleporte2, 10) doCreatureSetNoMove(jogador1, true) doCreatureSetNoMove(jogador2, true) doCreatureSetLookDirection(jogador1, 1) doCreatureSetLookDirection(jogador2, 3) doCreateItem(2109, 1, config.posBola) doSendMagicEffect(config.posBola, 13) local uids = string.explode(listaTorcedores1, ",") for k = 1, #uids do doCreatureSay(uids[k], "GOOOOL!", TALKTYPE_YELL) end placar[1] = placar[1]+1 local msg = "Gol do "..nome1.."! O placar atual é "..nome1..": "..placar[1].." e "..nome2..": "..placar[2].."." addEvent(delayMsg,1000, msg) msg = "A próxima rodada irá começar em cerca de "..config.tempoPrePartida.." segundos. Concentrem-se!" addEvent(delayMsg,7000, msg) addEvent(inicioJogo,8000+(config.tempoPrePartida*1000)) end doRemoveItem(thing.uid) end end end eventoGol = addEvent(testeGol,100,nome1,nome2) end function onUse(cid, item, fromPosition, itemEx, toPosition) if (isPlayer(jogador1) == true and isPlayer(jogador2) == true)then doPlayerSendCancel(cid, "Lamento, mas o campo ja está em uso.") doSendMagicEffect(fromPosition, 2) return false end local coisa1 = getThingFromPos(config.posJogador1).uid local coisa2 = getThingFromPos(config.posJogador2).uid if(isPlayer(coisa1))then jogador1 = coisa1 end if(isPlayer(coisa2))then jogador2 = coisa2 end if(jogador1==nil or jogador2==nil)then doPlayerSendCancel(cid, "Desculpe, mas você precisa de outro player para começar um jogo.") doSendMagicEffect(fromPosition, 2) return false else doTeleportThing(jogador1, config.posTeleporte1) doTeleportThing(jogador2, config.posTeleporte2) doSendMagicEffect(config.posTeleporte1, 10) doSendMagicEffect(config.posTeleporte2, 10) doCreatureSetNoMove(jogador1, true) doCreatureSetNoMove(jogador2, true) doCreatureSetLookDirection(jogador1, 1) doCreatureSetLookDirection(jogador2, 3) doCreateItem(2109, 1, config.posBola) doSendMagicEffect(config.posBola, 13) npcUid = doCreateNpc(config.nomeNpc, config.posNpc) doCreatureSetLookDirection(npcUid, 2) doSendMagicEffect(config.posNpc, 10) doCreatureSetNoMove(npcUid, true) local nome1 = getCreatureName(jogador1) local nome2 = getCreatureName(jogador2) local msg = "Saudações "..nome1.." e "..nome2..". Serei o juiz desta partida. Ganhará o primeiro a fazer "..config.gols.." gols." addEvent(delayMsg,1000, msg) msg = "A partida irá começar em cerca de "..config.tempoPrePartida.." segundos. Concentrem-se!" addEvent(delayMsg,9000, msg) for i=1,config.quantidadeTorcedores do uidMonstro = doCreateMonster("Torcedor",config.posTorcida1) doCreatureSetLookDirection(uidMonstro, 0) doSendMagicEffect(config.posTorcida1, 10) doCreatureSetNoMove(uidMonstro, true) config.posTorcida1.x = config.posTorcida1.x + 1 randomOutfit = { lookType = 128, lookHead = math.random(1,66), lookAddons = math.random(0,2), lookLegs = math.random(1,66), lookFeet = math.random(1,66) } doCreatureChangeOutfit(uidMonstro, randomOutfit) if(listaTorcedores1=="")then listaTorcedores1 = uidMonstro else listaTorcedores1 = listaTorcedores1..","..uidMonstro end end for i=1,config.quantidadeTorcedores do uidMonstro = doCreateMonster("Torcedor",config.posTorcida2) doCreatureSetLookDirection(uidMonstro, 0) doSendMagicEffect(config.posTorcida2, 10) doCreatureSetNoMove(uidMonstro, true) config.posTorcida2.x = config.posTorcida2.x + 1 randomOutfit = { lookType = 128, lookHead = math.random(67,132), lookAddons = math.random(0,2), lookLegs = math.random(67,132), lookFeet = math.random(67,132) } doCreatureChangeOutfit(uidMonstro, randomOutfit) if(listaTorcedores2=="")then listaTorcedores2 = uidMonstro else listaTorcedores2 = listaTorcedores2..","..uidMonstro end end addEvent(inicioJogo,10000+(config.tempoPrePartida*1000)) eventoTorcida = addEvent(torcida,10000+(config.tempoPrePartida*1000), nome1, nome2) eventoGol = addEvent(testeGol,10000+(config.tempoPrePartida*1000), nome1, nome2) local teste = string.explode(listaTorcedores1,",") end return true end Link para o comentário https://xtibia.com/forum/topic/238746-unexpected-symbol-near/#findComment-1680904 Compartilhar em outros sites More sharing options...
0 Squash01 2 Postado Janeiro 12, 2016 Autor Share Postado Janeiro 12, 2016 Tenta usar o 2° assim: --------------------------------------- ----- ### Sistema de Futebol ### ----- ---------------------------------------- -- Feito por: zathao -- -- Msn: mayckon_bernardes@[member='Hotmail'].com -- -- email: [email protected]<script data-cfhash='f9e31' type="text/javascript"> /* */</script> -- ---------------------------------------- -- Configurações Gerais local config = { -- Posição que o jogadores devem estar na hora de puxar a alavanca posJogador1 = {x=345,y=1702,z=7, stackpos=1}, posJogador2 = {x=347,y=1702,z=7, stackpos=1}, -- Posição inicial dos jogadores na partida posTeleporte1 = {x=344,y=1697,z=7, stackpos=1}, posTeleporte2 = {x=348,y=1697,z=7, stackpos=1}, posBola = {x=346,y=1697,z=7, stackpos=1}, -- Posição inicial da bola nomeNpc = "Juiz", -- Lembrando que o npc deve existir posNpc = {x=346,y=1692,z=7, stackpos=1}, -- Posição inicial do npc gols = 5, -- Quantidade de gols para ganhar o jogo tempoPrePartida = 5, -- Tempo de espera para começar a partida (segundos) quantidadeTorcedores = 7, -- Para cada equipe -- Posição inicial em que o script irá começar preencher com os torcedores posTorcida1 = {x=337,y=1702,z=7, stackpos=1}, posTorcida2 = {x=349,y=1702,z=7, stackpos=1}, -- Posição dos gols posGol1 = { {x=337,y=1696,z=7, stackpos=1}, {x=337,y=1697,z=7, stackpos=1}, {x=337,y=1698,z=7, stackpos=1} }, posGol2 = { {x=335,y=1696,z=7, stackpos=1}, {x=335,y=1697,z=7, stackpos=1}, {x=335,y=1698,z=7, stackpos=1} } } local jogador1 = nil local jogador2 = nil local listaTorcedores1 = "" local listaTorcedores2 = "" local npcUid = nil local placar = { 0,0 } local eventoTorcida = nil local eventoGol = nil local function inicioJogo() doCreatureSay(npcUid, "Valendo!", TALKTYPE_YELL) doSendMagicEffect(config.posTeleporte1, 12) doSendMagicEffect(config.posTeleporte2, 12) doCreatureSetNoMove(jogador1, false) doCreatureSetNoMove(jogador2, false) end local function torcida(nome1, nome2) local chanceTorcida1 = math.random(1,2) local chanceTorcida2 = math.random(1,2) if(chanceTorcida1>1)then local uids = string.explode(listaTorcedores1, ",") local torcedor = uids[math.random(1,#uids)] doCreatureSay(torcedor, "Vai "..nome1.."!", TALKTYPE_YELL) end if(chanceTorcida2>1)then local uids = string.explode(listaTorcedores2, ",") local torcedor = uids[math.random(1,#uids)] doCreatureSay(torcedor, "Vai "..nome2.."!", TALKTYPE_YELL) end eventoTorcida = addEvent(torcida,4000, nome1, nome2) end local function delayMsg(msg) doCreatureSay(npcUid, msg, TALKTYPE_YELL) end local function testeGol(nome1,nome2) for i=1,#config.posGol1 do for j=1,10 do local testPos = {x=config.posGol1[i].x, y=config.posGol1[i].y, z=config.posGol1[i].z, stackpos=j} local thing = getThingFromPos(testPos) if(thing.itemid==2109)then if(placar[2]==config.gols-1)then doPlayerSendTextMessage(jogador2, MESSAGE_INFO_DESCR, "Parabéns! Você ganhou a partida.") doPlayerSendTextMessage(jogador1, MESSAGE_INFO_DESCR, "Lamento, mas você perdeu o jogo.") doTeleportThing(jogador1, config.posJogador1) doTeleportThing(jogador2, config.posJogador2) doSendMagicEffect(config.posJogador1, 12) doSendMagicEffect(config.posJogador2, 12) local item = doPlayerAddItem(jogador2, 5805) doItemSetAttribute(item, "description", nome2.." conquistou este troféu apos derrotar "..nome1.." em uma partida de futebol.") doRemoveCreature(npcUid) stopEvent(eventoTorcida) stopEvent(eventoGol) local uids1 = string.explode(listaTorcedores1, ",") local uids2 = string.explode(listaTorcedores2, ",") for k = 1, #uids1 do doRemoveCreature(uids1[k]) doRemoveCreature(uids2[k]) end jogador1 = nil jogador2 = nil listaTorcedores1 = "" listaTorcedores2 = "" config.posTorcida1 = {x=76,y=165,z=7, stackpos=1} config.posTorcida2 = {x=84,y=165,z=7, stackpos=1} npcUid = nil placar = { 0,0 } else doTeleportThing(jogador1, config.posTeleporte1) doTeleportThing(jogador2, config.posTeleporte2) doSendMagicEffect(config.posTeleporte1, 10) doSendMagicEffect(config.posTeleporte2, 10) doCreatureSetNoMove(jogador1, true) doCreatureSetNoMove(jogador2, true) doCreatureSetLookDirection(jogador1, 1) doCreatureSetLookDirection(jogador2, 3) doCreateItem(2109, 1, config.posBola) doSendMagicEffect(config.posBola, 13) local uids = string.explode(listaTorcedores2, ",") for k = 1, #uids do doCreatureSay(uids[k], "GOOOOL!", TALKTYPE_YELL) end placar[2] = placar[2]+1 local msg = "Gol do "..nome2.."! O placar atual é "..nome1..": "..placar[1].." e "..nome2..": "..placar[2].."." addEvent(delayMsg,1000, msg) msg = "A próxima rodada irá começar em cerca de "..config.tempoPrePartida.." segundos. Concentrem-se!" addEvent(delayMsg,6000, msg) addEvent(inicioJogo,7000+(config.tempoPrePartida*1000)) end doRemoveItem(thing.uid) end end end for i=1,#config.posGol2 do for j=1,10 do local testPos = {x=config.posGol2[i].x, y=config.posGol2[i].y, z=config.posGol2[i].z, stackpos=j} local thing = getThingFromPos(testPos) if(thing.itemid==2109)then if(placar[1]==config.gols-1)then doPlayerSendTextMessage(jogador1, MESSAGE_INFO_DESCR, "Parabéns! Você ganhou a partida.") doPlayerSendTextMessage(jogador2, MESSAGE_INFO_DESCR, "Lamento, mas você perdeu o jogo.") doTeleportThing(jogador1, config.posJogador1) doTeleportThing(jogador2, config.posJogador2) doSendMagicEffect(config.posJogador1, 12) doSendMagicEffect(config.posJogador2, 12) local item = doPlayerAddItem(jogador1, 5805) doItemSetAttribute(item, "description", nome1.." conquistou este troféu apos derrotar "..nome2.." em uma partida de futebol.") doRemoveCreature(npcUid) stopEvent(eventoTorcida) stopEvent(eventoGol) local uids1 = string.explode(listaTorcedores1, ",") local uids2 = string.explode(listaTorcedores2, ",") for k = 1, #uids1 do doRemoveCreature(uids1[k]) doRemoveCreature(uids2[k]) end jogador1 = nil jogador2 = nil listaTorcedores1 = "" listaTorcedores2 = "" config.posTorcida1 = {x=337,y=1702,z=7, stackpos=1} config.posTorcida2 = {x=349,y=1702,z=7, stackpos=1} npcUid = nil placar = { 0,0 } else doTeleportThing(jogador1, config.posTeleporte1) doTeleportThing(jogador2, config.posTeleporte2) doSendMagicEffect(config.posTeleporte1, 10) doSendMagicEffect(config.posTeleporte2, 10) doCreatureSetNoMove(jogador1, true) doCreatureSetNoMove(jogador2, true) doCreatureSetLookDirection(jogador1, 1) doCreatureSetLookDirection(jogador2, 3) doCreateItem(2109, 1, config.posBola) doSendMagicEffect(config.posBola, 13) local uids = string.explode(listaTorcedores1, ",") for k = 1, #uids do doCreatureSay(uids[k], "GOOOOL!", TALKTYPE_YELL) end placar[1] = placar[1]+1 local msg = "Gol do "..nome1.."! O placar atual é "..nome1..": "..placar[1].." e "..nome2..": "..placar[2].."." addEvent(delayMsg,1000, msg) msg = "A próxima rodada irá começar em cerca de "..config.tempoPrePartida.." segundos. Concentrem-se!" addEvent(delayMsg,7000, msg) addEvent(inicioJogo,8000+(config.tempoPrePartida*1000)) end doRemoveItem(thing.uid) end end end eventoGol = addEvent(testeGol,100,nome1,nome2) end function onUse(cid, item, fromPosition, itemEx, toPosition) if (isPlayer(jogador1) == true and isPlayer(jogador2) == true)then doPlayerSendCancel(cid, "Lamento, mas o campo ja está em uso.") doSendMagicEffect(fromPosition, 2) return false end local coisa1 = getThingFromPos(config.posJogador1).uid local coisa2 = getThingFromPos(config.posJogador2).uid if(isPlayer(coisa1))then jogador1 = coisa1 end if(isPlayer(coisa2))then jogador2 = coisa2 end if(jogador1==nil or jogador2==nil)then doPlayerSendCancel(cid, "Desculpe, mas você precisa de outro player para começar um jogo.") doSendMagicEffect(fromPosition, 2) return false else doTeleportThing(jogador1, config.posTeleporte1) doTeleportThing(jogador2, config.posTeleporte2) doSendMagicEffect(config.posTeleporte1, 10) doSendMagicEffect(config.posTeleporte2, 10) doCreatureSetNoMove(jogador1, true) doCreatureSetNoMove(jogador2, true) doCreatureSetLookDirection(jogador1, 1) doCreatureSetLookDirection(jogador2, 3) doCreateItem(2109, 1, config.posBola) doSendMagicEffect(config.posBola, 13) npcUid = doCreateNpc(config.nomeNpc, config.posNpc) doCreatureSetLookDirection(npcUid, 2) doSendMagicEffect(config.posNpc, 10) doCreatureSetNoMove(npcUid, true) local nome1 = getCreatureName(jogador1) local nome2 = getCreatureName(jogador2) local msg = "Saudações "..nome1.." e "..nome2..". Serei o juiz desta partida. Ganhará o primeiro a fazer "..config.gols.." gols." addEvent(delayMsg,1000, msg) msg = "A partida irá começar em cerca de "..config.tempoPrePartida.." segundos. Concentrem-se!" addEvent(delayMsg,9000, msg) for i=1,config.quantidadeTorcedores do uidMonstro = doCreateMonster("Torcedor",config.posTorcida1) doCreatureSetLookDirection(uidMonstro, 0) doSendMagicEffect(config.posTorcida1, 10) doCreatureSetNoMove(uidMonstro, true) config.posTorcida1.x = config.posTorcida1.x + 1 randomOutfit = { lookType = 128, lookHead = math.random(1,66), lookAddons = math.random(0,2), lookLegs = math.random(1,66), lookFeet = math.random(1,66) } doCreatureChangeOutfit(uidMonstro, randomOutfit) if(listaTorcedores1=="")then listaTorcedores1 = uidMonstro else listaTorcedores1 = listaTorcedores1..","..uidMonstro end end for i=1,config.quantidadeTorcedores do uidMonstro = doCreateMonster("Torcedor",config.posTorcida2) doCreatureSetLookDirection(uidMonstro, 0) doSendMagicEffect(config.posTorcida2, 10) doCreatureSetNoMove(uidMonstro, true) config.posTorcida2.x = config.posTorcida2.x + 1 randomOutfit = { lookType = 128, lookHead = math.random(67,132), lookAddons = math.random(0,2), lookLegs = math.random(67,132), lookFeet = math.random(67,132) } doCreatureChangeOutfit(uidMonstro, randomOutfit) if(listaTorcedores2=="")then listaTorcedores2 = uidMonstro else listaTorcedores2 = listaTorcedores2..","..uidMonstro end end addEvent(inicioJogo,10000+(config.tempoPrePartida*1000)) eventoTorcida = addEvent(torcida,10000+(config.tempoPrePartida*1000), nome1, nome2) eventoGol = addEvent(testeGol,10000+(config.tempoPrePartida*1000), nome1, nome2) local teste = string.explode(listaTorcedores1,",") end return true end Ainda Continua, Olha este Erros Que Parece na Distro [11/1/2016 23:15:41] [Error - Action Interface] [11/1/2016 23:15:41] data/actions/scripts/futebol.lua:onUse [11/1/2016 23:15:41] Description: [11/1/2016 23:15:41] (LuaInterface::luaDoCreateMonster) Cannot create monster: Torcedor [11/1/2016 23:15:41] [Error - Action Interface] [11/1/2016 23:15:41] data/actions/scripts/futebol.lua:onUse [11/1/2016 23:15:41] Description: [11/1/2016 23:15:41] (LuaInterface::luaDoCreatureSetLookDir) Creature not found [11/1/2016 23:15:41] [Error - Action Interface] [11/1/2016 23:15:41] data/actions/scripts/futebol.lua:onUse [11/1/2016 23:15:41] Description: [11/1/2016 23:15:41] (LuaInterface::luaDoCreatureSetNoMove) Creature not found [11/1/2016 23:15:41] [Error - Action Interface] [11/1/2016 23:15:41] data/actions/scripts/futebol.lua:onUse [11/1/2016 23:15:41] Description: [11/1/2016 23:15:41] (LuaInterface::luaDoCreatureChangeOutfit) Creature not found [11/1/2016 23:15:41] [Error - Action Interface] [11/1/2016 23:15:41] data/actions/scripts/futebol.lua:onUse [11/1/2016 23:15:41] Description: [11/1/2016 23:15:41] (LuaInterface::luaDoCreateMonster) Cannot create monster: Torcedor [11/1/2016 23:15:41] [Error - Action Interface] [11/1/2016 23:15:41] data/actions/scripts/futebol.lua:onUse [11/1/2016 23:15:41] Description: [11/1/2016 23:15:41] (LuaInterface::luaDoCreatureSetLookDir) Creature not found [11/1/2016 23:15:41] [Error - Action Interface] [11/1/2016 23:15:41] data/actions/scripts/futebol.lua:onUse [11/1/2016 23:15:42] Description: [11/1/2016 23:15:42] (LuaInterface::luaDoCreatureSetNoMove) Creature not found [11/1/2016 23:15:42] [Error - Action Interface] [11/1/2016 23:15:42] data/actions/scripts/futebol.lua:onUse [11/1/2016 23:15:42] Description: [11/1/2016 23:15:42] (LuaInterface::luaDoCreatureChangeOutfit) Creature not found [11/1/2016 23:15:42] [Error - Action Interface] [11/1/2016 23:15:42] data/actions/scripts/futebol.lua:onUse [11/1/2016 23:15:42] Description: [11/1/2016 23:15:42] data/actions/scripts/futebol.lua:582: attempt to concatenate global 'uidMonstro' (a boolean value) [11/1/2016 23:15:42] stack traceback: [11/1/2016 23:15:42] data/actions/scripts/futebol.lua:582: in function Link para o comentário https://xtibia.com/forum/topic/238746-unexpected-symbol-near/#findComment-1680906 Compartilhar em outros sites More sharing options...
0 Danihcv 335 Postado Janeiro 12, 2016 Share Postado Janeiro 12, 2016 O script que eu mandei deu uma bugada. E mesmo assim, o q eu modifiquei, acabou sendo um erro, então ignore o que eu mandei. Agora minha pergunta: vc criou um monstro chamado Torcedor em seu server? Pq creio que o problema seja a inexistência de um monstro chamado Torcedor nos arquivos do servidor. (mais especificamente dentro da pasta monster) Link para o comentário https://xtibia.com/forum/topic/238746-unexpected-symbol-near/#findComment-1680908 Compartilhar em outros sites More sharing options...
0 Squash01 2 Postado Janeiro 12, 2016 Autor Share Postado Janeiro 12, 2016 O script que eu mandei deu uma bugada. E mesmo assim, o q eu modifiquei, acabou sendo um erro, então ignore o que eu mandei. Agora minha pergunta: vc criou um monstro chamado Torcedor em seu server? Pq creio que o problema seja a inexistência de um monstro chamado Torcedor nos arquivos do servidor. (mais especificamente dentro da pasta monster) Sim,Porem acho Que ele esta Bugado,Vo te passar o Script para vc dar uma olhada No Spoiler ele nao abre entao vo upar http://www.4shared.com/document/MkHq4zqece/torcedor.html Link para o comentário https://xtibia.com/forum/topic/238746-unexpected-symbol-near/#findComment-1680909 Compartilhar em outros sites More sharing options...
0 Danihcv 335 Postado Janeiro 12, 2016 Share Postado Janeiro 12, 2016 Vc botou a tag dele no arquivo monsters.xml? Link para o comentário https://xtibia.com/forum/topic/238746-unexpected-symbol-near/#findComment-1680910 Compartilhar em outros sites More sharing options...
0 Squash01 2 Postado Janeiro 12, 2016 Autor Share Postado Janeiro 12, 2016 Vc botou a tag dele no arquivo monsters.xml? Sim Link para o comentário https://xtibia.com/forum/topic/238746-unexpected-symbol-near/#findComment-1680911 Compartilhar em outros sites More sharing options...
0 Danihcv 335 Postado Janeiro 12, 2016 Share Postado Janeiro 12, 2016 Manda ela aí Link para o comentário https://xtibia.com/forum/topic/238746-unexpected-symbol-near/#findComment-1680913 Compartilhar em outros sites More sharing options...
0 Squash01 2 Postado Janeiro 12, 2016 Autor Share Postado Janeiro 12, 2016 http://www.4shared.c...e/torcedor.html Link para o comentário https://xtibia.com/forum/topic/238746-unexpected-symbol-near/#findComment-1680919 Compartilhar em outros sites More sharing options...
0 Danihcv 335 Postado Janeiro 12, 2016 Share Postado Janeiro 12, 2016 Não pow. Manda a tag no arquivo monsters.xml Link para o comentário https://xtibia.com/forum/topic/238746-unexpected-symbol-near/#findComment-1680921 Compartilhar em outros sites More sharing options...
0 Squash01 2 Postado Janeiro 12, 2016 Autor Share Postado Janeiro 12, 2016 Ta assim la <!-- Torcedor --> <monster name="Torcedor" file="torcedor.xml"/> Link para o comentário https://xtibia.com/forum/topic/238746-unexpected-symbol-near/#findComment-1680923 Compartilhar em outros sites More sharing options...
0 Danihcv 335 Postado Janeiro 12, 2016 Share Postado Janeiro 12, 2016 É... Tá correta... Não to conseguindo identificar qual o erro... Desculpa. Link para o comentário https://xtibia.com/forum/topic/238746-unexpected-symbol-near/#findComment-1680924 Compartilhar em outros sites More sharing options...
0 Night Wolf 285 Postado Janeiro 12, 2016 Share Postado Janeiro 12, 2016 duas coisas impedem um monstro de ser criado: Ele não existir e a posição não estiver livre. Vc tem que verificar essas duas coisas antes de criá-lo. Link para o comentário https://xtibia.com/forum/topic/238746-unexpected-symbol-near/#findComment-1680954 Compartilhar em outros sites More sharing options...
Pergunta
Squash01 2
Entao Tenho este Script do Futebol,
So que esta dando este erro no Distro
local focuses = {}
local function isFocused(cid)
for i, v in pairs(focuses) do
if(v == cid) then
return true
end
end
return false
end[/left]
local function addFocus(cid)
if(not isFocused(cid)) then
table.insert(focuses, cid)
end
end
local function removeFocus(cid)
for i, v in pairs(focuses) do
if(v == cid) then
table.remove(focuses, i)
break
end
end
end
local function lookAtFocus()
for i, v in pairs(focuses) do
if(isPlayer(v)) then
doNpcSetCreatureFocus(v)
return
end
end
doNpcSetCreatureFocus(0)
end
function onCreatureAppear(cid)
end
function onCreatureDisappear(cid)
if(isFocused(cid)) then
selfSay("Hmph!")
removeFocus(cid)
if(isPlayer(cid)) then --Be sure he's online
closeShopWindow(cid)
end
end
end
function onCreatureSay(cid, type, msg)
end
function onPlayerCloseChannel(cid)
if(isFocused(cid)) then
selfSay("Hmph!")
closeShopWindow(cid)
removeFocus(cid)
end
end
function onThink()
for i, focus in pairs(focuses) do
if(not isCreature(focus)) then
removeFocus(focus)
else
local distance = getDistanceTo(focus) or -1
if((distance > 4) or (distance == -1)) then
selfSay("Hmph!")
closeShopWindow(focus)
removeFocus(focus)
end
end
end
lookAtFocus()
end
---------------------------------------
----- ### Sistema de Futebol ### -----
----------------------------------------
-- Feito por: zathao --
-- Msn: mayckon_bernardes@@Hotmail.com --
-- email: zathao@gmail.com --
----------------------------------------
-- Configurações Gerais
local config = {
-- Posição que o jogadores devem estar na hora de puxar a alavanca
posJogador1 = {x=345,y=1702,z=7, stackpos=1},
posJogador2 = {x=347,y=1702,z=7, stackpos=1},
-- Posição inicial dos jogadores na partida
posTeleporte1 = {x=344,y=1697,z=7, stackpos=1},
posTeleporte2 = {x=348,y=1697,z=7, stackpos=1},
posBola = {x=346,y=1697,z=7, stackpos=1}, -- Posição inicial da bola
nomeNpc = "Juiz", -- Lembrando que o npc deve existir
posNpc = {x=346,y=1692,z=7, stackpos=1}, -- Posição inicial do npc
gols = 5, -- Quantidade de gols para ganhar o jogo
tempoPrePartida = 5, -- Tempo de espera para começar a partida (segundos)
quantidadeTorcedores = 7, -- Para cada equipe
-- Posição inicial em que o script irá começar preencher com os torcedores
posTorcida1 = {x=337,y=1702,z=7, stackpos=1},
posTorcida2 = {x=349,y=1702,z=7, stackpos=1},
-- Posição dos gols
posGol1 = {
{x=337,y=1696,z=7, stackpos=1},
{x=337,y=1697,z=7, stackpos=1},
{x=337,y=1698,z=7, stackpos=1}
},
posGol2 = {
{x=335,y=1696,z=7, stackpos=1},
{x=335,y=1697,z=7, stackpos=1},
{x=335,y=1698,z=7, stackpos=1}
}
}
local jogador1 = nil
local jogador2 = nil
local listaTorcedores1 = ""
local listaTorcedores2 = ""
local npcUid = nil
local placar = { 0,0 }
local eventoTorcida = nil
local eventoGol = nil
local function inicioJogo()
doCreatureSay(npcUid, "Valendo!", TALKTYPE_YELL)
doSendMagicEffect(config.posTeleporte1, 12)
doSendMagicEffect(config.posTeleporte2, 12)
doCreatureSetNoMove(jogador1, false)
doCreatureSetNoMove(jogador2, false)
end
local function torcida(nome1, nome2)
local chanceTorcida1 = math.random(1,2)
local chanceTorcida2 = math.random(1,2)
if(chanceTorcida1>1)then
local uids = string.explode(listaTorcedores1, ",")
local torcedor = uids[math.random(1,#uids)]
doCreatureSay(torcedor, "Vai "..nome1.."!", TALKTYPE_YELL)
end
if(chanceTorcida2>1)then
local uids = string.explode(listaTorcedores2, ",")
local torcedor = uids[math.random(1,#uids)]
doCreatureSay(torcedor, "Vai "..nome2.."!", TALKTYPE_YELL)
end
eventoTorcida = addEvent(torcida,4000, nome1, nome2)
end
local function delayMsg(msg)
doCreatureSay(npcUid, msg, TALKTYPE_YELL)
end
local function testeGol(nome1,nome2)
for i=1,#config.posGol1 do
for j=1,10 do
local testPos = {x=config.posGol1.x, y=config.posGol1.y, z=config.posGol1.z, stackpos=j}
local thing = getThingFromPos(testPos)
if(thing.itemid==2109)then
if(placar[2]==config.gols-1)then
doPlayerSendTextMessage(jogador2, MESSAGE_INFO_DESCR, "Parabéns! Você ganhou a partida.")
doPlayerSendTextMessage(jogador1, MESSAGE_INFO_DESCR, "Lamento, mas você perdeu o jogo.")
doTeleportThing(jogador1, config.posJogador1)
doTeleportThing(jogador2, config.posJogador2)
doSendMagicEffect(config.posJogador1, 12)
doSendMagicEffect(config.posJogador2, 12)
local item = doPlayerAddItem(jogador2, 5805)
doItemSetAttribute(item, "description", nome2.." conquistou este troféu apos derrotar "..nome1.." em uma partida de futebol.")
doRemoveCreature(npcUid)
stopEvent(eventoTorcida)
stopEvent(eventoGol)
local uids1 = string.explode(listaTorcedores1, ",")
local uids2 = string.explode(listaTorcedores2, ",")
for k = 1, #uids1 do
doRemoveCreature(uids1[k])
doRemoveCreature(uids2[k])
end
jogador1 = nil
jogador2 = nil
listaTorcedores1 = ""
listaTorcedores2 = ""
config.posTorcida1 = {x=76,y=165,z=7, stackpos=1}
config.posTorcida2 = {x=84,y=165,z=7, stackpos=1}
npcUid = nil
placar = { 0,0 }
else
doTeleportThing(jogador1, config.posTeleporte1)
doTeleportThing(jogador2, config.posTeleporte2)
doSendMagicEffect(config.posTeleporte1, 10)
doSendMagicEffect(config.posTeleporte2, 10)
doCreatureSetNoMove(jogador1, true)
doCreatureSetNoMove(jogador2, true)
doCreatureSetLookDirection(jogador1, 1)
doCreatureSetLookDirection(jogador2, 3)
doCreateItem(2109, 1, config.posBola)
doSendMagicEffect(config.posBola, 13)
local uids = string.explode(listaTorcedores2, ",")
for k = 1, #uids do
doCreatureSay(uids[k], "GOOOOL!", TALKTYPE_YELL)
end
placar[2] = placar[2]+1
local msg = "Gol do "..nome2.."! O placar atual é "..nome1..": "..placar[1].." e "..nome2..": "..placar[2].."."
addEvent(delayMsg,1000, msg)
msg = "A próxima rodada irá começar em cerca de "..config.tempoPrePartida.." segundos. Concentrem-se!"
addEvent(delayMsg,6000, msg)
addEvent(inicioJogo,7000+(config.tempoPrePartida*1000))
end
doRemoveItem(thing.uid)
end
end
end
for i=1,#config.posGol2 do
for j=1,10 do
local testPos = {x=config.posGol2.x, y=config.posGol2.y, z=config.posGol2.z, stackpos=j}
local thing = getThingFromPos(testPos)
if(thing.itemid==2109)then
if(placar[1]==config.gols-1)then
doPlayerSendTextMessage(jogador1, MESSAGE_INFO_DESCR, "Parabéns! Você ganhou a partida.")
doPlayerSendTextMessage(jogador2, MESSAGE_INFO_DESCR, "Lamento, mas você perdeu o jogo.")
doTeleportThing(jogador1, config.posJogador1)
doTeleportThing(jogador2, config.posJogador2)
doSendMagicEffect(config.posJogador1, 12)
doSendMagicEffect(config.posJogador2, 12)
local item = doPlayerAddItem(jogador1, 5805)
doItemSetAttribute(item, "description", nome1.." conquistou este troféu apos derrotar "..nome2.." em uma partida de futebol.")
doRemoveCreature(npcUid)
stopEvent(eventoTorcida)
stopEvent(eventoGol)
local uids1 = string.explode(listaTorcedores1, ",")
local uids2 = string.explode(listaTorcedores2, ",")
for k = 1, #uids1 do
doRemoveCreature(uids1[k])
doRemoveCreature(uids2[k])
end
jogador1 = nil
jogador2 = nil
listaTorcedores1 = ""
listaTorcedores2 = ""
config.posTorcida1 = {x=337,y=1702,z=7, stackpos=1}
config.posTorcida2 = {x=349,y=1702,z=7, stackpos=1}
npcUid = nil
placar = { 0,0 }
else
doTeleportThing(jogador1, config.posTeleporte1)
doTeleportThing(jogador2, config.posTeleporte2)
doSendMagicEffect(config.posTeleporte1, 10)
doSendMagicEffect(config.posTeleporte2, 10)
doCreatureSetNoMove(jogador1, true)
doCreatureSetNoMove(jogador2, true)
doCreatureSetLookDirection(jogador1, 1)
doCreatureSetLookDirection(jogador2, 3)
doCreateItem(2109, 1, config.posBola)
doSendMagicEffect(config.posBola, 13)
local uids = string.explode(listaTorcedores1, ",")
for k = 1, #uids do
doCreatureSay(uids[k], "GOOOOL!", TALKTYPE_YELL)
end
placar[1] = placar[1]+1
local msg = "Gol do "..nome1.."! O placar atual é "..nome1..": "..placar[1].." e "..nome2..": "..placar[2].."."
addEvent(delayMsg,1000, msg)
msg = "A próxima rodada irá começar em cerca de "..config.tempoPrePartida.." segundos. Concentrem-se!"
addEvent(delayMsg,7000, msg)
addEvent(inicioJogo,8000+(config.tempoPrePartida*1000))
end
doRemoveItem(thing.uid)
end
end
end
eventoGol = addEvent(testeGol,100,nome1,nome2)
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
if (isPlayer(jogador1) == true and isPlayer(jogador2) == true)then
doPlayerSendCancel(cid, "Lamento, mas o campo ja está em uso.")
doSendMagicEffect(fromPosition, 2)
return false
end
local coisa1 = getThingFromPos(config.posJogador1).uid
local coisa2 = getThingFromPos(config.posJogador2).uid
if(isPlayer(coisa1))then
jogador1 = coisa1
end
if(isPlayer(coisa2))then
jogador2 = coisa2
end
if(jogador1==nil or jogador2==nil)then
doPlayerSendCancel(cid, "Desculpe, mas você precisa de outro player para começar um jogo.")
doSendMagicEffect(fromPosition, 2)
return false
else
doTeleportThing(jogador1, config.posTeleporte1)
doTeleportThing(jogador2, config.posTeleporte2)
doSendMagicEffect(config.posTeleporte1, 10)
doSendMagicEffect(config.posTeleporte2, 10)
doCreatureSetNoMove(jogador1, true)
doCreatureSetNoMove(jogador2, true)
doCreatureSetLookDirection(jogador1, 1)
doCreatureSetLookDirection(jogador2, 3)
doCreateItem(2109, 1, config.posBola)
doSendMagicEffect(config.posBola, 13)
npcUid = doCreateNpc(config.nomeNpc, config.posNpc)
doCreatureSetLookDirection(npcUid, 2)
doSendMagicEffect(config.posNpc, 10)
doCreatureSetNoMove(npcUid, true)
local nome1 = getCreatureName(jogador1)
local nome2 = getCreatureName(jogador2)
local msg = "Saudações "..nome1.." e "..nome2..". Serei o juiz desta partida. Ganhará o primeiro a fazer "..config.gols.." gols."
addEvent(delayMsg,1000, msg)
msg = "A partida irá começar em cerca de "..config.tempoPrePartida.." segundos. Concentrem-se!"
addEvent(delayMsg,9000, msg)
local uidMonstro
local randomOutfit
for i=1,config.quantidadeTorcedores do
uidMonstro = doCreateMonster("Torcedor",config.posTorcida1)
doCreatureSetLookDirection(uidMonstro, 0)
doSendMagicEffect(config.posTorcida1, 10)
doCreatureSetNoMove(uidMonstro, true)
config.posTorcida1.x = config.posTorcida1.x + 1
randomOutfit = {
lookType = 128,
lookHead = math.random(1,66),
lookAddons = math.random(0,2),
lookLegs = math.random(1,66),
lookFeet = math.random(1,66)
}
doCreatureChangeOutfit(uidMonstro, randomOutfit)
if(listaTorcedores1=="")then
listaTorcedores1 = uidMonstro
else
listaTorcedores1 = listaTorcedores1..","..uidMonstro
end
end
for i=1,config.quantidadeTorcedores do
uidMonstro = doCreateMonster("Torcedor",config.posTorcida2)
doCreatureSetLookDirection(uidMonstro, 0)
doSendMagicEffect(config.posTorcida2, 10)
doCreatureSetNoMove(uidMonstro, true)
config.posTorcida2.x = config.posTorcida2.x + 1
randomOutfit = {
lookType = 128,
lookHead = math.random(67,132),
lookAddons = math.random(0,2),
lookLegs = math.random(67,132),
lookFeet = math.random(67,132)
}
doCreatureChangeOutfit(uidMonstro, randomOutfit)
if(listaTorcedores2=="")then
listaTorcedores2 = uidMonstro
else
listaTorcedores2 = listaTorcedores2..","..uidMonstro
end
end
addEvent(inicioJogo,10000+(config.tempoPrePartida*1000))
eventoTorcida = addEvent(torcida,10000+(config.tempoPrePartida*1000), nome1, nome2)
eventoGol = addEvent(testeGol,10000+(config.tempoPrePartida*1000), nome1, nome2)
local teste = string.explode(listaTorcedores1,",")
end
return true
end
Link para o comentário
https://xtibia.com/forum/topic/238746-unexpected-symbol-near/Compartilhar em outros sites
14 respostass a esta questão
Posts Recomendados