Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 11/26/23 em todas áreas

  1. Transformar script em action

    Mateus Robeerto reagiu a Underewar por uma resposta no tópico

    1 ponto
    Verdade aqui esta Tfs 0x @deza -- ItemID para o item que aciona o sistema de resets local resetItemID = 8300 function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == resetItemID then local resetSystem = ResetSystem -- Obtém informações do jogador local pid = cid local oldMaxHealth = getPlayerMaxHealth(cid) local oldMaxMana = getPlayerMaxMana(cid) local playerLevel = getPlayerLevel(cid) -- Verifica se o jogador atende ao requisito de voltar ao nível base if playerLevel > resetSystem.back_to_level then doPlayerAddExperience(cid, getExperienceForLevel(resetSystem.back_to_level) - getPlayerExperience(cid)) playerLevel = resetSystem.back_to_level end -- Remove os bônus existentes antes de aplicar novos resetSystem:removeBonuses(pid) -- Adiciona um reset ao contador do jogador resetSystem:addCount(pid) -- Adiciona os novos bônus resetSystem:addBonuses(pid) -- Restaura a saúde e mana do jogador doPlayerSetMaxHealth(cid, oldMaxHealth) doPlayerSetMaxMana(cid, oldMaxMana) doPlayerAddHealth(cid, oldMaxHealth) doPlayerAddMana(cid, oldMaxMana) -- Exibe uma mensagem informativa ao jogador local bonus = resetSystem:getInfo(pid) if bonus then local message = "[RESET-SYSTEM]\nVocê efetuou seu " .. resetSystem:getCount(pid) .. "° RESET." if bonus.damage_percent then message = message .. "\nAgora você tem +" .. bonus.damage_percent .. "% de dano." end doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, message) -- Substitua doPlayerRemoveItem por doPlayerRemoveItem se desejar remover o item após o uso doPlayerRemoveItem(cid, resetItemID, 1) end end end
  2. [TFS 1.x] TK Vip System

    Murilo35 reagiu a luanluciano93 por uma resposta no tópico

    1 ponto
    Olá pessoal, estou desenvolvendo esse sistema vip para TFS 1.x, se precisarem de alguma função nova é só comentar, criei para usar em um servidor meu e resolvi postar, bom proveito a todos. É só ir no arquivo data/lib/core/player.lua e adicionar esse código no começo do script: -- ALTER TABLE `accounts` ADD `vip_time` BIGINT(20) NOT NULL DEFAULT 0; -- player:getVipTime() function Player.getVipTime(self) local resultId = db.storeQuery("SELECT `vip_time` FROM `accounts` WHERE `id` = '".. self:getAccountId() .."';") local time = resultId ~= false and result.getNumber(resultId, "vip_time") or 0 result.free(resultId) return time end -- player:isVip() function Player.isVip(self) return self:getVipTime() > os.time() and true or false end -- player:addVipDays(days) function Player.addVipDays(self, days) return(self:isVip() and tonumber((days * 86400))) and db.query("UPDATE `accounts` SET `vip_time` = '".. (self:getVipTime() + (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") or db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() + (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:removeVipDays(days) function Player.removeVipDays(self, days) return(self:isVip() and tonumber((days * 86400))) and db.query("UPDATE `accounts` SET `vip_time` = '".. (self:getVipTime() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") or db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:setVipDays(days) function Player.setVipDays(self, days) return db.query("UPDATE `accounts` SET `vip_time` = '".. (os.time() - (days * 86400)) .."' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:removeVip() function Player.removeVip(self) db.query("UPDATE `accounts` SET `vip_time` = '0' WHERE `id` ='".. self:getAccountId() .."' LIMIT 1 ;") end -- player:sendVipDaysMessage() function Player.sendVipDaysMessage(self) if self:isVip() then local vipTime = self:getVipTime() - os.time() local vipDays = 1 + (math.floor(vipTime / 86400)) return self:getVipTime() ~= false and self:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, 'You have '.. vipDays .. ' vip day(s) in your account.') end end -- player:checkVipLogin() function Player.checkVipLogin(self) if self:getVipTime() > 0 and not self:isVip() then return self:removeVip() and self:teleportTo(self:getTown():getTemplePosition()) end end As funções são: • player:getVipTime() - Retorna o valor da tabela vip_time (igual esta na database). • player:isVip() - Retorna se o player é vip ou não. • player:addVipDays(days) - Usa-se em algum script para para adicionar dias de vip ao player (parâmetro de entrada "days"). • player:removeVipDays(days) - Usa-se em algum script para para remover dias de vip do player (parâmetro de entrada "days"). • player:setVipDays(days) - Usa-se em algum script para para mudar os dias de vip do player (parâmetro de entrada "days"). • player:removeVip() - Usa-se em algum script para para remover todo tempo de vip do player. • player:sendVipDaysMessage() - Retorna uma mensagem no player mostrando os dias de vip que ainda restam ao player. • player:checkVipLogin() - Checa se a vip do player acabou, se sim teleporta ele para o templo. Qualquer dúvida ou erro/bug poste aqui.
  3. Transformar script em action

    Underewar reagiu a Mateus Robeerto por uma resposta no tópico

    1 ponto
    Mano, você fez um script para TFS 1.X, mas o cara que pediu está utilizando o TFS 0.4... Só para te avisar mesmo, rs.
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo