Ir para conteúdo
  • 0

Tem Como Fazer Scripts De Entregar Pontos Ao Player


cs007

Pergunta

Olá pessoal da xtibia vim aqui fazer um pequeno pedido a vocês. tem como fazer um script que ao players ficar 10 horas logado direto ele entregar 1 premium points? mas eu queria que esse script só entregasse esse ponto para no maximo 2 player por IP. Isso é possivel? valeu

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

Não. Não tem o sistema de premium points do gesior? então desse que estou falando

 

mas não é a mesma query pra adc points no player?

 

"UPDATE `accounts` SET `premium_points` = '".. getAccountPoints(cid) + count .."' WHERE `name` ='"..getPlayerAccount(cid).."

 

?

Link para o comentário
Compartilhar em outros sites

  • 0

Sim. Eu uso premium_points eu queria um global events que entregasse 1 ponto para o player que ficar logado mais de 10 horas. Ai ele iria entregando de 10 em 10 horas. valeu

Link para o comentário
Compartilhar em outros sites

  • 0

eu sei eu sei, faz o seguinte, adiciona essas funções na sua lib:

 

function getAccountPoints(cid)
	local res = db.getResult('select `premium_points` from accounts where name = \''..getPlayerAccount(cid)..'\'')
	if(res:getID() == -1) then
	   return false
	end
	local ret = res:getDataInt("premium_points")
	res:free()
	return tonumber(ret)
end

function doAccountAddPoints(cid, count)
	return db.executeQuery("UPDATE `accounts` SET `premium_points` = '".. getAccountPoints(cid) + count .."' WHERE `name` ='"..getPlayerAccount(cid).."'")
end

 

 

 

Mods?

 

Premium_Time.xml

<?xml version="1.0" encoding="UTF-8"?>  
<mod name="Premium Time" version="1.0" author="Vodkart" contact="xtibia.com" enabled="yes">  
<config name="ptime_func"><![CDATA[
info = {
storage = 520853,
hours = 10,
points = 1,
IpLimit = 2
}
function CheckPremiumTime(cid)
local count,on,ip,check = 0,getPlayersOnline(),{},true
       if #on > 0 then
for i = 1, #on do
               if getPlayerIp(on[i]) == getPlayerIp(cid) then
count = count + 1
if on[i] ~= cid then
table.insert(ip, on[i])
end
end
end
               if count > info.IpLimit then
for x = 1, #ip do
if getPlayerStorageValue(ip[x], info.storage) ~= -1 then 
check = false 
end
end
               end
end
return setPlayerStorageValue(cid, info.storage, check == true and os.time()+info.hours*3600 or -1)
end
]]></config>
<event type="login" name="PointRegister" event="script"><![CDATA[
domodlib('ptime_func')
function onLogin(cid)
CheckPremiumTime(cid)
return true
end]]></event>   
<globalevent name="RewardPoint" interval="60" event="script"><![CDATA[
domodlib('ptime_func')
function onThink(interval, lastExecution)
local on = getPlayersOnline()
      if #on > 0 then
for i = 1, #on do
if getPlayerStorageValue(on[i], info.storage) ~= -1 and getPlayerStorageValue(on[i], info.storage) <= os.time() then
doAccountAddPoints(on[i], info.points)
doPlayerSendTextMessage(on[i], 19, "Congratulations, you reward "..info.points.." premium points. Your timer was reseted.")
setPlayerStorageValue(on[i], info.storage, os.time()+info.hours*3600)
end
       end
end
return true
end]]></globalevent>
</mod>

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

  • 0

i ae funciono.? tbm gostei dessa sua ideia dos pontos...ce funcionar tbm darei REP + pro script e pro kra q pediu ^^

 

 

ae Vodkart vlw manow...e desculpe, éh q ñ sei mtu dessas coisas...+ vlw por explicar.!

 

 

@Vodkart

Manow como faço pra usar esses pontos ? e como faço pra ver qtos ponto tem o player.?

 

 

me ajuda nessa ? Oo

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

  • 0

ae galera, tinha um bug mais ja removi, editei o tópico, usem o novo!

 

ae Vodkart tem como me passa esse script inteiro...to kerendo colokar ele no meu server tbm. éh só esses 2 q vcpostou ow tem + partes. ? vlw

 

é um MODS cara, são todos os scripts em um arquivo só.

 

@Vodkart

Manow como faço pra usar esses pontos ? e como faço pra ver qtos ponto tem o player.?

 

 

me ajuda nessa ? Oo

 

da uma olhada nesse tópico:

 

http://www.xtibia.com/forum/topic/183310-premium-points-in-game/

Link para o comentário
Compartilhar em outros sites

  • 0

Vodkart. ñ sei como funciona o outro do link ae...+ tem como me falar só como faço pra ver os pontos..pq prefiro usar o seu ai q v cpostou agora ^^

 

 

@Desculpe por outro post aki..eskeci de editar o outro. ;/

 

 

 

@Vodkart.Manow ce éh fods msm...kra ce tu me add no msn pesadeloxiter@hotmail.com (pode deixa q ñ enxo saco com msgs) eu tenhu o SKy no msn só falo com ele qdu estou com urgencia e keria seu msn pra mim pode pedir sua ajuda.

 

 

 

Vlw ae por tdu..

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

  • 0

Vodkart. ñ sei como funciona o outro do link ae...+ tem como me falar só como faço pra ver os pontos..pq prefiro usar o seu ai q v cpostou agora ^^

 

 

@Desculpe por outro post aki..eskeci de editar o outro. ;/

 

fiz uma talk pra vc

 

function onSay(cid, words, param)
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Você tem "..getAccountPoints(cid).." premium points.")
end

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...