Ir para conteúdo
  • Cadastre-se

Normal Adicionando restrição de level e vocação em itens


Posts Recomendados

Olá pessoal.

 

Andei fazendo várias pesquisas pela internet atrás de "como adicionar restrição de level e vocação em itens" e achei alguns conteúdos bacanas (mas não lembro se foi neste fórum), porém muitas vezes o conteúdo desejado não vinha bem explicado.

 

Tomando isto como base, resolvi criar este post para que várias pessoas que venham a ter a mesma dúvida que eu tive consigam saná-las.

 

Para quem está procurando colocar restrições em todos os equipamentos (sejam armaduras, armas ou até mesmo munições), segue abaixo um tutorial bem básico (lembrando que não sou programador, apenas um curioso que quando enfia algo na cabeça, não sossega enquanto não resolve! :tongue:).

 

Para isso, vamos modificar o arquivo MOVEMENTS.XML e somente os valores em "itemid", "level" e "vocation id" (OBS.: sempre faça uma cópia do arquivo para evitar possíveis problemas com edição).

 

Para AMULETS:

<movevent type="Equip" itemid="" slot="necklace" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="" slot="necklace" event="function" value="onDeEquipItem"/>

Para HELMETS:

<movevent type="Equip" itemid="" slot="head" level="" event="function" value="onEquipItem">
    <vocation id=""/>
</movevent>
<movevent type="DeEquip" itemid="" slot="head" event="function" value="onDeEquipItem"/>

Para ARMORS:

<movevent type="Equip" itemid="" slot="armor" level="" event="function" value="onEquipItem">
    <vocation id=""/>
</movevent>
<movevent type="DeEquip" itemid="" slot="armor" event="function" value="onDeEquipItem"/>

Para LEGS:

<movevent type="Equip" itemid="" slot="legs" level="" event="function" value="onEquipItem">
    <vocation id=""/>
</movevent>
<movevent type="DeEquip" itemid="" slot="legs" event="function" value="onDeEquipItem"/>

Para RINGS:

<movevent type="Equip" itemid="" slot="ring" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="" slot="ring" event="function" value="onDeEquipItem"/>

Para BOOTS:

<movevent type="Equip" itemid="" slot="feet" level="" event="function" value="onEquipItem">
    <vocation id=""/>
</movevent>
<movevent type="DeEquip" itemid="" slot="feet" event="function" value="onDeEquipItem"/>

Para SHIELDS:

<movevent type="Equip" itemid="" slot="shield" level="" event="function" value="onEquipItem">
    <vocation id=""/>
</movevent>
<movevent type="DeEquip" itemid="" slot="shield" event="function" value="onDeEquipItem"/>

Para WEAPONS:

<movevent type="Equip" itemid="" slot="shield" level="" event="function" value="onEquipItem">
    <vocation id=""/>
</movevent>
<movevent type="DeEquip" itemid="" slot="shield" event="function" value="onDeEquipItem"/>

Por que utilizar o slot="shield" para armas?

No começo eu achei que não iria funcionar, pois somente um escudo pode ser equipado por vez.

Daí pensei: E se eu utilizar este atributo nas armas, será que vai dar certo? Afinal de contas, assim como os escudos, as armas também usam as mãos e também podem ser equipadas uma por vez! :hum:

Eis o resultado: Funcionou perfeitamente!

 

Para AMMUNITIONS (flexas e bolts):

<movevent type="Equip" itemid="" slot="ammunition" level="" event="function" value="onEquipItem"/> 
<movevent type="DeEquip" itemid="" event="function" value="onDeEquipItem"/>

Vocês podem até questionar: Mas qual a finalidade de limitar equipamentos, armas se munições?
Simples! Assim como qualquer tipo de RPG (querendo ou não, de alguma forma Tibia se encaixa nessa categoria) existem certas restrições de equipamentos e também para prevenir que qualquer player utilize qualquer tipo de equipamento, arma ou até mesmo munições, sem possuir os requerimentos necessários exigidos pelo item em questão (o que não acontece em muitos OTs). Assim o jogo fica mais "balanceado" e mais próximo do que "as leis do RPG mandam".

 

OBS e opinião própria.: Para aqueles que são fãs de RPG, já devem ter percebido que a classe Paladin do Tibia não tem nada a ver com os paladinos de qualquer RPG! A única "semelhança" entre eles seria a utilização de magias sagradas, por que de resto são arqueiros com nome de paladinos! :laugh:

 

Paladin = Classe cavaleira com atributos voltados mais para defesa e suporte a seus aliados.

Knight = Cavaleiro que ataca sempre na linha de frente, o famoso Berserker!

Archer = Atiradores excepcionais que evitam ao extremo a linha de frente, e dão suporte aos magos.

Mages = Clérigos (ou magos brancos -  que utilizam apenas magias de cura e sagradas), Druidas (magos da natureza) e Black Mages (magos que utilizam magias negras e de destruição), entre vários outros!

 

Bom, é isso! Espero ter ajudado!

Editado por JehJunco
Adição e correção de conteúdo (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Parabéns, seu tópico de conteúdo foi aprovado!
Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

Spoiler

Congratulations, your content has been approved!
Thank you for your contribution, we of Tibia King we are grateful.
Your content will help many other users, you received +1 REP.

 

Link para o post
Compartilhar em outros sites
  • 1 year later...

Cara, uma duvida bem NOOB, rs, essas linhas vc apenas acrescenta no MOVEMENTS, ou tem que incluir item a item? Comecei hoje um servidor, e queria colocar as restricoes, ele tem de vocação, mas nao tem de lvl, por exemplo, um char lvl 8 pode usar um Solar Axe (It can only be wielded properly by players of level 130 or higher.) para bater nos bichos, mas nao usa um War Axe (It can only be wielded properly by knights of level 65 or higher.) por ser um druida. Como resolvo? Vlw abs!

Link para o post
Compartilhar em outros sites
  • 8 months later...

Estou procurando saber qual é o nome do SLOT da backpack para restringir vocação, pois criei uma backpack para cada classe.

 

Alguém saberia me informar?

 

Exemplo: SLOT dos Helmet chama-se "head"

SLOT das Boots chama-se "feet"

SLOT da backpack chama=se"???"

Link para o post
Compartilhar em outros sites
12 horas atrás, jlortiz disse:

Estou procurando saber qual é o nome do SLOT da backpack para restringir vocação, pois criei uma backpack para cada classe.

 

Alguém saberia me informar?

 

Exemplo: SLOT dos Helmet chama-se "head"

SLOT das Boots chama-se "feet"

SLOT da backpack chama=se"???"

 

chama-se backpack, hahaha.

 

<movevent type="Equip" itemid="" slot="backpack" level="" event="function" value="onEquipItem"/> 
Editado por darkmu (veja o histórico de edições)
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 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 lango rullez
      Bom como via muita gente "nem tanta" com dúvidas, problemas etc.. Resolvi criar esse tópico para acabar com os seus problemas !
       
      ---------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------------
       
       
      Bom então vamos lá !
      ------------------------------------//--------------------------------------
       
      Pasta do seu servidor --> Data --> movements --> scripts
       
      Agora crie um arquivo .lua Renomeie com o nome de sua preferencia ! Ps: Tem que ser obrigatoriamente .LUA
      Bom no meu caso coloquei "TileLevel"
        E então cole este script dentro:   
       
       
      ------------------------------------------------------------------------------//-------------------------------------------------------------------------------------------
       
      {´~.~´} Legenda
       
      Vermelho: Level do player que irá poder passar no Teleport/tiler                                          
       
      Dourado: Posição de onde desejar colocar Teleport/tiler
       
      -------------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------------
       
      Agora salve o arquivo!
       
      -----------------------------------------------------------------//-----------------------------------------------------------------------
       
      Agora vamos para Segunda Parte !
      Me acompanhe !
      ---------------------------------------------------------------------------------------------------//---------------------------------------------------------------------------------------------------
      Vamos em:
      Pasta do seu servidor --> Data --> Movements.xml 
      Agora adicione o seguinte código/tag:
       
       
      {´~.~´} Legenda
      Roxo: É o nome do arquivo.lua que você criou na pasta Scripts
      Azul: É o level do player, tem que estar igual no script acima. Obs: Caso queria colocar level 100 é só mudar parte 250 para 100 isso vale mesma coisa na "PS" que acabei de explica embaixo \/
      -----------------------------------//------------------------------------------
      Ps:No Remeres Editor coloque no tile o actionID: 1250 ou level da sua preferencia. Quer level 100? então no tile coloque "1100"
       
      Bom espero que ajudem a todos !
       
        Créditos @vankk pelo script, que ele postou individualmente em um tópico, sem muitos detalhes.
       A TAG E AS DEMAIS COISAS FEITO POR MIM !
    • Por Lokozoido
      Olá galera do TK,procurei tanto um script de porta com level e não conseguir achar um que funcionasse,então decidi modificar uma script para passar na porta com tal level
      Primeiro vai em data/actions/scripts
      Crie um arquivo.lua (no caso criei portalvl.lua)
      Abra e cole isso lá
      Agora vá em data/actions/actions.xml
      E adicione isso:
      Explicação:
         if getPlayerLevel(cid) >= 250 then=Level necessário para passar.
              doTeleportThing(cid, {x=1993,y=2187,z=8})= Posição para onde o player será enviado ao clicar na porta
               doPlayerSendCancel(cid, "Voce nao tem level 250 para passar.")= Mensagem ao aparecer quando o player não tiver o level necessário
      <action actionid="5457" event="script" value="portalvl.lua"/>
      Numero para por na porta
      Nome do arquivo.lua
      Ajudei?RAP+
    • Por Absolute
      Fala galera do TK, trago hoje um comando simples que já vi pedidos.
      É o comando de adicionar level, para você que gosta de se editar, dar level para tests ou eventos, como quiser rs.
       
       
       
      Vamos lá:
      Siga meus passos que em 1 minuto o servidor terá o comando.
       
      Em data/talkactions/scripts crie um arquivo com o nome de addlevel.lua com o seguinte conteúdo:
      function onSay(cid, words, param) if(param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Name and level required.") return TRUE end local t = string.explode(param, ",") local player = getPlayerByNameWildcard(t[1]) local amount = tonumber(t[2]) if(not t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to add a ,then the level to set.") end if (doPlayerAddExp(player, getExperienceForLevel(amount)-(getPlayerExperience(player)))) == LUA_ERROR then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Error") end doCreatureAddMana(player, getCreatureMaxMana(player)-getCreatureMana(player)) doCreatureAddHealth(player, getCreatureMaxHealth(player)-getCreatureHealth(player)) return TRUE end Em data/talkactions/talkactions.xml adicione a seguinte linha:
      <talkaction log="yes" access="5" words="!addlevel" event="script" value="addlevel.lua"/> Para adicionar level a algum player: !addlevel playername, 100
      !addlevel = comando executado apenas pelos Administradores do servidor.
      !playername = nome do jogador que vai receber o level
      100 = quantidade de level que irá receber
       
       
       
      Nota: O Comando já dará ao player o level/vida/mana e exp tudo de acordo!




      Simples e fácil para adaptar em seu servidor!



      Espero ter ajudado
       
       
       
      Absolute.
       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo