Ir para conteúdo

Reset Frags e prêmios, Mensalmente


Gabrielkss

Posts Recomendados

Olá gostaria de pedir um script, no qual, ele todo mês automaticamente tivesse um resete no final do mês dos pontos de frag, e um premio para o top frag do servidor, alguém poderia me ajudar por favor. 

Server 8.60.

Uso otx server.

Agradeço desde de já.

Link para o comentário
Compartilhar em outros sites

Não pode ser para o primeiro dia?

 

Citar
local store = 5000function onStartup()	if(tonumber(os.date("%d")) == 1)then		db.executeQuery("DELETE FROM `player_storage` WHERE `key` == '"..store.."';")	end	return trueend

 

 

Link para o comentário
Compartilhar em outros sites

Adiciona isso ao globalevents com o evento start.

Para adicionar prêmios, seria mais fácil por em onlogin. Assim quando eles entrassem no jogo receberiam o prêmio e uma mensagem. 

Citar

local store, iddoitem = numero da store, id do item

function onLogin (cid)
   if(getPlayerStorageValue(cid, store) == -1)then 
      doPlayerSendTextMessage(cid, 5, "mensagem.") 
      local bag = doPlayerAddItem(cid,iddabp) -- adiciona uma bolsa ao player
      doAddContainerItem(bag, iddoiteminside, 1) --- adiciona item dentro de bolsa
      doPlayerAddItem(cid,iddoitem)
      setPlayerStorageValue(cid, store,1) 
   end 
   return true 
end 

 

Link para o comentário
Compartilhar em outros sites

Tipo o meu script de frags é esse 

Spoiler

function getPlayerFrags(cid)
    local time = os.time()
    local times = {today = (time - 86400), week = (time - (7 * 86400))}
 
    local contents, result = {day = {}, week = {}, month = {}}, db.getResult("SELECT `pd`.`date`, `pd`.`level`, `p`.`name` FROM `player_killers` pk LEFT JOIN `killers` k ON `pk`.`kill_id` = `k`.`id` LEFT JOIN `player_deaths` pd ON `k`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `pk`.`player_id` = " .. getPlayerGUID(cid) .. " AND `k`.`unjustified` = 1 AND `pd`.`date` >= " .. (time - (30 * 86400)) .. " ORDER BY `pd`.`date` DESC")
    if(result:getID() ~= -1) then
        repeat
            local content = {date = result:getDataInt("date")}
            if(content.date > times.today) then
                table.insert(contents.day, content)
            elseif(content.date > times.week) then
                table.insert(contents.week, content)
            else
                table.insert(contents.month, content)
            end
        until not result:next()
        result:free()
    end
 
    local size = {
        day = table.maxn(contents.day),
        week = table.maxn(contents.week),
        month = table.maxn(contents.month)
    } 
    return size.day + size.week + size.month
end 
 
function onLogin(cid)
    registerCreatureEvent(cid, "fraglook")
    return true
end
 
function onLook(cid, thing, position, lookDistance)
    if isPlayer(thing.uid) and thing.uid ~= cid then
        doPlayerSetSpecialDescription(thing.uid,' [Frags: '..getPlayerFrags(thing.uid)..']')
        return true
    elseif thing.uid == cid then
        doPlayerSetSpecialDescription(cid,' [Frags: '..getPlayerFrags(cid)..']')
        local string = 'You see yourself.'
        if getPlayerFlagValue(cid, PLAYERFLAG_SHOWGROUPINSTEADOFVOCATION) then
            string = string..' You are '.. getPlayerGroupName(cid) ..'.'
        elseif getPlayerVocation(cid) ~= 0 then
            string = string..' You are '.. getPlayerVocationName(cid) ..'.'
        else
            string = string..' You have no vocation.'
        end
        string = string..getPlayerSpecialDescription(cid)..''
 
        if getPlayerGuildId(cid) > 0 then 
            string = string..' You are ' .. (getPlayerGuildRank(cid) == '' and 'a member' or getPlayerGuildRank(cid)) ..' of the '.. getPlayerGuildName(cid)
            string = getPlayerGuildNick(cid) ~= '' and string..' ('.. getPlayerGuildNick(cid) ..').' or string..'.'
        end 
 
        if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEECREATUREDETAILS) then
            string = string..'\nHealth: ['.. getCreatureHealth(cid) ..' / '.. getCreatureMaxHealth(cid) ..'], Mana: ['.. getCreatureMana(cid) ..' / '.. getCreatureMaxMana(cid) ..'].'
            string = string..'\nIP: '.. doConvertIntegerToIp(getPlayerIp(cid)) ..'.'
        end
 
        if getPlayerFlagValue(cid, PLAYERCUSTOMFLAG_CANSEEPOSITION) then
            string = string..'\nPosition: [X:'.. position.x..'] [Y:'.. position.y..'] [Z:'.. position.z..'].'
        end
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string)  
        return false
    end
    return true
end

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...