caotic 393 Postado Dezembro 14, 2012 Share Postado Dezembro 14, 2012 (editado) Ola pessoal do ekstibiana. Versões para cima de 9.x foi retirado o sistema de banimento que e muito necessario em ots. Então resolvi desenvolver uma versão "beta" para vocês O sistema ta bem limitadinho mais e funcional. Para banir uma pessoa diga /ban(nome da pessoa,dias,comentario) depois a personagem sera banida e seu ip sera banido. Para ver a lista de banidos fale /banidos Limitações do sistema Bem ela apresenta "limitações" como o salvamento do banimentos da database os "logs" não são excludos. O ip da pessoa banida sempre ficara banida mesmo que o tempo do banimento da pessoa Vamos a instalar o sistema. GO! Execute o seguinte comando na sua database: CREATE TABLE "ban" ( "player" INT NOT NULL, "ip" INT NOT NULL, "time" INT NOT NULL ); Agora vá em lib e crie um arquivo lua chamado de ban e coloque isto: function doPlayerBan(cid, time, coment) exhaustion.set(cid, 24546, time*3600*24*1000) db.executeQuery("INSERT INTO `ban` VALUES (".. getPlayerGUID(cid) ..", ".. getPlayerIp(cid) ..", ".. time ..")") setPlayerStorageValue(cid, 42622, tostring(coment)) doBroadcastMessage(""..getPlayerName(cid).." foi banido em "..time.." dia(s) por "..coment.."") end function getPlayerBan(cid) return exhaustion.check(cid, 24546) end function getPlayerIPbyBan(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `player` = ".. getPlayerGUID(cid) ..";") return ban:getDataInt("ip") end function getBanTimeByIp(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `ip` = ".. getPlayerIp(cid) ..";") return ban:getDataInt("time") end function getPlayerBanDb(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `player` = ".. getPlayerGUID(cid) ..";") if ban:getID() == -1 then return true end return false end function getPlayerBanIpDb(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `ip` = ".. getPlayerIp(cid) ..";") if ban:getID() == -1 then return true end return false end function getPlayerTimeBan(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `player` = ".. getPlayerGUID(cid) ..";") return ban:getDataInt("time") end function getPlayerIpBan(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `player` ORDER BY `time`") if ban:getID() == -1 then return false end while true do local ips = ban:getDataInt("ip") if getPlayerIp(cid) == ips then return true end if not ban:next() then return false end end end function doShowTextBans(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `player` ORDER BY `time`") str = "Players Banidos:\n\n" if ban:getID() == -1 then doShowTextDialog(cid, 1387, "Não existe nenhum player Banido") return true end while true do local name = ban:getDataInt("player") local time = ban:getDataInt("time") local player = getPlayerNameByGUID(name) str = str .. player .. " - Banido por "..time.." dia(s) \n\n" if not ban:next() then doShowTextDialog(cid, 1397, str) break end end end function doShowTextBansForGroupUp(cid) local ban = db.getResult("SELECT * FROM `ban` WHERE `player` ORDER BY `time`") str = "Players Banidos:\n\n" if ban:getID() == -1 then doShowTextDialog(cid, 1387, "Não existe nenhum player Banido") return true end while true do local name = ban:getDataInt("player") local time = ban:getDataInt("time") local ip = ban:getDataInt("ip") local player = getPlayerNameByGUID(name) local ip = doConvertIntegerToIp(ip) str = str .. player .. " - Banido por "..time.." dia(s) Ip "..ip.." \n\n" if not ban:next() then doShowTextDialog(cid, 1397, str) break end end end Agora vá em talkactions e crie um arquivo lua chamado de ban e coloque este codigo: function onSay(cid, words, param, channel) local t = string.explode(param, ",") if param == " " or param == "" or not param or isNumeric(param) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Coloque o nome do player dizendo /ban(nome do player,dias de ban,por que ele foi banido)") end if t[2] == " " or t[2] == "" or not t[2] then return doPlayerSendCancel(cid, "Coloque os dias de ban para o player dizendo /ban(nome do player,dias de ban,por que ele foi banido)") end if t[3] == " " or t[3] == "" or not t[3] then return doPlayerSendCancel(cid, "Coloque os comentarios do player dizendo /ban(nome do player,dias de ban,por que ele foi banido)") end local player = getPlayerByNameWildcard(t[1], false) if not player then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este player "..t[1].." não existe") end doPlayerBan(player, t[2], t[3]) doRemoveCreature(player) return true end Continue em talkactions e crie outra arquivo lua chamado de banidos: function onSay(cid, words, param, channel) if getPlayerGroupId(cid) >= 3 then return doShowTextBansForGroupUp(cid) end doShowTextBans(cid) return true end Coloque as seguintes tags em talkactions.xml: <talkaction log="yes" words="/ban" access="3" event="script" value="ban.lua"/> <talkaction log="yes" words="/banidos" event="script" value="banidos.lua"/> Agora vá em creaturescripts e crie um arquivo lua chamado de ban e coloque isto: function onLogin(cid) if getPlayerBan(cid) then doPlayerPopupFYI(cid, "Você esta banido") return addEvent(doRemoveCreature, 180, cid) end if getPlayerIpBan(cid) then doPlayerPopupFYI(cid, "Foi dectado um ip banido character banido") return addEvent(doRemoveCreature, 180, cid) end return true end Registre o evento em login.lua colocando isto antes do ultimo RETURN: registerCreatureEvent(cid, "ban") Terminado coloque esta tag em creaturescripts.xml: <event type="login" name="ban" event="script" value="ban.lua"/> Editado Dezembro 14, 2012 por caotic Link para o comentário https://xtibia.com/forum/topic/201427-banimento-system-beta/ Compartilhar em outros sites More sharing options...
manelkscouto 1 Postado Dezembro 14, 2012 Share Postado Dezembro 14, 2012 Parabens!!Mereçeu 1 Rep+ Link para o comentário https://xtibia.com/forum/topic/201427-banimento-system-beta/#findComment-1413036 Compartilhar em outros sites More sharing options...
Yan Oliveira 215 Postado Dezembro 14, 2012 Share Postado Dezembro 14, 2012 Parabens Caotic, sempre trazendo bons conteudos, Rep+. Link para o comentário https://xtibia.com/forum/topic/201427-banimento-system-beta/#findComment-1413052 Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Dezembro 14, 2012 Share Postado Dezembro 14, 2012 só está banindo jogadores online? Link para o comentário https://xtibia.com/forum/topic/201427-banimento-system-beta/#findComment-1413085 Compartilhar em outros sites More sharing options...
caotic 393 Postado Dezembro 15, 2012 Autor Share Postado Dezembro 15, 2012 só está banindo jogadores online? Sim. Ele ta bem limitadinho como eu disse. Pretendo fazer uma versão melhor Link para o comentário https://xtibia.com/forum/topic/201427-banimento-system-beta/#findComment-1413376 Compartilhar em outros sites More sharing options...
DinoAdmin 57 Postado Dezembro 15, 2012 Share Postado Dezembro 15, 2012 Caotic Parabens Pelo Sistema, Nao teria como voce Fazer um Na Versao 8.54? Grato desde Já! Link para o comentário https://xtibia.com/forum/topic/201427-banimento-system-beta/#findComment-1413378 Compartilhar em outros sites More sharing options...
AlexandreKG 134 Postado Dezembro 15, 2012 Share Postado Dezembro 15, 2012 Verdade,esta bem limitado.Porém importante este sistema. Se puder adaptar para 8.54,ficarei grato. Link para o comentário https://xtibia.com/forum/topic/201427-banimento-system-beta/#findComment-1413381 Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Dezembro 15, 2012 Share Postado Dezembro 15, 2012 pra que adaptar para versão 8.54? se nelas já existem o sistema de banimento... OMG Link para o comentário https://xtibia.com/forum/topic/201427-banimento-system-beta/#findComment-1413395 Compartilhar em outros sites More sharing options...
AlexandreKG 134 Postado Dezembro 15, 2012 Share Postado Dezembro 15, 2012 Mais,o sistema de 8.54,do meu nao é muito bom ... E esse ai para mim é tudo que preciso. Link para o comentário https://xtibia.com/forum/topic/201427-banimento-system-beta/#findComment-1413400 Compartilhar em outros sites More sharing options...
caotic 393 Postado Dezembro 15, 2012 Autor Share Postado Dezembro 15, 2012 Mais,o sistema de 8.54,do meu nao é muito bom ... E esse ai para mim é tudo que preciso. Sei la velho. Acho que vai funcionar 8.54. Tenta ai. Link para o comentário https://xtibia.com/forum/topic/201427-banimento-system-beta/#findComment-1413403 Compartilhar em outros sites More sharing options...
GodalonexD 4 Postado Dezembro 24, 2012 Share Postado Dezembro 24, 2012 deu esse erro ao executa a query #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"ban" ( "player" INT NOT NULL, "ip" INT NOT NULL, "time" INT NOT NULL )' at line 1 Link para o comentário https://xtibia.com/forum/topic/201427-banimento-system-beta/#findComment-1421384 Compartilhar em outros sites More sharing options...
caotic 393 Postado Dezembro 24, 2012 Autor Share Postado Dezembro 24, 2012 deu esse erro ao executa a query #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"ban" ( "player" INT NOT NULL, "ip" INT NOT NULL, "time" INT NOT NULL )' at line 1 Tenta criar a database manualmente então Chama ela de ban e coloque estas colunas: player / ip / time Link para o comentário https://xtibia.com/forum/topic/201427-banimento-system-beta/#findComment-1421563 Compartilhar em outros sites More sharing options...
GodalonexD 4 Postado Dezembro 30, 2012 Share Postado Dezembro 30, 2012 (editado) Fiz assim, nao sei se vai funcionar vou testar CREATE TABLE IF NOT EXISTS `ban` ( `player` int(10) NOT NULL, `ip` int(10) NOT NULL, `time` int(10) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; edit nao consegui nao... deu erro de todo jeito no distro.. alguem ajuda ae coloca a query no mysql Editado Dezembro 30, 2012 por TitanicoxD Link para o comentário https://xtibia.com/forum/topic/201427-banimento-system-beta/#findComment-1426286 Compartilhar em outros sites More sharing options...
kevin2010 6 Postado Janeiro 24, 2013 Share Postado Janeiro 24, 2013 mano to precisano de um desse sera que pega 8,6 ? Link para o comentário https://xtibia.com/forum/topic/201427-banimento-system-beta/#findComment-1448021 Compartilhar em outros sites More sharing options...
japinhafah 0 Postado Abril 6, 2013 Share Postado Abril 6, 2013 como adicionar ela em mysql alguem ajuda Link para o comentário https://xtibia.com/forum/topic/201427-banimento-system-beta/#findComment-1499375 Compartilhar em outros sites More sharing options...
Posts Recomendados