Postado Abril 18, 2015 10 anos Autor Caronte, achei essa parte na Function getPosfromArea(cid,area) do 032-Position, então eu devo retirar o [1] ou os números no parêntese certo? function getPosfromArea(cid,area) icenter = math.floor(table.getn(area)/2)+1 jcenter = math.floor(table.getn(area[1])/2)+1 center = area[icenter] ivar = table.getn(area) jvar = table.getn(area[1]) i = table.getn(area)^2 j = table.getn(area[1])^2
Postado Abril 18, 2015 10 anos Primeiro tem que ver como funciona a variável área, pois se for assim, por exemplo: area = { {1, 2, 3}, } Nesse caso, area[1], seria: {1, 2, 3} Que é uma tabela de índice 1, sem nome, dentro de uma outra, chamada área... Como o nome da tabela é área, seria algo tipo: {0, 1, 0}, Sendo assim, talvez tenha um elemento invalido na tabel... Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado). Tópicos: [FAQ] BBCODE [LIB] Constant [RME] Administrando bordas. [TALK] Broadcast Editável. [TALK] Sugest. [TALK] Checkpoint. [MOVE] Pântano pegajoso. [ACTION] Piggy Bank. (Cassino). [GLOBAL] Uptime Ad. [C0DE] Consertando 'Invalid Password' [PROGRAM] Quest Maker
Postado Abril 18, 2015 10 anos Autor Eu editei tirando o [1] e continuou a mesma coisa... A parte inteira do getPosfromArea é essa: Onde vê essa variável? function getPosfromArea(cid,area) icenter = math.floor(table.getn(area)/2)+1 jcenter = math.floor(table.getn(area)/2)+1 center = area[icenter] ivar = table.getn(area) jvar = table.getn(area) i = table.getn(area)^2 j = table.getn(area)^2 local mydir = isCreature(getMasterTarget(cid)) and getCreatureDirectionToTarget(cid, getMasterTarget(cid)) or getCreatureLookDir(cid) setPlayerStorageValue(cid, 21101, -1) --alterado v1.6 if center[jcenter] == 3 then if mydir == 0 then signal = {-1,1,1,2} elseif mydir == 1 then signal = {1,-1,2,1} elseif mydir == 2 then signal = {1,-1,1,2} elseif mydir == 3 then signal = {-1,1,2,1} end else signal = {-1,1,1,2} end POSITIONS = {} P = 0 repeat pvar = {0,0} I = area[ivar] J = I[jvar] i = i-1 j = j-1 if J == 1 then if jvar < jcenter then pvar[signal[3]] = signal[1]*math.abs((jcenter-jvar)) elseif jvar > jcenter then pvar[signal[3]] = signal[2]*math.abs((jcenter-jvar)) end if ivar < icenter then pvar[signal[4]] = signal[1]*math.abs((icenter-ivar)) elseif ivar > icenter then pvar[signal[4]] = signal[2]*math.abs((icenter-ivar)) end end if jvar > 1 then jvar = (jvar-1) elseif ivar > 1 then jvar = table.getn(area) ivar = (ivar-1) end local pos = getThingPos(cid) local areapos = {x=pos.x+(pvar[1]),y=pos.y+(pvar[2]),z=pos.z} if pos.x ~= areapos.x or pos.y ~= areapos.y then P = P+1 POSITIONS[P] = areapos end until i <= 0 and j <= 0 return POSITIONS end
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.