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
oq vc quis dizer com "no maximo 2 player por IP" ?
Para a pessoa não ficar abrindo MCs e ganhando com varias accs ai se tivesse como fazer um limitador por IP seria melhor ainda.
esse seu sistema de premium points é esse:
http://www.xtibia.com/forum/topic/183310-premium-points-in-game/
?
Não. Não tem o sistema de premium points do gesior? então desse que estou falando
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).."
?
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
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>
Valeu lek. vou testar aqui =) REP+
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
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/
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..
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
Eu vou editar lá então^^ Eu ainda não fechei meu server então não sei se estava funfando ou não^^ vou arrumar la valeu