Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Pessoal do Tibia King <3 !Dado este Script: 

  Citar

local vocs = {

[0] = 11, 

[5] = 9,

[2] = 10,

[6] = 10,

[3] = 11,

[7] = 11,

[4] = 12,

[8] = 12,

}


function onUse(cid, item, fromPosition, itemEx, toPosition)

if getPlayerStorageValue(cid, 1992) == 1 then 

return doCreatureSay(cid, "Voce Ja ganhou a Armadura", TALKTYPE_ORANGE_1)

end


if getPlayerLevel(cid) < 20 then

return doCreatureSay(cid, "Voce deve ter level 20 ou mais para usar o Item!", TALKTYPE_ORANGE_1)

end


doPlayerSetVocation(cid, vocs[getPlayerVocation(cid)])

doSendMagicEffect(fromPosition, 2)

doRemoveItem(item.uid, 1) 

return setPlayerStorageValue(cid, 1992, 1)

end

Mostrar mais  

qual comando faço pra colocar uma Outfit? Pra que a nova vocação, MUDE para uma Nova Outfit Também?

só pra quando usar o item, ganhe a vocação, mude Outfit e faça um efeito! 

Obrigado!

Link para o post
Compartilhar em outros sites

Sou iniciante ainda, bem iniciante mas tenta:

 

