Postado Abril 19, 2017 8 anos Sou bastante inexperiente fazendo scripts e estou tendo dificuldades até mesmo para fazer esse simples teletransporte. Obs: Utilizo TFS 0.4.0 3777 que eu mesmo compilei. As únicas alterações que fiz nas sources foram as fórmulas de dano e defesa. A minha necessidade é arrumar o script para que ocorram os seguintes eventos: -> MagicEffect 9 -> Outfit mudado -> Skill adicionado -> Player teletransportado para determinado local -> MagicEffect 14 -> Mensagem Registrei a action 7460 em "movements.xml" da seguinte forma: <event type="StepIn" actionid="7460" event="script" value="teleportoutfitelf.lua"/> Adicionei a ID da action 7460 no MapEditor no item desejado (um mystic flame, ID = 8058) Elaborei o seguinte script eu mesmo para "teleportoutfitelf.lua": function onStepIn(cid, item, pos) local tp = {x = 75, y = 80, z = 7} local pos = {x = 91, y = 13, z = 6} if item.actionid == 7460 then doSendMagicEffect(getCreaturePosition(cid), 9) doSetCreatureOutfit(cid, 159, -1) doPlayerAddSkill(cid, 4, 2) doTeleportThing(cid, pos) doSendMagicEffect(tp, 14) doPlayerSendTextMessage(cid, 22, "Você se encarnou em um elfo!") end return true end O script não funciona e não faço ideia do que fiz de errado. Imagino que seja simples de resolver, alguém pode me ajudar? Obrigado! Editado Abril 19, 2017 8 anos por Tadelho (veja o histórico de edições)
Postado Abril 19, 2017 8 anos function onStepIn(cid, item, pos) local tp = {x = 75, y = 80, z = 7} local pos = {x = 91, y = 13, z = 6} if item.actionid == 7460 then doSendMagicEffect(getCreaturePosition(cid), 9) doSetCreatureOutfit(cid, 159, -1) doPlayerAddSkill(cid, 4, 2) doTeleportThing(cid, pos) doSendMagicEffect(tp, 14) doPlayerSendTextMessage(cid, 22, "Você se encarnou em um elfo!") end return true end tenta essa function onStepIn(cid, item,pos) local tp = {x = 75, y = 80, z = 7} local pos = {x = 91, y = 13, z=6} if item.actionid == 7460 then doSendMagicEffect9getcreaturePosition(cid),9) doSetCreatureOutfit(cid, 159, -1) doPlayerAddSkill(cid, 4, 2) doTeleportThing(cid, pos) doSendMagicEffect(tp, 14) doPlayerSendTextMessage(cid, 22, "Você se encarnou em um elfo!") end return false end O rei de seu proprio destino é aquele que luta pela gloria do amanhã! Discord : ZoR#9373
Postado Abril 19, 2017 8 anos Autor 21 minutes ago, ZikaLord said: tenta essa function onStepIn(cid, item,pos) local tp = {x = 75, y = 80, z = 7} local pos = {x = 91, y = 13, z=6} if item.actionid == 7460 then doSendMagicEffect9getcreaturePosition(cid),9) doSetCreatureOutfit(cid, 159, -1) doPlayerAddSkill(cid, 4, 2) doTeleportThing(cid, pos) doSendMagicEffect(tp, 14) doPlayerSendTextMessage(cid, 22, "Você se encarnou em um elfo!") end return false end Acabo de tentar, mas infelizmente deu na mesma. O personagem se move para as coordenadas desejadas, mas todos os demais comandos são ignorados: Outfit igual, skill igual, sem efeitos e sem mensagem. Update: realizei um teste e percebi que o personagem apenas se move para a coordenadas editadas no MapEditor, ignorando as ordenadas no script.lua Embora o console não acuse nenhum erro, é como se o script não existisse. Editado Abril 19, 2017 8 anos por Tadelho (veja o histórico de edições)
Postado Abril 19, 2017 8 anos @Tadelho local tp = {x = 75, y = 80, z = 7} local pos = {x = 91, y = 13, z = 6} local outfit = {lookType = 159 , lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0} function onStepIn(cid, item, position, fromPosition) if item.actionid == 7460 then doSendMagicEffect(getCreaturePosition(cid), 9) doSetCreatureOutfit(cid, outfit, -1) doPlayerAddSkill(cid, 4, 2) doTeleportThing(cid, pos) doSendMagicEffect(tp, 14) doPlayerSendTextMessage(cid, 22, "Você se encarnou em um elfo!") end return true end
Postado Abril 19, 2017 8 anos Autor @Liipe Silva Tentei essa variação também, mas nada. Estou concluindo que o problema não é o script em si, mas sim algo a mais (que preciso descobrir, ainda). Não havendo erro de sintaxe que comprometa o carregamento das movements, é praticamente indiferente o que eu coloco no script, pois é tudo "simplesmente ignorado". Obrigado, de toda forma.
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.