Tutorial - como fazer mapas auto/manualmente actualizaveis

DeletedUser

Guest
Este tutorial foi feito para windows
(a equipa do tribos não se responsabiliza pelos ficheiros / conteúdos dos comandos aqui utilizados e eventuais danos)



1º Parte - Preparaçao

-Ficheiros necessários
MapMaker 4.1 beta
http://map.k-io.com/download/map.4.1.beta.zip
curl.exe
http://www.paehl.com/open_source/?download=curl_731_0.zip
gzip.exe
http://www.gzip.org/gzip124xN.zip

Por alguma razão tive que ir buscar os ficheiros curl.exe e gzip.exe, para conseguir fazer o download e extracção dos ficheiros de dados nos servidores pt... no servidor do .net não houve problemas

-Extrair tudo para a mesma directoria\pasta
vamos partir do principio que instalaram no disco C:\
ficando a directoria da pasta com este caminho

por exemplo: C:\map

deszipar.jpg



registem-se e instalem a dropbox no vosso pc
https://www.dropbox.com/install2
-instalem onde quiserem
image.png

-activem a pasta publica e definam a localização da pasta publica na vossa maquina local




Na pasta onde extrairam o ficheiro mapmaker, terão que editar o ficheiro makemap.bat, abram esse ficheiro com o notepad

- abrir ficheiro makemap.bat
-Explicaçao dos comandos

@echo off

set /p WORLD="World number (e.g., 12 or 36): "
Pede a introdução do mundo por parte do utilizador

set /p NEW="Download new data or work with old data? (old/new): "
pergunta se vai trabalhar com novos dados ou antigos, se escolher novos irá ser feito o download dos dados

set SERVER=en%WORLD%.tribalwars.net
estabelece o endereço do server de onde serão sacados os novos ficheiros

IF NOT EXIST %WORLD% (
md %WORLD%
Condição: se não existir uma pasta para esse mundo, será criado uma nova pasta


)

cd %WORLD%
muda para a directoria da pasta, do mundo em questão
IF NOT EXIST colors.txt (
se não existir um ficheiro personalizado pelo utilizador para as cores das tribos, será copiado um original para a directoria
copy ..\examples\colors.txt .
echo Copied over colors.txt since you didn't have one...
é mostrada uma mensagem de copia efectuada
)

..\map.exe -w %WORLD% -s %SERVER% -%NEW% -tp 1000000 -pp 1000000 -z 00 99 -f1 ..\fonts\arialbd.ttf -f2 ..\fonts\ariblk.ttf
executa o executável maps.exe e aplica os argumentos de personalização do mapa


-tp pontuaçao minima da tribo
-pp pontuaçao minima do jogador
-z delimita a area do mapa a aparecer, do K 00 ao k 99
-f1 ficheiro fonte a ser aplicado ao texto a barra da esquerda
-f2 ficheiro fonte a ser aplicado ao texto ao rodape e nome das tribos nos continentes



echo.


echo Job Finished...

echo.

pause
pausa o script
 
Última edição por um moderador:

DeletedUser

Guest
Este tutorial foi feito para windows
(a equipa do tribos não se responsabiliza pelos ficheiros / conteúdos dos comandos aqui utilizados e eventuais danos)


2º Parte - Edição do ficheiro makemap.bat- Modo Manual

vou tomar como exemplo o mundo 32 do servidor pt


ficheiro makemap.bat alterado para esse propósito

PHP:
@echo off

set /p WORLD="World number (e.g., 12 or 36): "

set /p NEW="Download new data or work with old data? (old/new): "

set SERVER=pt%WORLD%.tribalwars.com.pt

IF NOT EXIST %WORLD% ( 
  md %WORLD%

)

cd %WORLD%
IF NOT EXIST colors.txt (

  copy ..\examples\colors.txt .
  echo Copied over colors.txt since you didn't have one...
)


if /i "%NEW%"=="new" (

  echo Downloading village.txt...
  ..\curl.exe -s -O "http://%SERVER%/map/village.txt.gz"
  ..\gzip.exe -fd village.txt.gz

  echo Downloading tribe.txt...
  ..\curl.exe -s -O "http://%SERVER%/map/tribe.txt.gz"
  ..\gzip.exe -fd tribe.txt.gz

  echo Downloading ally.txt...
  ..\curl.exe -s -O "http://%SERVER%/map/ally.txt.gz"
  ..\gzip.exe -fd ally.txt.gz

  echo Downloading conquer.txt...
  ..\curl.exe -s -O "http://%SERVER%/map/conquer.txt.gz"
  ..\gzip.exe -fd conquer.txt.gz

  echo Downloading kill_att.txt...
  ..\curl.exe -s -O "http://%SERVER%/map/kill_att.txt.gz"
  ..\gzip.exe -fd kill_att.txt.gz
)


