Ir para conteúdo
  • 0

Cargas Em Amuleto


lucas502

Pergunta

Olá galera, preciso de ajuda para colocar cargas no amuleto AOL Red/Black skull, como eu coloco cargas nesse amuleto? (10x cargas)

 

Script:

 

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
if (getPlayerSlotItem(cid, 2).itemid == 2196) and getPlayerSkullType(cid) >= 4 then
doCreatureSetDropLoot(cid, false)
doPlayerSetLossPercent(cid, PLAYERLOSS_ITEMS, 0)
doPlayerSetLossPercent(cid, PLAYERLOSS_CONTAINERS, 0)
end
return true
end

 

login.lua

registerCreatureEvent(cid, "RedSkullAmulet")

 

creaturescripts tag

<event type="preparedeath" name="RedSkullAmulet" event="script" value="script.lua"/>

 

Item

<item id="2196" article="a" name="Red Skull Amulet">
<attribute key="weight" value="420" />
<attribute key="slotType" value="necklace" />

 

 

PS: Não testei colocar a tag

<attribute key="charges" value="10" />

pois acredito que não funcionaria por que o amuleto funciona em creaturescripts.

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

9 respostass a esta questão

Posts Recomendados

  • 0

tenta usa esse script

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
item = getPlayerSlotItem(cid, 2)
if (item.itemid == 2196) and getPlayerSkullType(cid) >= 4 then
charges = getChargesByDescripition(item.uid)
if charges > 1 then
doRemoveChargeBydesc(item.uid)
doCreatureSetDropLoot(cid, false)
doPlayerSetLossPercent(cid, PLAYERLOSS_ITEMS, 0)
doPlayerSetLossPercent(cid, PLAYERLOSS_CONTAINERS, 0)
elseif charges == 1 then
doCreatureSetDropLoot(cid, false)
doPlayerSetLossPercent(cid, PLAYERLOSS_ITEMS, 0)
doPlayerSetLossPercent(cid, PLAYERLOSS_CONTAINERS, 0)
doRemoveItem(item.uid)
end
end
return true
end

function getChargesByDescripition(uid)
s = getItemDescriptions(uid))
charges = s:sub(s:find("charges ") +8,s:find("%.")-1)
k = tonumber(charges)
if k then
return k
else
return false
end


function doRemoveChargeBydesc(uid)
s = getItemDescriptions(uid))
k = getChargesByDescripition(uid)
s = s:sub(1, s:find("%d")-1)
doItemSetAttribute(uid,"description", ""..s..""..k..".")
return TRUE
end

dai se vai la no item.xml e coloca na description do item "charges 20."(sem aspas,mas com o ponto final),se o item n tive o attributo description adicione ele

Link para o comentário
Compartilhar em outros sites

  • 0

testei seu script, deu erro:

 

[Error - LuaInterface::loadFile] data/creaturescripts/scripts/redskullamulet.lua:21: unexpected symbol near ')'

[Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/redskullamulet.lua)

data/creaturescripts/scripts/redskullamulet.lua21: unexpected symbol near ')'

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

  • 0

tenta assim:

 

 

Items.xml

<item id="2196" article="a" name="Red Skull Amulet">
<attribute key="weight" value="420" />
<attribute key="slotType" value="necklace" />
<attribute key="charges" value="10" />
<attribute key="showcharges" value="1" />
</item>

 

 

script

 

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
local colar = getPlayerSlotItem(cid, 2)
if isPlayer(cid) and (colar.itemid == 2196) and getPlayerSkullType(cid) >= 4 then
if colar.type > 1 then
doChangeTypeItem(colar.uid, colar.type - 1)
else
doRemoveItem(colar.uid, 1)
end
doCreatureSetDropLoot(cid, false)
doPlayerSetLossPercent(cid, PLAYERLOSS_ITEMS, 0)
doPlayerSetLossPercent(cid, PLAYERLOSS_CONTAINERS, 0)
end
return true
end

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...