Ir para conteúdo

Dono da backpack


Mophus

Posts Recomendados

Olá galera, passeando por um fórum, achei esse talkaction, bem interessante.

 

Traduzindo este talk..

Ele serve para toda vez que o loot cair e você não tiver mais capacidade, o loot fica como seu. Depois de um tempo, claro, o loot pode ser aberto por outra pessoa. É interessante pois, se você chegar rápido, ainda dá tempo de chegar até seu loot e pegar o que caiu.

 

Comando: !ownbp

 

Primeiro vá em data/talkactions/talkactions.xml

<talkaction words="!ownbp" script="ownbp.lua"/>

Agora vá até o data/talkactions/scripts/ownbp.lua

function onSay(cid, words, param)
[b]
--//CONFIG//--
 local cost = 1000 -- cost( GP)
 local ownTime = (60*60*24) -- seconds (default 24h)
--//CONFIG//--[/b]

 local playerID = getPlayerGUID(cid)
 local owner = (playerID + 100)
 local ownerName = getPlayerName(cid)

 
 
  local function noOwner(o)
   doSetItemSpecialDescription(o.backpack, '')
   doSetItemActionId(o.backpack, 0)
  end
 
  if(doPlayerRemoveMoney(cid, cost) == TRUE)then
   local backpack = doPlayerAddItem(cid, 2000, 1)
   doSetItemSpecialDescription(backpack, ownerName..' owns this container.')
   doSetItemActionId(backpack, owner)
   addEvent(noOwner, 1000*ownTime, {'backpack'=backpack})
  end
 
end

Agora em data/actions/actions.xml

<action itemid="2000" script="ownbp.lua"/>

E em data/actions/scripts/ownbp.lua

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

 local playerID = getPlayerGUID(cid)
 local owner = item.actionid-100
  
  if(owner > 0)then
   if(owner ~= playerID)then
    doPlayerSendCancel(cid, 'You aren\'t owner of this container.')
    return TRUE
   end
  end
  
end

FIM.

 

E está pronto, quaisquer erros, entre em contato através deste TÓPICO nos comentários.

Atenciosamente,

m0p.

Créditos: Azi

Link para o comentário
Compartilhar em outros sites

(Créditos bem escondidos eim ¬¬ kkk)

 

Nao testei, mas acho que está errado.

   if(owner ~= playerID)then
    doPlayerSendCancel(cid, 'You aren\'t owner of this container.')
    return TRUE
   end

Se o dono for diferente de quem está abrindo, mostra a mensagem e retorna VERDADEIRO?? o return true fará abrir a BP... ou estou enganado?!

Link para o comentário
Compartilhar em outros sites

Vai retornar:

doPlayerSendCancel(cid, 'You aren\'t owner of this container.') 

como verdadeiro caso seja diferente o jogador. Caso seja falso não vai retornar...

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

  • 3 weeks later...
  • 2 weeks later...

Cara, não usei este script como está aí...

Mas peguei uma noção dele e fiz um script que nem imaginava conseguir sem editar as sources.

 

Muuuito obrigado pela base.

 

Meu REP+ de hoje é seu.

 

Abraços e obrigado por postar.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...