
Histórico de Curtidas
-
Lemitron deu reputação a zipter98 em Ditto Memory System por talkactionOK, isto não é exatamente um sistema, visto que é composto por um único arquivo com um único callback, mas enfim.
Antes de começar a desenvolver o tópico, digo-lhes: o código é para poketibia, não outros derivados ou Tibia comum.
Introdução:
A pedidos de um amigo, resolvi escrever este script. Por não programar em OTClient, optei por escrevê-lo em uma talkaction. Para aqueles que não conhecem o sistema, consiste em praticidade para as transformações do Ditto: ao invés de repetir o cansativo processo de procurar o pokémon que deseja-se copiar, você pode simplesmente salvá-lo na memória do Ditto para, sempre que quiser, transformá-lo em um único comando.
Você pode configurar quantos slots de "memória" quiser.
Para usar os comandos, você deve colocar uma pokebola com um Ditto no slot 8/feet (a.k.a "pokeball slot"). Alguns, no entanto, necessitam também que o pokémon esteja "solto".
Comandos:
/memory check Use este comando para verificar os atuais slots de seu Ditto. /memory forget [slot] Use este comando para deletar uma memória salva, respectiva ao slot indicado. Ex.: /memory forget 1 /memory save [slot] Use este comando para salvar uma memória, respectiva ao slot indicado. A memória salva será do pokémon que seu Ditto estará transformado no momento. Ex.: /memory save 3 /memory [slot] Use este comando para transformar seu Ditto no pokémon que estiver armazenado no slot indicado. Ex.: /memory 2 PS: Você também pode usar !memory.
Instalação:
Em data/talkactions/scripts, crie um arquivo com extensão .lua, nomeie-o dittomemory e coloque o seguinte conteúdo:
Em data/talkactions, abra o arquivo talkactions.xml e coloque a seguinte tag: <talkaction words="/memory;!memory" event="script" value="dittomemory.lua"/> Versão testada: 8.54 Servidor testado: PDA by Slicer, versão 1.9 É um código bem simples, escrito em poucos minutos. Resolvi postá-lo pois gostei do resultado apresentado. Para alguns, pode não ser tão útil; para outros, espero que sim. É isso aí, até mais. -
Lemitron deu reputação a 9k22 em Cada classe com sua armaEm Weapons.xml
EXEMPLOS:
<wand id="2182" level="7" mana="2" min="8" max="18" type="earth" event="function" value="default"> <vocation name="Druid"/> <vocation id="6" showInDescription="0"/> </wand> <melee id="2447" level="50" unproperly="1" event="function" value="default"> <vocation name="Knight"/> <vocation id="8" showInDescription="0"/>
-
Lemitron deu reputação a
PedroSTTem Duvida geralCid
Type
Msg
Tipos de msg
-
Lemitron deu reputação a WhiteBubble em Ajuda com um Sistema de abrir portasBoa tarde, tenta esse script que o membro @krellgaming fez, segue abaixo o que ele escreveu em outro topico:
PS: coloque uma porta normal, não locked.
faça um arquivo chamado doorkeystorage.lua e coloque em actions/scripts
function onUse(cid, item, frompos, item2, topos)
local storage = 304392 -- coloque o storage aqui
local porta = 7049 -- id da porta
local uniqueidporta = 12000
if item2.uid == uniqueidporta and item2.itemid == porta then
setPlayerStorageValue(cid, storage, 1)
doRemoveItem(cid, item.uid, 1)
else
doPlayerSendTextMessage(cid, 22, "Porta errada!")
end
return TRUE
end
Em actions.xml:
<action itemid="ID DA CHAVE" script="doorkeystorage.lua"/>
<action uniqueid="12000" script="doorkeystorage.lua"/>
Aí você põe na porta no map, o uniqueid 12000
e a chave tal, quando usada na porta, dá o storage pro jogador.
em movements/scripts crie um arquivo com o nome doorkeystorage.lua
function onStepIn(cid, item, position, fromPosition, toPosition)
local storage = getPlayerStorageValue(cid, 304392)
if storage == 1 then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Siga em frente.")
else
doTeleportThing(cid, fromPosition)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Somente players que liberaram esta passagem, podem passar.")
end
return true
end
Em movements.xml adicione:
<movevent type="StepIn" actionid="ACTION QUE VC VAI POR NO PISO EM BAIXO DA PORTA" event="script"value="doorkeystorage.lua"/>