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

Jefferson14789
em Scripts

Jefferson14789

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 21/02/11Posts: 30

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+

Strogman

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 04/11/12Posts: 464Gênero: MasculinoChar no Tibia: Lysty Of Death

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

 

 

 

 

                                 logo_full_1600.png.f8d0c5d8ba71c660bad630b327c3e64d.png

                                                              htps://www.facebook.com/PokemonOnlineSVKE

                                                                                                                       PokeSvke

Jefferson14789

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 21/02/11Posts: 30

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

Jefferson14789

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 21/02/11Posts: 30

exatamente isso que quero.

Strogman

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 04/11/12Posts: 464Gênero: MasculinoChar no Tibia: Lysty Of Death

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​

 

                                 logo_full_1600.png.f8d0c5d8ba71c660bad630b327c3e64d.png

                                                              htps://www.facebook.com/PokemonOnlineSVKE

                                                                                                                       PokeSvke

Jefferson14789

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 21/02/11Posts: 30

n dá erro mas tbm n funciona ;/

Lumus

Lumus ;)
avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 03/02/13Posts: 1233Gênero: MasculinoChar no Tibia: Partiu Baladinha

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.

#include <iostream>

 

cout <<"Mano, a brisa é louca o barato é dentro";

nbb147

My sweet sadness, my favorite feeling. ♪♫
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 06/04/11Posts: 350Char no Tibia: Mulekepirado

Jefferson14789 me tira uma duvida você está atrás desse disso para criar um sistema de saga não é?

 
 

 

Jefferson14789

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 21/02/11Posts: 30

Exatamente meu amigo.

Night Wolf

Coordenador de Desenvolvimento
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/02/14Posts: 341Gênero: MasculinoChar no Tibia: Night Wolf

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 ;]

I9AtE9T.png
/NW