Postado Agosto 18, 2016 8 anos @xWhiteWolf Desculpe reviver o topico mais o teleport enão esta levando para o treiner 20:33 You see a magic forcefield. You can see the other side through it. ItemID: [1387], ActionID: [14876]. Position: [X: 265] [Y: 281] [Z: 7]. Spoiler local position = {x = 113, y = 48, z = 7} -- posicao da primeira pos (linha 1 coluna 1) local config = { distX= 9, -- distancia em X entre cada sala (de uma mesma linha) distY= 11, -- distancia em Y entre cada sala (de uma mesma coluna) rX= 12, -- numero de colunas rY= 6 -- numero de linhas } local storage = 18481 -- storage que salva a ultima vez que o player entrou (pra evitar spams) local function fazQualquerCoisa(cid, pos, i, j) -- isso é o coração do nosso script, nao mexa nisso j = j or 0 p = i or 0 if p >= config.rX then p = 0 j = j < config.rY -1 and j + 1 or false end if j then posi = {x = pos.x + ( p * config.distX), y = pos.y + (j * config.distY), z = pos.z} if check_disponivel(posi) then doTeleportThing(cid, posi) doSendMagicEffect(posi, 10) countdown(posi, {{x = posi.x - 1, y = posi.y + 1, z = posi.z}, {x = posi.x + 1 , y = posi.y + 1, z = posi.z}}) else fazQualquerCoisa(cid, pos, p + 1, j) end else doPlayerSendCancel(cid, "Couldn't find any position for you right now.") end end local function isWalkable(pos, creature, proj, pz)-- by Nord -- só adicione se vc já não tiver ela if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end local function check_disponivel(npos) if isWalkable(npos, true, true) then return true end return false end local function countdown(pos, Arraypos) if not check_disponivel(pos) then for lugares = 1, #Arraypos do creature = getTopCreature(Arraypos[lugares]).uid if not isCreature(creature)then doCreateMonster("Trainer", Arraypos[lugares]) doSendAnimatedText(Arraypos[lugares], "GO!!", TEXTCOLOR_ORANGE) doSendMagicEffect(Arraypos[lugares], 10) end end end end function onStepIn(cid, item, pos, lastPos, fromPos, toPos, actor) if getPlayerStorageValue(cid, storage) - os.time() <= 0 then fazQualquerCoisa(cid, position) else doTeleportThing(cid, fromPos) doPlayerSendCancel(cid, "You gotta wait a few seconds before you can enter trainning room again") end return true end Spoiler local npos = {x = 265, y = 274, z = 7} -- posição que ele vai ao sair da sala local storage = 18481 -- storage que salva a ultima vez que o player entrou (pra evitar spams) function onStepIn(cid, item, pos, lastPos, fromPos, toPos, actor) ArrayPos = {{x = fromPos.x - 1, y = fromPos.y + 1, z = fromPos.z}, {x = fromPos.x + 1 , y = fromPos.y + 1, z = fromPos.z}} for _, pos in ipairs(ArrayPos) do creature = getTopCreature(pos).uid if isMonster(creature)then doSendMagicEffect(getThingPos(creature), 14) doRemoveCreature(creature) end end doTeleportThing(cid, npos) doPlayerSetStorageValue(cid, storage, os.time() + 5) return true end Editado Agosto 18, 2016 8 anos por kauan13 (veja o histórico de edições)
Postado Agosto 19, 2016 8 anos Autor Em 14/08/2016 ás 23:57, MarQuiiM disse: @xWhiteWolf é obrigatório fazer so daquele tanto ? [EX]: 7y e 5x ?? Ou posso fazer o tanto que eu quiser.. vc pode modificar a config no script, tá tudo explicado no tópico..@kauan13 deu algum erro no console ou ele só não teleporta? Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Agosto 19, 2016 8 anos @xWhiteWolf quando eu sobe no teleport pra ir no 1 treiner Spoiler [Error - MoveEvents Interface] data/movements/scripts/trainertp.lua:onStepIn Description: data/movements/scripts/trainertp.lua:21: attempt to call global 'check_disponive l' (a nil value) stack traceback: data/movements/scripts/trainertp.lua:21: in function 'fazQualquerCoisa' data/movements/scripts/trainertp.lua:72: in function <data/movements/scr ipts/trainertp.lua:70>
Postado Agosto 19, 2016 8 anos Autor 1 hora atrás, kauan13 disse: @xWhiteWolf quando eu sobe no teleport pra ir no 1 treiner Ocultar conteúdo [Error - MoveEvents Interface] data/movements/scripts/trainertp.lua:onStepIn Description: data/movements/scripts/trainertp.lua:21: attempt to call global 'check_disponive l' (a nil value) stack traceback: data/movements/scripts/trainertp.lua:21: in function 'fazQualquerCoisa' data/movements/scripts/trainertp.lua:72: in function <data/movements/scr ipts/trainertp.lua:70> é o mesmo erro que o pessoal comentou, usa o código q eu coloquei nos comentários q vai funcionar.. Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Agosto 19, 2016 8 anos @xWhiteWolf [Error - LuaScriptInterface::loadFile] cannot open data/movements/scripts/foodtr ainer.lua: No such file or directory [Warning - Event::loadScript] Cannot load script (data/movements/scripts/foodtra iner.lua) cannot open data/movements/scripts/foodtrainer.lua: No such file or directory
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.