Ir para conteúdo

[Encerrado] Quest Storage


shumagora

Posts Recomendados

Olá, é o seguinte.

Quero uma quest para warzones.

 

Por exemplo, a warzone 1, mato o boss e ganho storage. até ai é facil.

porém o baú da warzone 1 só pode ser aberto se tiver essa storage.

 

e ao clicar no baú você receberá os items e perderá a storage.

 

porque perder?

 

para que o player mate o boss novamente, ganhe a storage novamente, e por fim, pegue a recompensa novamente.

 

e assim infinitamente.

 

mas o baú eu quero que ganhe 7-8 items, todos juntos.

 

será possível?

Link para o comentário
Compartilhar em outros sites

Vá em data/creaturescript/creaturescripts.xml e adicione uma tag assim

 

<event type="death" name="KillerBoss" event="script" value="BossXtibia.lua"/> 

 

Value é o nome do seu arquivo, ou seja o diretório(local onde ele está)

o resto deixa como tá.

 

Vá em data/creaturescripts/script

copie um arquivo qualquer de lá, apague tudo que tem nele, e cole o que está abaixo.

 

function onDeath(cid, corpse, killer, frompos)
local monster = "Dragon Lord" -- Nome do monstro que precisa matar, coloque entre aspas como está ali.
  if isMonster and getCreatureName(cid) == monster then
  doCreatureSay(cid, "Miseravél.", TALKTYPE_ORANGE_1)
	 if isPlayer(killer[1]) == TRUE then
	  setPlayerStorageValue(killer[1], 19960, 1)
	   doPlayerSendTextMessage(killer[1], 22, "Voce matou um "..getCreatureName(cid).." parabens")
	end
  end
end

 

Vá no arquivo do seu monstro (data/monsters/PROCURE PELO SEU MONSTRO)

e adicione isso

 

<script>
 <event name="KillerBoss"/>
</script>

 

Agora faça o seguinte

 

Vá em data/actions/actions.xml e adicione uma tag assim

<action actionid="7894" event="script" value="bauwarzone.lua"/>

 

Value é a mesma coisa lá de cima, mude para o que quiser, mas tem que ser o nome do arquivo.

Actionid é o Action do seu script, o que você vai por no baú, o resto deixa como tá

 

Copie um arquivo de data/actions/scripts

apague tudo dentro dele, e cole o que está abaixo

 

function onUse(cid, item)
local itens = { 2160, 2494,  2495, 2493, 2520, 9932, 8925, 2000} -- Id dos premios, separe cada um por virgula, como está ali.
  if getPlayerStorageValue(cid, 19960) == -1 then
  doPlayerSendCancel(cid, "Voce precisa matar o boss antes de pegar a recompensa")
  elseif getPlayerStorageValue(cid, 19960) == 1 then
   for i = 1, #itens do
	  doPlayerAddItem(cid, itens[i], 1)
		 doPlayerSendTextMessage(cid, 22, "Você ganhou um "..getItemNameById(itens[i]).." parabens")
	  setPlayerStorageValue(cid, 19960, -1)
   end
 end
end

 

Salve e Feche.,

Pronto , agora é só adicionar o actionid no baú (actionid é o que você coloca em data/actions/actions.xml)

Acho que é isso, qualquer coisa diz.

 

PS: Se mudar um storage terá que mudar todos.

Link para o comentário
Compartilhar em outros sites

o boss, eu tenho esse script, mas não vi desde então.

 

o baú não funciona.

clico nele, aparece "You cannot use this object"

 

entao o script não funcionou, mas também não deu erro na distro.

 

tinha colocado actionid ~~ nada feito.

mudei pra uniqueid ~~ nada feito.

 

lembrando, antes que me questione.

 

quando mudei action id pra unique id nos scripts, também mudei no bau pelo map editor.

 

:)

Link para o comentário
Compartilhar em outros sites

Tenta um desses dois abaixo, eu testei e os dois funcionaram

 

Data/Actions/Actions.xml

Verifica se o seu value e actiondid estão corretos

 

<action actionid="7894" event="script" value="setkina.lua"/>

 

Data/Actions/Scripts

 

 

 


function onUse(cid, item, frompos, item2, topos)
local itens = { 2160, 2494,  2495, 2493, 2520, 9932, 8925, 2000}
if getPlayerStorageValue(cid, 19960) == -1 then
doPlayerSendCancel(cid, "Voce precisa matar o boss antes de pegar a recompensa")
elseif getPlayerStorageValue(cid, 19960) == 1 then
for i = 1, #itens do
doPlayerAddItem(cid, itens[i], 1)
doPlayerSendTextMessage(cid, 22, "Voce ganhou "..getItemNameById(itens[i])..".")
setPlayerStorageValue(cid, 19960, -1)
end
end
end


 

Se não funcionar tenta o debaixo.

 

Data/Actions/Actions.xml

Verifica se o seu value e actiondid estão corretos

 

<action actionid="7894" event="script" value="setkina.lua"/>

 

Data/Actions/Scripts

 

function onUse(cid, item, frompos, item2, topos)
if getPlayerStorageValue(cid, 19960) == 1 then
doPlayerAddItem(cid, 2160, 1) -- muda o 2160 para o id do item que vai dar
doPlayerAddItem(cid, 2160, 1)
doPlayerAddItem(cid, 2160, 1)
doPlayerAddItem(cid, 2160, 1)
doPlayerAddItem(cid, 2160, 1)
doPlayerAddItem(cid, 2160, 1)
doPlayerAddItem(cid, 2160, 1)
setPlayerStorageValue(cid, 19960, -1)
doPlayerSendTextMessage(cid, 22, "Você pegou sua recompensa")
else
doPlayerSendCancel(cid, "Você precisa matar o boss")
end
end

 

Lembra de colocar o actionid

Link para o comentário
Compartilhar em outros sites

koe parcero, deu certo sim. mas só com o baú padrão das quests. 1740.

 

porém eu quero nesse item.

 

You see a abyssador treasure chest.

ItemID: [18474].

 

:) rep+

 

 

tentei no treasure e não deu, acredito que só da em items que possa abri-los.

treasure chest é tipo uma estátua.

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

coloquei o action id sim, e nada.

 

mas eu vi o bau 1740 nos items.xml e vi essa linha embaixo <attribute key="containerSize" value="15" />

coloquei no treasure chest e ele se comporta como um baú agora.

 

só que ta tipo aquelas quest antiga do 7.6 eu acho, que quando você clica ganha o item só q abre o slot do baú <risos>. fica esquisito, mas funciona.

 

enfim, funcionou.

 

mova para área correta. :)

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

  • 5 years later...
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...