Ir para conteúdo
  • 0

[Pedido] Time Por Prêmio.


atakashi

Pergunta

galera to qerendo um script assim , não deve ser dificil pra vocês não porque tem gente aki que e fera.

 

é o seguinte to querendo um script que os players do meu otserv depois de 4 Horas Online por Dia ganhem 1 ITEM especificado por mim / ou intaum se der 2 Premium Points para gastar no shop do GERSIOR.

 

tipo eu quero que a pessoa possa todo dia ganha novamente, i não so uma vez na vida e outra na morte,

tipo ficar um premio diário ou intaum, a pessoa ficando 4 hrs on ai ganha o premio la, ai reseta-se o tempo da pessoa i passando 4 hrs dinovo ela online , ganha-se o premio dinovo.

 

se alguem souber criar, vou da rep+ vlw. espero respostas ai.

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

vai em data/creaturescripts/scripts, duplica um arquivo e nomeia para "login_gain" sem as aspas e nele cole:

function onLogin(cid)
local timeOn = 4 -- quantidade de hras on para ganhar um dos itens
   addEvent(gainItem, timeOn*3600000, timeOn, cid)
   return true
end

function gainItem(timeOn, cid)
if (isPlayer(cid)) then
local itens_gain = {1234,5678,9101,4567} -- id dos itens
doPlayerAddItem(cid, tonumber(itens_gain[math.random(1,#itens_gain)]))
addEvent(gainItem, timeOn*3600000, timeOn, cid)
end
end

 

Agora no creaturescripts.xml cole a tag:

<event type="login" name="Gain" script="login_gain.lua"/>

 

Ta pronto.

Eu configurei para dar um dos itens que estão naquela lista, se quiser dar apenas um item especifico basta apagar os outros ids.

 

Obs: nem testei, qualquer erro me fala.

Link para o comentário
Compartilhar em outros sites

  • 0

uma pergunta , meu otserv usa o tempo de 3600 = 60 minutos ,

num e tfs naum.

ali em cima entaum eu devo trocar de

 

addEvent(gainItem, timeOn*3600000, timeOn, cid)

 

 

para

 

addEvent(gainItem, timeOn*3600, timeOn, cid)

 

?

 

 

i mais uma pergunta , sabe se tem algum [action] que troca o item por um premium points?

 

 

eu tenho esse aki so que e storage.

 

function onUse(cid, item)

 

if setPlayerStorageValue(cid, 18590, (getPlayerStorageValue(cid, 18590)+5)) then

doRemoveItem(item.uid, 1)

doPlayerSendTextMessage(cid, 22, "Voce Ganhou 5 Rve Point.")

else

end

 

return TRUE

end

 

 

como eu trocaria essa storage para a coluna "premium_points" na tabela "accounts" da minha database, sabe?

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

  • 0

creaturescript/script

 

time_item.lua


function onLogin(cid) 
registerCreatureEvent(cid, "Time_Login")
registerCreatureEvent(cid, "Time_Logout")
setPlayerStorageValue(cid, 45751, os.time()+0)   
return true 
end
function onLogout(cid) 
setPlayerStorageValue(cid, 45751,0) 
return true 
end

 

creaturescript.xml

<event type="login" name="Time_Login" event="script" value="time_item.lua"/>
<event type="logout" name="Time_Logout" event="script" value="time_item.lua"/>

 

globalevents/script

 

items_time.lua

function onThink(interval)
local config = {
hours = 4,
items = {{2173,1},{2160,50},{2494,1}}
}
for _, cid in pairs(getPlayersOnline()) do
if getPlayerStorageValue(cid, 45751) - os.time() <= -3600*config.hours then
local r = config.items[math.random(#config.items)]
doPlayerAddItem(cid, r[1], r[2] or 1)
doPlayerSendTextMessage(cid, 19, "você ganhou um "..r[2].." "..getItemNameById(r[1])..", próximo prêmio em "..config.hours.." horas")
setPlayerStorageValue(cid, 45751, os.time()+0) 
end
end                  
return true
end

 

globalevents.xml

<globalevent name="TimeItem" interval="60" event="script" value="items_time.lua"/>

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...