Ir para conteúdo
  • Cadastre-se

Jail nao sai do player apos reiniciar/desligar OT


Posts Recomendados

Eh o seguinte... dou o comando /jail no player e ele vai pra cadeia... tudo certo... quando da hr dele sair, ele vai pro templo certinho... o problema eh se eu prender o player por exemplo 2 dias e em algum momento eu reiniciar o servidor... o player nao sai quando o tempo de cadeia dele acabar...

Gostaria que isso fosse checado quando o player logasse (login.lua) e que fosse registrado na Database do meu servidor Mysql quando ele for preso e quando tiver q sair...

uso xampp... Vlw....

Link para o post
Compartilhar em outros sites

Poste o script do seu sistema de Jail.

Não se esqueça de dar REP+ para quem te ajudou e caso seja a solução marcar como melhor resposta!

 

NÃO CLIQUE AQUI!

NEM AQUI!

________________________________________________________________________________________________________________________________________________________________________________________________________________________

 

A imaginação é mais importante que o conhecimento.” Albert Einstein

Link para o post
Compartilhar em outros sites
-- [( Edited by DoidinMapper )] --
default_jail = 43200 -- 12 Horas --
grouprequired = 3
jailedstoragevalue_time = 1338
jailedstoragevalue_bool = 1339
jailpos = { x = 32097, y = 31813, z =6 }
unjailpos = { x = 32360, y = 31782, z =7 }
jail_list = {}
jail_list_work = 0
function checkJailList(param)
addEvent(checkJailList, 1000, {})
for targetID,player in ipairs(jail_list) do
if isPlayer(player) == TRUE then
if getPlayerStorageValue(player, jailedstoragevalue_time) < os.time() then
doTeleportThing(player, unjailpos, TRUE)
setPlayerStorageValue(player, jailedstoragevalue_time, 0)
setPlayerStorageValue(player, jailedstoragevalue_bool, 0)
table.remove(jail_list,targetID)
doPlayerSendTextMessage(player,MESSAGE_STATUS_CONSOLE_ORANGE,'You were kicked from jail! See you later ')
end
else
table.remove(jail_list,targetID)
end
end
end
function onSay(cid, words, param)
if jail_list_work == 0 then
jail_list_work = addEvent(checkJailList, 1000, {})
end
if param == '' and (words == '!unjail' or words == '/unjail') then
if getPlayerStorageValue(cid, jailedstoragevalue_time) > os.time() then
doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'You are jailed until ' .. os.date("%H:%M:%S", getPlayerStorageValue(cid, jailedstoragevalue_time)) .. ' (now is: ' .. os.date("%H:%M:%S", os.time()) .. ').')
else
if getPlayerStorageValue(cid, jailedstoragevalue_bool) == 1 then
table.insert(jail_list,cid)
doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'You will be kicked from jail in one second.')
else
doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'You are not jailed.')
end
end
return TRUE
end
local jail_time = -1
for word in string.gmatch(tostring(param), "(%w+)") do
if tostring(tonumber(word)) == word then
jail_time = tonumber(word)
end
end
local isplayer = getPlayerByName(param)
if isPlayer(isplayer) ~= TRUE then
isplayer = getPlayerByName(string.sub(param, string.len(jail_time)+1))
if isPlayer(isplayer) ~= TRUE then
isplayer = getPlayerByName(string.sub(param, string.len(jail_time)+2))
if isPlayer(isplayer) ~= TRUE then
isplayer = getPlayerByName(string.sub(param, string.len(jail_time)+3))
end
end
end
if jail_time ~= -1 then
jail_time = jail_time * 60
else
jail_time = default_jail
end
if words == '!jail' or words == '/jail' then
if getPlayerGroupId ( cid ) >= grouprequired then
if isPlayer(isplayer) == TRUE then
doTeleportThing(isplayer, jailpos, TRUE)
setPlayerStorageValue(isplayer, jailedstoragevalue_time, os.time()+jail_time)
setPlayerStorageValue(isplayer, jailedstoragevalue_bool, 1)
table.insert(jail_list,isplayer)
doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'You jailed '.. getCreatureName(isplayer) ..' until ' .. os.date("%H:%M:%S", getPlayerStorageValue(isplayer, jailedstoragevalue_time)) .. ' (now is: ' .. os.date("%H:%M:%S", os.time()) .. ').')
doPlayerSendTextMessage ( isplayer, MESSAGE_INFO_DESCR, 'You have been jailed by '.. getCreatureName(cid) ..' until ' .. os.date("%H:%M:%S", getPlayerStorageValue(isplayer, jailedstoragevalue_time)) .. ' (now is: ' .. os.date("%H:%M:%S", os.time()) .. ').')
return TRUE
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Player with this name doesn\'t exist or is offline.")
return FALSE
end
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You don't have access to unjail other players.")
return FALSE
end
elseif words == '!unjail' or words == '/unjail' then
if getPlayerGroupId ( cid ) >= grouprequired then
if isPlayer(isplayer) == TRUE then
doTeleportThing(isplayer, unjailpos, TRUE)
setPlayerStorageValue(isplayer, jailedstoragevalue_time, 0)
setPlayerStorageValue(isplayer, jailedstoragevalue_bool, 0)
table.remove(jail_list,targetID)
doPlayerSendTextMessage(isplayer,MESSAGE_STATUS_CONSOLE_ORANGE,getCreatureName(cid) .. ' let you go out from jail! See you later')
doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'You unjailed '.. getCreatureName(isplayer) ..'.')
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Player with this name doesn\'t exist or is offline.")
return FALSE
end
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You don't have access to unjail other players.")
return FALSE
end
end
return FALSE
end 

