Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: AnnoZone Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

mrboese

Boardsmutje

Beiträge: 994

Registrierungsdatum: 19. Juli 2009

  • Nachricht senden

101

Samstag, 24. Oktober 2009, 16:54

Doch, Anno kann damit umgehen (ob die RDAs benötigt werden - ich glaube schon).

Wenn du aber Mods erstellen willst, brauchst du immer die originalen Dateien (besonders wenn du Modifikationspakete für den Manager erstellst)

EDIT: PreferLocalFiles bedeutet, dass lokale Dateien bevorzugt werden. Anno nimmt immer zuerst die Dateien, die im Data-Ordner sind.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »mrboese« (24. Oktober 2009, 16:56)


Annojaner

Frisch Angeheuert

Beiträge: 3

Registrierungsdatum: 24. Oktober 2009

  • Nachricht senden

102

Samstag, 24. Oktober 2009, 17:13

Aja ok.
Ich will halt nur die XMLs verändern.
Gibts da eig. ein Tutorial? Oder ein Datenblatt, was die Funktionen in den XMLs beschreibt?
zB. Für die assets.xml

Quellcode

1
2
3
4
5
6
7
8
9
10
<AssetList>  
<ToolOneVersion>3</ToolOneVersion>   
  <Groups>     
  <Group>       
     <Name>Objects</Name>      
     <Groups>        
        <Group>          
           <Name>PlayerBuildings</Name>          
           <Groups>             
usw. 

Was heißt "PlayerBuildings" und was hat es für ne Funktion an dieser Stelle?
Oder halt damit ich die Bedürfnisse der Bewohner anpassen kann. Wo und wie.

Gibts sowas?
Sonst müsste ich halt doch Ewigkeiten rumprobieren. ^^

Saheike

Insel-Eroberer

Beiträge: 444

Registrierungsdatum: 7. Januar 2008

  • Nachricht senden

103

Samstag, 24. Oktober 2009, 17:18

1404Explorer v0.3

Man kann bei Norton diese Datei und das Verzeichnis, in den man den Explorer entpackt, z. B. C:\\Temp vom Scan und auch vom Autoprotect ausschließen. Das läßt sich in den Einstellungen des Scanners festlegen, sodaß man ihn benutzen kann. Will man ihn ausgepackt ständig benutzen, sollte man ihn in ein eigenes Verzeichnis packen und dann dieses ebenfalls vom Scan und Autoprotect ausschließen. So habe ich das gehandlet.

:jaaaaa:
  :maeh: Lieben Gruß von Heckmeckerchen :engel:

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Saheike« (24. Oktober 2009, 17:18)


mrboese

Boardsmutje

Beiträge: 994

Registrierungsdatum: 19. Juli 2009

  • Nachricht senden

104

Samstag, 24. Oktober 2009, 17:22

"PlayerBuildings" ist eine Gruppe von Objekten.

In ihr befinden sich zB. die Häuser "Residence".

Am besten, du benutzt Notepad++, weil dieses Programm am besten zum editieren der assets.xml geeignet ist.

Tipp:
Alle Gebäude/Objekte finden:

  • In Notepad++ das "Suchen"-Fenster öffnen
  • "<Name>" eingeben
  • > Alle in Aktiver Datei suchen
  • In der Liste unten kannst du alle Objekte finden

tradze

Frisch Angeheuert

Beiträge: 2

Registrierungsdatum: 25. Oktober 2009

  • Nachricht senden

105

Sonntag, 25. Oktober 2009, 20:06

asset.xml

hallo...
wie ihr sehen könnt bin ich hier ganz neu,also ein frischling...ich hoffe ihr nehmt mir nmeine frage nicht zu krumm denn ich habe ne frage zu der asset.xml datei...

also...ich habe wie hier beschrieben mir die programme besorgt die datei data1 entpackt mit notepad++ (sehr guter tip) und habe diese datei nach meinen belieben (also noch im rahmen) geändert...jetzt meine frage...nirgends steht was ich dann mache?? reicht nur speichern? zurück entpacken? einfach so im data ordner lassen?
denn wenn ich ein neues endlosspiel starte dann bezahle ich die ""normalen" kosten für die gebäude und "spare" nichts...anno ist per update auf dem neusten stand....

was mache ich falsch??? hoffe ihr könnt mir helfen

LG der neuling;-)))

Nayo

Meereskenner

Beiträge: 812

Registrierungsdatum: 1. November 2006

  • Nachricht senden

106

Sonntag, 25. Oktober 2009, 20:34