..\map.exe -w %WORLD% -s %SERVER% -%NEW% -tp 15000 -pp 600 -z 22 77 -vs 4 -f1 ..\fonts\arialbd.ttf -f2 ..\fonts\ariblk.ttf


echo.

echo Job Finished...

echo.

pause

Depois de executado, verá na directoria c:\map foi criada uma pasta com o nome 32, e lá foram colocados as imagens e os ficheiros de dados, para poderes continuar a trabalhar nos mapas sem teres que fazer o download deles utra vez

image.png


O que foi alterado e o que teras que escrever quando correres o batch

antes de correr o ficheiro makemap.bat tens k editar o servidor(a vermelho , o que foi alterado)
original
set SERVER=en%WORLD%.tribalwars.net

para o pt32
set SERVER=pt%WORLD%.tribalwars.com.pt

-ao correr o ficheiro makemap, vai-te ser pedido para introduzir o numero do mundo, escreve:
32
-vai-te ser perguntado se queres fazer o download dos dados ou apenas editar o mapa, como é a 1ª vez que corres escreve:
new
-no final é criado o mapa com as opçoes que escolheste e as imagens serão colocadas na pasta do mundo que escolheste


Atenção!!!
introduz new a primeira vez, as restantes em que apenas queiras editar o mapa, cores, pontos etc
introduz old
se fizerem download dos ficheiros muitas vezes num curto espaço de tempo..podem ser banidos por isso


Opçoes do mapa:
original
..\map.exe -w %WORLD% -s %SERVER% -%NEW% -tp 1000000 -pp 1000000 -z 00 99 -f1 ..\fonts

minhas alteraçoes para o pt32(mundo recente)
..\map.exe -w %WORLD% -s %SERVER% -%NEW% -tp 15000 -pp 600 -z 22 77 -vs 4 -f1 ..\fonts\arialbd.ttf -f2 ..\fonts\ariblk.ttf

explicação
-tp para tribos com mais de 15000 pontos
-pp para jogadores com mais de 600 pontos
-z zoom nos quadrantes com jogadores , neste caso, o vertice do quadrado desde o k22 até ao k77
-vs 4 4 é o numero de pixels no mapa de cada aldeia , o valor por defeito é 2, mas numa fase inicial do mundo esse valor é muito baixo

Atribuir cores as tribos e adicionar familias
abre o ficheiro colors.txt
,0,0,255
,112,128,144
,0,255,0
,255,0,0
,255,255,0
,255,255,255
,255,165,0
,0,0,0
,128,0,32
,0,100,0
,1,151,141
,75,0,130
,235,199,153
,125,249,255
,244,0,161
,180,181,59
,173,216,230
,192,192,192
,16,52,166
,130,112,219
,255,192,203
,255,117,24
,152,118,84
,200,150,250
,191,255,0
,196,195,221

cada linha representa uma cor RGB, procura num site o valor da cor que pretendes e ve se esta no ficheiro
se estiver colocas a sigla da tribo antes da virgula
Dz !,0,0,255
,112,128,144
,0,255,0
,255,0,0
,255,255,0
,255,255,255
,255,165,0
,0,0,0
,128,0,32
,0,100,0
,1,151,141
,75,0,130
,235,199,153
,125,249,255
,244,0,161
,180,181,59
,173,216,230
,192,192,192
,16,52,166
,130,112,219
,255,192,203
,255,117,24
,152,118,84
,200,150,250
,191,255,0
,196,195,221

Adicionar familias ao mapa
cria um ficheiro txt e dá-lhe o nome de family
e nele coloca as siglas de cada tribo separadas por uma virgula, guarda esse ficheiro na pasta do mundo que escolheste


Colocar online
fazer upload das imagens criadas/editadas para a pasta publica da Dropbox,depois tens que gerar links publicos e copiar e colar no forum
e cada vez que criares/editares um mapa e substituíres por cima das as imagens antigas na pasta publica..o link permanecerá igual, não precisaras de gerar novo link.


Quantas vezes fazer o download de novos ficheiros de dados?
eu faço pelo menos 1 vez por dia numa hora a que me de jeito
 
Última edição por um moderador:

DeletedUser

Guest
Este tutorial foi feito para windows
(a equipa do tribos não se responsabiliza pelos ficheiros / conteúdos dos comandos aqui utilizados e eventuais danos)


3º Parte - "Automatizar"

Automatizar este processo teras que ter o pc ligado para poder ser feito o download dos ficheiros novos
de seguida irei mostrar os ficheiro bat que utilizo, para efectuar o processo envolvidos:

Actualizar dados (tribos ,jogadores familias,) 1 vez por dia..ou mais
-fazer o download dos ficheiros de dados
-criar novas imagens actualizadas
-mover as imagens para a pasta publica da dropbox no meu pc

utilizo 4 ficheiros de extensão .bat

O 1 é um geral, que vai executar outros 3 com uma pausa de 10-15 segundos entre cada ficheiro, para dar tempo de fazer o download e criar os mapas com os novos dados e mover os ficheiros
no final todas as janelas fecham-se automaticamente

Geral
PHP:
@echo off

start "" "c:\map\Mapas - Download.bat"
timeout /T 15

start "" "c:\map\Mapas - Editar.bat"
timeout /T 15


start "" "c:\map\Mapas - Mover.bat"
timeout /T 10

1 ficheiro(vai fazer o download dos ficheiros de dados actualizados)
PHP:
@echo off
set  WORLD=32
set  NEW=new
set SERVER=pt%WORLD%.tribalwars.com.pt
IF NOT EXIST %WORLD% ( 
  md %WORLD%
)

cd %WORLD%

IF NOT EXIST colors.txt (

  copy ..\examples\colors.txt .
  echo Copied over colors.txt since you didn't have one...
)

if /i "%NEW%"=="new" (

  echo Downloading village.txt...
  ..\curl.exe -s -O "http://%SERVER%/map/village.txt.gz"
  ..\gzip.exe -fd village.txt.gz

  echo Downloading tribe.txt...
  ..\curl.exe -s -O "http://%SERVER%/map/tribe.txt.gz"
  ..\gzip.exe -fd tribe.txt.gz

  echo Downloading ally.txt...
  ..\curl.exe -s -O "http://%SERVER%/map/ally.txt.gz"
  ..\gzip.exe -fd ally.txt.gz

  echo Downloading conquer.txt...
  ..\curl.exe -s -O "http://%SERVER%/map/conquer.txt.gz"
  ..\gzip.exe -fd conquer.txt.gz

  echo Downloading kill_att.txt...
  ..\curl.exe -s -O "http://%SERVER%/map/kill_att.txt.gz"
  ..\gzip.exe -fd kill_att.txt.gz
)




echo.

echo Feito.

echo.

timeout /T 5
exit



2º ficheiro(criar mapa )
PHP:
@echo off


set  WORLD=32

set NEW=old


set SERVER=pt%WORLD%.tribalwars.com.pt

IF NOT EXIST %WORLD% ( 
  md %WORLD%
)


cd %WORLD%

IF NOT EXIST colors.txt (

  copy ..\examples\colors.txt .
  echo Copied over colors.txt since you didn't have one...


)



..\map.exe -w %WORLD% -s %SERVER% -%NEW% -tp 15000 -pp 600 -z 22 77 -vs 4 -f1 ..\fonts\arialbd.ttf -f2 ..\fonts\ariblk.ttf



echo.

echo Feito.
echo.
timeout /T 5
exit

3º ficheiro(mover imagens para a pasta publica da dropbox)
PHP:
echo.

echo Preparando para mover imagens para dropbox...

echo.

MOVE C:\map\32\fastnoblers.png C:\dropboxtribos\Dropbox\Public\map\32\fastnoblers.png
MOVE C:\map\32\topavgtribes.png C:\dropboxtribos\Dropbox\Public\map\32\topavgtribes.png
MOVE C:\map\32\topkaplayers.png C:\dropboxtribos\Dropbox\Public\map\32\topkaplayers.png
MOVE C:\map\32\topkplayers.png C:\dropboxtribos\Dropbox\Public\map\32\topkplayers.png
MOVE C:\map\32\topktribes.png C:\dropboxtribos\Dropbox\Public\map\32\topktribes.png
MOVE C:\map\32\topnoblers.png C:\dropboxtribos\Dropbox\Public\map\32\topnoblers.png
MOVE C:\map\32\topplayers.png C:\dropboxtribos\Dropbox\Public\map\32\topplayers.png
MOVE C:\map\32\toptribes.png C:\dropboxtribos\Dropbox\Public\map\32\toptribes.png




echo.

echo Feito...

echo.
timeout /T 5
exit

explicaçao
MOVE C:\map\32\fastnoblers.png C:\dropboxtribos\Dropbox\Public\map\32\fastnoblers.png
a azul o local de onde estao as imagens criadas
a vermelho para onde querem mover, para a pasta publica da dropbox


Automatizar
abrir o task scheduler do windows e criar nova tarefa
image.png


image.png


image.png

importante este passo
Start in
senao os ficheiros curl.exe e gzip.exe não correm


os ficheiros .bat tem que ficar na directoria principal , por exemplo : C:\map
 
Última edição por um moderador:

DeletedUser26733

Guest
Grande Tutorial :)

Ficamos desde já muito agradecidos pela paciência disponibilizada.
Amanhã passarei o dia a analisar isto tudo eheh :)
 

DeletedUser

