Ir para conteúdo

Radbr Banishment System [Atualizado]


LuckOake

Posts Recomendados

FAAALA GALERES :p

 

Eu (DE NOVO) trouxe pra vocês um sistema. MAAAS dessa vez, não é um sistema qualquer. Dessa vez é aquele tão cobiçado sistema de banimento do servidor RadBr!

 

O que é: É um sistema de banimento através de warnings setadas pelo GOD em um player, e outro player poderá desbanir este já banido por barras (Default ID: 9971), dependendo do número de warnings.

 

Script:

Atenção: Primeiro, execute esta query na sua database:

Sqlite:

CREATE TABLE "account_storage" (
"acc_id" INTEGER NOT NULL,
"key" INTEGER NOT NULL,
"value" VARCHAR(255) NOT NULL DEFAULT '0',
UNIQUE ("acc_id", "key"),
FOREIGN KEY ("acc_id") REFERENCES "accounts" ("id")
);

 

 

Mysql:

CREATE TABLE `account_storage`
(
`acc_id` INT NOT NULL DEFAULT 0,
`key` INT UNSIGNED NOT NULL DEFAULT 0,
`value` VARCHAR(255) NOT NULL DEFAULT '0',
KEY (`acc_id`), UNIQUE (`acc_id`, `key`),
FOREIGN KEY (`acc_id`) REFERENCES `accounts`(`id`) ON DELETE CASCADE
) ENGINE = InnoDB;

 

 

 

Scripts:

Em MOD:

 

 

Em Lua:

radbrban.lua:

 

 

 

radbrunban.lua:

 

 

 

Lib:

 

 

 

Tags:

<talkaction words="/ban" access="2" script="radbrban.lua"/>
<talkaction words="!unban" script="radbrunban.lua"/>

 

 

 

OBS: Se seu server for versão 8.7 pra cima, substitua essas linhas:

doAddAccountBanishment(getAccountIdByName(t[1]), target, os.time() + (a[tonumber(t[3])]*3600*24), 5, 2, t[2], 0)
------------------------------------------------------------------------------------------------------------------------------------------
doAddAccountBanishment(getAccountIdByName(t[1]), target, os.time() + (a[getWarnings(t[1])]*3600*24), 5, 2, t[2], 0)

 

Por essas:

 

doAddBanishment(getAccountIdByName(t[1]), os.time() + (a[tonumber(t[3])]*3600*24), 1, 2, t[2], 0)
------------------------------------------------------------------------------------------------------------------------------------------
doAddBanishment(getAccountIdByName(t[1]), os.time() + (a[getWarnings(t[1])]*3600*24), 1, 2, t[2], 0)

 

 

Configurando:

 

Únicas configurações são essas:

local barid = 9971 -- ID das barras para desbanir
--------------------------------------------------------------------------------
local a = { -- Número da warning = Número de barras necessárias
[1] = 20,
[2] = 40,
[3] = 60,
[4] = 90,
[5] = 120,
[6] = 150,
[7] = 250,
[8] = 350,
[9] = 500,
[10] = 750,
[11] = 999,
}

 

 

Imagens:

57034618.png

------------------------------------------------------------------------------------------------------

 

21086915.png

 

 

Uso:

/ban Nome,Motivo,Warnings*
!unban Nome

*OBS: Não é obrigatório especificar as warnings no comando /ban. Se não forem especificadas, serão adicionadas +1 warning automaticamente. (Exemplo: /ban Nome,Motivo)

 

Observações:

- Sou lindo, eu sei

 

Créditos:

- LuckOake (Pelo Sistema)

Editado por LuckOake
Link para o comentário
Compartilhar em outros sites

São talkactions. Joga na pasta talkactions e coloca as tags pra cada uma delas em talkactions.xml.

 

<talkaction words="/ban" access="2" script="radbrban.lua"/>
<talkaction words="!unban" script="radbrunban.lua"/>

Link para o comentário
Compartilhar em outros sites

mano testei no meu servidor 8.60 e funcionou perfeitamente ai fui testar no meu servidor verção 9.53 e o player so foi kickado e logou novamente como se nen tive-se sido banido. =( e não deu nenhum erro no console.

Link para o comentário
Compartilhar em outros sites

Substitui essa linha:

 

doAddAccountBanishment(getAccountIdByName(t[1]), target, os.time() + (a[tonumber(t[3])]*3600*24), 5, 2, t[2], 0)

 

Por essa:

 

doAddAccountBanishment(getAccountIdByName(t[1]), target, os.time() + (a[tonumber(t[3])]*3600*24), 1, 2, t[2], 0)

Link para o comentário
Compartilhar em outros sites

@Topic

 

Obrigado galera, tô fazendo o possível pra reanimar a seção de sistemas e mods :D

 

E aguardem, ainda vou postar mais sistemas quando eu terminá-los.

 

@Slicer

 

Eu peguei essa função de um script do Vodkart que também não declara o target, mas já que funciona do mesmo jeito, provável que não é necessário declará-lo.

Editado por LuckOake
Link para o comentário
Compartilhar em outros sites

@Luck

O script está do jeito certinho só que não está banindo. O player só kika ele. Estava vendo um tópico seu perguntando sobre a função tente substituir por essa:

doAddBanishment(accId[, length[, reason[, action[, comment[, admin]]]]])

Só não sei como configurar..

 

Até... assim que funcionar dou rep++!

Link para o comentário
Compartilhar em outros sites

lummos eu tbm acho que seja a funçao porque dps das verções 8.70 + varias funções foram modificadas =( pq como eu disse testei na verçao 8.60 e funcionou 100% mais meu servidor é 9.53 e lá apenas foi kickado o player

 

@ edit

 

Luck uma dudiva as warnings estão sendo contadas por account ou por player ? porque o certo é ser contada pela account.

Editado por KennyxD
Link para o comentário
Compartilhar em outros sites

Wait, as warnings são contadas por account? Nesse caso, vai precisar executar querys.

 

Sobre o problema de servidores 8.7 pra cima que não estão banindo, vou procurar saber e vou arrumar o mais rápido possível.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...