Postado Agosto 8, 2012 12 anos Da esse erros: [08/08/2012 16:38:14] [Error - Action Interface] [08/08/2012 16:38:14] data/actions/scripts/futebol.lua:onUse [08/08/2012 16:38:14] Description: [08/08/2012 16:38:14] (luaDoCreateMonster) Cannot create monster: Torcedor [08/08/2012 16:38:14] [Error - Action Interface] [08/08/2012 16:38:14] data/actions/scripts/futebol.lua:onUse [08/08/2012 16:38:14] Description: [08/08/2012 16:38:14] (luaDoCreatureSetLookDir) Creature not found [08/08/2012 16:38:14] [Error - Action Interface] [08/08/2012 16:38:14] data/actions/scripts/futebol.lua:onUse [08/08/2012 16:38:14] Description: [08/08/2012 16:38:14] (luaDoCreatureSetNoMove) Creature not found [08/08/2012 16:38:14] [Error - Action Interface] [08/08/2012 16:38:14] data/actions/scripts/futebol.lua:onUse [08/08/2012 16:38:14] Description: [08/08/2012 16:38:14] (luaDoCreatureChangeOutfit) Creature not found [08/08/2012 16:38:14] [Error - Action Interface] [08/08/2012 16:38:14] data/actions/scripts/futebol.lua:onUse [08/08/2012 16:38:14] Description: [08/08/2012 16:38:14] (luaDoCreateMonster) Cannot create monster: Torcedor [08/08/2012 16:38:14] [Error - Action Interface] [08/08/2012 16:38:14] data/actions/scripts/futebol.lua:onUse [08/08/2012 16:38:14] Description: [08/08/2012 16:38:14] (luaDoCreatureSetLookDir) Creature not found [08/08/2012 16:38:14] [Error - Action Interface] [08/08/2012 16:38:14] data/actions/scripts/futebol.lua:onUse [08/08/2012 16:38:14] Description: [08/08/2012 16:38:14] (luaDoCreatureSetNoMove) Creature not found [08/08/2012 16:38:14] [Error - Action Interface] [08/08/2012 16:38:14] data/actions/scripts/futebol.lua:onUse [08/08/2012 16:38:14] Description: [08/08/2012 16:38:14] (luaDoCreatureChangeOutfit) Creature not found [08/08/2012 16:38:14] [Error - Action Interface] [08/08/2012 16:38:14] data/actions/scripts/futebol.lua:onUse [08/08/2012 16:38:14] Description: [08/08/2012 16:38:14] data/actions/scripts/futebol.lua:344: attempt to concatenate local 'uidMonstro' (a boolean value) [08/08/2012 16:38:14] stack traceback: [08/08/2012 16:38:14] data/actions/scripts/futebol.lua:344: in function <data/actions/scripts/futebol.lua:267> script futebol.lua: ---------------------------------------- ----- ### Sistema de Futebol ### ----- ---------------------------------------- -- Feito por: zathao -- -- Msn: [email protected] -- -- email: [email protected] -- ---------------------------------------- -- Configurações Gerais local config = { -- Posição que o jogadores devem estar na hora de puxar a alavanca posJogador1 = {x=204,y=163,z=7, stackpos=1}, posJogador2 = {x=206,y=163,z=7, stackpos=1}, -- Posição inicial dos jogadores na partida posTeleporte1 = {x=203,y=171,z=7, stackpos=1}, posTeleporte2 = {x=207,y=171,z=7, stackpos=1}, posBola = {x=205,y=171,z=7, stackpos=1}, -- Posição inicial da bola nomeNpc = "Juiz", -- Lembrando que o npc deve existir posNpc = {x=205,y=165,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=198,y=177,z=7, stackpos=1}, posTorcida2 = {x=206,y=177,z=7, stackpos=1}, -- Posição dos gols posGol1 = { {x=197,y=170,z=7, stackpos=1}, {x=197,y=171,z=7, stackpos=1}, {x=197,y=172,z=7, stackpos=1} }, posGol2 = { {x=213,y=170,z=7, stackpos=1}, {x=213,y=171,z=7, stackpos=1}, {x=213,y=172,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=198,y=177,z=7, stackpos=1} config.posTorcida2 = {x=206,y=177,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=198,y=177,z=7, stackpos=1} config.posTorcida2 = {x=206,y=177,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 Editado Agosto 8, 2012 12 anos por brenoesteves (veja o histórico de edições)
Postado Agosto 8, 2012 12 anos Você tem que ter o monstro com o nome "Torcedor". Só que pelo que tenho visto no script dele o torcedor seria players do jogo e não um monster de jogo! Seu script teria que ser reformulado para ele não contar os torcedores como monsters e sim como players que provavelmente seria um pouco difícil pois que dentro deste respectivo lugar do jogo só pode ter dois players(os que estão jogando) E os torcedores teriam que ser monsters ou NPC's! OU arrumar para que o script não faça dos torcedores como monsters mais sim como player só que teria que ter um uma anulação dos players que entrarem como torcedor não participar do jogo! É isso que o script não está entendendo. E olha para fazer isso tem que ser bom de script!!! Se viu o GOSTEI aqui em cima? Então clica =D Música: http://www.youtube.com/watch?v=wzqdVJK5rCY&feature=player_detailpage Aposto que você gostou da que tá tocando guitarra ---------------------------------------------------------------------- Mapper: 80% -aprendendo- Scripter: 50% -aprendendo- Spriter: 70% -aprendendo- Notepad ++: 90% -enceramento- Hex Editor: 85% -aprendendo- ---------------------------------------------------------------------- Pokemon Friend
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.