Perfect Reset System 1.0

LuckOake
em Actions e Talkactions

LuckOake

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 23/07/12Posts: 1104Gênero: MasculinoChar no Tibia: Luck Oake

Olá galera. Esses dias um amigo meu veio me pedir ajuda com o sistema de resets do server dele, que tava bugando toda hora e travando tudo. Ele me mandou o tópico do sistema de reset que ele usava, um tal de Advanced Reset System 2.0. Olhei o código com calma e vi que tinha umas coisas interessantes como stages, mas o script era uma redação de tão grande e tava lotado de coisa inútil e que poderia ser removida sem problemas. Resultado, fiquei incomodado com o tamanho do negócio e a quantidade de coisas sem sentido, então fiz um próprio que está sem bugs e que é três vezes menor que o outro e possui suporte à contagem de resets via database ou storage (obs: sei que storage também faz parte da database, mas você me entendeu).

 

O que é: Oras, é um sistema de reset, como já diz o nome. Ele reseta seu personagem para o level que você escolher.

 

Bônus: Como já dito, o script tem suporte à contagem de resets via database ou storage, ficando a seu critério escolher, e junto dele vem um pequeno script para o GOD poder adicionar resets em um character.

 

Script (reset.lua):

 

 

Tag (talkactions.xml):

<talkaction words="!reset;/addresets" script="reset.lua"/>

 

OBS: Lembre-se de colocar o nome do o arquivo.lua como reset.lua.

 

Configurando:

Antes de mais nada, execute essa query em sua database:

 

ALTER TABLE `players` ADD `resets` INT(11) NOT NULL DEFAULT 0

 

Depois, para configurar:

 

prem = false -- Premium Account necessária para resetar? (true / false)
pz = true -- É preciso estar em Protection Zone para resetar? (true / false)
white = false -- Players com White Skull podem resetar? (true / false)
red = false -- Players com Red Skull podem resetar? (true / false)
black = false  -- Players com Black Skull podem resetar? (true / false)
battle = false -- Players com battle podem resetar? (true / false)
teleport = true -- Teleportar o player para o templo após o reset? (true / false)
look = true -- Aparecer resets no look? (true / false)

level = 350 -- Level necessário para resetar
nlevel = 8 -- Level que o player ficará após o reset
time = 3 -- Tempo para o player deslogar ao resetar (segundos)
limite = 100 -- Limite de resets (Caso não queira limite, coloque false)

system = "storage" -- Modo do sistema (database / storage)
storage = 39650 -- Storage dos resets

group = 5 -- ID do Group que tem permissão para adicionar resets (6 = god, 5 = cm, 4 = gm, 3 = senior tutor, 2 = tutor)

 

Para configurar o modo da contagem de resets, edite essa linha:

 

system = "storage" -- Modo do sistema (database / storage)

 

 

Para usar o sistema, use os seguintes comandos:

!reset -- Para resetar
/addresets nome,quantidade -- Para o GOD adicionar resets em um character

 

Observações:

• NÃO USE O MODO "DATABASE" EM SQLITE

 

Créditos:

LuckOake -- Pelo script

 

Obrigado.

Yan Oliveira

Yan18
avatar
Moderador
Moderador

INFOS

Grupo: ModeradorRegistrado: 05/06/12Posts: 2221Gênero: Masculino

@LuckOake

 

 

Parabéns Luck realmente está bem pequeno comparando ao outro, está bem legal mesmo, rep+.

Slicer

Insanity
avatar
Príncipe
Príncipe

INFOS

Grupo: PríncipeRegistrado: 19/08/10Posts: 4014Gênero: Masculino

function getPlayerResets(tid)
	if system == "database" then
			local a = db.getResult("SELECT `resets` FROM `players` WHERE `id`= "..pid..";")
			b = a:getDataInt("resets", pid)
			return b
	elseif system == "storage" then
			return getPlayerStorageValue(tid, storage) < 0 and 0 or getPlayerStorageValue(tid, storage)
	else
			return print("Erro: Configuração da variável 'system' no sistema de resets incorreta.")
	end
end

ta errado n? era pra ser tudo tid n?

 

edit: na real.. da odne vem esse pid em todas as functions o.O

"Só a beira do abismo que os seres humanos acham forças para mudar."... E isso me da nojo... ¬¬

"Insanity is doing the exact... same fucking thing... over and over again expecting... shit to change... That. Is. Crazy." -Vass/Einstein

 

LuckOake

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 23/07/12Posts: 1104Gênero: MasculinoChar no Tibia: Luck Oake

function getPlayerResets(tid)
	if system == "database" then
			local a = db.getResult("SELECT `resets` FROM `players` WHERE `id`= "..pid..";")
			b = a:getDataInt("resets", pid)
			return b
	elseif system == "storage" then
			return getPlayerStorageValue(tid, storage) < 0 and 0 or getPlayerStorageValue(tid, storage)
	else
			return print("Erro: Configuração da variável 'system' no sistema de resets incorreta.")
	end