Eh esse... jail.lua

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por luanluciano93
      Olá, esse tutorial é uma parte do tópico principal: "Tutorial completo de infraestrutura para montar um servidor TFS 1.x no Ubuntu 22.04" ... 

      Ele faz parte da 2º instalação da pilha LEMP no Ubuntu 22.04: a MariaDB.
       
      PASSO 1 - COMO INSTALAR O SERVIDOR DE BANCO DE DADOS MariaDB
       
      O MariaDB é um sistema de gerenciamento de banco de dados de código aberto, usado com frequência como uma alternativa ao MySQL. Ele é desenvolvido por ex-membros da equipe do MySQL que estão preocupados que o Oracle possa transformar o MySQL em um produto de código fechado.

      Digite o seguinte comando para instalar o MariaDB no Ubuntu 22.04, após iniciar, é necessário digitar Y para prosseguir ... 
      sudo apt install mariadb-server Depois de instalado, o servidor MariaDB deve ser automaticamente visualizado.
       
      Use o comando a seguir para verificar seu status: 
      sudo systemctl status mariadb Irá aparecer o seguinte resultado:

       
      Como vocês podem ver em verde: active (running), ou seja, está ativo e funcionando.
       
      Você pode também conferir a versão do MariaDB instalado com o comando: 
      mariadb --version Eu obtive como resposta em 05JUL22: mariadb Ver 15.1 Distrib 10.6.7-MariaDB
       
      PASSO 2 - CONFIGURANDO O MARIADB
       
      O próximo passo será executar o script de segurança incluído. Esse script modifica algumas das opções padrões menos seguras referentes, por exemplo, a logins root remotos e usuários de exemplo.
       
      Execute o script de segurança:
      sudo mysql_secure_installation Isso levará você a uma série de prompts onde é possível fazer algumas alterações nas opções de segurança de sua instalação do MariaDB.

      O primeiro prompt pedirá que digite a senha atual do root do banco de dados. Como ainda não configuramos uma senha, pressione ENTER para indicar “nenhuma”,

       
      Em seguida, o sistema irá perguntar se você quer usar o unix_socket, pois ele garante que ninguém possa fazer o login no usuário root do MARIADB sem a devida autorização. Digite que sim (Y)

      Ativar a autenticação unix_socket? [S/n]
       
      Em seguida, digite Y para definir a senha raiz do servidor MariaDB.


      ATENÇÃO: A SENHA QUE VOCÊ DEFINIR SERÁ A SENHA DO SERVIDOR SQL, ELA SERÁ USADA PARA CONEXÃO DO  SITE E DO SERVIDOR AO BANCO DE DADOS! GUARDE-A BEM!

      Em seguida, você pode pressionar ENTER (com ENTER é escolhido a resposta padrão, que sempre é mostrada em maiúsculo. Nesse caso será o Y) para responder a todas as perguntas restantes:


      - Remover usuários anônimos? [Sim/n]
      - Não permitir login root remotamente? [Sim/n]
      - Remover banco de dados de teste e acesso a ele? [Sim/n]
      - Recarregar as tabelas de privilégios garantirá que todas as alterações feitas até agora entrará em vigor imediatamente. Recarregar tabelas de privilégios agora?  [Sim/n]

      Esta etapa é um requisito básico para a segurança do banco de dados MariaDB.
       
      A princípio é isso!
       
      Siga as atualizações no tópico principal: "Tutorial completo de infraestrutura para montar um servidor TFS 1.x no Ubuntu 22.04" ... 
       
       
      Fontes:
      - https://conectandonet.com.br/blog/como-instalar-a-pilha-lemp-no-ubuntu-20-04-server-desktop/
      - https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-ubuntu-20-04-pt
       
       
       
       
       
       
    • Por L3K0T
      Olá galera, hoje vim trazer para vocês alguns comandos uteis, pra serem executados no seu banco de dados "Mysql" lá aonde guarda todas as informações do jogo. *"execute o comando, mais antes faça o backup da sua Data Base e lembrando faça isso com o servidor desligado"
       
       
      1° UPDATE `accounts` SET premdays = 0, lastday = 0; - Remove todos os dias VIP ou P.A de todos os players. .
      UPDATE `accounts` SET premdays = 0, lastday = 0;  
      2° UPDATE `accounts` SET `premdays` = `premdays` + 7; - Adiciona +7 dias de VIP ou P.A para todos os players.
      UPDATE `accounts` SET `premdays` = `premdays` + 7;  
      3° UPDATE `players` SET `posx` = 111, `posy` = 222, `posz` = 7; - Manda todos mundo para certa posição do mapa.
      UPDATE `players` SET `posx` = 111, `posy` = 222, `posz` = 7;  
      4° UPDATE `players` SET `blessings` = 0; - Limpa todas as bless de todos os players e se no lugar do 0 você por 31 você adiciona todas as bless;
      UPDATE `players` SET `blessings` = 0;  
      5° DELETE FROM `player_deaths`, `killers`, `player_killers`, `environment_killers`; - Limpa todo o histórico de morte dos players.
      DELETE FROM `player_deaths`, `killers`, `player_killers`, `environment_killers`;  
      6° DELETE FROM `players` WHERE `level` < 50 AND `lastlogin` < UNIX_TIMESTAMP() - 20 * 24 * 60 * 60  - Deleta players que não loga em 20 dias e que são levels -50
      DELETE FROM `players` WHERE `level` < 50 AND `lastlogin` < UNIX_TIMESTAMP() - 20 * 24 * 60 * 60    
      7° UPDATE `players` SET `world_id` = 0; - altera o mundo de todos os players, que é configurado no config.lua do seu servidor, pode 1, 2, 3 etc..
      UPDATE `players` SET `world_id` = 0;  
      8° UPDATE `players` SET `promotion` = 1; - da promotion da vocação para todos os players quando VIP.
      UPDATE `players` SET `promotion` = 1;  
      9° UPDATE `accounts` SET `premiun_points` = `premium_points` +30; - adiciona 30 Premium Points para todos os players.
      UPDATE `accounts` SET `premiun_points` = `premium_points` +30;  
       
      é isso galera, durante os meses eu irei atualizar esse tópico, um multissímo obrigado.
       

    • Por Fir3element
      Reporte qualquer bug encontrado.
       
      - Mudanças:
      * opcode adicionado
      * Monstros andando em cima de corpos
      * War system arrumado
      * Anti-divulgação melhorado
      * Cast system arrumado
      * Crash bugs arrumados
      * Adicionado exhaust ao comprar/vender items
      * Account manager com opção para cidades
      * /ghost stacking arrumado
      * !disband arrumado
      * Erros no linux arrumado
      * Aleta som arrumado
      * Bug nos rings arrumado
      * Adicionado suporte para Visual Studio
      * Remover battle ao entrar em PZ
      * Não pode jogar lixo em casas
      * Salt removido
       
      - Downloads:
      * Distro (x32): https://github.com/Fir3element/binaries/raw/master/x32-windows.zip
      * Distro (x64): https://github.com/Fir3element/binaries/raw/master/x64-windows.zip
      * Requisitos: Microsoft Visual C++ Redistributable Package
      * Source + datapack: https://github.com/Fir3element/3777/archive/refs/heads/main.zip
       
      - Scans:
      * Distro (x32): https://virustotal.com/pt/file/6683a91273b848a39ac21288da9d3abde341436744d6846e35a477c8e7c8f5f7/analysis/1480675335/
      * Distro (x64): https://virustotal.com/pt/file/21028857bb1124f19e0353e7f5775c8f66afc4f87f29df9cf4ab8ca1a046b816/analysis/1480675394/
      * Source + datapack: https://virustotal.com/pt/file/3761b48ee19f3f540d4c4a48c35c73c89a85615876307073494b1dcfed464d36/analysis/1480675473/
    • Por Nightz
      O OT Server Ready (OSR) é um software básico que desenvolvi juntamente com o apoio da 4YouStart feito para auxiliar aqueles que tem mais dificuldade com a parte de infraestrutura.
       
      Veja funcionando:
       
       
      Avisos:
      O software está em BETA. Em caso de qualquer problema envie uma resposta nesse post. Quero lembrar que qualquer cópia dessa postagem sem a devida autorização não é permitida.  
      O OSR instala e configura os seguintes softwares/bibliotecas (visão geral):
       
      - Apache2 - php5 - MySQL 5.5 - phpmyadmin - Todas bibliotecas para compilar/rodar um OT Server O sistema suporta os seguintes sistemas operacionais:
      Debian 7.x Ubuntu 12.x Ubuntu 14.x Para instalar o OT Server Ready, utilize as seguintes instruções:
      Lembrete: utilize-o apenas em um servidor novo, recém formatado.
       
      Para instalar no Debian:
      apt-get update apt-get install -y gcc wget http://scripts.4youstart.com/ot-server-ready-debian chmod 777 ot-server-ready-debian ./ot-server-ready-debian SENHA Para instalar no Ubuntu:
      apt-get update apt-get install -y gcc wget http://scripts.4youstart.com/ot-server-ready-ubuntu chmod 777 ot-server-ready-ubuntu ./ot-server-ready-ubuntu SENHA Substitua a palavra "SENHA" na última linha da instalação pela senha que deseja utilizar no phpmyadmin e MySQL. Recomenda-se que utilize a mesma senha do que a senha do servidor, mas pode utilizar qualquer uma.
       
      Versão atual do Software:
      v0.2 [23/11/2015] Lista de bibliotecas instaladas:
      v0.1: apache2 php5 libapache2-mod-php5 php5-mcrypt mysql-client-5.5 mysql-server-5.5 mysql-common libboost-all-dev libgmp3-dev liblua5.1-0 liblua5.1-0-dev liblua50 liblua50-dev liblualib50 liblualib50-dev lua50 lua5.1 libsqlite0-dev libsqlite3-dev sqlite3 libmysql++-dev libmysqlclient-dev libxml2-dev libxml++2.6-dev cpp gcc g++ make automake autoconf pkg-config subversion liblua5.1-sql-mysql-dev liblua5.1-sql-sqlite3-dev zlib1g-dev zlib1g libcrypto++-dev libcrypto++ libcurl4-openssl-dev phpmyadmin v0.2: zip unzip build-essential libboost-dev libwww-perl ccache libboost-filesystem-dev libboost-regex-dev libboost-system-dev libboost-thread-dev libssl-dev   Façam bom proveito

      Foi anexado ao post o script para ubuntu
      ot-server-ready-ubuntu
    • Por Fakeownerz
      Olá!
      Primeiramente peço desculpas pelo que vão ler, pois não entendo muito do assunto (por isso vim fazer o tópico '-')
       
      Vamos lá.
       
      Ao tentar abrir o servidor , me deparo com o seguinte erro:
       
       
      Meu config.lua está assim:
       
       
      Gostaria de saber como arrumar (só para abrir em meu pc , pra dar uma olhada pra arrumar algums bugs...) ou até mesmo só passar pra sqlite (que eu acho bem mais simples e tenho o mínimo de noção... Agradeço a atenção e peço desculpas novamente pela ignorância sobre o assunto caso seja algo extremamente simples.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo