Postado Dezembro 12, 2014 10 anos Olá galera, preciso de uma ajuda com um script no meu OT, O char nasce no templo e tem seus outfits e addons normais, quando ele morrer, gostaria de que ele nascesse em um outro lugar que nao fosse o templo, ex: em um cemitério e com um outfit de zombie, ghots tanto faz... e que nao pudesse mudar esse outfit, e quando adquirisse um item qualquer ele voltasse a ter seus outfits e addons normais e voltasse pro templo.
Postado Dezembro 12, 2014 10 anos e quando adquirisse um item qualquer ele voltasse Como ele voltaria ao "normal" com esse item? Simplesmente usando-o ou uma talkaction, um npc..? The corrupt fear us. The honest support us. The heroic join us.
Postado Dezembro 12, 2014 10 anos Autor Olá, seria usando-o desculpe minha falta de explicação rs... Como ele voltaria ao "normal" com esse item? Simplesmente usando-o ou uma talkaction, um npc..?
Postado Dezembro 13, 2014 10 anos Boa noite. O script ficou assim... Em CreatureScripts, o arquivo creaturescripts.xml adicione as seguintes tags: <event type="preparedeath" name="Morto" event="script" value="posmorte.lua"/> <event type="login" name="MortoSeg" event="script" value="posmorte.lua"/> Dentro da pasta scripts da referida acima, em login.lua adicione as tags abaixo junto com as outras do gênero: registerCreatureEvent(cid, "Morto") registerCreatureEvent(cid, "MortoSeg") Agora crie um arquivo com o nome "posmorte.lua" e adicione o script dentro: -------- CONFIGURAÇÕES -------- local morto = {lookType = 48} -- lookType local cemitery = {x=177, y=168, z=7} -- Coordenada do Cemitério local strg, strg2 = 12128, 12129 -- Storage Salva que é Fantasma, Storage de Controle ---- FIM DAS CONFIGURAÇÕES ---- local condition_outfit = createConditionObject(CONDITION_OUTFIT) setConditionParam(condition_outfit, CONDITION_PARAM_OUTFIT, true) setConditionParam(condition_outfit, CONDITION_PARAM_TICKS, -1) addOutfitCondition(condition_outfit, morto) function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) if isPlayer(cid) then setPlayerStorageValue(cid, strg, 1) setPlayerStorageValue(cid, strg2, -1) end return true end function onLogin(cid) if getPlayerStorageValue(cid, strg2) < 1 then if getPlayerStorageValue(cid, strg) >= 1 then setPlayerStorageValue(cid, strg2, 1) doAddCondition(cid, condition_outfit) doTeleportThing(cid, cemitery) doPlayerSendTextMessage(cid, 4, "Agora és um fantasma.") end else doPlayerSendTextMessage(cid, 4, "Ainda és um fantasma.") doAddCondition(cid, condition_outfit) end return true end Certo, agora em Actions, abra o actions.xml e adicione a tag do item que ressuscitará o player, ficará tipo isso: <action itemid="ID_DO_ITEM" script="reviver.lua"/> E o arquivo "reviver.lua" ficará assim: -------- CONFIGURAÇÕES -------- local morto = {lookType = 48} -- lookType local strg, strg2 = 12128, 12129 -- Storage Salva que é Fantasma, Storage de Controle ---- FIM DAS CONFIGURAÇÕES ---- function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, strg) >= 1 or getPlayerStorageValue(cid, strg2) >= 1 then setPlayerStorageValue(cid, strg, -1) setPlayerStorageValue(cid, strg2, -1) doRemoveItem(item.uid, 1) doRemoveCondition(cid, CONDITION_OUTFIT) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) else doPlayerSendCancel(cid, "Você não está morto para usar este item.") end return true end Testei e funcionou perfeitamente. Caso haja bugs, favor relatar. Boa sorte. Editado Dezembro 13, 2014 10 anos por Adriano SwaTT (veja o histórico de edições) Gosta do meu trabalho? Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs. Atenciosamente,Adriano Swatt' Para ver meus tutoriais acesse meu perfil.
Postado Dezembro 13, 2014 10 anos Autor Esqueci de dizer que, meu OT é o 8.6 muda alguma coisa isso? Obg... Estou tendo alguns problemas para add o script, se você puder ser um pouco mais especifico eu agradeceria obg... Editado Dezembro 13, 2014 10 anos por Ceds (veja o histórico de edições)
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.