Ir para conteúdo
  • 0

Script Ban


KUNGLOW

Pergunta

Preciso de um script de banir o player diferente.

 

Ao tutor/gm/god sei lá usar o comando /ban ele terá as seguintes opções:

 

1 (WARNING) 1 semana 20 barras

2 (WARNING) 2 semanas 40 barras

3 (WARNING) 1 mês 60 barras

4 (WARNING) 2 meses 90 barras

5 (WARNING) Permanente 120 barras

6 (WARNING) Permanente 150 barras

7 (WARNING) Permanente 250 barras

8 (WARNING) Permanente 350 barras

9 (WARNING) Permanente 500 barras

10 (WARNING) Permanente 750 barras

11+ (WARNING) Permanente 999 barras

 

 

Vendo pela tabela fica claro que:

1 warning = 1 semana e assim sucessivamente

Após a 5° warning o ban tem que ficar permanente.

 

Para banir o player o membro da staff usará o comando:

/ban Nome do player, Quantidade de Warnings, Motivo

 

Se caso o player for ser deletado:

/deletar Nome do Player, Motivo

 

@Edit

Outro detalhe:

O membro da equipe que usar ele pode escolher em:

/ban Juca, Ofensa > ai NÃO manda uma broad só bani.

Ou

/ban juca, Ofensa, 1(quantidade de warnings)

 

Ao plyaer ser Banido aparece uma broad Cast com a seguinte MSG:

 

14:13 Jogador Joao banido por Administrador. Warnings setadas de 0 para 1. Comentário: Uso de cheater.

 

Para o jogador ser desbanido terá o comando

/desban Nome do Player

Ai cada quantidade de barras que está ali será 1 item 9971 que será removido exemplo:

 

Se ele for banido por uma semana, usará o comando /desban Joao ai o sistema remove 20 barras do player e desbani o char.

 

Por Favor me ajudem e urgente!!

 

Abraços,

 

Stevan

 

 

@Edit estava vendo aqui a lsita de funções 9.6

 

Alguma dessas funções podem ser adicionadas para que o script funcione?

 

 

//isIpBanished(ip[, mask])

//isPlayerBanished(name/guid, type)

//isAccountBanished(accountId[, playerId])

//doAddIpBanishment(...)

//doAddPlayerBanishment(...)

//doAddAccountBanishment(...)

//doAddAccountWarnings(...)

//doAddNotation(...)

//doRemoveIpBanishment(ip[, mask])

//doRemovePlayerBanishment(name/guid, type)

//doRemoveAccountBanishment(accountId[, playerId])

//doRemoveAccountWarnings(accountId[, warnings])

//doRemoveNotations(accountId[, playerId])

//getAccountWarnings(accountId)

//getNotationsCount(accountId[, playerId])

//getBanData(value[, type[, param]])

//getBanList(type[, value[, param]])

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

  • Respostas 46
  • Created
  • Última resposta

Top Posters For This Question

Posts Recomendados

  • 0

Eu fiz so o ban porque se for remover o ban e remover as barra o player não vai tar on tem que ser por db

 

Pode remover o item pela db?

 

 

Acho que deveria ser feito todo pela db mais enfim testa ae teste primeiro:

e so dizer /ban player_name, warn(o warning), motivo

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

  • 0

@Heberpcl 1° Aviso verbal

Este seu Comentário é considerado Flood Amigo, por favor apenas poste coisas que sejam necessárias para o andamento do Tópico.

 

Mais atenção próxima vez pode ser alertado em 10%,

por favor leia nossas regras.

Link para o comentário
Compartilhar em outros sites

  • 0

Caotic, irei testar e posto aqui.

 

data/talkactions/scripts/ban.lua:33: attempt to perfoirm arthmetic on global ' dias' <a nil value>

stack traceback:

data/talkactions/scripts/ban.lua:33: in function

 

Me ajuda ae man ta dando esse erro

Link para o comentário
Compartilhar em outros sites

  • 0

tenta assim kunglow

 

local ban = {
[1] = {days = 7, barra = 20},
[2] = {days = 14, barra = 40},
[3] = {days = 30, barra = 60},
[4] = {days = 60, barra = 90},
[5] = {days = 90, barra = 120}

}
local default_comment = ""
function onSay(cid, words, param)
local parametres = string.explode(param,",")
if(parametres[1] ~= nil) then
local accId = getAccountIdByName(parametres[1])
if(accId > 0) then
local lenght = default_lenght
local comment = default_comment
local warn = parametres[2]
if (warn ~= nil and ban[warn]) then
local warn = parametres[2]
local dias = ban[warn].days
local barr = ban[warn].barra
end
if(parametres[3] ~= nil) then
comment = parametres[3]
end
local player = getPlayerByNameWildcard(parametres[1])
local name = getPlayerName(player)
if getPlayerStorageValue(player, 62224) > 4 then
doAddBanishment(accId, dias *36000000*24,23,ACTION_BANISHMENT,comment,getPlayerGUID(cid), comment)
doBroadcastMessage(""..name.." foi banido com tempo indefinido",22)
return false
end
doAddBanishment(accId, dias*3600*24,23, ACTION_BANISHMENT, comment, getPlayerGUID(cid), comment)
setPlayerStorageValue(player, 62224, getPlayerStorageValue(player, 62224)+warn)
setPlayerStorageValue(player, 62244, barr)
doBroadcastMessage(""..name.." foi banido com "..warn.." warnings esta devendo "..barr.." barras ao otserv",22)
if(isPlayer(player)== TRUE) then
doRemoveCreature(player)
end
else
doPlayerSendCancel(cid, "Player with name " .. parametres[1] .. " doesn't exist.")
end
else
doPlayerSendCancel(cid, "You must enter name.")
end
return true
end

Link para o comentário
Compartilhar em outros sites

  • 0

Caotic, está dando erro na linha 33.

data/talkactions/scripts/ban.lua:33: attempt to perform arithmetic on global 'dias' <a nil value:

stack traceback:

data/talkactions/scripts/ban.lua:33: in function <data/talkactions/scripts/ban.lua:10>

 

@eDIT

 

Outro erro?

[ERROR - TALKACTIONS INTERFACE]

data/talk/scripts/ban.lua?onSay

data/talk/script/ban.lua:28: attempt to compare number with boolean

data/talk/script/ban.lua:28 in funcion to <data/talk/scripts/ban.lua:10:>

 

Agora o erro e que o player n'ao est[a sendo banido.

 

Alguém pode me ajudar? O player agora nãop está sendo banido =/

 

#Up alguém pode olhar pra mim?

 

#Up alguém pode olhar pra mim?

 

#up

 

#up

 

#Up pelo amor de Deus olhem pra mim

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

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...