CA
action

[Action] Quest Com Premio Random - Melhorada

Por cayodiebe, 10 de mar. de 2012 em Actions e Talkactions

quest
premio
actions
talkactions
script
tibia
pokemon
movements
otserv
9
1.8k
cayodiebeC
10 de março de 2012 às 13:41

Gente eu tava passeando pelo xTibia, e vi um Script de quest com premio RANDOM feito por EitorLaba só que eu reparei, que tinha certos bugs no script dele, por exemplo, o player podia abrir a quest milhões de vezes, não tinha storage nela, então dei uma melhorada nela e trouxe para vocês...

 

 

1º Abra data/actions/ copie e cole 1 arquivo e o renomeie random.lua , e coloque isto lá dentro..

 

function onUse(cid, item)
if item.uid == 8989 then
queststatus = getPlayerStorageValue(cid,8799)
if queststatus == -1 then
local random = math.random(1, 3)
local items = {
[1] = {id=2160,quant=10,word="Parabéns, Você pegou 100k!"},
[2] = {id=2160,quant=5,word="Parabéns, você pegou 50k!"},
[3] = {id=2173,quant=1,word="Parabéns, você pegou Amulet of Loss!"},
}
setPlayerStorageValue(cid,8799,1)
doPlayerAddItem(cid, items[random].id, items[random].quant)
doCreatureSay(cid, items[random].word, TALKTYPE_ORANGE_1)
doSendMagicEffect(getThingPos(cid), 29)
else
doPlayerSendTextMessage(cid,22,"Ops, você já recebeu!")
end
end
end

 

EXPLICANDO: [1] = {id=2160,quant=10,word="Parabéns, Você pegou 100k!"}

 

Vermelho : ID DO ITEM QUE ELE VAI RECEBER

 

Verde : QUANTIDADE ...

 

AZUL : MENSAGEM QUE O PLAYER VAI RECEBER.

 

IMPORTANTE

SE QUISER ADICIONAR MAIS ALGUM PREMIO AO RANDOM,ADICIONE MAIS 1 LINHA, ABAIXO DO ITEM [3]

 

[4] = {id=XXXX,quant=ZZZZZZZZZZZ,word="YYYYYYYYYYYYYYYYYY"},

 

E NÃO SE ESQUEÇA DE MUDAR ENCIMA

 

local random = math.random(1, 3)

 

PARA

 

local random = math.random(1, 4)

 

 

Depois de fazer isso entre no actions.xml e adicione esta tag...

 

<action uniqueid="8989" script="quests/random.lua"/>

 

 

Créditos : Cayodiebe

 

EitorLaba

 

 

Se te ajudei , não custa dar REP+

20cm2
10 de março de 2012 às 14:31

Legal você ter usado meu script rs, mas ele é veeeeelho!

Eu melhorei bastante depois daquele script!

local items = {
[1] = {2160,10,"Parabéns, Você pegou 100k!"},
[2] = {2160,5,"Parabéns, você pegou 50k!"},
[3] = {2173,1,"Parabéns, você pegou Amulet of Loss!"}
}
local random = math.random(1, #items)


function onUse(cid, item, frompos, item2, topos)
storage = 9763

if getPlayerStorageValue(cid,storage) == -1 then
setPlayerStorageValue(cid,storage,1)
doPlayerAddItem(cid, items[random][1], items[random][2])
doCreatureSay(cid, items[random][3], TALKTYPE_ORANGE_1)
doSendMagicEffect(getCreaturePosition(cid), 29)
else
doPlayerSendTextMessage(cid,22,"Você já recebeu seu prêmio!")
end
end

 

E o seu script está com um erro ><

O último item de uma table não pode ter vírgula

Abraço.

Editado Março 10 por 20cm

VodkartV
10 de março de 2012 às 14:46

function onUse(cid, item)
if getPlayerStorageValue(cid,8799) >= 1 then
return doPlayerSendTextMessage(cid,22,"Ops, você já recebeu!") end
local items= {{2160,10},{2160,5},{2173,1}}
local random = items[math.random(#items)]
setPlayerStorageValue(cid,8799,1)
doPlayerAddItem(cid, random[1], random[2])
doCreatureSay(cid, "você recebeu "..random[2].." "..getItemNameById(random[1]), TALKTYPE_ORANGE_1)
doSendMagicEffect(getThingPos(cid), 29)
return true
end

 

 

obs: n sabia que o 20cm era o eitorlaba uihiushiushIUHSiushIUShsIUS

bom saber xD

Editado Março 10 por Vodkart

20cm2
10 de março de 2012 às 14:52

function onUse(cid, item)
if getPlayerStorageValue(cid,8799) >= 1 then
return doPlayerSendTextMessage(cid,22,"Ops, você já recebeu!") end
local items= {{2160,10},{2160,5},{2173,1}}
local random = items[math.random(#items)]
setPlayerStorageValue(cid,8799,1)
doPlayerAddItem(cid, random[1], random[2])
doCreatureSay(cid, "você recebeu "..random[2].." "..getItemNameById(random[1]), TALKTYPE_ORANGE_1)
doSendMagicEffect(getThingPos(cid), 29)
return true
end

 

 

obs: n sabia que o 20cm era o eitorlaba uihiushiushIUHSiushIUShsIUS

bom saber xD

 

Eu sou o SouRonaldo2 também kkkk, já fui banido umas 500x :\

VodkartV
10 de março de 2012 às 14:55

function onUse(cid, item)
if getPlayerStorageValue(cid,8799) >= 1 then
return doPlayerSendTextMessage(cid,22,"Ops, você já recebeu!") end
local items= {{2160,10},{2160,5},{2173,1}}
local random = items[math.random(#items)]
setPlayerStorageValue(cid,8799,1)
doPlayerAddItem(cid, random[1], random[2])
doCreatureSay(cid, "você recebeu "..random[2].." "..getItemNameById(random[1]), TALKTYPE_ORANGE_1)
doSendMagicEffect(getThingPos(cid), 29)
return true
end

 

 

obs: n sabia que o 20cm era o eitorlaba uihiushiushIUHSiushIUShsIUS

bom saber xD

 

Eu sou o SouRonaldo2 também kkkk, já fui banido umas 500x :\

aham eu lembro iuhsiuhIUHIUhiuhiuhIUhishihii

conheço vc desde 2010 entao kk

boa

acho q eu tinha vc no msn até kk

cayodiebeC
10 de março de 2012 às 15:38

Hum, valeu 20cm , mais viu, eu coloquei virgula aqui e funcionou perfeitamente... '-' HUAHUAHUAHU

3 semanas depois...
cayodiebeC
29 de março de 2012 às 16:31

Funcioanndo perfeitamente ainda!

lokindL
31 de março de 2012 às 12:13

cara teria como faser ele mas para classe tipo kero ganhar uma classe aleatoria e nao um iten entende

20cm2
31 de março de 2012 às 13:17

@Lokind

function onUse(cid, item)local storage = 5403
if getPlayerStorageValue(cid,storage) >= 1 then
return doPlayerSendTextMessage(cid,22,"Você já trocou sua vocação!") end
local name = {"Sorcerer","Druid","Paladin","Knight"}
local voc = math.random(1,4)
setPlayerStorageValue(cid,storage,1)
doPlayerSetVocation(cid, voc)
doCreatureSay(cid, "Agora você é um "..name[voc].."!", TALKTYPE_ORANGE_1)
doSendMagicEffect(getThingPos(cid), 29)
return true
end

 

Não testei, abraços.

Editado Março 31 por 20cm