Ir para conteúdo
Entre para seguir isso  
Mock

Grafico de hunt do seu server!

Recommended Posts

Mock    32
Mock

Autor:bearpaw.png

Servidor testado: TFS 0.3.x+/Matriz(svn)

Versao: 3.0

Requer: GD lib http://lua-gd.luaforge.net/[/url]

 

 

Ha um tempo ai atraz eu estava vendendo esse serviço, porem decidi postar ele nao valia a pena mesmo, Bem esse script vc instala uma creaturescript e dexa ela rodando por uma semana 3 dias etc e vc fala a talkaction, ai ela vai travar seu server por ums 3~6 segundos e vai criar uma foto quando vc abrir vai ver os locais mais caçados do seu server :coolface:

 

É VERDADE! NAO E MENTIRA VEJA A FOTO!

oute.png

 

Okay vc nao entendeu, essa foto tem 1024x1024 pixels, cada pixel é 1 sqm do mapa. Cada monstro que vc mata o pixel clareia 1 pouco, quanto mais claro + monstros e no canto > \/ da tela vc ve a escala, azul bem escuro poucos monstros, branco MUITOS monstros. Em fim vamos instalar isso!!!

Ja que vc ja possue a otal v1.2 no final do topico tem os anexos dos arquivos .luai para instalar automaticamente, mais primeiro vamos da forma antiga ;D

 

Primeiro va até creaturescripts.xml e adcione essa tag:

<event type="kill" name="kill" event="script" value="graficos.lua"/>

Otimo, feito isso va em login.lua e adcione essa linha antes do utimo end e antes do return TRUE

-- Essa parte tem que fazer mesmo com a instalação automatica

registerCreatureEvent(cid, "kill")

agora ainda em creaturescripts e mscripts crie o arquivo graficos.lua

function onKill(cid, target)
        if isMonster(cid) == TRUE then
           local pa = getCreaturePosition(cid)
           local file = io.open('posi.txt', "a+")
           if file then
              file:write(pa.x..","..pa.y..">")
              file:close()
           end
        end
return TRUE
end

Vou explicar agora, toda vez que um monstro morrer a posição onde ele morreu será salva no arquivo posi.txt, deixe isso rodar por uma semana, ele vai ficar bem grandinho sim, depois vc executa o segundo script que é uma talkaction e ele ira ler este arquivo. Caso queria limpar os dados basta deletar o arquivo que ele começa do 0 ;D

Bem agora vá em talkactions.xml e adcione essa tag

<talkaction log="yes" words="!grafico" access="5" event="script" value="grafico.lua"/>

Crie grafico.lua em talkactions e coloque isso dentro: (nao esqueça de configurar no começo)

function onSay(cid, words, param)
   local q = os.clock()
   doPlayerSendTextMessage(cid, 25, 'Started in: '..(os.clock()-q)..'.')
-- Multipiler, 10 to small server 5~2 to big server
local multipliler = 10
local mapx = 1024 -- Tamanho do mapa (x)
local mapy = 1024 -- Tamanho do mapa (y)
---Creating photo
local im = assert(gd.createTrueColor(mapx, mapy),'could not create photo!')
if multipliler > 10 then multipliler = 10 end
local imgn = math.floor(0xff/multipliler)
local colors = {
[0] = im:colorAllocate(0,multipliler,multipliler),
}
-- Set all colors
for e=1,imgn do
	if e ~= imgn then
	   colors[im:colorAllocate(0,multipliler*e,multipliler*e)] = im:colorAllocate(0,multipliler*e+multipliler,multipliler*e+multipliler)
	else
		colors[im:colorAllocate(0,multipliler*e,multipliler*e)] = im:colorAllocate(0xff,0,0)
		for kd=0,imgn do
		   if kd ~= imgn then
			  colors[im:colorAllocate(0xff,kd*multipliler,0)] = im:colorAllocate(0xff,multipliler*kd+multipliler,0)
		   else
			  colors[im:colorAllocate(0xff,kd*multipliler,0)] = im:colorAllocate(0xff,0xff,0)
			  for kk=0,imgn do
				 colors[im:colorAllocate(0xff,0xff,kk*multipliler)] = im:colorAllocate(0xff,0xff,multipliler*kk+multipliler)
			  end
		   end
		end
	end
end
doPlayerSendTextMessage(cid, 25, 'Colors loaded in: '..(os.clock()-q)..'.')
--- Load file with pos
local file = io.open('posi.txt', "r")
local str = file:read(-1)
doPlayerSendTextMessage(cid, 25, 'File loaded: '..(os.clock()-q)..'.')
local nw = string.explode(str,">")
for w=1,#nw do
local str2 = string.explode(nw[w],',')
	 if str2 ~= nil and str2[1] ~= nil and str2[2] ~= nil then
		local n1 = tonumber(str2[1])
		local n2 = tonumber(str2[2])
		if n1 ~= nil and n2 ~= nil then
		   c = im:getPixel(n1, n2)
		   if colors[c] ~= nil then
			  im:setPixel(n1, n2,colors[c])
		   end
		end
	 end
