Lukeskywalker 31 Postado Março 27, 2009 Share Postado Março 27, 2009 (editado) Bom vamos começa primeiro adicionando a tabela para indicar se o player é vip ou não. Va em seu MySQL e use este query. ALTER TABLE `accounts` ADD `vip` TINYINT( 1 ) NOT NULL DEFAULT '0' Agora vamos colocar a talkaction para poder colocar a vip e retirar a vip dos players. Va em Talkactions.xml e adicione. <talkaction log="yes" words="/addvip" access="5" event="script" value="vip.lua"/> <talkaction log="yes" words="/remvip" 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 scripts da pasta Talkactions e coloque este codigo abaixo. 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 (words:sub(2, 2) == "a") then db.executeQuery("UPDATE `accounts` SET `vip` = 1 WHERE `accounts`.`id` = ".. getAccountIdByName(Data[1]) ..";") doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foi adicionado a vip ao player ".. Data[1] ..".") elseif (words:sub(2, 2) == "r") then db.executeQuery("UPDATE `accounts` SET `vip` = 0 WHERE `accounts`.`id` = ".. getAccountIdByName(Data[1]) ..";") doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foi removida a vip do player ".. Data[1] ..".") elseif (words:sub(2, 2) == "c") then if (isVipByName(Data[1]) == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O player ".. Data[1] .." é vip.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O player ".. Data[1] .." não é vip.") 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 que você ja tem o sistema de adicionar vip e retirar a vip do player vamos fazer duas funções que verifique se o player é vip ou não em actions. Primeiro va em "Data/Lib/Function.lua" e adicione a seguinte função abaixo. 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 isVipByName(cid) local Query = db.getResult("SELECT `vip` FROM `accounts` WHERE `accounts`.`id` = ".. getAccountIdByName(cid) ..";") local vip = Query:getDataInt("vip") return vip end Agora vou dar um exemplo de uma action de tile que verifica se o player é vip ou não para passar por ele. Va em Movements.xml e adicione. <movevent type="StepIn" actionid="1000" event="script" value="Viptile.lua"/> 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 OBS: Este sistema serve tambem para players offline como online pois é direto por SQL Espero que tenham gostado pois tive um bom trabalho para cria este script e decidi disponibiliza a vocês! que tem servidor com sistema de vip. Por favor não tirem os creditos deste script!!!!!!!!!! EDIT Uma coisa pretendo melhorar este sistema para ele remover a vip automatico numa certa quantidade de dias configuravel! Exemplos de como adicionar vip e remover e verificar se o player é vip. Exemplo como adicionar vip /addvip Luke sky walker Exemplo como remover vip /remvip Luke sky walker Exemplo como verificar se o player é vip /checkvip Luke sky walker Vip.rar Editado Maio 7, 2009 por Lukeskywalker Link para o comentário https://xtibia.com/forum/topic/110150-action-sistema-vip-por-sql-para-tfs-v10/ Compartilhar em outros sites More sharing options...
makabrotaliban 0 Postado Março 27, 2009 Share Postado Março 27, 2009 (editado) Muito bom o sistema ....mas tpw o Table eh pra add no database?(to por fora de Script =D) Grato a Atenção Editado Março 27, 2009 por Nosctradamus Link para o comentário https://xtibia.com/forum/topic/110150-action-sistema-vip-por-sql-para-tfs-v10/#findComment-715124 Compartilhar em outros sites More sharing options...
Lukeskywalker 31 Postado Março 27, 2009 Autor Share Postado Março 27, 2009 Na database. Link para o comentário https://xtibia.com/forum/topic/110150-action-sistema-vip-por-sql-para-tfs-v10/#findComment-715144 Compartilhar em outros sites More sharing options...
noobinhu 38 Postado Março 27, 2009 Share Postado Março 27, 2009 lol velho, era melhor ter usado global storage value... tipo: global storage value base = 56874 account_vip_storage_value = acc_id+global storage value base melhor do que alterar a tabela de account, pode dar bug em alguns sites, mal feitos talvez Link para o comentário https://xtibia.com/forum/topic/110150-action-sistema-vip-por-sql-para-tfs-v10/#findComment-715153 Compartilhar em outros sites More sharing options...
makabrotaliban 0 Postado Março 27, 2009 Share Postado Março 27, 2009 @LukeSkywalker Thanks. vo add no meu projeto !! Link para o comentário https://xtibia.com/forum/topic/110150-action-sistema-vip-por-sql-para-tfs-v10/#findComment-715163 Compartilhar em outros sites More sharing options...
Lukeskywalker 31 Postado Março 28, 2009 Autor Share Postado Março 28, 2009 lol velho, era melhor ter usado global storage value...tipo: global storage value base = 56874 account_vip_storage_value = acc_id+global storage value base melhor do que alterar a tabela de account, pode dar bug em alguns sites, mal feitos talvez Eu acho que não daria nenhum problema em adicionar uma coluna por que no site é escolhido as colunas que iram ser usadas não a tabela intera então eu descarto o problema com sites. Link para o comentário https://xtibia.com/forum/topic/110150-action-sistema-vip-por-sql-para-tfs-v10/#findComment-715239 Compartilhar em outros sites More sharing options...
mbnstar 0 Postado Abril 12, 2009 Share Postado Abril 12, 2009 (editado) Cara funcionou mesmo valeuu aew cara mais tem um pequeno problema =/. Quando vai checar o vip: 16:05 /checkvip GOD Jhon 16:05 O player GOD Jhon não é vip. Erro TFS: [12/04/2009 16:05:14] Error during getDataInt(vip). Fica dando esse outro erro quando adiciono vip: 16:06 /addvip GOD Jhon 16:06 Foi adicionado a vip ao player GOD Jhon. Erro TFS: [12/04/2009 16:06:55] Error during getDataInt(vip). [12/04/2009 16:06:55] OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: near "LIMIT": syntax error (UPDATE "accounts" SET "vip" = '1' WHERE "accounts"."id" = 2 LIMIT 1;) Não sei por que... e meu ot e de acc manager. Editado Abril 12, 2009 por Jhon Herbert Link para o comentário https://xtibia.com/forum/topic/110150-action-sistema-vip-por-sql-para-tfs-v10/#findComment-723341 Compartilhar em outros sites More sharing options...
tibiaa4e 86 Postado Abril 13, 2009 Share Postado Abril 13, 2009 Uia boa ideia... Porém o povo brasileiro é meio preguiçoso e acho que não irá rolar =/ Porém e um sistema mais seguro e pode ser adquirido pelo site por um codigo php simples Link para o comentário https://xtibia.com/forum/topic/110150-action-sistema-vip-por-sql-para-tfs-v10/#findComment-724285 Compartilhar em outros sites More sharing options...
Lukeskywalker 31 Postado Abril 20, 2009 Autor Share Postado Abril 20, 2009 (editado) Cara funcionou mesmo valeuu aew cara mais tem um pequeno problema =/. Quando vai checar o vip: 16:05 /checkvip GOD Jhon 16:05 O player GOD Jhon não é vip. Erro TFS: [12/04/2009 16:05:14] Error during getDataInt(vip). Fica dando esse outro erro quando adiciono vip: 16:06 /addvip GOD Jhon 16:06 Foi adicionado a vip ao player GOD Jhon. Erro TFS: [12/04/2009 16:06:55] Error during getDataInt(vip). [12/04/2009 16:06:55] OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: near "LIMIT": syntax error (UPDATE "accounts" SET "vip" = '1' WHERE "accounts"."id" = 2 LIMIT 1;) Não sei por que... e meu ot e de acc manager. tenta tirar o "LIMIT 1" tipo eu so testei em MySql então não sei se funciona em SQLITE Bom eu vo dar uma revisada no script, estou pensando em postar o outro que eu fiz que é melhor você adiciona a vip por quantidade de dias e ela remove sosinha ainda estou testando aquele script. Editado Abril 20, 2009 por Lukeskywalker Link para o comentário https://xtibia.com/forum/topic/110150-action-sistema-vip-por-sql-para-tfs-v10/#findComment-727926 Compartilhar em outros sites More sharing options...
zani123 17 Postado Abril 20, 2009 Share Postado Abril 20, 2009 Muito bom,parabéns cara! Eu usei no meu ot,ta todo mundo gostando. É rápido e prático. Parabéns! Link para o comentário https://xtibia.com/forum/topic/110150-action-sistema-vip-por-sql-para-tfs-v10/#findComment-727944 Compartilhar em outros sites More sharing options...
Lukeskywalker 31 Postado Abril 20, 2009 Autor Share Postado Abril 20, 2009 Pessoal dei uma revisada no script podem testar caso achar algum erro pode postar o erro aqui que eu irei arrumar. Link para o comentário https://xtibia.com/forum/topic/110150-action-sistema-vip-por-sql-para-tfs-v10/#findComment-727952 Compartilhar em outros sites More sharing options...
Rocky 0 Postado Abril 21, 2009 Share Postado Abril 21, 2009 muito bom mais fica dando erros explo:esse é quando vo fala o nome pra ver se tem vip "/checkvip **** [21/04/2009 01:59:46] Lua Script Error: [TalkAction Interface] [21/04/2009 01:59:46] data/talkactions/scripts/vip.lua:onSay [21/04/2009 01:59:46] data/talkactions/scripts/vip.lua:14: attempt to call global 'isVipByName' (a nil value) [21/04/2009 01:59:46] stack traceback: [21/04/2009 01:59:46] data/talkactions/scripts/vip.lua:14: in function <data/talkactions/scripts/vip.lua:1> E esse é quando passa pela pos: [21/04/2009 01:58:36] Lua Script Error: [MoveEvents Interface] [21/04/2009 01:58:36] data/movements/scripts/Viptile.lua:onStepIn [21/04/2009 01:58:36] data/movements/scripts/Viptile.lua:2: attempt to call global 'isVip' (a nil value) [21/04/2009 01:58:36] stack traceback: [21/04/2009 01:58:36] data/movements/scripts/Viptile.lua:2: in function <data/movements/scripts/Viptile.lua:1> vlw Link para o comentário https://xtibia.com/forum/topic/110150-action-sistema-vip-por-sql-para-tfs-v10/#findComment-728275 Compartilhar em outros sites More sharing options...
Lukeskywalker 31 Postado Abril 22, 2009 Autor Share Postado Abril 22, 2009 muito bommais fica dando erros explo:esse é quando vo fala o nome pra ver se tem vip "/checkvip **** [21/04/2009 01:59:46] Lua Script Error: [TalkAction Interface] [21/04/2009 01:59:46] data/talkactions/scripts/vip.lua:onSay [21/04/2009 01:59:46] data/talkactions/scripts/vip.lua:14: attempt to call global 'isVipByName' (a nil value) [21/04/2009 01:59:46] stack traceback: [21/04/2009 01:59:46] data/talkactions/scripts/vip.lua:14: in function <data/talkactions/scripts/vip.lua:1> E esse é quando passa pela pos: [21/04/2009 01:58:36] Lua Script Error: [MoveEvents Interface] [21/04/2009 01:58:36] data/movements/scripts/Viptile.lua:onStepIn [21/04/2009 01:58:36] data/movements/scripts/Viptile.lua:2: attempt to call global 'isVip' (a nil value) [21/04/2009 01:58:36] stack traceback: [21/04/2009 01:58:36] data/movements/scripts/Viptile.lua:2: in function <data/movements/scripts/Viptile.lua:1> vlw Qual a versão de otserver que tu usa? tu adiciono as funções no local correto? Link para o comentário https://xtibia.com/forum/topic/110150-action-sistema-vip-por-sql-para-tfs-v10/#findComment-729053 Compartilhar em outros sites More sharing options...
gordo82345 0 Postado Abril 22, 2009 Share Postado Abril 22, 2009 ACTION F*** VLW MSM!! Estava prokurando hoje exatamente isso. Link para o comentário https://xtibia.com/forum/topic/110150-action-sistema-vip-por-sql-para-tfs-v10/#findComment-729205 Compartilhar em outros sites More sharing options...
Lady Heavens 0 Postado Abril 25, 2009 Share Postado Abril 25, 2009 Nossa esse script está muito bom eu testei aqui e funciona perfeitamente, e sobre essa possivel melhora no script que tu comento vai lançar mesmo? Link para o comentário https://xtibia.com/forum/topic/110150-action-sistema-vip-por-sql-para-tfs-v10/#findComment-730352 Compartilhar em outros sites More sharing options...
Posts Recomendados