du musst die modifizierten Dateien in den data Ordner speichern (Vorsicht, beachte richtige Ordnerstruktur. Die Struktur so wie sie in den RDA Files ist darf nicht verändert werden.)
Zudem solltest du die Daten aus der patch.rda bzw die Patch Dateien über die anderen speichern.
Desweiteren muss preferlocalfiles in der engine.ini auf 1 stehen
Als letzten dürfen natürlich keine Fehler in deinen Modifikationen sein.
  Zuviele Anno Installationen auf deinem Rechner? Anno Installationsmanager schafft Ordnung :)

IAAM 1404 funktioniert nicht? IAAM Testtool verrät uns ob etwas nicht richtig installiert ist.

mrboese

Boardsmutje

Beiträge: 994

Registrierungsdatum: 19. Juli 2009

  • Nachricht senden

107

Sonntag, 25. Oktober 2009, 20:35

Also:

  • Wenn du die gepatchte Version von Anno nutzt, darfst du nicht die xml-Dateien aus der Data*.rda nehmen, sondern die aus der Patch0.rda
  • Die assets.xml gehört in dieses Verzeichnis: ANNO 1404/data/config/game
    -> Du musst die Verzeichnisse aber manuell erstellen
  • Eine Alternative zu dieser methode ist das Erstellen von Modifikationspaketen im ModManager. Du kannst die Entwicklertools des Managers in Tools > Entwicklung finden.
    -> Anleitungen und Hilfe findest du hier im Modding-Forum und auf der Manager-Homepage unten im bereich "Ressourcen"

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »mrboese« (25. Oktober 2009, 20:36)


tradze

Frisch Angeheuert

Beiträge: 2

Registrierungsdatum: 25. Oktober 2009

  • Nachricht senden

108

Montag, 26. Oktober 2009, 08:45

@ mrboese + Nayo

danke für eure schnelle antwort...

Also verstehe ich euch richtig...ich habe east auf version 1.1 gepatcht dann mit dem hier benannten annoexplorer die patch datei entpackt,diese wiederum ins anno hauptverzeichnis und dann mit notepad++ editiert,(habe nur die aktiven kosten geändert auf z.b. 10,also keine großen änderungen) und dann kann einfach mit "speichern" die datei schließen und das wars dann?

Das mit dem andern tool mit den holding packs habe ich versucht aber dann sagte anno nix mehr und es kamen mehrere fehler das ich es neu installieren mußt
Bei verschiedenen kommt ich sie auch nicht aktiviern wie z.b. Beim "minen"mod...


Deswegen dachte ich mir das mit der asset datei wie der bessere weg...

Annosiedler

Plankenstürmer

Beiträge: 28

Registrierungsdatum: 24. Juli 2009

  • Nachricht senden

109

Samstag, 28. November 2009, 12:35

Was soll das??? Virus!?! :maeh:
»Annosiedler« hat folgendes Bild angehängt:
  • Unbenannt.jpg

mrboese

Boardsmutje

Beiträge: 994

Registrierungsdatum: 19. Juli 2009

  • Nachricht senden

110

Samstag, 28. November 2009, 12:39

Fehlalarm.

Annosiedler

Plankenstürmer

Beiträge: 28

Registrierungsdatum: 24. Juli 2009

  • Nachricht senden

111

Samstag, 28. November 2009, 20:29

Sicher?

mrboese

Boardsmutje

Beiträge: 994

Registrierungsdatum: 19. Juli 2009

  • Nachricht senden

112

Samstag, 28. November 2009, 20:35

Ja.

-> Du kannst Programmen aus dieser Community mehr trauen, als teuen Kaufprogrammen. Niemand der Programmierer hier ist einer, der es nötig hat, Schadprogramme zur Schaffung/Erhaltung von Selbswertgefühl zu veröffentlichen.

Hoenir

Vollmatrose

  • »Hoenir« ist der Autor dieses Themas

Beiträge: 114

Registrierungsdatum: 4. Dezember 2006

  • Nachricht senden

113

Samstag, 28. November 2009, 20:39

Hab das hier schon 100 mal erklärt.
Allein das "Generic" in der Meldung sagt ja schon, dass es kein konkreter Verdacht ist. Das liegt an dem verwendeten exe-Packer, welcher glaub ich nur UPX war (oder höchstens MEW), kannsts ja entpacken, wenns dich beruhigt. UPX kann das standardmäßig http://upx.sourceforge.net/.

Maßstab bei mir ist Antivir, welches schon ziemlich pervers empfindlich ist. Wenn das nicht anschlägt, geht die exe raus.
  D Programming Language - R.I.P. C++

