KL

Script Para Não Atacar Mesma Classe

Por klauseidel, 17 de abr. de 2012 em Scripts

tibia
script
otserv
7
1.8k
klauseidelK
17 de abril de 2012 às 19:45

Boa noite, se alguem puder me ajudar, eu gostaria de um script que determinasse que uma classe x não pode atacar classe y.: Exemplo: Knights não podem atacar pallys. Obrigado!

 

 

 

 

 

Tipo do script: Não sei, mas acho que é action

Protocolo (versão do Tibia): 8.6

Servidor utilizado: The forgothen server 4.4.0 (acho que é 4.4.0)

Nível de experiência: Alto

meubkM
19 de abril de 2012 às 20:51

vocation = {
[1] = {5, 2}, -- vocação 1 não pode atacar a vocação 5 e 2
[2] = {4, 1},
}
function onTarget(cid, target)
if isPlayer(target) then
 if isInArray(vocation[getPlayerVocation(cid)], getPlayerVocation(target)) then
  doPlayerSendCancel("Você não pode atacar essa vocação")
  return false
 end
end
return true
end

 

 

pode adicionar quantas vocação quiser {5, 2, 4, 3, 1} etc ...

 

tbem criar outras verificações:

 

[1] = {5, 2}, vocação 1 não pode atacar a vocação 5 e 2

[3] = {4, 1},

[5] = {4, 1, 3},

[2] = {4, 1, 2},

klauseidelK
20 de abril de 2012 às 10:46

Brother, muuuito obrigado pelo script!

Faz um tempinho que não mexo com otserv, pode me ensinar a implementar o script no OT?

é uma action?

Valeu mesmo cara!

Abraços

SubwatS
20 de abril de 2012 às 15:08

é creaturescript eu acho.

jhon992J
21 de abril de 2012 às 07:35

#Subwat reportado por flood.

 

@xIceHeartx, vai na pasta data/creaturescripts/scripts, duplica um arquivo e nomeia para "attackvocation" e cola o código dentro.

Depois em creaturescripts.xml cole a tag:

<event type="target" name="AttackVocation" event="script" value="attackvocation.lua"/>

Por fim no seu arquivo login.lua na pasta script, antes do último return true cole:

registerCreatureEvent(cid, "AttackVocation")

2 meses depois...
20cm2
20 de junho de 2012 às 23:02

Aqui não funciona?

Ajuda?

jhon992J
21 de junho de 2012 às 12:25

@20cm, aparece algum erro no executável? Coloca-se as tags no creaturescripts.xml e no login.lua e o nome do script coloca-se attackvocation?