Ir para conteúdo
  • 0

Unique Item?


Amantezinho

Pergunta

Estava usando o unique item do PDA (num server com Icon System) porém ele dava duplo moveevent e tal, retirei o antigo e deixei só o do Unique, mas não funciona, os itens ID continuam "dropaveis".
Eu tenho que atribuir o UNIQUE numa quest e tal ou todos os ids citados serão não dropaveis?

 

 

 

function giveBack(item) --alterado v1.8 peguem o script todo!

local cid = getPlayerByName(getItemAttribute(item.uid, "unique"))
local name = getItemAttribute(item.uid, "unique")
local attr = getBallsAttributes(item.uid)
local sendMail = false
---------------------------------- --alterado v1.9.1 \/
if not isCreature(cid) then
doRemoveItem(item.uid, 1)
return true
elseif (getPlayerFreeCap(cid) >= 6 and not isInArray({5, 6}, getPlayerGroupId(cid))) or not hasSpaceInContainer(getPlayerSlotItem(cid, 3).uid) then
item2 = doCreateItemEx(item.itemid)
sendMail = true
else
item2 = addItemInFreeBag(getPlayerSlotItem(cid, 3).uid, item.itemid, 1)
end
----------------------------------
for a, b in pairs(attr) do
if b then
doItemSetAttribute(item2, a, b)
else
doItemEraseAttribute(item2, a)
end
end
if sendMail then
doPlayerSendMailByName(name, item2, 1)
end
doRemoveItem(item.uid, 1)
end
function onAddItem(moveitem, tileitem, position, cid)
if isContainer(moveitem.uid) then
local itens = getItensUniquesInContainer(moveitem.uid)
local sendMsg = false
if #itens >= 1 then
for a = 1, #itens do
if unLock(itens[a].uid) then
else
giveBack(itens[a])
sendMsg = true
end
end
if sendMsg then
doPlayerSendTextMessage(cid, 20, "A item in this container is a Unique Item. You can't throw away this item!")
end
end
else
if getItemAttribute(moveitem.uid, "unique") then
if unLock(moveitem.uid) then
return true
end
giveBack(moveitem)
doPlayerSendTextMessage(cid, 20, "It is a Unique Item, you can't throw away this item!")
end
end
return true
end
function onRemoveItem(moveitem, tileitem, position, cid)
if not moveitem or not moveitem.uid then return true end
--alterado v1.6.1
if moveitem.uid ~= 0 and isContainer(moveitem.uid) then
local itens = getItensUniquesInContainer(moveitem.uid)
local sendMsg = false
if #itens >= 1 then
for a = 1, #itens do --alterado v1.8
if not tonumber(getItemAttribute(itens[a].uid, "unique")) and getItemAttribute(itens[a].uid, "unique") ~= getCreatureName(cid) then
if unLock(itens[a].uid) then
else
giveBack(itens[a])
sendMsg = true
end
end
end
if sendMsg then
doPlayerSendTextMessage(cid, 20, "A item in this container is a Unique Item. This item don't belongs to you! It will be sent to this owner!")
end
end
else
if moveitem.uid ~= 0 and getItemAttribute(moveitem.uid, "boosting") and getItemAttribute(moveitem.uid, "boosting") >= 1 then
return true --alterado v1.9.1
end
if moveitem.uid ~= 0 and getItemAttribute(moveitem.uid, "unique") and not tonumber(getItemAttribute(moveitem.uid, "unique")) and getItemAttribute(moveitem.uid, "unique") ~= getCreatureName(cid) then
if unLock(moveitem.uid) then --alterado v1.8
return true
end
giveBack(moveitem)
doPlayerSendTextMessage(cid, 20, "It is a Unique Item! This item don't belongs to you! It will be sent to this owner!")
end
end
return true
end

 

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0
2 minutos atrás, kamus9629 disse:

@FlamesAdmin   meda um exemplo de como ficaria ?

function onUse(cid, item, fromPosition, itemEx, toPosition)

if getPlayerStorageValue(cid, 326989) <= 0 then
   local item = doPlayerAddItem(cid, ItemID, Quantidade)
	doItemSetAttribute(item, "unique", 1)
   setPlayerStorageValue(cid, 326989, 1)
   return true
else
   doPlayerSendTextMessage(cid, 20, "You already completed this quest!")
   return true
end
end

 

Link para o comentário
Compartilhar em outros sites

  • 0
1 minuto atrás, FlamesAdmin disse:

function onUse(cid, item, fromPosition, itemEx, toPosition)

if getPlayerStorageValue(cid, 326989) <= 0 then
   local item = doPlayerAddItem(cid, ItemID, Quantidade)
	doItemSetAttribute(item, "unique", 1)
   setPlayerStorageValue(cid, 326989, 1)
   return true
else
   doPlayerSendTextMessage(cid, 20, "You already completed this quest!")
   return true
end
end

 

vlw intendi agora

 

Link para o comentário
Compartilhar em outros sites

  • 0
2 minutos atrás, kamus9629 disse:

@Tony Araujo foi mal Tony vou explica quero fazer com que determinado item de inventory, não seje arrastado para o piso do game,e que players não consigam dar trade entre-si sobre tais itens de inventory 

Certo, cê instalou o código ? daí deu algum problema de funcionamento? porque tipo, o sistema deve funcionar exatamente como você quer. 

você só precisa adicionar o atributo "unique" no item, com valor 1, e o player não pode se livrar dele de forma alguma

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

  • 0
Agora, Tony Araujo disse:

Certo, cê instalou o código ? daí deu algum problema de funcionamento? porque tipo, o sistema deve funcionar exatamente como você quer. 

eu tavo testando ele ainda  depois de um tempo eu conseguir copilar ele eu tavo tentando entender ae nosso amigo FlamesAdmin me ajudou com uma  base ae eu conseguir compriender como se coloca

4 horas atrás, Tony Araujo disse:

Certo, cê instalou o código ? daí deu algum problema de funcionamento? porque tipo, o sistema deve funcionar exatamente como você quer. 

você só precisa adicionar o atributo "unique" no item, com valor 1, e o player não pode se livrar dele de forma alguma

parceirao funciou sistem valheu

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...