Metin2 Map Tool v1.2 - Editing mappe a volontà - Versione stampabile +- BorderGame (https://www.bordergame.it) +-- Forum: Giochi (/Forum-Giochi) +--- Forum: MMOs (/Forum-MMOs) +---- Forum: Metin 2 (/Forum-Metin-2) +---- Discussione: Metin2 Map Tool v1.2 - Editing mappe a volontà (/Thread-Metin2-Map-Tool-v1-2-Editing-mappe-a-volont%C3%A0) |
Metin2 Map Tool v1.2 - Editing mappe a volontà - Fedez98 - 11-12-2012 07:43 PM Questo programma era nato in origine come un remake del mitico programma della GFO, il GFO Map Editor, poi alla fine l'ho fatto un po' come mi passava per la testa, ma le funzioni di base sono fedeli ad esso. Questo programma contiene un convertitore di mappe (immagini -> formato Metin2 e viceversa), un gestore di server_attr (import/export) e gestore di file regen (creazione regen da mappa, import/export file). So già che lo posto a vuoto perché il 95% delle persone neanche capirà cos'è, ma è sempre meglio postarlo che lasciarlo a far niente sul mio PC. Giusto due parole sui vari file delle mappe, altrimenti il 95% delle persone non capirà nulla quando aprirà il programma. Allora, se avete già visto una mappa di Metin2 descriptata, avrete visto che è composta da tante cartelle, e dentro ogni cartella ci sono tanti file. Ogni cartella rappresenta un "quadratino" specifico della mappa, e i vari file sono delle immagini che hanno un significato specifico. Quello che fa questo programma è ricomporre tutte le varie immagini dentro le cartelle in un'unica grande immagine, permettendovi di salvarla e modificarla facilmente, e viceversa. Le immagini che compongono una mappa sono tutte in scala di grigi, tranne la minimappa. Le immagini sono: Height: sarebbe il file height.raw. La gradazione di grigio di questo file rappresenta l'altezza del terreno nei vari punti. Più è chiara la gradazione, più sarà alto il terreno. Ogni pixel dell'immagine è un grigio su 16-bit. Il programma legge questo numero come due grigi su 8-bit, creando quindi due immagini per l'height, chiamate "canali": height CH1 e height CH2. Il canale 1 è composto dagli 8-bit meno significativi dei grigi, mentre il canale 2 è composto dagli 8-bit più significativi. Ciò significa che una modifica del colore nel canale 2 provocherà grandi variazioni dell'altezza del terreno, mentre una modifica nel colore del canale 1 provocherà piccole variazioni dell'altezza del terreno. Tile: sarebbe il file tile.raw. La gradazione di grigio di questo file rappresenta la texture da applicare al terreno nei vari punti. L'associazione gradazione grigio - texture si trova nel file textureset della mappa. Attribute: sarebbe il file attr.atr. La gradazione di grigio di questo file specifica le "caratteristiche speciali" del terreno. Ad esempio, una certa gradazione renderà il terreno non camminabile, oppure camminabile, oppure lo renderà come la piazza del villaggio, o con altre caratteristiche. Questo file ha un corrispettivo file che si trova nel server, chiamato server attribute (server_attr). Il server_attr contiene la stessa immagine dell'attribute, però compressa, ottenuta dividendo l'immagine in blocchi e comprimendoli con l'algoritmo LZO. Water: sarebbe il file water.wtr. Questo semplice file contiene solo bianco e nero, e specifica dove deve trovarsi l'acqua nella mappa. Attenzione: anche se specificato nel file, l'acqua non viene messa sempre, ma solo se l'altezza del terreno è sufficientemente bassa. Shadowmap: sarebbero i file shadowmap.raw e shadowmap.dds. Questi due file sono poco usati di solito dai mapper, e specificano le ombre degli object della mappa: in Metin le ombre degli object non sono dinamiche ma statiche, cioè sono semplicemente disegnate sul terreno leggendole da questi file. Anche il file shadowmap.raw ha gradazioni di grigio su 16-bit come l'height, e viene letto dividendolo in due canali. Minimap: non penso di doverlo spiegare Non entro più nei dettagli perché questa non è una guida sulle mappe. Provate da soli o chiedete a chi è capace, se è così gentile da spiegarvelo. Se ho scritto qualche stupidaggine correggetemi. In origine avevo creato il programma interamente in lingua inglese, e non avevo alcuna intenzione di tradurlo. Poi alla fine ho cambiato idea e l'ho tradotto anche in italiano, così è diventato bilingue. L'ho tradotto senza voglia, quindi se trovate delle traduzioni ridicole o senza senso segnalatemelo. La prima volta che aprirete il programma lo troverete in inglese, che è la lingua di default, potete cambiarla dal menu 'File'. La lingua selezionata verrà salvata alla chiusura del programma. Map Converter Funzioni Carica mappa: carica una mappa in PNG da un file ini (esempio file ini: http://blackyuko.altervista.org/download/map.ini, attenti ai TAB, se non avete un'immagine basta lasciare il nome vuoto). Si può specificare di caricare solo alcune immagini. Se alcune immagini non saranno valide o non esisteranno, non verrano caricate. I file setting.txt e mapproperty.txt verranno caricati solo se esistenti (e validi ovviamente), altrimenti verranno impostate le opzioni di default. Le dimensioni delle immagini PNG devono essere in accordo con le dimensioni della mappa, altrimenti non verranno caricate e un messaggio vi indicherà quali sono le dimensioni errate. Per calcolare le dimensioni potete usare le formule che trovate sotto la voce "Dimensioni immagini". Salva mappa: salva la mappa caricata o importata nelle rispettive immagini PNG. Le immagini saranno salvate in una cartella con lo stesso nome della mappa, il file ini verrà creato in modo da poterla caricare successivamente. I file setting.txt e mapproperty.txt verranno creati se specificato. Si può scegliere di salvare solo alcune immagini. Importa mappa: importa una mappa nel formato di Metin2, ricomponendo la mappa in un'unica immagine. Bisognerà indicare al programma la cartella principale della mappa, ovvero quella che contiene il file setting.txt e le varie cartelle. Si può scegliere di importare solo alcune immagini. Ogni singolo file (attr.atr, water.wtr, i vari file raw) verrà controllato come dimensione in bytes, e di alcuni verrà controllato l'header per verificare che siano validi. Se alcuni file non saranno validi, verrà segnalato errore e quell'immagine non verrà importata. Il file mapproperty.txt verrà caricato solo se esistente, altrimenti verranno impostate le opzioni di default Esporta mappa: esporta una mappa caricata o importata nel formato di Metin2, generando le varie cartelle e i file setting.txt e mapproperty.txt in base alle impostazioni inserite. Resetta mappa: resetta la mappa caricata o importata, eliminando le immagini e liberando la memoria RAM. Le immagini che possono essere caricate/salvate/importate/esportate sono: Height CH1/CH2, Shadowmap CH1/CH2/DDS, Tile, Attribute, Water, Minimappa. Potete caricare o importare una mappa anche trascinando sulla pagina del "Map Converter" (in qualunque punto) la cartella della mappa (per l'import) o il file ini (per il caricamento). Crea server attribute: crea il file server_attr da un'immagine PNG esterna. L'immagine può essere l'immagine dell'attribute di una mappa o di un server attribute (creato con la funzione 'importa'), e dovete specificarlo al programma. Cosa cambia tra le due? L'immagine è sempre la stessa, ma cambiano le dimensioni: nel caso del server attribute, le dimensioni sono il doppio. Esporta server attribute: esporta il file server_attr dall'attribute della mappa caricata o importata. Importa server attribute: importa un file server_attr esistente, lo visualizza e lo salva in immagine PNG. Resetta server attribute: resetta il server attribute corrente, eliminando l'immagine e liberando la memoria RAM. Opzioni Vista: vi permette di selezionare l'immagine della mappa da visualizzare Abilita multithreading: abilita l'uso del multithreading per le funzioni precedenti. Questo significa che le immagini non verranno caricate/salvate/importate/esportate una di seguito all'altra ma "in parallelo". Notare che ho messo "in parallelo" tra virgolette, dato che in realtà non è così. I benefici di questa opzione dipendono molto dal vostro processore: se avete un processore multicore questa opzione potrà ridurre il tempo di elaborazione anche del 50/60% (notare "anche", dipende dal processore che avete e dal carico che ha nel momento in cui fate partire l'elaborazione), mentre se avete un vecchio single core non vedrete praticamente alcuna differenza. NOTA: anche se abilitato, il multithreading verrà applicato solo per le mappe molto grandi (oltre 8x8) Esporta minimap in DDS/PNG: specifica se esportare la minimappa nel formato DDS o PNG. Per il DDS potete scegliere se salvare nel formato compresso o decompresso. Se non sapete cosa fare lasciate l'opzione di default. Il formato compresso è il DXT1 (quello delle mappe standard di Metin), quello decompresso è il R8G8B8. Questa opzione è una sottigliezza, l'ho messa solo perché scrivere un file dds non compresso è molto semplice e non mi costava nulla aggiungere la funzione. Crea file setting.txt/mapproperty.txt: penso siano autoesplicativi. Ogni valore che inserirete nelle text box sarà controllato in base al tipo di valore, quindi non potrete inserire valori non validi. Zoom vari: bé... Immagine: potete scegliere se visualizzare la mappa con le proporzioni originarie o adattarle alla picture box Crea file vuoti per gli objects (menu esporta mappa): quando esportate una mappa, potete scegliere se creare i file per gli object vuoti, nel caso non li abbiate ancora fatti NOTA sui DDS: il programma esporta in DXT1 e R8G8B8, ma può importare: DXT1, DXT3, DXT5, A8R8G8B8, A8B8G8R8, X8R8G8B8, X8R8G8B8, R8G8B8. Il canale alpha non viene considerato in alcun caso. Regen Creator Il regen può essere creato solo dopo avere caricato/importato una mappa, ovviamente. Per iniziare a creare il regen, basterà selezionare la tab "Regen Creator" e cliccare sull'immagine per aggiungere i mob. Potete fare il regen sull'immagine che volete (tranne il server_attr, che non avrebbe senso), ovviamente è consigliabile usare la minimappa o al limite l'height, le coordinate verranno calcolate in base all'immagine selezionata. Scorrendo le immagini i vari mob verranno riposizionati di volta in volta, in base alle dimensioni dell'immagine selezionata. Va bé, nelle box inserite le varie impostazioni del mob/gruppo/gruppo di gruppi che volete inserire, anche in questo caso tutti i valori sono controllati. C'è anche una finestra di aiuto per il campo "direction", che indica le posizioni rispetto alla minimappa a seconda del valore inserito. Mob/Gruppo/Gruppo di gruppi sono identificati da forme diverse -> mob: quadrato, gruppo: triangolo, gruppo di gruppi: diamante Il file regen a cui appartengono viene identificato dal colore -> regen.txt: rosso/rosa (a seconda che il mob sia aggressivo o no), boss.txt: azzurro/blu (a seconda che il mob sia aggressivo o no), stone.txt: viola, npc.txt: verde In ogni caso nella legenda c'è scritto tutto. Potete scegliere il file a cui aggiungere il mob semplicemente selezionando la tabella del file specifico (regen.txt, boss.txt. stone.txt, npc.txt). Selezionano le righe della tabella, i mob selezionati verranno evidenziati in giallo per distinguerli, in modo che possiate sapere quali state cancellando. Potete cancellare mob semplicemente premendo CANC dopo avere selezionato le righe. Funzioni Esporta regen: esporta il regen nei corrispondenti file txt. E' possibile scegliere quali file esportare, e il nome di ogni singolo file. E' possibile sovrascrivere file già esistenti oppure aggiungere il nuovo regen dopo quello già esistente. Importa regen: importa un file regen. Viene controllata la validità del file, sia sintatticamente sia per quanto riguardi i valori di ogni mob. In caso di errori sarà indicato il numero della riga in cui è stato trovato l'errore e la sua descrizione. Resetta il file regen corrente: resetta il file di regen selezionato al momento Resetta tutti i file regen: resetta tutti i file regen Anche in questo caso potete importare un regen semplicemente trascinando il file regen in un qualunque punto della pagina "Regen Creator". Ogni volta che caricherete/importerete una nuova mappa il regen sarà resettato, e un messaggio vi avvertirà prima di farlo. Fine Con le ultime modifiche ho aumentato molto le prestazioni del programma, e ho corretto un paio di bug che portavano ad un uso esagerato della memoria RAM in certe occasioni, quindi consiglio a chi lo avevo già passato di scaricare quest'ultima versione, è veramente un'altra cosa. Tanto per darvi due numeri con la celebre 4 mondi, che è la mappa più grossa che si può trovare ora come ora (ovviamente dipendono molto dal vostro PC): con multithreading / senza multithreading Load map: 1.4s / 2.7s Save map: 2.1s / 4.4s Import map: 1.7s/ 3s Export map: 4.2s / 7.4s Export Server Attribute: 2.4s Import Server Attribute: 2.5s Ovviamente questi tempi dipendono molto dal vostro PC, questi sono quelli del mio. Sono fatti in condizioni ottimali, cioè con il PC che non aveva programmi aperti oltre il Map Tool. I tempi possono allungarsi parecchio se il processore è occupato da altri processi quando lanciate l'elaborazione. La versione che scaricherete sarà leggermente più lenta di quella con cui ho fatto gli screenshot. Il consumo di memoria RAM è limitato alle immagini caricate in memoria. Per mappe molto grandi, le immagini possono arrivare a dimensioni di 4000x4000, che vengono memorizzate decompresse nella memoria RAM. Basta una semplice moltiplicazione per vedere che si può arrivare a circa 350Mb di RAM occupati. NOTA: se state importando/esportando una mappa grande (che sono le operazioni più pesanti) e il programma sembra bloccato non terminatelo con il task manager, il programma non si è bloccato ma sta solo elaborando, lasciatelo finire. Scusate se ho scritto così tanto, ma ci tenevo a spiegare tutto. Se trovate bug segnalatemelo pure, preferibilmente su Skype, lo correggerò appena possibile. Buon editing di mappe. Ringraziamenti: Luscha: test programma e aiuto sul funzionamento dei file delle mappe Asterix e Rizla: test programma e qualche aiutino con le mappe AG: creazione icona del programma FadeToBlack: bé non ha fatto nulla di diretto, ma se non avesse creato il GFO Map Editor di sicuro questo programma non esisterebbe Screenshots: Spoiler: Scansione virus: https://www.virustotal.com/file/2994...is/1346418192/ Download: http://blackyuko.altervista.org/down..._converter.rar FONTI : INFORGE. [/b] RE: Metin2 Map Tool v1.2 - Editing mappe a volontà - FinalShot - 14-12-2012 10:48 PM Grande bravo RE: Metin2 Map Tool v1.2 - Editing mappe a volontà - Fedez98 - 15-12-2012 03:12 PM (14-12-2012 10:48 PM)FinalShot Ha scritto: Grande bravo @[FinalShot] Grazie Frà |