Postado Agosto 17, 2013 11 anos Nome do Script: Script para ganhar pontos no site (shop) ficando 24 horas onlineVersão Utilizada: 9.83Servidor Utilizado: TFS 0.4 Nível de Experiência: Complicado.Informações Extras: -- Olá pessoal, gostaria de saber se existe um script para ganhar pontos vips (shop) para cada players que ficar 24 horas online no servidor. Comandos: !tempovip - Esse comando serviria para verificar quanto tempo o player já está online. !trocarpontosvips - Esse comando serviria para trocar a quantidade de horas por pontos, por exemplo: - O player dá o comando !tempovip e verifica que o mesmo tem 48 horas online, sendo assim ele poderia trocar seu tempo para os pontos, neste caso o mesmo ganharia 2 pontos. Mensagens do Script. Quando o player tentar executar o comando “trocarpontosvips” e ele não ter as 24 horas para realizar a troca vir a mensagem “VOCE AINDA NÃO TEM TEMPO ONLINE PARA REALIZAR A TROCA”
Postado Agosto 29, 2013 11 anos Nome do script : P Points system v1 Versão testada : TFS 0.4 Creditos : LsM Como funciona : O sistema funciona como uma recompensa ao player por ficar online por um certo tempo. O player, ao ficar online por um certo intervalo de tempo programado no código, receberá uma quantidade de pontos "P" a qual também se pode alterar. O objetivo foi fazer com que os players se sintam incentivados a ficar online por um maior período de tempo para que recebam tais moedas. Essa é, definitivamente, uma forma fácil de se alcançar um número maior de players online, já que a ideia foi retirada de um MMORPG online de grande sucesso.Como utilizar : Como o sistema tem como foco dar uma recompensa ao player, no caso pontos P, estes, podem ser utilizados no comercio, em npcs, ou até mesmo na entrada de locais. Sua sintaxe é muito maleável e se encaixa em quaquer requisito desejado.Instalação : Primeiramente, execute a seguinte QUERY em seu banco de dados : ALTER TABLE `accounts` ADD `p_points` INTEGER NOT NULL DEFAULT 0 Em seguida, crie um arquivo com a extensão .lua chamado "points.lua" em "data/creaturescripts/scripts" e adicione o código abaixo : --[[ P Points System. Version : v1.0 ]]-- function onLogin(cid) doCreatureSetStorage(cid, 1219, os.time()) return true end function onLogout(cid) doCreatureSetStorage(cid, 1219, 0) return true end Ainda em creaturescripts, abra o arquivo "creaturescripts.xml" e adicione a seguinte TAG: <event type="login" name="PlayerAddPointsTimer" event="script" value="points.lua"/> <event type="logout" name="PlayerResetPointsTimer" event="script" value="points.lua"/> Agora, em "data/globalevents/script" crie um arquivo com a extensão .lua também chamado "points.lua" e cole o seguinte código : --[[ P Points System. Version : v1.0 ]]-- local config = { p_time = 3600, -- Tempo em segundos para receber os pontos( 3600 = 1hora ) p_points = 1 -- Quantidade de pontos recebida a cada "p_time" } local function givePoints(cid, quant) if os.time() - getCreatureStorage(cid, 1219) >= config.p_time then doPlayerSendTextMessage(cid, 19, "Congratulations, you recieved ".. config.p_points .." p points. Now you have ".. config.p_points + getPoints(cid) .." p points in your account. Your timer was reseted.") doPlayerAddPoints(cid, quant) doCreatureSetStorage(cid, 1219, 0) doCreatureSetStorage(cid, 1219, os.time()) end return true end function onThink(interval) for i, v in pairs(getPlayersOnline()) do givePoints(v, config.p_points) end return true end E em "globalevents.xml" cole a seguinte TAG: <globalevent name="points" interval="60" event="script" value="points.lua"/> Em seguida vá em "data/talkactions/scripts", crie um arquivo com extensão .lua chamado "points.lua" e adicione o seguinte código : function onSay(cid, words, param, channel) local getP = getPoints(cid) doPlayerPopupFYI(cid, "You have ".. getP .." P points.") return true end E em "talkactions.xml" adicione a TAG : <talkaction words="!ppoints;/ppoints" event="script" value="points.lua"/> Para finalizar, vá em "data/lib/050-function.lua" e na última linha, adicione as funções abaixo : function getPoints(cid) local res = db.getResult('select `p_points` from accounts where name = \''..getPlayerAccount(cid)..'\'') if(res:getID() == -1) then return false end local ret = res:getDataInt("p_points") res:free() return tonumber(ret) end function doPlayerAddPoints(cid, quant) return db.executeQuery("UPDATE `accounts` SET `p_points` = '".. getPoints(cid) + quant .."' WHERE `name` ='"..getPlayerAccount(cid).."'") end function doPlayerRemovePoints(cid, quant) return db.executeQuery("UPDATE `accounts` SET `p_points` = '".. getPoints(cid) - quant .."' WHERE `name` ='"..getPlayerAccount(cid).."'") end Fim, o sistema está instalado. Como configurar : A parte da configuração é a mais fácil, apenas edite : local config = { p_time = 3600, -- Tempo em segundos para receber os pontos( 3600 = 1hora ) p_points = 1 -- Quantidade de pontos recebida a cada "p_time" } Quer utilizar o sistema em um npc, ou action, ou algum outro sistema e não sabe como? Simples, apenas use as seguintes funções :getPoints(cid) A função retorna a quantidade de pontos do player.doPlayerAddPoints(cid, quant) A função adiciona a quantidade(quant) de pontos ao player.doPlayerRemovePoints(cid, quant) A função remove a quantidade(quant) de pontos do player. Download do sistema -> DOWNLOAD Scan -> Scan "O fracasso é a oportunidade de se começar de novo inteligentemente" Minhas Redes Sociais: Youtube | Página & Grupo | Steam | Discord TibiaKing
Postado Março 1, 2017 8 anos Ótimo script \o/ Me ajudou muito. Não me serviu o script em si, mas me deu base para criar (alterando o seu) um que dê crystal coin no lugar de points. Rep+
Postado Dezembro 24, 2018 6 anos tem um bug no script de remoção, tu usa e ele remove os pontos do god tbm.... Editado Janeiro 4, 2019 6 anos por BilauX (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.