Ir para conteúdo

Perfect Reset System 1.0


LuckOake

Posts Recomendados

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.

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

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

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

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

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

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]

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

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.

Link para o comentário
Compartilhar em outros sites

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]

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

  • 6 months later...
  • 8 months later...
  • 2 weeks later...

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

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

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"

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

  • 1 year later...

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?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...