end
doPlayerSendTextMessage(cid, 25, 'Colors set in: '..(os.clock()-q)..'.')
-- Get colos table n
na = -1
for i,b in pairs(colors) do
	na = na+1
end
--- Scale
for e=0,na do
	for x=(mapx-5),mapx do
		for y=(mapy-(na-e)),mapy do
		   c = im:getPixel(x, y)
		   if colors[c] ~= nil then
			  im:setPixel(x, y,colors[c])
		   end
		end
	end
end
--- Set photo
im:png("oute.png")
doPlayerSendTextMessage(cid, 25, 'Finished in: '..(os.clock()-q)..' seconds. Open file oute.png')
return TRUE
end

Pronto! esta terminado ;D!

Aconselho vc dexa o povo caça um pouco ou ficar fazendo umas raids para ver o script ;D

Basta vc matar ums bixos em qse no mesmo lugar e depois fale !grafico e abra a foto! aconselho visualizar no paint ^^

 

Quaisquer bugs me avise!

 

Junto do anexo contem um posi.txt que foi usado para faser essa foto do topico, se quiserp ode usa-lo para testar.

Editado por Mock

Compartilhar este post


Link para o post
Jovial    2
Jovial

Wonderfull!! :X

 

Parabens pequeno lobizomem urso!:whistle: Ficou muito fera! Já vi algo parecido para exibir os players... mas esse seu ficou muitooo mais foda :X

 

Abraço!

Compartilhar este post


Link para o post
Fighters    3
Fighters

NegosustO.png

 

Foda mock, adorei, muito criativo, vou usar ^^, depois da pra fazer uma manha nos editores de imagem, tirar o fundo preto e colocar ss do mapa, e ver melhor D:

Compartilhar este post


Link para o post
Mock    32
Mock

@Fighters

sim da pra fazer isso facilmente³

Compartilhar este post


Link para o post
Iago Felipe    5
Iago Felipe

Huum, legal velho gostei, mais a cave de rotworm vai ser a mais clara (brinks oawie), talvês eu use se eu precisar saber os truques dos cara oiaweioaew.

Compartilhar este post


Link para o post
MatheusBB    0
MatheusBB

mock você não é um ser humano normal

Compartilhar este post


Link para o post
Mock    32
Mock

@MatheusBB

sim eu sou um urso cara ¬¬'

Compartilhar este post


Link para o post
Kydrai    0
Kydrai

Eu tava querendo saber um exemplo da luaGD que vc colocou no otal.

Muito bom, achei bem interessante.

Compartilhar este post


Link para o post
Skenny    0
Skenny

Perfeito cara, muito bom :)

Compartilhar este post


Link para o post
Raphael Carnaúba    1
Raphael Carnaúba

Cara, cade a foto? não apareçe aqi o.o

 

btw, belo script.

Compartilhar este post


Link para o post
GDLib    2
GDLib

Finalmente depois de tempos, um ótimo script.

Meus parabéns.

Compartilhar este post


Link para o post
bomba    0
bomba

Ele mostra a foto de todos os "andares" do mapa ou apenas o "andar" 7?

Compartilhar este post


Link para o post
Mock    32
Mock

@bomba

todos os andares em um só.

Compartilhar este post


Link para o post
Holy Guardian    0
Holy Guardian

mas e aqueles ots zuados em que vc entra em um teleport e quando vai ver é uma hunt minuscula com 500criaturas em 1 sqm...

e com exp 999 um cara vai e mata em um hit

o mapa todo vai ficar branco =s

e uma coisa:

não mostra os players q morrem ñ né? ou mostra?

Compartilhar este post


Link para o post
subdark    0
subdark

Nossa, muito bom Mock gostei, vlws ae :yes:

Compartilhar este post


Link para o post
god guizao    0
god guizao

Muito bom esse script :P

Compartilhar este post


Link para o post
Le588    0
Le588

Cara, instalei automaticamente e depois adicionei aquilo la no login.lua

Entrei no GOD, e fiquei sumonando e matando vários demons, depois dei o comando !grafico, mas nada aparece e nem da nenhum erro.

Notei que o arquivo.txt com as posições dos monstros não ta na pasta do meu OT o.O

Tem que criar ele? E onde é para ele estar?

 

Uso TFS 0.3.1

Compartilhar este post


Link para o post
Dann Hell    0
Dann Hell

pronto Mock, Falta vc lançar uma versao do Tibia de 3d gaora :)

 

 

Bricadeira... huahuauhauh Muito bom man, muito mesmo!

Compartilhar este post


Link para o post
MatheusGrilo    0
MatheusGrilo

Nossa mto fera vou colocar depois para ver como fica ^^

Compartilhar este post


Link para o post
eletroboy97    0
eletroboy97

bom... eu instalei a lid e tava dando aqueles mesmos erros de dll, até ai tudo bem...

o problema é que ao instalar um luai, ele altera a tag de inicio dos arquivos...

tipo de <creaturescripts> altera pra <actions>

de talkactions para actions e assim por diante, pelo menos aconteceu isso com os 2 arquivos que vc postou sobre o sistema de grafico de hunt, além disso não criou nenhum arquivo txt e menos ainda o grafico, isso tem a ver com a libgd2.dll???

Editado por eletroboy97

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×