Ir para conteúdo
  • 0

[Pedido] monstro só ataca player com storage (10 reps)


Jefferson14789

Pergunta

Como o título vem dizendo eu quero uma script para determinado mostro so ataque o player com um determinado storage, caso o player não tenha ele fica parado e nem ataca o player, eu tenho as sources e quero pedir a vcs essa ajuda oq for preciso.

10 reps+

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

em creaturescript/script faça um arquivo chamado noatk.lua

 

coloque dentro

 

function onTarget(cid, target)
if getPlayerStorageValue(target, 8595) == 1 then
return false
end
return true
end

function onAttack(cid, target)
if getPlayerStorageValue(target, 8595) == 1 then
return false
end
return true
end

 

e em creaturescript.xml

 

adicione

 

 

    <event type="attack" name="Natk" event="script" value="noatk.lua"/>
    <event type="target" name="Ntag" event="script" value="noatk.lua"/>
  

 

e no xml do monstro que você quer que só atk o player se tiver a storage

 

coloque em baixo do primeiro <script>

<event name="Natk"/>

<event name="Ntag"/>

 

 

obs: a storage é 8595 e é = a 1 mais voce pode mudar ela e a quantia ali no creatureevent nas partes

getPlayerStorageValue(target, 8595) == 1

 

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

não deu nem um erro mas n funcionou, o monstro ataca do mesmo jeito

 

tenta assim

function onTarget(cid, target) 
if getPlayerStorageValue(target, 8595) == -1 then 
return false
end 
return true 
end 
function onAttack(cid, target) 
if getPlayerStorageValue(target, 8595) == -1 then
return false
end 
return true 
end​
Link para o comentário
Compartilhar em outros sites

  • 0

Tenta assim.

function onTarget(cid, target)
if isMonster(cid) and isPlayer(target) and getPlayerStorageValue(target, 3241) < 1 then
return false
end
return true
end
<event type="target" name="MobStor" event="script" value="nome do seu script.lua"/>
registerCreatureEvent(cid, "MobStor")

Créditos Vodkart.

Link para o comentário
Compartilhar em outros sites

  • 0

eu tava brincando com esse código aqui e pelo que eu lembre ele funciona perfeito no meu 0.3.6.. no máximo você tem que adicionar os outros callbacks (onAttack, onTarget)

 

local notattackable = {1,2,5,6} --- vocações que não receberão ataque
function onCombat(cid, target)
 
 
if(not isPlayer(target)) then
return true
else
 
targets = getMonsterTargetList(cid)
if isInArray(notattackable, getPlayerVocation(target)) then
   addEvent(check,1000,cid,targets)
   return false
else
return true
end
end
end
 
function check(cid,targets)
 
for i=1, #targets do
	if isInArray(notattackable, getPlayerVocation(targets[i])) then
	  
	   addEvent(check,1000,cid,targets)
	   return false
	else
		stopEvent(check)
		return true
	end
end
end

 



Pra mudar pra aceitar saga é só trocar as checagens de vocação pelas de storage. O esquema é o mesmo de registrar o event para o monstro em questão. Espero que dê certo pra vocês ;]

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...