travisani 0 Postado Novembro 6, 2017 Share Postado Novembro 6, 2017 Gostaria de saber se tem como adaptar um script que faça com que só entre em um determinado teleport, quem tiver tiver 400 de CAP ou menos (capacidade) 400 ou 400- de cap Id do teleport: 1387 Eu tenho esse script, porem não funcionou... TFS 0.3.6 ~ 0.4 Servidor 8.60 function getPlayerMaxCap(cid) -- Function by darkhaos local query = db.getResult("SELECT `cap` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. ";") if query:getID() ~= -1 then return query:getDataInt("cap") end query:free() return LUA_ERROR end function onStepIn(cid, item, position, fromPosition) if getPlayerMaxCap(cid) < 400 then return true end return false end Link para o comentário Compartilhar em outros sites More sharing options...
Rayan 2 Postado Novembro 17, 2017 Share Postado Novembro 17, 2017 (editado) Vc vai precisar botar uma "Action ID" pelo Remere's Map Editor no teleporte (clicando com o botão direito do mouse e indo em propriedades e modificando o numero la), eu testei com o valor 5000. Não coloque a posição que o teleporte envia o player deixe em branco, somente modifique o Action ID. Movements/movements.xml Verifique se tem alguma outra tag utilizando o itemid="1387" (dando ctrl+F), creio que vá ter um script chamado "citizen.lua". Ae vc vai até o script em "Movements/scripts/citizen.lua" e coloca esse script antes do ultimo return true. Só para explicar as variáveis que vc vai ter que mudar: local tp_menos_cap = {x=95,y=126,z=7 } --> Coloque a posição para onde a pessoa vai ser teleportada se tiver menos que 400 de cap. local tp_mais_cap = {x=92,y=125,z=7 } --> Coloque a posição para onde a pessoa vai ser teleportada se tiver mais que 400 de cap. local cap = getPlayerFreeCap(cid) local tp_menos_cap = {x=95,y=126,z=7 } local tp_mais_cap = {x=92,y=125,z=7 } if item.actionid == 5000 then if cap <= 400 then doTeleportThing(cid, tp_menos_cap) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) return true end doTeleportThing(cid, tp_mais_cap) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) return true end Movements/scripts/citizen.lua Juntando os 2 no meu caso ficou assim: function onStepIn(cid, item, position, fromPosition) if(item.actionid > 30020 and item.actionid < 30100) then local townId = (item.actionid - 30020) doPlayerSetTown(cid, townId) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You are the newest resident of " .. getTownName(townId) .. ".") end local cap = getPlayerFreeCap(cid) local tp_menos_cap = {x=95,y=126,z=7 } local tp_mais_cap = {x=92,y=125,z=7 } if item.actionid == 5000 then if cap <= 400 then doTeleportThing(cid, tp_menos_cap) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) return true end doTeleportThing(cid, tp_mais_cap) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) return true end return true end Editado Novembro 17, 2017 por Rayan Link para o comentário Compartilhar em outros sites More sharing options...
Stigal 584 Postado Abril 19, 2018 Share Postado Abril 19, 2018 A questão neste tópico de suporte foi encerrada por falta de resposta. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados