Ir para conteúdo

[Ajuda] Aol Infinito


Baiakuda

Posts Recomendados

Tipo do script: Creaturescripts

Protocolo (versão do Tibia): 8.60

Servidor utilizado: TFS 0.4

Nível de experiência: medio

Adicionais/Informações: Como voces vao ver no script abaixo eu tenho um amuleto que nao dropa loot e ele é infinito, POREM quando voce morre RED SKULL com ele DROPA TUDO, porem quando voce RE-LOGA so ta o amuleto no corpo ... tem como tirar esse bug?

 

amulet inf.lua > EM script/creaturescripts

Amulet_id = 10719

function onDeath(cid, corpse, deathList)
if(isPlayer(cid)  == true) then
	if(getPlayerSlotItem(cid, CONST_SLOT_NECKLACE).itemid == Amulet_id) then
		doPlayerSetStorageValue(cid, 25000, 1)
	end
end
return true
end

function onLogin(cid)
if(getPlayerStorageValue(cid, 25000) == 1) then
	if(getPlayerSlotItem(cid, CONST_SLOT_NECKLACE).itemid <= 0) then
		doPlayerAddItem(cid, Amulet_id, 1)
		doPlayerSetStorageValue(cid, 25000, -1)
	end
end

registerCreatureEvent(cid, "Amulet Inf login")
registerCreatureEvent(cid, "Amulet Inf death")
return true
end

 

EM creaturescripts.xml

<event type="login" name="Amulet Inf login" event="script" value="amulet inf.lua"/>
<event type="death" name="Amulet Inf death" event="script" value="amulet inf.lua"/>

 

MEU AMULETO na pasta ITEMS.XML

<item id="10719" article="an" name="infinito amulet">
               <attribute key="weight" value="420" />
	<attribute key="absorbPercentAll" value="30" />
	<attribute key="preventDrop" value="1" />
               <attribute key="slotType" value="necklace" />
	<attribute key="showattributes" value="1" />
       </item>

Editado por Baiakuda
Link para o comentário
Compartilhar em outros sites

amulet inf.lua

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
   if isPlayer(cid) == true then
       if (getPlayerSlotItem(cid, 2).itemid == 10719) then 
               doCreatureSetDropLoot(cid, false)       
               doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYAREA)
       return TRUE
       end
   end

registerCreatureEvent(cid, "Amulet Inf")

   return TRUE
end

 

creaturescript.xml

<event type="preparedeath" name="Amulet Inf" event="script" value="amulet inf.lua"/>

 

 

items.xml

 

 



       <item id="10719" article="an" name="infinito amulet"> 
               <attribute key="weight" value="420" /> 
               <attribute key="slotType" value="necklace" />
               <attribute key="absorbPercentAll" value="30" />  
       </item>

Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

Não funfou, quando o player morre dropa TUDO menos o amulet :(

 

Mesmo assim Vlw Vodkart sempre ajudando todos do XTIBIA ...

REP+

Editado por Baiakuda
Link para o comentário
Compartilhar em outros sites

já sei porque não funciono,vc tem que adiciona "registerCreatureEvent" no login.lua manualmente mesmo

 

assim:

 

amulet inf.lua

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
   if isPlayer(cid) == true then
       if (getPlayerSlotItem(cid, 2).itemid == 10719) then 
               doCreatureSetDropLoot(cid, false)       
               doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYAREA)
       return TRUE
       end
   end
   return TRUE
end

 

creaturescript.xml

<event type="preparedeath" name="Amulet Inf" event="script" value="amulet inf.lua"/>

 

login.lua

registerCreatureEvent(cid, "Amulet Inf")

 

items.xml

 

       <item id="10719" article="an" name="infinito amulet"> 
               <attribute key="weight" value="420" /> 
               <attribute key="slotType" value="necklace" />
               <attribute key="absorbPercentAll" value="30" />  
       </item>

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...