Jump to content

Olá Tibiano! Notamos que você está com um adblocker ligado... 

Nós promovemos servidores dentro da comunidade, para que eles tenham visibilidade.

Por favor, nos ajude a continuar promovendo esses servidores. Adicione nosso domínio na whitelist de seu adblocker, ok? :)

Ceetros

BUGS: Clonar item e "derrubar" servidores

Recommended Posts

Hoje eu percebi que muitas pessoas estão levando a melhor com bugs de otserver.

E eu vim aqui ensinar para vocês como fazer tais bugs, e para quem administra um servidor também saber como tal bug é feito e assim pensar em uma forma de fixar.

 

 

Bug de mochilas:

Please login or register to see this spoiler.

 

 

Bom, a minha ideia é mostrar como os bugs são feitos para os donos de servidores arrrumar.

Obrigado pela atenção!

Até a próxima.

Share this post


Link to post
Share on other sites

Show , realmente muitos servidores sofrem com esses BUGS! Inclusive no meu tinha o do NPC e o de clonar item na guild, mas felizmente concertei xD

Vale lembrar que muitos server também tem problema com o BOT, ao usar o Party em si mesmo o servidor crasha.

Share this post


Link to post
Share on other sites
Agora, Yan Liima disse:

Show , realmente muitos servidores sofrem com esses BUGS! Inclusive no meu tinha o do NPC e o de clonar item na guild, mas felizmente concertei xD

Vale lembrar que muitos server também tem problema com o BOT, ao usar o Party em si mesmo o servidor crasha.

Depois me manda os passos direito desse do BOT que eu coloco aqui :)

Share this post


Link to post
Share on other sites

A pouco tempo atrás tinha um cara me ameçando com esse bug de usar party em si mesmo mandando codigos invalidos para o Mysql, eu só descobri que se tratava de uma coisa besta em outro forum!

Share this post


Link to post
Share on other sites

Tem o bug da house também, que é:

Entra em uma house e dê o comando !invite, após abrir a aba de convidados, escreva:

*down

*down

*down

*down 

E salve, depois fique usando o comando "!invite" e dando ok, até chegar uma hora em que o servidor vai crashar, é bem usado também 

 

Share this post


Link to post
Share on other sites

Quanto bug do diabo e simples, tava pensando em todos esses casos quanto algum player fazer esses passos tá ban no ip.

Edited by nociam

Share this post


Link to post
Share on other sites

Solução pro bug da party:
Em game.cpp procure por:

Party* party = player->getParty();

E adicione acima: 

if (invitedPlayer == player)
        return false;

O crash acontece quando usam elfbot e dão party em si mesmo.
Créditos: Gesior.pl

EDIT:
Bug nas portas que empurram items (Geralmente são as que precisam de level pra entrar).
Abra a porta, coloque vários items na stack e saia. Quando a porta fechar, vai crashar o seu cliente e o de todos que estiverem perto(Na mesma tela). Não sei como fica o servidor, mas da forma que testei (Criei vários items estacáveis com o GOD >/i gold), ele não caiu, mas provavelmente dê lag.
EDIT 2:
Quando teve o clean, deu crash nos clientes que eu tinha aberto.
Solução:
Mudar a quantidade máxima de item por tile e/ou tirar a script de transformar gold. (Já que na maioria dos OTs é relativamente fácil fazer dinheiro, tirar esse script diminuirá a quantidade de lixo que um player pode produzir.)

 

EDIT3:
Sobre o bug das mochilas:
Script auxiliar(Se tiver pego o de antes desse edit, mude):
Vá em: ...\data\npc\lib\npcsystem procure por: -- Handles onBuy events. If you wish to handle this yourself, use the CALLBACK_ONBUY callback.
E substitua a função por essa:
 

function NpcHandler:onBuy(cid, itemid, subType, amount, ignoreCap, inBackpacks)

		local config = {
		sto = 11000, --storage
		tempo = 60, --tempo de cooldown para comprar novamente
		it = {2144, 2149}, --id dos itens
		total = 10 --total de itens que pode ser comprado por vez
		}
		
		if isInArray(config.it, itemid) and amount >= config.total then
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "nao pode comprar mais que "..config.total.." itens desse.")
			return false
		elseif getPlayerStorageValue(cid, config.sto) > os.time() and isInArray(config.it, itemid) and amount <= config.total then
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "espere "..(getPlayerStorageValue(cid, config.sto) - os.time()).." segundo(s) para comprar novamente.")
			return false
		elseif isInArray(config.it, itemid) and amount <= config.total then
			setPlayerStorageValue(cid, config.sto, os.time() + config.tempo)
		end
		
		local callback = self:getCallback(CALLBACK_ONBUY)
		if(callback == nil or callback(cid, itemid, subType, amount, ignoreCap, inBackpacks)) then
			if(self:processModuleCallback(CALLBACK_ONBUY, cid, itemid, subType, amount, ignoreCap, inBackpacks)) then
				--
			end
		end
	end

 

Edited by gabriel28

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...