Skinks 0 Postado Maio 26, 2009 Share Postado Maio 26, 2009 Não consegui botar aqui... Mais vou continuar testando pra ve se consigo arrumar os bugs. Agradeço des de ja. {} Link para o comentário https://xtibia.com/forum/topic/112481-action-sistema-vip-por-sql-v20-para-tfs/page/3/#findComment-743191 Compartilhar em outros sites More sharing options...
xafixav 0 Postado Maio 28, 2009 Share Postado Maio 28, 2009 Bom vamos começa primeiro adicionando as tabelas para indicar se o player é vip ou não, tabela que mostra a quantidade de dias e a tabela de define o tempo da vip. Va em seu MySQL e use este query. ALTER TABLE `accounts` ADD `vip` TINYINT(1) NOT NULL DEFAULT 0, ADD `vip_days` INT(11) NOT NULL DEFAULT 0, ADD `vip_time` INT(11) NOT NULL DEFAULT 0; Agora vamos colocar a talkaction para poder adicionar a vip e verificar quantos dia de vip dos players. Va em "Data/Talkactions/Talkactions.xml" e adicione. <talkaction log="yes" words="/addvip" access="5" event="script" value="vip.lua"/> <talkaction log="yes" words="/checkvip" access="5" event="script" value="vip.lua"/> Agora crie um script chamado vip.lua na pasta "Data/Talkactions/Scripts" e coloque este codigo abaixo. Ou se prefirir ja baixe ele feito Vip_talkaction.rar function onSay(cid, words, param) local Data = string.explode(param, ",") if Data then local Target = db.getResult("SELECT `name` FROM `players` WHERE `name` = " .. db.escapeString(Data[1]) .. ";") if Data then if (Target:getID() ~= -1) then if Data[2] then if (words:sub(2, 2) == "a") then if isNumber(Data[2]) == TRUE then if vipTimeByName(Data[1]) == 0 then db.executeQuery("UPDATE `accounts` SET `vip_time` = 86400 * ".. Data[2] .." + ".. os.time() .." WHERE `accounts`.`id` = ".. getAccountIdByName(Data[1]) ..";") else db.executeQuery("UPDATE `accounts` SET `vip_time` = `accounts`.`vip_time` + (86400 * ".. Data[2] ..") WHERE `accounts`.`id` = ".. getAccountIdByName(Data[1]) ..";") end db.executeQuery("UPDATE `accounts` SET `vip` = 1 WHERE `accounts`.`id` = ".. getAccountIdByName(Data[1]) .." LIMIT 1;") db.executeQuery("UPDATE `accounts` SET `vip_days` = `accounts`.`vip_days` + ".. Data[2] .." WHERE `accounts`.`id` = ".. getAccountIdByName(Data[1]) ..";") doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foi adicionado ".. Data[2] .." dias de vip ao player ".. Data[1] ..".") else doPlayerSendCancel(cid, "Insira apenas numeros.") end else doPlayerSendCancel(cid, "Para verificar uma vip não presisa inserir os dias.") end else if (words:sub(2, 2) == "c") then if vipDaysByName(Data[1]) == 0 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O player ".. Data[1] .." não é vip.") elseif vipDaysByName(Data[1]) == 1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O player ".. Data[1] .." tem ".. vipDaysByName(Data[1]) .." dia de vip.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O player ".. Data[1] .." tem ".. vipDaysByName(Data[1]) .." dias de vip.") end else doPlayerSendCancel(cid, "Insira a quantidade de dias que vai adicionar de vip ao player.") end end else doPlayerSendCancel(cid, "Este player ".. Data[1] .." não existe.") end end else doPlayerSendCancel(cid, "Insira um nome.") end return TRUE end Agora vamos em "Data/Libs" e vamos adicionar em "Data.lua" na ultima linha. dofile(getDataDir() .. "Lib/Vip_Functions.lua") Agora vamos criar um script chamado "Vip_Functions.lua" na pasta "Data/Libs" e colocar este codigo abaixo. Ou se prefirir ja baixe ele feito Vip_Functions.rar function vipDays(cid) local Query = db.getResult("SELECT `vip_days` FROM `accounts` WHERE `accounts`.`id` = ".. getPlayerAccountId(cid) ..";") local vip_days = Query:getDataInt("vip_days") return vip_days end function vipDaysByName(cid) local Query = db.getResult("SELECT `vip_days` FROM `accounts` WHERE `accounts`.`id` = ".. getAccountIdByName(cid) ..";") local vip_days = Query:getDataInt("vip_days") return vip_days end function haveVipDays(cid) local Query = db.getResult("SELECT `vip_days` FROM `accounts` WHERE `accounts`.`id` = ".. getPlayerAccountId(cid) ..";") local vip_days = Query:getDataInt("vip_days") return (isPlayer(cid) == TRUE and (vip_days > 0)) and TRUE or FALSE end function haveVipDaysByName(cid) local Query = db.getResult("SELECT `vip_days` FROM `accounts` WHERE `accounts`.`id` = ".. getAccountIdByName(cid) ..";") local vip_days = Query:getDataInt("vip_days") return (isPlayer(cid) == TRUE and (vip_days > 0)) and TRUE or FALSE end function isVip(cid) local Query = db.getResult("SELECT `vip` FROM `accounts` WHERE `accounts`.`id` = ".. getPlayerAccountId(cid) ..";") local vip = Query:getDataInt("vip") return (isPlayer(cid) == TRUE and (vip == 1)) and TRUE or FALSE end function haveVipTime(cid) local Query = db.getResult("SELECT `vip_time` FROM `accounts` WHERE `accounts`.`id` = ".. getPlayerAccountId(cid) ..";") local vip_time = Query:getDataInt("vip_time") return (isPlayer(cid) == TRUE and (vip_time >= 1)) and TRUE or FALSE end function vipTimeByName(cid) local Query = db.getResult("SELECT `vip_time` FROM `accounts` WHERE `accounts`.`id` = ".. getAccountIdByName(cid) ..";") local vip_time = Query:getDataInt("vip_time") return vip_time end function vipTime(cid) local Query = db.getResult("SELECT `vip_time` FROM `accounts` WHERE `accounts`.`id` = ".. getPlayerAccountId(cid) ..";") local vip_time = Query:getDataInt("vip_time") return vip_time end Agora iremos colocar os creture script que faz a remoção automatica dos dias da vip e teleporta os chars para o temple quando acaba a vip! Vamos em "Data\Creaturescripts" e abriremos o script "Login.lua" e adicione o codigo abaixo. OBS = Coloque as coordenadas do templo da cidade principal. OBS = Coloque ID da cidade principal. Agora iremos cria uma action que no tile que tiver o actionID 1000 tera que ser player vip para passar por ele. Agora crie um scripts chamado Viptile.lua na pasta scripts function onStepIn(cid, item, position, fromPosition) if isVip(cid) == FALSE then doTeleportThing(cid, fromPosition) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não é um player vip para poder passar por aqui.") end return TRUE end Exemplos de como adicionar vip e remover e verificar se o player é vip. Exemplo de como adicionar uma vip de 10 dias /addvip Luke sky walker, 10 Exemplo de como verificar se o player é vip e quantos dias de vip ele tem ainda. /checkvip Luke sky walker OBS: Este sistema serve tambem para players offline como online pois é direto por SQL. Detalhe eu so fiz testes basicos não usei ele em server que fica online então se acharem algum erro reporte par min. Espero que tenham gostado pois tive um bom trabalho para cria este script e decidi disponibiliza a vocês! Que usam um sistema de vip. Por favor não tirem os creditos deste script! Luke 1 Duvida Funciona no 7.6? Obrigado se conseguir agradeço mesmo Link para o comentário https://xtibia.com/forum/topic/112481-action-sistema-vip-por-sql-v20-para-tfs/page/3/#findComment-743928 Compartilhar em outros sites More sharing options...
Lukeskywalker 31 Postado Maio 28, 2009 Autor Share Postado Maio 28, 2009 Luke 1 Duvida Funciona no 7.6? Obrigado se conseguir agradeço mesmo esse script foi feito pra TFS 0.3 Superior =x Link para o comentário https://xtibia.com/forum/topic/112481-action-sistema-vip-por-sql-v20-para-tfs/page/3/#findComment-744003 Compartilhar em outros sites More sharing options...
rei16 0 Postado Maio 29, 2009 Share Postado Maio 29, 2009 O systema esta ruim msm não conta os dia i nem os minutos... a vip não acaba..[/size] Link para o comentário https://xtibia.com/forum/topic/112481-action-sistema-vip-por-sql-v20-para-tfs/page/3/#findComment-744155 Compartilhar em outros sites More sharing options...
praquenomegrandelol 0 Postado Maio 30, 2009 Share Postado Maio 30, 2009 Não consegui botar aqui...Mais vou continuar testando pra ve se consigo arrumar os bugs. Agradeço des de ja. {} Tomará que vc consiga , porque como disse o "rei16" O systema esta ruim msm não conta os dia i nem os minutos... a vip não acaba..[/size] Aguardando Melhoras //Cya~~ Link para o comentário https://xtibia.com/forum/topic/112481-action-sistema-vip-por-sql-v20-para-tfs/page/3/#findComment-744584 Compartilhar em outros sites More sharing options...
Lukeskywalker 31 Postado Junho 2, 2009 Autor Share Postado Junho 2, 2009 O systema esta ruim msm não conta os dia i nem os minutos... a vip não acaba..[/size] se colocar o script corretamente ele funciona sim o principal é o "login.lua" ele que faz este trabalho. e eu mesmo ja testei o script no meu ot e funciono certin. Link para o comentário https://xtibia.com/forum/topic/112481-action-sistema-vip-por-sql-v20-para-tfs/page/3/#findComment-745457 Compartilhar em outros sites More sharing options...
Jeet 0 Postado Junho 3, 2009 Share Postado Junho 3, 2009 oww aki ate agora naum tem nenhum erro ale do viptile.lua... botei o action 1000 em um determinado local mas qual quer um pode passa sendo vip ou Nao!! explica essa parte ae melhor plzz Link para o comentário https://xtibia.com/forum/topic/112481-action-sistema-vip-por-sql-v20-para-tfs/page/3/#findComment-745659 Compartilhar em outros sites More sharing options...
djlucas15 0 Postado Junho 7, 2009 Share Postado Junho 7, 2009 Olá Luke Sky Walker! Muito boa sua script, achei demais! Eu passei o dia todo hoje tentando adaptar ela para dar VIP ao player expecificamente, deve ser uma modificação simples, para alguem como você que criou. Eu fiz ele pegar tudo da tabela players, criei as novas tabelas la pra ele indentificar, mudei as funções, ai que vem o problema, quando eu mudei as funções deu problema, teria como me dizer ou postar as scripts modificadas? Obrigado e aguardo anciosamente! Ah, e parabens, ele fico demais! Link para o comentário https://xtibia.com/forum/topic/112481-action-sistema-vip-por-sql-v20-para-tfs/page/3/#findComment-746398 Compartilhar em outros sites More sharing options...
Lukeskywalker 31 Postado Junho 7, 2009 Autor Share Postado Junho 7, 2009 Olá Luke Sky Walker! Muito boa sua script, achei demais! Eu passei o dia todo hoje tentando adaptar ela para dar VIP ao player expecificamente, deve ser uma modificação simples, para alguem como você que criou. Eu fiz ele pegar tudo da tabela players, criei as novas tabelas la pra ele indentificar, mudei as funções, ai que vem o problema, quando eu mudei as funções deu problema, teria como me dizer ou postar as scripts modificadas? Obrigado e aguardo anciosamente! Ah, e parabens, ele fico demais! como é para um player espefico você pode cria um sistema em StorageValue. é mais simples. Link para o comentário https://xtibia.com/forum/topic/112481-action-sistema-vip-por-sql-v20-para-tfs/page/3/#findComment-746445 Compartilhar em outros sites More sharing options...
rei16 0 Postado Junho 7, 2009 Share Postado Junho 7, 2009 plx me da uma luz... quero voc para o systema vip para pode fazer itesm i quest vip... i um tutor pra emplementa os dias de vip no meu site tipow os de premium.... se poder ajuda ai urgente UNNAMED acc. maker 0.3.4beta4 for TFS. Link para o comentário https://xtibia.com/forum/topic/112481-action-sistema-vip-por-sql-v20-para-tfs/page/3/#findComment-746453 Compartilhar em outros sites More sharing options...
Lukeskywalker 31 Postado Junho 7, 2009 Autor Share Postado Junho 7, 2009 plx me da uma luz... quero voc para o systema vip para pode fazer itesm i quest vip... i um tutor pra emplementa os dias de vip no meu site tipow os de premium.... se poder ajuda ai urgente UNNAMED acc. maker 0.3.4beta4 for TFS. Eu não mexo com php desculpa. Link para o comentário https://xtibia.com/forum/topic/112481-action-sistema-vip-por-sql-v20-para-tfs/page/3/#findComment-746456 Compartilhar em outros sites More sharing options...
rei16 0 Postado Junho 7, 2009 Share Postado Junho 7, 2009 (editado) então tem como emplementa voc no systema??? tipow quando a vip acabar o voc fica inativa.. tipow a premmy cando acaba premmy a promotion fica inativa so fuciona com outra premmy.. quero isso pra poder cria items so pra vip.. ajuda ai veiii urgente.. Editado Junho 7, 2009 por rei16 Link para o comentário https://xtibia.com/forum/topic/112481-action-sistema-vip-por-sql-v20-para-tfs/page/3/#findComment-746459 Compartilhar em outros sites More sharing options...
djlucas15 0 Postado Junho 7, 2009 Share Postado Junho 7, 2009 como é para um player espefico você pode cria um sistema em StorageValue.é mais simples. Eu fiz um sistema que ele adiciona um storage e que no Login verifica se ele a inda tem para teleportar o player para o tempo, mas oque eu não consegui fazer é, fazer de algum modo ele remover 1 storage por dia. Poderia ser com os.time? Se pudesse seria melhor. Mas a principio eu estou tentando fazer com o global events, mas eu não conseguir criar uma script para remover storage (Teria que ser por SQL porque se o player estivese off não iria remover). Eu ficaria muito grato se você pudese me ajudar. Link para o comentário https://xtibia.com/forum/topic/112481-action-sistema-vip-por-sql-v20-para-tfs/page/3/#findComment-746498 Compartilhar em outros sites More sharing options...
Lukeskywalker 31 Postado Junho 7, 2009 Autor Share Postado Junho 7, 2009 (editado) então tem como emplementa voc no systema??? tipow quando a vip acabar o voc fica inativa.. tipow a premmy cando acaba premmy a promotion fica inativa so fuciona com outra premmy.. quero isso pra poder cria items so pra vip.. ajuda ai veiii urgente.. não da para eu fazer isso por que a vip funciona por os.time() Eu fiz um sistema que ele adiciona um storage e que no Login verifica se ele a inda tem para teleportar o player para o tempo, mas oque eu não consegui fazer é, fazer de algum modo ele remover 1 storage por dia. Poderia ser com os.time? Se pudesse seria melhor. Mas a principio eu estou tentando fazer com o global events, mas eu não conseguir criar uma script para remover storage (Teria que ser por SQL porque se o player estivese off não iria remover). Eu ficaria muito grato se você pudese me ajudar. Da para fazer por os.time com apenas storagevalue sem ter problemas. mais o commando que add a vip teria que verificar se o player está online se ele estiver online ele add o storage pela função se estiver off por SQLLua. Editado Junho 7, 2009 por Lukeskywalker Link para o comentário https://xtibia.com/forum/topic/112481-action-sistema-vip-por-sql-v20-para-tfs/page/3/#findComment-746520 Compartilhar em outros sites More sharing options...
djlucas15 0 Postado Junho 7, 2009 Share Postado Junho 7, 2009 (editado) Da para fazer por os.time com apenas storagevalue sem ter problemas. mais o commando que add a vip teria que verificar se o player está online se ele estiver online ele add o storage pela função se estiver off por SQLLua. Pow, pode ser quando ele tiver offline. Se teria como fazer isso pra min, ou me dar algumas dicas? Não entendo nada de os.time. E caso você queria fazer, eu uso o TFS 0.3.4 PL2 (Ultima versão). Se você acha mais facil quando ele estiver apenas offline... pode ser, mas o perfeito seria pra ele verificar e fazer de acordo offline/online. Ficaria muito grato. Editado Junho 7, 2009 por zoreiaot Link para o comentário https://xtibia.com/forum/topic/112481-action-sistema-vip-por-sql-v20-para-tfs/page/3/#findComment-746569 Compartilhar em outros sites More sharing options...
Posts Recomendados