SU
pedido

Quest Diaria

Por subyth, 30 de ago. de 2013 em Scripts

resolvido
11
1.9k
subythS
30 de agosto de 2013 às 18:06

Versão: 8.60

TFS: 0.4

 

Bem, eu gostaria de uma Quest em que o player possa fazer apenas 1x por dia..

 

A quest reseta às 00:00, ai o player poderá faze-la novamente!

 

o player recebe um item ID: 8110 (quantidade = 1)

RoksasR
30 de agosto de 2013 às 18:22

Vá em data/actions/scripts, crie um arquivo chamado questday.lua e adicione dentro:

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

if getGlobalStorageValue(18209) < 1 then
    return doPlayerSendCancel(cid, "You are exhausted, wait at 00:00:00hrs.") and true
end

doPlayerAddItem(cid, 8110, 1)
setGlobalStorageValue(18209, 1)
doPlayerSendTextMessage(cid, 20, "[Congratulations] You has been earned a "..getItemNameById(8110)..".")
    return true
end

Em actions.xml adicione a tag:

<action uniqueid="18199" event="script" value="questday.lua"/>

Agora vá em data/globalevents/scripts, crie um arquivo chamado questday.lua e adicione dentro:

function onTime()

    setGlobalStorageValue(18209, -1)
    return true
end
 

Em globalevents.xml adicione essa tag:

<globalevent name="questDay" time="00:00" event="script" value="questday.lua"/>

Reinicie o servidor e boa sorte.

Editado Agosto 31 por Roksas

FaelzdanilF
30 de agosto de 2013 às 18:22

Meu amigo de uma procura antes no fórum...

 

Tem um tópico já com esse script !

 

Link

subythS
30 de agosto de 2013 às 19:08

Meu amigo de uma procura antes no fórum...

 

Tem um tópico já com esse script !

 

Link

 

Você chegou a ler o meu tópico? Eu pedi uma QUEST, não TASK --'

 

 

Roksas

Infelismente não foi bem isso que eu pedi... Seu script ele faz o player esperar 24horas... Se ele fizer a quest 11 horas, ele só poderá fazer novamente às 11 horas do outro dia!

 

Eu queria que a quest resete às 00:00, sendo assim, todos que fizeram a quest, resetará.

 

EX: Se um time fizer a quest às 22:00, quando chegar 00:00 a quest seria resetada e o mesmo time poderia fazer a quest novamente. E assim por diante.

 

A quest tem que ser resetada para todos às 00:00

Editado Agosto 30 por subyth

RoksasR
30 de agosto de 2013 às 19:31

#Amigão, não precisa ser grosso com ninguém ok? Estamos todos aqui para ajudar, cuidado para não criar confusões.

 

Editei meu primeiro post, vejá la!

VodkartV
30 de agosto de 2013 às 20:06

@rokas

 

nesse seu script só um player vai poder usar o item, e os demais vão retorna a mensagem dizendo que tem que esperar até meia noite.

 

 

usa esse scripts

 

actions

function onUse(cid, item, frompos, item2, topos)
local storage = 97561
if getPlayerStorageValue(cid, storage) >= 1 then
    return doPlayerSendCancel(cid, "You are exhausted, wait at 00:00 hrs.")
end
doPlayerAddItem(cid, 8110, 1)
setPlayerStorageValue(cid, storage, 1)
doPlayerSendTextMessage(cid, 20, "[Congratulations] You has been earned a "..getItemNameById(8110)..".")
return true
end

global events

function onTimer()
local storage = 97561
db.executeQuery("DELETE FROM `player_storage` WHERE `key` = ".. storage)
for _, pid in pairs(getPlayersOnline()) do
setPlayerStorageValue(pid, storage, 0)
end
    return true
end

a TAG e o NOME dos scripts podem ser o mesmo que os do roksas

Editado Agosto 30 por Vodkart

subythS
31 de agosto de 2013 às 07:48
Roksas

Deu erro na função ontimer =(

 

 

Vodkart

Funcionou, porém terei que deixar servidor online 24Hr para testar se está resetando =)

PS: se o servidor fechar não tem problema certo? ele não vai apresentar bugs?

 

REP+ para os 2! Obrigado.

RoksasR
31 de agosto de 2013 às 09:32

Arrumei, mas o Vodkart tinha razão, fiz meio errado rsrsrs.

#Dê uma resposta em 24 horas. Boa sorte!

VodkartV
31 de agosto de 2013 às 11:16

Roksas

Deu erro na função ontimer =(

 

 

Vodkart

Funcionou, porém terei que deixar servidor online 24Hr para testar se está resetando =)

PS: se o servidor fechar não tem problema certo? ele não vai apresentar bugs?

 

REP+ para os 2! Obrigado.

 

 

não tem problema em o servidor cair.

 

porque o script sempre será executado as 00:00, como mostra no script:

 

 

<globalevent name="questDay" time="00:00" event="script" value="questday.lua"/>

 

ah não ser que o servidor caia 23:59 kkkkkk

 

mas ai é só fazer pela função "onStartup()" tbm

subythS
31 de agosto de 2013 às 13:48

OK, mais uma vez, obrigado :D

RoksasR
31 de agosto de 2013 às 13:53

Tópico movido para a seção de dúvidas e pedidos resolvidos.