Ir para conteúdo

Quest que sorteia entre 3 itens


RastaLegion

Posts Recomendados

Olá xtibianos

sou iniciante e este é o primeiro script que trago ao xtibia, é uma quest com premio sorteado entre 3 itens ,e depois teleporta o player para o templo ,então vamos lá.

crie um script chamado questx e cole isso dentro

local pos = {x=164, y=83, z=7}

local sorteio = {2160, 2445, 2291}
function onUse(cid, item, fromPosition, itemEx, toPosition)
if getPlayerLevel(cid) >= 100 then
local queststatus = getPlayerStorageValue(cid, 5963)
if queststatus == -1 then
doPlayerSendTextMessage(cid, 22 , "Você completou a quest")
doPlayerAddItem(cid, sorteio[math.random(1, #sorteio)], 1)
doSendMagicEffect(getThingPos(cid), 29)
setPlayerStorageValue(cid, 5963 ,1)
doTeleportThing(cid, pos)
else
doPlayerSendTextMessage(cid,22,"Você já pegou sua recompensa")
end
else
doPlayerSendCancel(cid,'Somente levels 100+ conseguem abrir este bau.')
end
return true
end

depois adicione esta tag em actions.xml.

 

<action uniqueid="5981" script="quests/questx.lua" />

Configuração
a configuração não é nada complicada
vermelho = ids dos premios que serão sorteados
verde = level que o player poderá abrir o bau
laranja = posição do templo
creditos :
meu por fazer o script
killua por me ajudar tirar o erro
Editado por RastaLegion
Link para o comentário
Compartilhar em outros sites

Que massa mano, muito criativo!

 

Dúvida: Tem como fazer esse baú dar o prêmio ao jogador infinitas vezes? Acho que ficaria legal, colocar isso em uma quest onde alguém só conseguiria completa-la em grupo, aí isso faria as pessoas sempre montarem grupos e tal.

Link para o comentário
Compartilhar em outros sites

Legal o código, seria bom você identar para melhor compreensão

local pos = {x=164, y=83, z=7}
local sorteio = {2160, 2445, 2291} 
local queststatus = getPlayerStorageValue(cid, 5963)
function onUse(cid, item, fromPosition, itemEx, toPosition)
	if getPlayerLevel(cid) >= 100 then
		if queststatus == -1 then
			doPlayerSendTextMessage(cid, 22 , "Você completou a quest")
			doPlayerAddItem(cid, sorteio[math.random(1, #sorteio)], 1)
			doSendMagicEffect(getThingPos(cid), 29)
			setPlayerStorageValue(cid, 5963 ,1) 
			doTeleportThing(cid, pos)
		else
			doPlayerSendTextMessage(cid,22,"Você já pegou sua recompensa") 
		end
	else
		doPlayerSendCancel(cid,'Somente levels 100+ conseguem abrir este bau.')
	end
return true
end

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

Que massa mano, muito criativo!

 

Dúvida: Tem como fazer esse baú dar o prêmio ao jogador infinitas vezes? Acho que ficaria legal, colocar isso em uma quest onde alguém só conseguiria completa-la em grupo, aí isso faria as pessoas sempre montarem grupos e tal.

local pos = {x=164, y=83, z=7}
local sorteio = {2160, 2445, 2291}
function onUse(cid, item, fromPosition, itemEx, toPosition)
    if getPlayerLevel(cid) >= 100 then
        doPlayerSendTextMessage(cid, 22 , "Você completou a quest")
        doPlayerAddItem(cid, sorteio[math.random(1, #sorteio)], 1)
        doSendMagicEffect(getThingPos(cid), 29)
        doTeleportThing(cid, pos)
    else
        doPlayerSendCancel(cid,'Somente levels 100+ conseguem abrir este bau.')
    end
return true
end
Editado por Markin
Link para o comentário
Compartilhar em outros sites

 

Legal o código, seria bom você identar para melhor compreensão

local pos = {x=164, y=83, z=7}
local sorteio = {2160, 2445, 2291} 
local queststatus = getPlayerStorageValue(cid, 5963)
function onUse(cid, item, fromPosition, itemEx, toPosition)
	if getPlayerLevel(cid) >= 100 then
		if queststatus == -1 then
			doPlayerSendTextMessage(cid, 22 , "Você completou a quest")
			doPlayerAddItem(cid, sorteio[math.random(1, #sorteio)], 1)
			doSendMagicEffect(getThingPos(cid), 29)
			setPlayerStorageValue(cid, 5963 ,1) 
			doTeleportThing(cid, pos)
		else
			doPlayerSendTextMessage(cid,22,"Você já pegou sua recompensa") 
		end
	else
		doPlayerSendCancel(cid,'Somente levels 100+ conseguem abrir este bau.')
	end
return true
end

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

Que massa mano, muito criativo!

 

Dúvida: Tem como fazer esse baú dar o prêmio ao jogador infinitas vezes? Acho que ficaria legal, colocar isso em uma quest onde alguém só conseguiria completa-la em grupo, aí isso faria as pessoas sempre montarem grupos e tal.

local pos = {x=164, y=83, z=7}
local sorteio = {2160, 2445, 2291}
function onUse(cid, item, fromPosition, itemEx, toPosition)
    if getPlayerLevel(cid) >= 100 then
        doPlayerSendTextMessage(cid, 22 , "Você completou a quest")
        doPlayerAddItem(cid, sorteio[math.random(1, #sorteio)], 1)
        doSendMagicEffect(getThingPos(cid), 29)
        doTeleportThing(cid, pos)
    else
        doPlayerSendCancel(cid,'Somente levels 100+ conseguem abrir este bau.')
    end
return true
end

 

obrigado ,como é um codigo pequeno deixei sem identar mesmo, até porque não sei identar muito bem ainda, só parei pra aprender identar nesses dias atras, já sobre a questão de só uma pessoa do grupo poder fazer a quest ,não tenho tal conhecimento pra conseguir fazer ,quem sabe mais pra frente...

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

  • 2 weeks later...
  • 4 weeks later...
×
×
  • Criar Novo...