end

ta errado n? era pra ser tudo tid n?

 

edit: na real.. da odne vem esse pid em todas as functions o.O

 

Olhe no começo do script:

 

pid = getPlayerGUID(cid)

 

:D

Slicer

Insanity
avatar
Príncipe
Príncipe

INFOS

Grupo: PríncipeRegistrado: 19/08/10Posts: 4014Gênero: Masculino

kkk vo nem comenta.. my bad '--'

"Só a beira do abismo que os seres humanos acham forças para mudar."... E isso me da nojo... ¬¬

"Insanity is doing the exact... same fucking thing... over and over again expecting... shit to change... That. Is. Crazy." -Vass/Einstein

 

Superior

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 19/01/06Posts: 299Gênero: Masculino

Será que tem como fazer um rank resets ? estilo ao que ja vem no ot, exemplo : !rank Sword, ai no caso seria !rank reset ?

MaXwEllDeN

string.reverse("adiV a arohaD")
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 18/10/10Posts: 246Char no Tibia: Elite Pamcadaum

Não curto muito esse bang de reset, mas tá bacana ^^

Luck, toda vez que o player executar a talkaction a função vai ser criada novamente, wut, poe tudo fora do onSay pow.

 

JX7NRPEt[/pastebin]

eq9qh0.png

LuckOake

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 23/07/12Posts: 1104Gênero: MasculinoChar no Tibia: Luck Oake

Não curto muito esse bang de reset, mas tá bacana ^^

Luck, toda vez que o player executar a talkaction a função vai ser criada novamente, wut, poe tudo fora do onSay pow.

 

Eu tentei colocar fora do onSay, mas ai deu problema nas funções por causa do pid = getPlayerGUID(cid). But, anyway, deve ter sido bobeira minha. Vou arrumar.

MaXwEllDeN

string.reverse("adiV a arohaD")
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 18/10/10Posts: 246Char no Tibia: Elite Pamcadaum

Não curto muito esse bang de reset, mas tá bacana ^^

Luck, toda vez que o player executar a talkaction a função vai ser criada novamente, wut, poe tudo fora do onSay pow.

 

Eu tentei colocar fora do onSay, mas ai deu problema nas funções por causa do pid = getPlayerGUID(cid). But, anyway, deve ter sido bobeira minha. Vou arrumar.

 

É porque tipo, fora do onSay não existe cid, ai a função getPlayerGUID não conseguia encontrar a criatura, xD. Aí o cara deixa dentro do corpo principal só as variáveis que dependem do corpo principal {:

 

@Luck

Agora que eu me liguei, as funções que você criou dependem do pid, olha aqui uma modificação certa, a que te passei não vai funcionar.

 

XUBzXnbe[/pastebin]

eq9qh0.png

DavyziinC

Sou Pica néguim
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 07/02/12Posts: 207Char no Tibia: Não lembro :(

ta mais esse reset reseta tudo ate ml e skill?

e mostra quanto reset eu tive quando da look?

kaizy536

aprendiz
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 21/11/13Posts: 213

Se eu quiser esse sistema com stats para cada nivel de reset?

1544411_595466947189618_685582721_n.jpg

1528510_597717736964539_1727595702_n.jpg

curruwilliam

Só sei que nada sei.
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 24/07/09Posts: 356Gênero: Masculino

Tem como fazer o player volta com os hp e mana de level 8 ?

Versão 8.60

Obrigado ;) rep+

 

 

dalvorsn

õ/
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/12/11Posts: 750Gênero: Masculino

Sem querer desprezar, mas tem muito erro nesse script, nossa.

Tu usa variaveis que não existem no escopo, chama funções com parametro errado(faltando), não verifica coisas como "isCreature" e etc, sinceramente do jeito que ta no post eu acho que nem funcionar funciona

"A covardia coloca a questão: É seguro? O comodismo coloca a questão: É popular? A etiqueta coloca a questão: é elegante? Mas a consciência coloca a questão, É correto? E chega uma altura em que temos de tomar uma posição que não é segura, não é elegante, não é popular, mas o temos de fazer porque a nossa consciência nos diz que é essa a atitude correta."

(Martin Luther King)

logando1

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 20/11/11Posts: 9

porque aqui logo após usar o comando !reset, diz qu eu devo esperar 1000000000 segundos? sendo que no script está 3 segundos ?

#EDIT 1

-Esquece resolvido obrig. "era o exhaust"

raynerjr

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/06/15Posts: 69

Olá teria como fazer com que o player volta-se com o HP e MP de um level 8 ?

Pois quando reseta a MP e o HP continua lá em cima, eles poderia volta ao normal também?

TheraOT Global 8.60

tibia_-_Copia.jpg?1436375355

 

Site: http://theraot.servegame.com/

Ip: theraot.servegame.com