Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.
 

 

P Points System
 
 
divisor.png
 
 
 
 
 
Nome do script :
P Points system v1
 
Versão testada :
TFS 0.4 (8.70 Funciona em versões anteriores)
 
Creditos :
LsM
 

DedoDireita.png

 
Como funciona :
 
 
O
sistema funciona como uma recompensa ao player por ficar
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
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.
 
 
 

DedoDireita.png

 
Como utilizar :
 
 
C
omo 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.
 
 
 

DedoDireita.png

 
Instalação :
 
 
Primeiramente, execute a seguinte
QUERY
em seu banco de dados :
 
Código:
 
 
 
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 :
Código:
 
 
--[[ P Points System by LsM. OTServ Brasil © 2011 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
:
Código:
 
 
<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 :
Código:
 
 
--[[ P Points System by LsM. OTServ Brasil &#169; 2011 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
:
Código:
 
 
<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 :
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
:
Código:
 
 
<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 :
Código:
 
 
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.
 

DedoDireita.png

 
Como configurar :
 
A
parte da configuração é a mais fácil, apenas edite :
 
Código:
 
 
 
[/size]
[/font]
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.
 
 

DedoDireita.png

 
Ilustração :
 
 
 

 

Funcionamento do script
 

219b993.png

 
 
Ilustração de !ppoints
 

10z9y7p.png

 
 
Creditos:
LsM
 
 
A
í está galera, espero que gostem, e, para os preguiçosos, disponibilizei o download do sistema completo:
 
 
 

15nra01.gif

O conteúdo é bom e de qualidade? Te ajudei?
Então não esqueça do REP!

  • 2 weeks later...
  • Respostas 31
  • Visualizações 14k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Eu sei que este topico é antigo mas eu queria usar esse script em um npc e como intendo muito pouco sobre scripts consegui fazer um npc com base em outro de meu server, enfim vai que alguem queira o n

  • /\ Isso voce coloca no sql. para por isso e só abrir a database do seu servidor e colocar sql editor, colcar isso e executar

  • Ótimo tutorial, ainda colocou as funções pra usar em um npc    Eu queria em vez do player receber esse "point", receber outra coisa, exemplo: possuo uma moeda no meu ot chamada event point, adqui

Posted Images

Postado

Otimo script, o que seria bom mesmo fazer um NPC ou um tipo de SHOP onde comprasse itens especiais que utilizasse esse tipo de moeda, p points!

E-mail para contato: gigo_xl@hotmail.com

Quer ter um fórum mais organizado? Cumpra as regras!

EU VOLTEI GAROTAS!

31/12/2011

Atenciosamente,

Guilherme Salviati.

  • 3 weeks later...
  • 3 weeks later...
Postado

Ae galera no meu ot "[8.60]HeroServ 2.0.0" eu uso um sistema de vip coins, que podem ser compradas (1 vip coin=1 real). Então, queria saber se dava pra faze um script com ganho de vip coins. Ah, e mais uma coisa: todos os scripts de NPC de troca de itens que eu axei não funcionam no meu ot, dá erro, então, se possivel, alguem faz um script de npc de troca ("x" vip coins por "x" item)?? sei que essa nao é a area certa mas se alguem puder me ajudar...

  • 1 month later...

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo