CS
pedido

Pegar item após matar o boss

Por cs007, 12 de dez. de 2012 em Scripts

script
6
1.5k
cs007C
12 de dezembro de 2012 às 17:51

Galera eu tenho um script aqui do baú da war zone só que da para pegar mesmo sem matar o boss, tem como modificar para pegar só depois de matar o boss?

 

SCRIPT

 

 

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

local config = {

storage = 724877,

hours = 12,

item = {18422, 5} -- itemid, amount

}

if getPlayerStorageValue(cid, config.storage) >= os.time() then

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, mas voce deve aguardar ate "..os.date("%d %B %Y %X ", getPlayerStorageValue(cid,config.storage)).." para pegar "..config.item[2].." "..getItemNameById(config.item[1]).." novamente!")

end

doPlayerAddItem(cid, config.item[1], config.item[2])

setPlayerStorageValue(cid, config.storage, os.time()+config.hours*3600)

return doPlayerSendTextMessage(cid,22,"Voce recebeu "..config.item[2].." "..getItemNameById(config.item[1])..", aguarde "..config.hours.." horas para pegar seu item novamente!")

end

pollyaninhaP
12 de dezembro de 2012 às 18:27

Eu to aprendendo lua ainda mais tenho uma ideia,

coloca umas parede em volta do bau,

dai quando matar o boss a parede cair ;)

MaXwEllDeNM
12 de dezembro de 2012 às 18:42

function onUse(cid, item, fromPosition, itemEx, toPosition)
  local config = {
     storage = 724877,
     hours = 12,
     item = {18422, 5} -- itemid, amount
  }

  if getPlayerStorageValue(cid, 71239) < 1 then
   return doPlayerSendCancel(cid, "Você deve matar o boss antes de abrir o baú.")
  end

  if getPlayerStorageValue(cid, config.storage) >= os.time() then
     return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, mas voce deve aguardar ate "
     ..os.date("%d %B %Y %X ", getPlayerStorageValue(cid,config.storage)).." para pegar "..config.item[2].." "
     ..getItemNameById(config.item[1]).." novamente!")
  end

  doPlayerAddItem(cid, config.item[1], config.item[2])
  setPlayerStorageValue(cid, config.storage, os.time()+config.hours*3600)

  return doPlayerSendTextMessage(cid,22,"Voce recebeu "..config.item[2].." "..getItemNameById(config.item[1])..", aguarde "..config.hours.." horas para pegar seu item novamente!")
end

 

Creaturescripts/scripts/ItemBau.lua

function onPrepareDeath(cid, deathList)
  for _, v in pairs(deathList) do
     if isPlayer(v) then 
        setPlayerStorageValue(cid, 71239, 1)
     end
  end

  return true
end

 

TAG:

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

 

No seu monstro procure algo parecido com isso:

 

</monster>

 

e deixe assim:

 

<script>
  <event name="ItemBau"/>
</script>
</monster>

pollyaninhaP
12 de dezembro de 2012 às 18:43

Esse cara é show de bola....

Sempre surpreendendo

cs007C
12 de dezembro de 2012 às 21:39

Só uma duvida veio, já agradecendo, o "bau" da warzone não é bem um baú, ele não funciona como um bau, eu pegava o item por meio de action.

MaXwEllDeNM
12 de dezembro de 2012 às 22:14

Então, eu só adicionei na sua action para não adicionar o item ao player caso ele não tenha uma storage x. No creaturescript que eu criei, quando um cara mata o monstro ele adiciona a storage x ao player que matou ele.