mrboese

Boardsmutje

Beiträge: 994

Registrierungsdatum: 19. Juli 2009

  • Nachricht senden

114

Samstag, 28. November 2009, 20:48

Ich denke mal, du solltes das UPX künftig weglassen (Mein Manager z.B. funktioniert auch ohne UPX prima) . Ich glaube unter Avira werden gepackte Programme als "Ungewöhnliche Laufzeitpacker" erkannt, was eben zu diesem Problem führt.

Ach ja: Kaptain-AHOI hätte gerne eine Kommandozeilenversion des Explorer, damit ANNO-AHOI die Savegames automatisch entpacken kann. Ich konnte ihm nicht helfen, da ich trotz deinen structs, die den Inhalt der RDA darstellen nicht weiterkomme (Weder in C# noch in C++)
»mrboese« hat folgende Datei angehängt:

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »mrboese« (28. November 2009, 20:57)


Hoenir

Vollmatrose

  • »Hoenir« ist der Autor dieses Themas

Beiträge: 114

Registrierungsdatum: 4. Dezember 2006

  • Nachricht senden

115

Samstag, 28. November 2009, 21:13

Wie gesagt, Antivir schlägt ja eben nicht an bei UPX, weil die es wahrscheinlich im Gegensatz zu anderen gebacken gekriegt haben, das ordentlich zu implementieren und direkt die entpackte Version auf Viren zu prüfen.

Ich hab keine Zeit, muss Bachelorarbeit schreiben. Vielleicht hilft dir das ja, ich kommentiere das nicht weiter, hab Fehlerbearbeitung und anderes zusätzliches Zeug bereits entfernt.

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/// process the archive and add them to the list
void processArchive()
{
Header header;
BlockHeader block;
DirEntry[] directory;

ubyte[] buffer;
bool done = false; // for loop
_numFiles = 0;
_archive = [];

// for memoryresident data
uint offset, compressed, datasize;

File hIn = new File();

size_t filePos; // current offset in the file
		hIn.open(_archivename, FileMode.In);
		
		// read header
		hIn.readExact(&header, Header.sizeof);
	
	if (header.magic[0..18] != "Resource File V2.0"w)
		throw new Exception("No valid 1404 RDA file!");
	
		hIn.seekSet(header.firstBlock);
	
	while(!done)
	{
			// get block header
			hIn.readExact(&block, BlockHeader.sizeof);

			// strangely an empty block exists in Data5.rda
			if (block.numFiles == 0)
			{
				if (block.nextBlock >= hIn.size())
					done = true;
				else
					hIn.seekSet(block.nextBlock);
				continue;
			}

			// get the directory before it
			hIn.seekCur(- cast(int)block.dirSize - cast(int)BlockHeader.sizeof);
			
			// if block data is memoryresident, the block is preceded by compressed and uncompressed size
			if (block.flags & 4)
				hIn.seekCur(-8);
			
			buffer.length = block.dirSize;
			hIn.readExact(buffer.ptr, buffer.length);
						
			if (block.flags & 2) // if it is encrypted
				decrypt(buffer);
			
			if (block.flags & 1) // if it is compressed
			{
//					debug _form.log("Starting decompression...");
				buffer = cast(ubyte[]) uncompress(buffer, block.decompressedSize);
			}
			
			directory = cast(DirEntry[]) buffer;
		
			// memoryresident data?
			if (block.flags & 4)
			{
				hIn.read(compressed);
				hIn.read(datasize);
				offset = cast(uint)(hIn.position - 8 - block.dirSize - compressed);
			}
	
			// is this the last block?
			if (block.nextBlock >= hIn.size())
				done = true;
			else
				hIn.seekSet(block.nextBlock);
	
/*				if (block.flags & 8) // if files are deleted
			{
				debug listView.addRow([]);
				continue;
			}
*/	
		
		_archive ~= Block(block, offset, compressed, datasize, directory.dup);

	}
}
  D Programming Language - R.I.P. C++

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Hoenir« (28. November 2009, 21:16)


mrboese

Boardsmutje

Beiträge: 994

Registrierungsdatum: 19. Juli 2009

  • Nachricht senden

116

Samstag, 28. November 2009, 21:20

Danke. Mal sehen, ob ich das auf .NET portieren kann (hoffentlich sind die im Explorer structs die gleichen, wie in der Textdatei).

PS: Wie kann man eigentlich Links in der Signatur erstellen - Bei mir funktionieren keine Links :aua:

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »mrboese« (28. November 2009, 21:21)


Hoenir

Vollmatrose

  • »Hoenir« ist der Autor dieses Themas

Beiträge: 114

Registrierungsdatum: 4. Dezember 2006

  • Nachricht senden

117

Samstag, 28. November 2009, 21:27

un hier dann extract:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
/// extract files in the archive
void extract(cstring path)
{
File hIn, hOut;

ubyte[] buffer = new ubyte[10_485_760], data;
int counter = -1; // to count the file index, starts with 0
	chdir(path);

	hIn = new File(_archivename);
	foreach (block; _archive)
	{
		if (block.head.flags & 4) // memoryresident
		{
			hIn.seekSet(block.offset);
			
			if (buffer.length < block.compressed)
				buffer.length = block.compressed;
			hIn.readExact(buffer.ptr, block.compressed);
			
			data = buffer[0 .. block.compressed];
			
			if (block.head.flags & 2)
				decrypt(data);
			if (block.head.flags & 1)
				data = cast(ubyte[]) uncompress(data, block.datasize);
		}
		
		foreach (entry; block.directory)
		{
			counter++;
			
			// if files are marked as deleted
			if (block.head.flags & 8)
				continue;
			
			// create the necessary directories
			uint pos, lastpos;
			auto name = toUTF8(entry.filename);
			while (name[pos] != '\0')
			{
				if (name[pos] == '/')
				{
					if (!exists(name[lastpos .. pos]))
						mkdir(name[lastpos .. pos]);
					chdir(name[lastpos .. pos]);
					lastpos = pos+1;
				}
				
				pos++;
			}
			
			// write out the file
			try
			{
//						writefln(name[lastpos .. pos]);
				hOut = new File(name[lastpos .. pos], FileMode.Out);
				
				if (entry.compressed == 0 && entry.offset == 0)
					continue;
				
				if (block.head.flags & 4) // memoryresident
				{
					hOut.writeExact(data.ptr + entry.offset, entry.filesize);
				}
				else
				{
					if (entry.compressed != 0) // to support empty files
					{
						hIn.seekSet(entry.offset);
						if (buffer.length < entry.compressed)
							buffer.length = entry.compressed;
						
						hIn.readExact(buffer.ptr, entry.compressed);
						
						data = buffer[0 .. entry.compressed]; // create a view into the buffer
						
						if (block.head.flags & 2)
							decrypt(data);
						
						if (block.head.flags & 1)
							data = cast(ubyte[]) uncompress(data, entry.filesize);

						// if we have a savegame, also decompress the save.sww
						if (name[0 .. 8] == "save.sww")
						{
							uint size = *cast(uint *)(data.ptr+4);
//									data = cast(ubyte[]) uncompress(data[8 .. $], size);
						}
						
						hOut.writeExact(data.ptr, data.length);
						
						// free the uncompressed data buffer
						if ((block.head.flags & 1)) // || (name[0 .. 8] == "save.sww"))
							delete data;
					}
				}
			}
			catch(Exception e)
			{
				writefln("Error while writing out file %s: %s", name, e.toString());
			}
			finally
			{
				hOut.close();
				if (entry.timestamp)
					setTimes(name[lastpos .. pos], entry.timestamp);
				chdir(path); // change back to the base folder
			}
			
		} // foreach (entry; block.directory)
		
		// free the memory used by memoryresident data
		if ((block.head.flags & 4) && (block.head.flags & 1))
			delete data;
	} // foreach (block; _archive)
}
  D Programming Language - R.I.P. C++

118

Samstag, 28. November 2009, 21:29

[quote][i]Original von mrboese[/i]


PS: Wie kann man eigentlich Links in der Signatur erstellen - Bei mir funktionieren keine Links :aua:[/quote]

Keine Ahnung ob der Klabbi das ausgeschaltet hat. Schreib mal die URL Tags per Hand davor, wenns nicht geht PN an den Klabautermann

Beispiel:

[URL] http://humor.li [/URL]
  Höflichkeit ist die höchste Form der Verachtung!

Annosiedler

Plankenstürmer

Beiträge: 28

Registrierungsdatum: 24. Juli 2009

  • Nachricht senden

119

Samstag, 12. Dezember 2009, 23:18

Wann gibts hierfür endlich mal ne Lösung? X( X( X(
»Annosiedler« hat folgendes Bild angehängt:
  • Aufzeichnen.jpg

120

Samstag, 12. Dezember 2009, 23:27

@Annosiedler, wenn du hier nur herkommst um an fleißigen Menschen auf solche Art herumzumeckern, dann schmeisse ich dich aus dem Forum!
  Höflichkeit ist die höchste Form der Verachtung!