Ir para conteúdo
  • 0

Criar Quest De Stones De Escolha Unica


narutochuuu

Pergunta

Como sabem no OTP tem a first quest que a pessoa escolhe qual stone quer ganhar.

Queria colocar no meu poketibia também, e quero editar para criar mais um para darkness e enigma ou slá tenho várias idéias...

 

Alguém pode me explicar como crio uma quest deste estilo em que tem opções e a pessoa pode escolher apenas 1.

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Aqui:

 

 

local prizes = {
{pos = {x = 1, y = 1, z = 1}, item = 2160, count = 1},
{pos = {x = 1, y = 1, z = 1}, item = 2160, count = 1},
{pos = {x = 1, y = 1, z = 1}, item = 2160, count = 1},
{pos = {x = 1, y = 1, z = 1}, item = 2160, count = 1},
}
local storage = 155280
local effect = 13

function onUse(cid, item, frompos, item2, topos)

   if getPlayerStorageValue(cid, 155280) > 0 then
   return doPlayerSendCancel(cid, "You have already chosen a prize!")
   end

   for _, info in pairs (prizes) do
    if info.pos.x == topos.x and info.pos.y == topos.y and info.pos.z == topos.z then
	    if not doPlayerAddItem(cid, info.item, info.count or 1, false) then
		    doPlayerSendCancel(cid, "You don't have enough space to pick this item.")
	    return true
	    end
	    setPlayerStorageValue(cid, storage, 1)
	    doSendMagicEffect(getThingPos(cid), effect)
	    local iInfo = getItemInfo(info.item)
	    local article = info.count == 1 and iInfo.article or info.count
	    local name = info.count == 1 and iInfo.name or iInfo.plural
	    doPlayerSendTextMessage(cid, 22, "You received "..article.." "..name.." as prize!")
	    return true
    end
   end

return true
end

 

 

Basta alterar as configurações, colocar a tag no actions.xml (baseado em actionid) e colocar os baús no mapa e colocar em todos os baús o mesmo action id.

 

Como configurar:

basta editar essas linhas:

 

{pos = {x = 1, y = 1, z = 1}, item = 2160, count = 1},

 

onde item é o id do item que o player vai ganhar, count é a quantidade e pos é a posição do baú que precisa dar use pra receber esse item.

Link para o comentário
Compartilhar em outros sites

  • 0

Aqui:

 

 

local prizes = {
{pos = {x = 1, y = 1, z = 1}, item = 2160, count = 1},
{pos = {x = 1, y = 1, z = 1}, item = 2160, count = 1},
{pos = {x = 1, y = 1, z = 1}, item = 2160, count = 1},
{pos = {x = 1, y = 1, z = 1}, item = 2160, count = 1},
}
local storage = 155280
local effect = 13

function onUse(cid, item, frompos, item2, topos)

if getPlayerStorageValue(cid, 155280) > 0 then
return doPlayerSendCancel(cid, "You have already chosen a prize!")
end

for _, info in pairs (prizes) do
	if info.pos.x == topos.x and info.pos.y == topos.y and info.pos.z == topos.z then
		if not doPlayerAddItem(cid, info.item, info.count or 1, false) then
			doPlayerSendCancel(cid, "You don't have enough space to pick this item.")
		return true
		end
		setPlayerStorageValue(cid, storage, 1)
		doSendMagicEffect(getThingPos(cid), effect)
		local iInfo = getItemInfo(info.item)
		local article = info.count == 1 and iInfo.article or info.count
		local name = info.count == 1 and iInfo.name or iInfo.plural
		doPlayerSendTextMessage(cid, 22, "You received "..article.." "..name.." as prize!")
		return true
	end
end

return true
end

 

 

Basta alterar as configurações, colocar a tag no actions.xml (baseado em actionid) e colocar os baús no mapa e colocar em todos os baús o mesmo action id.

 

Como configurar:

basta editar essas linhas:

 

{pos = {x = 1, y = 1, z = 1}, item = 2160, count = 1},

 

onde item é o id do item que o player vai ganhar, count é a quantidade e pos é a posição do baú que precisa dar use pra receber esse item.

Aqui:

 

 

local prizes = {
{pos = {x = 1, y = 1, z = 1}, item = 2160, count = 1},
{pos = {x = 1, y = 1, z = 1}, item = 2160, count = 1},
{pos = {x = 1, y = 1, z = 1}, item = 2160, count = 1},
{pos = {x = 1, y = 1, z = 1}, item = 2160, count = 1},
}
local storage = 155280
local effect = 13

function onUse(cid, item, frompos, item2, topos)

if getPlayerStorageValue(cid, 155280) > 0 then
return doPlayerSendCancel(cid, "You have already chosen a prize!")
end

for _, info in pairs (prizes) do
	if info.pos.x == topos.x and info.pos.y == topos.y and info.pos.z == topos.z then
		if not doPlayerAddItem(cid, info.item, info.count or 1, false) then
			doPlayerSendCancel(cid, "You don't have enough space to pick this item.")
		return true
		end
		setPlayerStorageValue(cid, storage, 1)
		doSendMagicEffect(getThingPos(cid), effect)
		local iInfo = getItemInfo(info.item)
		local article = info.count == 1 and iInfo.article or info.count
		local name = info.count == 1 and iInfo.name or iInfo.plural
		doPlayerSendTextMessage(cid, 22, "You received "..article.." "..name.." as prize!")
		return true
	end
end

return true
end

 

 

Basta alterar as configurações, colocar a tag no actions.xml (baseado em actionid) e colocar os baús no mapa e colocar em todos os baús o mesmo action id.

 

Como configurar:

basta editar essas linhas:

 

{pos = {x = 1, y = 1, z = 1}, item = 2160, count = 1},

 

onde item é o id do item que o player vai ganhar, count é a quantidade e pos é a posição do baú que precisa dar use pra receber esse item.

 

preciso saber o que eu coloco no actions.xml e qual o id que tenho de colocar no baú ou sei lá como é

Link para o comentário
Compartilhar em outros sites

  • 0

Isso:

 

<action actionid="XXXX" event="script" value="NOME_DO_SEU_SCRIPT.lua"/>

 

Coloca um action id que não esteja sendo usado no seu server e muda o nome do seu script, ai você configura a script do jeito que eu falei no post acima e configura os baús no map editor, só colocar o action id neles

Link para o comentário
Compartilhar em outros sites

  • 0

Isso:

 

<action actionid="XXXX" event="script" value="NOME_DO_SEU_SCRIPT.lua"/>

 

Coloca um action id que não esteja sendo usado no seu server e muda o nome do seu script, ai você configura a script do jeito que eu falei no post acima e configura os baús no map editor, só colocar o action id neles

 

Mano o actionid é o local storage ou é o que que eu não to achando no script '--'

Link para o comentário
Compartilhar em outros sites

  • 0

action id é só pro server ter referência de qual script executar quando tal item for usado, no caso o baú.

 

Inventa um número qualquer pra action id, tipo 8753 que provavelmente não está sendo usado no seu server, coloca esse action id nos baús pelo map editor, coloca ele na tag do actions e pronto

 

o storage é um bloco onde é armazenado informações sobre um certo player, e tem que ser um storage que não esteja sendo usado em outro script, mas esse número utilizado no storage provavelmente não está sendo utilizado então não se preocupe.

Link para o comentário
Compartilhar em outros sites

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