Postado Abril 19, 2018 7 anos Bom dia, eu utilizo o otx, na versão 11+ e estou com um grande problema na crianção de script especifico para um "monster" Já procurei aqui no site, testei vários scripts e já alterei os jeitos várias vezes e nenhuma da certo. A principio eu comecei procurando um script que mata o "boss" e aparece um teleport e depois de alguns segundos esse teleport iria sumir, mas nenhum que testei deu certo, então eu procurei um que some uma parede, também não funcionou, agora testei o de "storages", que só passa pela porta ou teleport, após matar o "boss", porém também não deu certo. -Eu clico na porta ou no teleport e aparece a mensagem que eu quero, falando que precisa matar o boss, porém eu estou matando o boss e não ganho a "storage". Não sei se tenho que fazer mais algo, alguém pode me ajudar com isso? Vou postar os scripts que estou utilizando para esse ultimo da "storage" Criaturescript <event type="kill" name="nome do evento" script="nome do arquivo.lua" /> local monster = 'nome do monstro' -- coloque o nome todo minusculo local storage = 63567 -- valor da Storage local msg = 'mensagem que ira aparecer' -- Configure a gosto function onKill(cid, target, lastHit) if(isMonster(cid)) and getCreatureName(cid):lower() == monster then setPlayerStorageValue(lastHit, storage, 1) doPlayerSendTextMessage(lastHit, 22, msg) end return true end Action <action actionid="63567" script="nomedoarquivo.lua" /> local config = { storage = 63567, --id da storage value = 63567, --valor da storage tele = {x=31821, y=31918, z=15}, --posicao que o jogador vai ser teleportado } function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid,config.storage) == config.value then doTeleportThing(cid, config.tele, true) else doPlayerSendCancel(cid, "'Voce precisa matar o boss'") end return true end Editado Abril 19, 2018 7 anos por maedamor Organização (veja o histórico de edições)
Postado Abril 19, 2018 7 anos Solução Tag XML: Adicionar em creaturescripts.xml <event type="kill" name="nomedoevento" script="nomedoscript.lua" /> Adicionar nome do evento em creaturescripts/others/login.lua, na tabela de events Script Lua: Adicionar na pasta scripts em creaturescripts local monster = 'nome do monstro' -- coloque o nome todo minusculo local storage = 63567 -- valor da Storage local msg = 'mensagem que ira aparecer' -- Configure a gosto function onKill(creature, target) local targetMonster = target:getMonster() if not targetMonster then return true end if targetMonster:getName():lower() ~= monster then return true end local player = creature:getPlayer() player:setStorageValue(storage, 1) player:sendTextMessage(MESSAGE_INFO_DESCR, msg) return true end Tag XML: Adicionar em actions.xml <action actionid="63567" script="nomedoarquivo.lua" /> Script Lua: Adicionar na pasta scripts em actions local config = { storage = 63567, -- ID da storage pos = Position(31821, 31918, 15) -- Posição que o jogador vai ser teletransportado } function onUse(player, item, fromPosition, target, toPosition, isHotkey) if item.actionid ~= 63567 then return false end if player:getStorageValue(config.storage) < 1 then player:sendCancelMessage("You need kill the boss.") return true end player:teleportTo(config.pos) return true end Editado Abril 19, 2018 7 anos por FlavioHulk (veja o histórico de edições)
Postado Abril 19, 2018 7 anos Autor 18 minutos atrás, FlavioHulk disse: Tag XML: Adicionar em creaturescripts.xml <event type="kill" name="nomedoevento" script="nomedoscript.lua" /> Adicionar nome do evento em creaturescripts/others/login.lua, na tabela de events Script Lua: Adicionar na pasta scripts em creaturescripts local monster = 'nome do monstro' -- coloque o nome todo minusculo local storage = 63567 -- valor da Storage local msg = 'mensagem que ira aparecer' -- Configure a gosto function onKill(creature, target) local targetMonster = target:getMonster() if not targetMonster then return true end if targetMonster:getName():lower() ~= monster then return true end local player = creature:getPlayer() player:setStorageValue(storage) player:sendTextMessage(MESSAGE_INFO_DESCR, msg) return true end Tag XML: Adicionar em actions.xml <action actionid="63567" script="nomedoarquivo.lua" /> Script Lua: Adicionar na pasta scripts em actions local config = { storage = 63567, -- ID da storage pos = Position(31821, 31918, 15) -- Posição que o jogador vai ser teletransportado } function onUse(player, item, fromPosition, target, toPosition, isHotkey) if item.actionid ~= 63567 then return false end if player:getStorageValue(config.storage) < 1 then player:sendCancelMessage("You need kill the boss.") return true end player:teleportTo(config.pos) return true end FlavioHulk, Eu coloquei certo cada um em seus respectivos lugares, apenas coloquei aqui no mesmo script para identificar melhor e não abrir vários... Também já está adicionado no login.lua. Porém mesmo assim não está reconhecendo, quando mato não está dando a "storage" e ainda não consigo passar pela porta.
Postado Abril 19, 2018 7 anos Autor 9 minutos atrás, FlavioHulk disse: Editei meu post, copie o script novamente... Agora sim deu certo, obrigado. kkkkkk Rep+
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.