Postado Fevereiro 10, 2015 10 anos Ola Galera estou tendo um Problema com um script que estou mexendo aki explicaçao: - O Torneio é iniciado as 20:10 - Caso Nao de o Numero "x" de Players (Configuravel) o Torneio e Cancelado - Foi feita em uma Sala de Espera e no Horario de 20:09 é feito uma Checagem de Players (Quantia Minima de Players) - Intao o script esta aki: -- == Blood Castle Event por Killua == -- torneio2 = { waitArea = {fromx = 987, fromy = 993, fromz = 7, tox = 997, toy = 1003, toz= 7}, } bloodconfig = { Templo = {x = 1096, y = 1009, z = 7}, minPlayers = 3, -- Número mínimo de players que devem entrar para que o evento aconteça } function getPlayersInBlood() if getPlayerStorageValue(cid, 132132) == 1 then ---- Checagem Jogador com storage end function checkBlood() if getPlayersInBlood() >= bloodconfig.minPlayers then ------ Torneio Aceito se Tiver 3 jogadores ou + doBroadcastMessage("[Torneio] Torneio Aceito") else for _, pid in ipairs(getPlayersInArea(torneio2.waitArea)) do ------ Torneio Cancelado Caso tenha Menos que [3] Jogadores setPlayerStorageValue(pid, 132132, 0) doBroadcastMessage("[Torneio-Cancelado] O Torneio Foi Cancelado Pois Nao Obteve o Numero Minino de Jogadores Para o Torneio!.") doTeleportThing(pid, bloodconfig.Templo ) end end end - Erro: [10/02/2015 18:41:00] [Error - GlobalEvent Interface] [10/02/2015 18:41:00] data/globalevents/scripts/TDM33.lua:onTimer [10/02/2015 18:41:00] Description: [10/02/2015 18:41:00] data/globalevents/scripts/TDM33.lua:2: attempt to call global 'checkBlood' (a nil value) [10/02/2015 18:41:00] stack traceback: [10/02/2015 18:41:00] data/globalevents/scripts/TDM33.lua:2: in function Rep + Pra quem ajudar =)
Postado Fevereiro 11, 2015 10 anos Autor Não é nesse script que está o bug. Eu acho que é nesse Script Sim Pois eu estou Chamando a Funçao pelo Globalevents = checkBlood() Assim: function onTimer() checkBlood() return true end Editado Fevereiro 11, 2015 10 anos por Nextbr (veja o histórico de edições)
Postado Fevereiro 11, 2015 10 anos Ah, tá ali. Acho que você quer algo como: -- == Blood Castle Event por Killua == -- torneio2 = { waitArea = {fromx = 987, fromy = 993, fromz = 7, tox = 997, toy = 1003, toz= 7}, } bloodconfig = { Templo = {x = 1096, y = 1009, z = 7}, minPlayers = 3, -- Número mínimo de players que devem entrar para que o evento aconteça } --[[ se essa função ja tiver definida, apaga isso > --]] function getPlayerInArea(fromPos, toPos) -- by jhon992 local online = getPlayersOnline() local players = {} for i=1, #online do if isInArea(getPlayerPosition(online[i]), fromPos, toPos) then players[#players+1] = online[i] end end return players end --]] function getPlayersInBlood() local count = 0 local inArea = getPlayerInArea({x=fromx, y=fromy, z=fromz}, {x=tox, y=toy, z=toz}) for x=1, #inArea do local cid = inArea[x] if getPlayerStorageValue(cid, 132132) == 1 then ---- Checagem Jogador com storage count = count + 1 end end return count end function checkBlood() if getPlayersInBlood() >= bloodconfig.minPlayers then ------ Torneio Aceito se Tiver 3 jogadores ou + doBroadcastMessage("[Torneio] Torneio Aceito") else for _, pid in ipairs(getPlayersInArea({x=torneio2.waitArea.fromx, y=torneio2.waitArea.fromy, z=torneio2.waitArea.fromz}, {x=torneio2.waitArea.tox, y=torneio2.waitArea.toy, z=torneio2.waitArea.toz})) do ------ Torneio Cancelado Caso tenha Menos que [3] Jogadores setPlayerStorageValue(pid, 132132, 0) doBroadcastMessage("[Torneio-Cancelado] O Torneio Foi Cancelado Pois Nao Obteve o Numero Minino de Jogadores Para o Torneio!.") doTeleportThing(pid, bloodconfig.Templo ) end end end Editado Fevereiro 11, 2015 10 anos por Gabrielbsales (veja o histórico de edições) Att. Featzen.
Postado Fevereiro 11, 2015 10 anos Autor deu erro: [11/02/2015 10:32:00] [Error - GlobalEvent Interface] [11/02/2015 10:32:00] data/globalevents/scripts/TDM11.lua:onTimer [11/02/2015 10:32:00] Description: [11/02/2015 10:32:00] data/lib/032-position.lua:44: attempt to compare nil with number [11/02/2015 10:32:00] stack traceback: [11/02/2015 10:32:00] data/lib/032-position.lua:44: in function 'isInArea' [11/02/2015 10:32:00] data/lib/Cheking.lua:17: in function 'getPlayerInArea' [11/02/2015 10:32:00] data/lib/Cheking.lua:28: in function 'getPlayersInBlood' [11/02/2015 10:32:00] data/lib/Cheking.lua:41: in function 'checkBlood' [11/02/2015 10:32:00] data/globalevents/scripts/TDM11.lua:2: in function [11/02/2015 10:32:00] [Error - GlobalEvents::timer] Couldn't execute event: TournamentStarzt11
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.