RA

Quest que sorteia entre 3 itens

Por RastaLegion, 27 de jan. de 2014 em Actions e Talkactions

otserv
11
1.8k
RastaLegionR
27 de janeiro de 2014 às 00:19

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 Janeiro 27 por RastaLegion

JustinnoTibiannoJ
27 de janeiro de 2014 às 00:26

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.

AnneMottaA
27 de janeiro de 2014 às 00:29

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 Janeiro 27 por Markin

RastaLegionR
27 de janeiro de 2014 às 00:44

 

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 Janeiro 27 por RastaLegion

VillsV
27 de janeiro de 2014 às 10:33

Doido doido, não me faça , doido...

Valeu vo usar.

Kuro o ShinigaK
27 de janeiro de 2014 às 18:16

Belo script brother ! tá aprendendo heim (y)

RastaLegionR
27 de janeiro de 2014 às 18:52

vlw a todos ai ,e desculpe o codigo sem identação, o próximo que eu postar terá identação.

1 mês depois...
FaelzdanilF
06 de fevereiro de 2014 às 09:39

Tudoo que e queria kk, muito bom valeu REP++

1 mês depois...
thegugeT
06 de março de 2014 às 04:48

Muito Bom!, REP+

RastaLegionR
06 de março de 2014 às 06:39

vlw, talvez eu poste a v2 desse script :)

thegugeT
09 de março de 2014 às 09:04

Tenho Uma Dúvida!, Onde Coloco o UniqueID Do Baú?