Guest
andei a pesquisar sobre uma maneira de reduzir o tamanho das imagens de 1300pixels, tamanho gerado pelo programa,
para o tamanho k se kiser, isto feito pela linha de comandos, automatizado, outro ficheiro bat, atraves do imagemagick
para aqueles que gostam de personalizar e colocar no forum interno da tribo, em que se torna necessario reduzir a largura da imagem

a imagem perde um bocado de qualidade
 

DeletedUser

Guest
Redimensionar imagens

para as colocar no forum interno:
Para o mundo inteiro
ou apenas K´s, para o caso de criarem esquadrões, onde conseguem ver as tribos e jogadores que dominam e onde dominam

O que fazer??
Instalar imagemagik
http://www.imagemagick.org/download/binaries/ImageMagick-6.8.6-8-Q16-x86-dll.exe
Instalação normal - sempre next


Criar uma pasta especifica na dropbox para o K (se o forem fazer)

criem um ficheiro .bat para um K especifico corram-no na directoria map ou o nome que deram a pasta principal
k55- Criar_encolher_mover.bat

PHP:
@echo off


set  WORLD=32

set NEW=old


set SERVER=pt%WORLD%.tribalwars.com.pt

IF NOT EXIST %WORLD% ( 
  md %WORLD%
)


cd %WORLD%
IF NOT EXIST colors.txt (

  copy ..\examples\colors.txt .
  echo Copied over colors.txt since you didn't have one...


)




..\map.exe -w %WORLD% -s %SERVER% -%NEW% -tp 914 -pp 194 -z 55 55 -vs 4 -f1 ..\fonts\arialbd.ttf -f2 ..\fonts\ariblk.ttf 


echo.
echo mapas feitos
echo.
timeout /T 5
echo .
echo a redimensionar imagens
echo .
convert  -resize   800x600 fastnoblers.png fastnoblers.png
convert  -resize   800x600 topavgtribes.png topavgtribes.png
convert  -resize   800x600 topkaplayers.png topkaplayers.png
convert  -resize   800x600 topkplayers.png topkplayers.png
convert  -resize   800x600 topktribes.png topktribes.png
convert  -resize   800x600 topnoblers.png topnoblers.png
convert  -resize   800x600 topplayers.png topplayers.png
convert  -resize   800x600 topplayers.png topplayers.png
convert  -resize   800x600 toptribes.png toptribes.png
echo .
echo imagens redimensionadas
echo .
echo mover imagens para dropbox .
echo.


MOVE F:\map\32\fastnoblers.png F:\dropboxtribos\Dropbox\Public\map\pt32\k55\fastnoblers.png
MOVE F:\map\32\topavgtribes.png F:\dropboxtribos\Dropbox\Public\map\pt32\k55\topavgtribes.png
MOVE F:\map\32\topkaplayers.png F:\dropboxtribos\Dropbox\Public\map\pt32\k55\topkaplayers.png
MOVE F:\map\32\topkplayers.png F:\dropboxtribos\Dropbox\Public\map\pt32\k55\topkplayers.png
MOVE F:\map\32\topktribes.png F:\dropboxtribos\Dropbox\Public\map\pt32\k55\topktribes.png
MOVE F:\map\32\topnoblers.png F:\dropboxtribos\Dropbox\Public\map\pt32\k55\topnoblers.png
MOVE F:\map\32\topplayers.png F:\dropboxtribos\Dropbox\Public\map\pt32\k55\topplayers.png
MOVE F:\map\32\toptribes.png F:\dropboxtribos\Dropbox\Public\map\pt32\k55\toptribes.png

echo Feito.
timeout /T 5
exit

A vermelho a explicaçao
..\map.exe -w %WORLD% -s %SERVER% -%NEW% -tp 914 -pp 194 -z 55 55 -vs 4 -f1 ..\fonts\arialbd.ttf -f2 ..\fonts\ariblk.ttf

Para um K especifico, neste exemplo o k55, tem que meter 55 55


convert -resize 800x600 fastnoblers.png fastnoblers.png

vermelho- o tamanho da imagem, reduzida para caber no forum da tribo
azul - imagem original
verde - imagem convertida, aqui podem dar o mesmo nome ou outro qualquer se nao quiserem apagar a imagem original

se quiserem dar cores personalizadas, façam um copia nova do ficheiro colors.txt e renomeiem para coresk55.txt
coloquem esse ficheiro na pasta do mundo em questao, e modifiquem o ficheiro .bat

..\map.exe -w %WORLD% -s %SERVER% -%NEW% -tp 914 -pp 194 -z 55 55 -vs 4 -c coresk55.txt -f1 ..\fonts\arialbd.ttf -f2 ..\fonts\ariblk.ttf
a azul...

Fica o aviso de que as imagens perdem um pouco de qualidade
 
Última edição por um moderador:

DeletedUser42045

Guest
Tenho de analisar isto com tempo...mas quando puder certamente o farei...um muito obrigado pela disponibilidade
 
Topo