local vocs = {
[0] = 11, 
[5] = 9,
[2] = 10,
[6] = 10,
[3] = 11,
[7] = 11,
[4] = 12,
[8] = 12,
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
if getPlayerStorageValue(cid, 1992) == 1 then 
return doCreatureSay(cid, "Voce Ja ganhou a Armadura", TALKTYPE_ORANGE_1)
end

if getPlayerLevel(cid) < 20 then
return doCreatureSay(cid, "Voce deve ter level 20 ou mais para usar o Item!", TALKTYPE_ORANGE_1)
end

doPlayerSetVocation(cid, vocs[getPlayerVocation(cid)])
doSendMagicEffect(getCreaturePosition(cid), 2)
doCreatureChangeOutfit(cid, {lookType = 503}) -- coloca o look type da outfit
doRemoveItem(item.uid, 1) 
return setPlayerStorageValue(cid, 1992, 1)
end

 

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Under
      Tutorial Completo: Como Adicionar uma Nova Vocação no Canary Server
       
       
       
       
       
      1. Entendendo a Lógica das Vocações
      No servidor Canary, cada vocação representa uma classe de personagem com habilidades, atributos e características específicas. Para que o servidor reconheça uma nova vocação, é necessário:
      - Definir um identificador único (ID);
      - Registrar o ClientID (usado para exibição no cliente);
      - Especificar um BaseID (para herança de características ou evolução);
      - Configurar atributos, fórmulas e habilidades no XML.
       
       
      2. Alterando a Enumeração das Vocações (Código Fonte C++)
      Arquivo: `src/creatures/creatures_definitions.hpp`
      Adicione os novos IDs no enum `Vocation_t`:
       
      enum Vocation_t : uint16_t {     VOCATION_NONE = 0,     VOCATION_SORCERER = 1,     VOCATION_DRUID = 2,     VOCATION_PALADIN = 3,     VOCATION_KNIGHT = 4,     VOCATION_MASTER_SORCERER = 5,     VOCATION_ELDER_DRUID = 6,     VOCATION_ROYAL_PALADIN = 7,     VOCATION_ELITE_KNIGHT = 8,     VOCATION_WARRIOR = 9,     VOCATION_ELITE_WARRIOR = 10,     VOCATION_LAST = VOCATION_ELITE_WARRIOR };  
       
       
       
       
      3. Atualizando o Script de Vocações (Lua)
      Arquivo: `data/libs/vocation.lua`
      Adicione os novos valores nas três seções do objeto `VOCATION`:
       
      VOCATION = {     ID = {         WARRIOR = 9,         ELITE_WARRIOR = 10,         ...     },     CLIENT_ID = {         WARRIOR = 0,         ELITE_WARRIOR = 0,         ...     },     BASE_ID = {         WARRIOR = 5,         ...     } }  
       
       
       
       
      4. Criando Função de Verificação da Nova Vocação
      Arquivo: `data/libs/functions/player.lua`
      Adicione a seguinte função no final do arquivo:
       
      function Player.isWarrior(self)     return table.contains({VOCATION.ID.WARRIOR, VOCATION.ID.ELITE_WARRIOR}, self:getVocation():getId()) end  
       
       
       
       
      5. Configurando as Vocações no XML
      Arquivo: `data/XML/vocations.xml`
      Adicione o bloco de cada nova vocação com os atributos desejados:
       
      <vocation id="9" clientid="0" baseid="5" name="Warrior" description="a warrior"   magicshield="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="4000"   gainhpamount="1" gainmanaticks="6000" gainmanaamount="2" manamultiplier="3.0"   attackspeed="2000" basespeed="110" soulmax="200" gainsoulticks="15000" fromvoc="5">     <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" />     <skill id="0" multiplier="1.1" />     <skill id="1" multiplier="1.1" />     <skill id="2" multiplier="1.1" />     <skill id="3" multiplier="1.1" />     <skill id="4" multiplier="1.4" />     <skill id="5" multiplier="1.1" />     <skill id="6" multiplier="1.1" /> </vocation> <vocation id="10" clientid="0" baseid="6" name="Elite Warrior" description="an elite warrior"   magicshield="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="4000"   gainhpamount="1" gainmanaticks="6000" gainmanaamount="2" manamultiplier="3.0"   attackspeed="2000" basespeed="110" soulmax="200" gainsoulticks="15000" fromvoc="5">     <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" />     <skill id="0" multiplier="1.1" />     <skill id="1" multiplier="1.1" />     <skill id="2" multiplier="1.1" />     <skill id="3" multiplier="1.1" />     <skill id="4" multiplier="1.4" />     <skill id="5" multiplier="1.1" />     <skill id="6" multiplier="1.1" /> </vocation>  
       
       
       
       
      6. Compilando o Servidor
      Após todas as alterações, é obrigatório recompilar o servidor para que as novas vocações sejam reconhecidas corretamente.
       
       
       
      Conclusão:
       
      Ao seguir todos os passos, suas novas vocações estarão totalmente integradas ao servidor. Você poderá usá-las para personagens.
       
       
    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por Cat
      Testado em: TFS 1.0 (10.31)
      Funciona em: TFS 1.0 e TFS 0.4
      Descrição: Você leva uma determinada espada até o npc, fala com ele, ele vai pegar essa espada e ficar com ela por um certo tempo (3min), claro, você irá pagar uma quantia. Ao retornar, sua espada estará melhorada (no caso dos ids utilizados o npc irá trocar o item). Se houver algum bug, reporte que arrumaremos.
      Créditos: Jamison, Daniel.
       
      ---------- • ----------
       
      Diálogo:
       
      22:21 Daniel [250]: hi 
      22:21 Blacksmith Elf: Hello Daniel! I'm a Blacksmith Elf, I can transform your item! 
      22:21 Daniel [250]: transform 
      22:21 Blacksmith Elf: From time to time fate smiles upon those who take great risks and have strong dreams! If you have money, we can try to transform your umbral swords, axes, clubs, bows, crossbows or spellbooks. 
      22:21 Daniel [250]: club 
      22:21 Blacksmith Elf: One handed or two handed? 
      22:21 Daniel [250]: one handed 
      22:21 Blacksmith Elf: Do you want to spend your money to transform your crude umbral mace, yes or no? 
      22:21 Daniel [250]: yes 
      22:21 Blacksmith Elf: Great! Alright, I need a while to finish this club for you. Come ask me later. 22:22 Daniel [250]: hi 
      22:22 Blacksmith Elf: Hello Daniel! I'm a Blacksmith Elf, I can transform your item! 
      22:22 Daniel [250]: transform 
      22:22 Blacksmith Elf: Have you left anything here to transform ? 
      22:22 Daniel [250]: yes 
      22:22 Blacksmith Elf: You must wait until : 22:24:49. 22:25 Daniel [250]: hi 
      22:25 Blacksmith Elf: Hello Daniel! I'm a Blacksmith Elf, I can transform your item! 
      22:25 Daniel [250]: transform 
      22:25 Blacksmith Elf: Have you left anything here to transform ? 
      22:25 Daniel [250]: yes 
      22:25 Blacksmith Elf: Here you have it.  
      ---------- • ----------
       
      Fotos
       

       

       

       
      ---------- • ----------
       
      Script:
       
      data/npc/Blacksmith Elf.lua
       



       
      data/npc/scripts/blacksmith_elf.lua
       



    • Por lordzetros
      Bom, como o título já informa, o script faz com que você remova um item do inventário de algum player online.
       
      Versão: 8.6 - TFS 0.4
      Em data\talkactions\scripts crie um arquivo chamado removerItem (lembrando que deve ser .lua, caso não saiba criar um, copie algum já existente e cole, após isso, mude o nome do arquivo e cole o código dentro)
       
      --[[ Script feito por Lordzetros para o fórum Tibia King ]] function onSay(cid, words, param) pos = getPlayerPosition(cid) if (param == '') then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O comando necessita de parametros (nomePlayer,idItem,quantidade). Ex.: /remover Bugador,2160,100") if (not isPlayerGhost(cid)) then doSendMagicEffect(pos, CONST_ME_POFF) end return true end local aux = string.explode(param, ",") local pid = getPlayerByNameWildcard(aux[1]) if (not pid) then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Player " .. aux[1] .. " nao encontrado.") elseif (getPlayerAccess(pid) > getPlayerAccess(cid)) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce nao pode remover itens de um superior seu.") doPlayerSendTextMessage(pid, MESSAGE_INFO_DESCR, "O membro da staff " ..getCreatureName(cid).. " tentou remover um item de voce!") return true end aux[1] = aux[1]:lower() local qntd = 1 if(aux[3]) then if (tonumber(aux[3]) <= 0) then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Nao eh permitido valores nulos/negativos! Caso queira remover apenas 1x, use /remover Player,idItem") else qntd = aux[3] end end if (doPlayerRemoveItem(pid, tonumber(aux[2]), qntd) == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Removido " ..qntd.. "x " ..getItemNameById(aux[2]).. " do player "..aux[1]) posPlayer = getCreaturePosition(pid) doSendMagicEffect(posPlayer, CONST_ME_PLANTATTACK) doCreatureSay(pid,"O membro da staff " ..getCreatureName(cid).. " removeu " ..qntd.. "x " ..getItemNameById(aux[2]).." de seu inventario!", TALKTYPE_ORANGE_1) return true else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O Player " ..aux[1].. " nao tem o item ou a quantidade do item informada em seu inventario.") end return true end Salve o arquivo no qual colocou o código, após isso navegue até data\talkactions\ e abra o arquivo talkactions.lua, e coloque este trecho de código onde quiser:
       
      <talkaction log="yes" access="3" words="/remover" event="script" value="removerItem.lua"/> Feito isso, salve o mesmo e já pode testar no seu servidor.

      Obs1.: Repare que o acesso está definido como 3, ou seja, GM para cima. (mude se quiser)

       
      Comando na prática: /remover nomePlayer,idItem,qntd

      Imagens:
      1

       
      2

       
      3


       
      4

       
      Enfim, é isso pessoal, script simples, porém, pode servir para algum tibiano interessado. 
  • Estatísticas dos Fóruns

    96840
    Tópicos
    519576
    Posts
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo