BR
action

SlotType de equipamentos

Por BreisPodeu, 11 de abr. de 2014 em Scripts

resolvido
tibia
script
otserv
6
2.5k
BreisPodeuB
13 de abril de 2014 às 23:18

Tipo do script: Action
Protocolo (versão do Tibia): 8.6
Servidor utilizado: OTX Server based in TFS 0.3.7
Nível de experiência: Media
Adicionais/Informações:

 

Então galera... Estou com uma dúvida de como pegar o slotType de um equipamento... Pra explicar melhor vou falar oq quero fazer:

Bom, terá um item que quando eu uso em uma Legs, por exemplo, dará um efeito. E esse mesmo item, se for usado em um helmet, dará um efeito diferente..

 

O problema é que o equipamento não precisará estar realmente equipado, então n posso usar a função que pega o item equipado diretamente do player naquele slot...

 

Preciso saber como pegar o "slotType" definido no xml para os equipamentos, tanto pra legs, helmet, amulets, rings, boots e armors..

 

Alguem?


Alguem? Preciso disso urgente =/

gonorreiaswatG
14 de abril de 2014 às 01:53

Deixe-me ver se entendi.

Seria uma Regra o item não estar equipado para poder fazer esta combinação ou gostaria de que, tanto equipado quanto não equipado, poderia combinar os itens?

Editado Abril 14 por Adriano Swatt

MazynhoM
14 de abril de 2014 às 05:04

Tipo do script: Action

Protocolo (versão do Tibia): 8.6

Servidor utilizado: OTX Server based in TFS 0.3.7

Nível de experiência: Media

Adicionais/Informações:

 

Então galera... Estou com uma dúvida de como pegar o slotType de um equipamento... Pra explicar melhor vou falar oq quero fazer:

 

Bom, terá um item que quando eu uso em uma Legs, por exemplo, dará um efeito. E esse mesmo item, se for usado em um helmet, dará um efeito diferente..

 

O problema é que o equipamento não precisará estar realmente equipado, então n posso usar a função que pega o item equipado diretamente do player naquele slot...

 

Preciso saber como pegar o "slotType" definido no xml para os equipamentos, tanto pra legs, helmet, amulets, rings, boots e armors..

 

Alguem?

Alguem? Preciso disso urgente =/

 

Estou com esse mesmo problema.

 

http://www.xtibia.com/forum/topic/231216-descobrir-se-um-item-e-uma-armor-legs-e-etc/

 

Mas até agora não consegui resolver.

BreisPodeuB
14 de abril de 2014 às 21:35

edit:

 

Dúvida resolvida...

 

Mazynho, se você quiser saber como resolvi, foi assim:

 

Basta usar a função getItemInfo(itemid) e pegar o wieldPosition do retorno da função..

Por exemplo.. Eu tenho uma legs e quero fazer a checagem se é ou não uma legs..

 

Essa legs será o "Item" no meu exemplo:

if (getItemInfo(Item.itemid).wieldPosition == 7) then
    doBroadcastMessage("O item eh uma legs")
end

Lembrando que o retorno da função pode ser:

1 - Head
2 - Necklace
3 - Caso o item seja usado na posição da bp
4 - Body (armor)
5 - Item usado na mao direita
6 - Item usado na mao esquerda
7 - Legs
8 - Feet (boots)
9 - Ring
10 - Item que eh usado na flecha (munições)
12 - Não está definido no item.xml a posição que é usado, ou seja, todos outros items (inclusive chão, parede, etc)

E já é definido as seguintes constantes no seu arquivo de biblioteca caso você não queira usar os números:

CONST_SLOT_HEAD = 1
CONST_SLOT_NECKLACE = 2
CONST_SLOT_BACKPACK = 3
CONST_SLOT_ARMOR = 4
CONST_SLOT_RIGHT = 5
CONST_SLOT_LEFT = 6
CONST_SLOT_LEGS = 7
CONST_SLOT_FEET = 8
CONST_SLOT_RING = 9
CONST_SLOT_AMMO = 10

É isso ae mano, só toma cuidado com alguns items que não é definido o slotType no items.xml, tipo o ring of healing que já está em uso, pq daí retorna 12 =)


Pode fechar, obrigado.

Editado Abril 14 por BreisPodeu

MazynhoM
14 de abril de 2014 às 22:32

edit:

 

Dúvida resolvida...

 

Mazynho, se você quiser saber como resolvi, foi assim:

 

Basta usar a função getItemInfo(itemid) e pegar o wieldPosition do retorno da função..

Por exemplo.. Eu tenho uma legs e quero fazer a checagem se é ou não uma legs..

 

Essa legs será o "Item" no meu exemplo:

if (getItemInfo(Item.itemid).wieldPosition == 7) then
    doBroadcastMessage("O item eh uma legs")
end

Lembrando que o retorno da função pode ser:

 

1 - Head
2 - Necklace
3 - Caso o item seja usado na posição da bp
4 - Body (armor)
5 - Item usado na mao direita
6 - Item usado na mao esquerda
7 - Legs
8 - Feet (boots)
9 - Ring
10 - Item que eh usado na flecha (munições)
12 - Não está definido no item.xml a posição que é usado, ou seja, todos outros items (inclusive chão, parede, etc)

E já é definido as seguintes constantes no seu arquivo de biblioteca caso você não queira usar os números:

CONST_SLOT_HEAD = 1
CONST_SLOT_NECKLACE = 2
CONST_SLOT_BACKPACK = 3
CONST_SLOT_ARMOR = 4
CONST_SLOT_RIGHT = 5
CONST_SLOT_LEFT = 6
CONST_SLOT_LEGS = 7
CONST_SLOT_FEET = 8
CONST_SLOT_RING = 9
CONST_SLOT_AMMO = 10

É isso ae mano, só toma cuidado com alguns items que não é definido o slotType no items.xml, tipo o ring of healing que já está em uso, pq daí retorna 12 =)

 

 

Pode fechar, obrigado.

 

Valeu cara! vou testar aqui.

zipter98Z
15 de abril de 2014 às 14:58

Tópico movido para a seção de dúvidas e pedidos resolvidos.