You must be logged in to post messages.
Please login or register

Mod Design and Discussion
Moderated by Sebastien, John the Late

Hop to:    
loginhomeregisterhelprules
Bottom
Topic Subject: New Unit Creation Tutorial (GeniEd)
« Previous Page  1 2  Next Page »
posted 05-31-06 08:08 AM CT (US)   
New Unit Creation Tutorial by scenario_t_c

  • Red texts are basic steps.
  • Blue texts are actions that should be taken in the showcase example.
In order to prepare for making a whole new unit, you should decompress the game database, read the data and convert them into text with GeniEd first.

1. The first step to create a whole new unit is to select an existing one as a base and get its unit ID. For example, if I choose to duplicate the militia and modify it further to make a whole new unit, I should find its unit ID: 74.

2. Knowing the unit ID, you can open the file "units.txt" (created by the "Convert Data to Text" command in GeniEd) under the "text" folder in "ged_data" directory. Then, you should copy all the lines beginning with "unit_[the unit ID of base unit]_" into "patches.txt". Continuing the above example, these are the lines you have to copy when using militia as the base unit:

unit_74_exists: 1
unit_74_count: 7
unit_74_0_unknown01: 1
unit_74_0_unknown02: 0 0 0 7 0
unit_74_0_unknown03: -1 -1 -1 -1 -1 -1 -1
unit_74_0_unknown04: 0 0
unit_74_0_unknown05: 0
unit_74_0_unknown06: 1
unit_74_0_unknown07: 3
unit_74_0_unknown08: 1 1 1 0 0 0 5 0 0
unit_74_0_graphics: -1 -1 -1 -1 -1 -1
...
unit_74_6_unknown01: 1
unit_74_6_unknown02: 6 0 0 3 0
unit_74_6_unknown03: 13 -1 -1 -1 -1 -1 -1
unit_74_6_unknown04: 0 0
unit_74_6_unknown05: 1
unit_74_6_unknown06: 0
unit_74_6_unknown07: 0
unit_74_6_unknown08: 0 0 0 0 0 0 1 0 0
unit_74_6_graphics: -1 -1 -1 -1 -1 -1
3. Now, you should close "units.txt" and open another file in the "text" folder - "civ0units.txt". In this file, you have to copy another series of text lines again, this time beginning with "civ_0_unit_[the unit ID of base unit]_", to "patches.txt". In this case, the lines you need would be like the following:
civ_0_unit_74_type: 70
civ_0_unit_74_name_length: 6
civ_0_unit_74_id1: 74
civ_0_unit_74_name_language: 5079
civ_0_unit_74_command_language: 6079
civ_0_unit_74_class: 6
civ_0_unit_74_graphic_stand01: 1102
civ_0_unit_74_graphic_stand02: -1
civ_0_unit_74_graphic_die01: 1099
civ_0_unit_74_graphic_die02: -1
...
civ_0_unit_74_attack_missile_duplication_amount01: 1
civ_0_unit_74_attack_missile_duplication_amount02: 1
civ_0_unit_74_attack_missile_duplication_unknown01: 1 1 1
civ_0_unit_74_attack_missile_duplication_unit: -1
civ_0_unit_74_attack_missile_duplication_graphic: -1
civ_0_unit_74_unknown35_12: 0
civ_0_unit_74_displayed_pierce_armour: 1
As you can see, these are also the data about different attributes of the unit, which you should alter in order to create a new unit instead of just a duplication of an old unit. You could either refer to the "Recent Study on AoK:TC Unit Structure in GeniEd" article to learn about how to alter these data, or use GeniEd2 to do this task later.

4. After all those copying tasks, what you should do now is go back to the top of "patches.txt" and replace all "civ_0_" into "civ_*". This will make the lines containing the texts become variable patches.

If you don't want to use variable patches, copy and paste all those lines beginning with "civ_0" for 18 times, while replacing all "civ_0_" in every duplication of them with "civ_1" to "civ_18" by turns.

5. Furthermore, you have to find out what the unit ID of your new unit is. Since there are only 866 units in the default game database, the very first new unit you create should be the 867th one, thus having 866 as its unit ID. Subsequently, you can go back to the top of "patches.txt" again and replace all "_[the unit ID of base unit]_" into "_[the unit ID of new unit]_". In the militia example, this would be replacing all "_74_" into "_866_".

6. Thereafter, here comes something not copying, editing or replacing. You should enter the following lines into "patches.txt":

unit_count: [866 + the number of new unit(s)]
civ_*_unit_count: [866 + the number of new unit(s)]
civ_*_pointer_[the unit ID of new unit 1]: 37822640(or any value greater than 0)
civ_*_pointer_[the unit ID of new unit 2 (if there is one)]: 37822640(or any value greater than 0)
...
If you want to add just one new type of unit, these are the lines you should insert into "patches.txt" (37822640 can be replaced by any value greater than 0):
unit_count: 867
civ_*_unit_count: 867
civ_*_pointer_866: 37822640
If you want to add two new types of unit, these are the lines you should insert into "patches.txt" (37822640 can be replaced by any value greater than 0):
unit_count: 868
civ_*_unit_count: 868
civ_*_pointer_866: 37822640
civ_*_pointer_867: 37822640
... so forth and so on.

7. This is an optional step, and only for creating new unit that could be trained from a building. To achieve this, you need to add new techage slot and new research slot by inserting following lines into "patches.txt":

techage_count: [514 + the number of trainable new unit(s)]
research_count: [460 + the number of trainable new unit(s)]
techage_[513 + the number of trainable new unit 1]_name: CHUN4
techage_[513 + the number of trainable new unit 1]_count: 1
techage_[513 + the number of trainable new unit 1]_0_type: 2
techage_[513 + the number of trainable new unit 1]_0_unit: _[the unit ID of new unit 1]
techage_[513 + the number of trainable new unit 1]_0_class: 1
techage_[513 + the number of trainable new unit 1]_0_attribute: -1
techage_[513 + the number of trainable new unit 1]_0_amount: 0
research_[459 + the number of trainable new unit 1]_required_tech: -1 -1 -1 -1 -1 -1
research_[459 + the number of trainable new unit 1]_cost1_type: -1
research_[459 + the number of trainable new unit 1]_cost1_amount: 0
research_[459 + the number of trainable new unit 1]_cost1_used: 0
research_[459 + the number of trainable new unit 1]_cost2_type: -1
research_[459 + the number of trainable new unit 1]_cost2_amount: 0
research_[459 + the number of trainable new unit 1]_cost2_used: 0
research_[459 + the number of trainable new unit 1]_cost3_type: -1
research_[459 + the number of trainable new unit 1]_cost3_amount: 0
research_[459 + the number of trainable new unit 1]_cost3_used: 0
research_[459 + the number of trainable new unit 1]_required_tech_amount: 0
research_[459 + the number of trainable new unit 1]_civ: -1 0
research_[459 + the number of trainable new unit 1]_location: -1
research_[459 + the number of trainable new unit 1]_description: 7000
research_[459 + the number of trainable new unit 1]_help: 8000
research_[459 + the number of trainable new unit 1]_time: 0
research_[459 + the number of trainable new unit 1]_effect: [513 + the number of trainable new unit 1]
research_[459 + the number of trainable new unit 1]_unknown01: 0
research_[459 + the number of trainable new unit 1]_icon: -1
research_[459 + the number of trainable new unit 1]_button: 0
research_[459 + the number of trainable new unit 1]_pointer: 107000 157000 -1
research_[459 + the number of trainable new unit 1]_name1_length: 0
research_[459 + the number of trainable new unit 1]_name1:
techage_[513 + the number of trainable new unit 2 (if there is one)]_name: CHUN4
...
Proceeded with the above instance, the required lines would be:
techage_count: 515
research_count: 461
techage_514_name: CHUN4
techage_514_count: 1
techage_514_0_type: 2
techage_514_0_unit: 866
techage_514_0_class: 1
techage_514_0_attribute: -1
techage_514_0_amount: 0
research_460_required_tech: -1 -1 -1 -1 -1 -1
research_460_cost1_type: -1
research_460_cost1_amount: 0
research_460_cost1_used: 0
research_460_cost2_type: -1
research_460_cost2_amount: 0
research_460_cost2_used: 0
research_460_cost3_type: -1
research_460_cost3_amount: 0
research_460_cost3_used: 0
research_460_required_tech_amount: 0
research_460_civ: -1 0
research_460_location: -1
research_460_description: 7000
research_460_help: 8000
research_460_time: 0
research_460_effect: 514
research_460_unknown01: 0
research_460_icon: -1
research_460_button: 0
research_460_pointer: 107000 157000 -1
research_460_name1_length: 0
research_460_name1:
You could refer to other articles like "Altering a Techage Slot", "Modifying a Research Slot" and "Adding a Technology" to learn more about editing techage slot and research slot data.

8. The final step would be go back to GeniEd and have the program read the data again, then asking it to create a new genie file using data in "patches.txt".


Member of Tsunami Studios
Scenario T.C.: “Yes, the traitors can’t be terminated.”
Richard Ames: “Scenario_t_c should take care of them in a succinct but humorous fashion.”
Don Jorge de Leon: “Ave Trisolo! Vive Trisolo!”

[This message has been edited by scenario_t_c (edited 06-08-2006 @ 04:16 PM).]

Replies:
posted 05-31-06 11:34 AM CT (US)     1 / 48  

Quote:

have the program read the data again


you only need to read the data once to create a new genie

Quote:

go back to the top of "patches.txt" and replace all "civ_0_" into "civ_*"


I advise not using variable patches, GeniEd takes half an hour or longer to create the genie when variables are used.

JOAB ()
posted 05-31-06 10:25 PM CT (US)     2 / 48  

Quote:

I advise not using variable patches, GeniEd takes half an hour or longer to create the genie when variables are used.

I don't know that would take such a long time. I would add the good old method later.

Quote:

you only need to read the data once to create a new genie

I assume people would have closed the program in-between the process.


Member of Tsunami Studios
Scenario T.C.: “Yes, the traitors can’t be terminated.”
Richard Ames: “Scenario_t_c should take care of them in a succinct but humorous fashion.”
Don Jorge de Leon: “Ave Trisolo! Vive Trisolo!”
posted 06-01-06 00:12 AM CT (US)     3 / 48  
Can we add new icons and graphic slots?
posted 06-01-06 00:24 AM CT (US)     4 / 48  

Quote:

Can we add new icons and graphic slots?


no and yes, GeniEd can't add new icon's, but it can add new graphic slots, to add new icon's you need to add another frame to the icon .slp

JOAB ()
posted 06-01-06 01:34 AM CT (US)     5 / 48  
Can you change the number of frames in an .slp somehow?

Blah!
posted 06-01-06 06:14 AM CT (US)     6 / 48  
Can you change the number of frames in an .slp somehow?


Yes. But not with any of the geniedits. You need to hex edit.

Oliver wrote an article about how to do it.

Would be nice if there was a program with a gui to do it though.

posted 06-01-06 08:02 AM CT (US)     7 / 48  
Oliver's article was about editing how many frames a graphic slot would load (which genied can also do), not how many frames a slp file contain.

I believe there was an old program capable of doing so, but I don't seem to recall its name.


Member of Tsunami Studios
Scenario T.C.: “Yes, the traitors can’t be terminated.”
Richard Ames: “Scenario_t_c should take care of them in a succinct but humorous fashion.”
Don Jorge de Leon: “Ave Trisolo! Vive Trisolo!”

[This message has been edited by scenario_t_c (edited 06-01-2006 @ 08:03 AM).]

posted 06-01-06 08:54 AM CT (US)     8 / 48  

"Oliver's article was about editing how many frames a graphic slot would load (which genied can also do), not how many frames a slp file contain."

So, that means it could only reduce the amount of frames, not add to them?

For example, a samurai has 50 attacking frames. If I use Olivers method, and change that to 24 frames, then the hex edit makes the game disregard the other 26 frames?

So, I couldn't use Olivers hex edit to give the samurai 60 attacking frames, because that would exceed the amount of frames in the .slp right?

Which version of geniedit will let me change the amount of frames?

"I believe there was an old program capable of doing so, but I don't seem to recall its name."

That means it can be done. If you remember, please let me know.

"GeniEd can't add new icon's, but it can add new graphic slots..."

I've asked this before but with the new genied, I think its ok to ask again.

So, if new graphic slots can be made, can they be used?

For example, if I make, new graphic slot number 999, 1000, 1001, 1002, 1003, will they be blank in mod pack studio so I can add graphics for a new unit?

999 could be attacking graphics
1000 standing
1001 walking
1002 dieing
1003 decaying

How would I set the total amount of frames per slot?

Can new buildings, with new functions be added?

I.e.

Hero center
- A building that you can research, once the research is done, you can build it and buy hero's. Hero's who are buildable from the building.

[This message has been edited by qaz123tfg (edited 06-01-2006 @ 08:55 AM).]

posted 06-01-06 09:55 AM CT (US)     9 / 48  
A slp file is not equal to a graphic slot. Hex-editing, Genied-ing or any other method modifying the *.DAT could only edit the graphic slot. The so-called "frame number" of a graphic slot is "displayed frame(s) per direction", therefore the total amount of frame(s) per slot should be: frame number * direction number.

Meanwhile, editing the *.DAT would display no changes in AoK Modpack Studio, so adding a graphic slot won't create a new empty *.SLP, adding a sound slot won't create a new empty *.WAV.

AoMED can add new *.SLP to *.DRS file, but I still could not remember how to alter the frame number of a *.SLP.

Enabling more unit to be created from building (including new one) is possible, as the top tutorial suggested.


Member of Tsunami Studios
Scenario T.C.: “Yes, the traitors can’t be terminated.”
Richard Ames: “Scenario_t_c should take care of them in a succinct but humorous fashion.”
Don Jorge de Leon: “Ave Trisolo! Vive Trisolo!”

[This message has been edited by scenario_t_c (edited 06-01-2006 @ 09:56 AM).]

posted 06-01-06 12:12 PM CT (US)     10 / 48  

Quote:

how to alter the frame number of a *.SLP.


the mod editor for SWGB can add new frames to a .slp, but I'm not sure if the pallette will be AoK's or SWGB's

JOAB ()
posted 06-01-06 10:51 PM CT (US)     11 / 48  
@ t_c:

Ever considered adding this into GenieWiki?

posted 06-01-06 11:16 PM CT (US)     12 / 48  
If you can add frames to an .slp, you can add icons. The icons .slp is 50730, and each frame holds one icon for the game. If you can add more frames, theoretically, you can add more icons.

Blah!
posted 06-03-06 08:34 AM CT (US)     13 / 48  
I've gone through all the tutorial steps, but the new unit isn't available in the editor. Is there something I've done wrong or is this normal or do I need to do something else?

The problem seems to be the new unit has the same ID number as the one it was copied from, which lines deal with this?, I'll re-check those.

If it's helpful, I'm trying to copy the siege ram to civ12.

[This message has been edited by Julius999 (edited 06-03-2006 @ 09:00 AM).]

posted 06-03-06 11:53 AM CT (US)     14 / 48  
Remember to modify the unit data, such as the id1, id2 and id3.

Member of Tsunami Studios
Scenario T.C.: “Yes, the traitors can’t be terminated.”
Richard Ames: “Scenario_t_c should take care of them in a succinct but humorous fashion.”
Don Jorge de Leon: “Ave Trisolo! Vive Trisolo!”
posted 06-03-06 01:30 PM CT (US)     15 / 48  
I think I've done that, but I've run out of ideas of how to fix it, here's the writing in Patches.txt about ID:


unit_866_exists: 1
unit_866_count: 5

Then there's all the unit data things, all ID numbers (548) changed to 866

unit_count: 867
civ_12_unit_count: 867
civ_12_pointer_866: 1

Are there any obvious mistakes there?

After the program creates the new file I change the name to the old .dat file and put it in the DATA folder of AOK.

One other question, if this ever does work and I put the unit in a file, will other people be able to see/use it?

posted 06-08-06 01:54 AM CT (US)     16 / 48  
Julius, If you are copying a unit from another civ, you need to look at this....

civ_19_unit_6_selection_mask: 1
civ_19_unit_6_unknown02_13c: 5
civ_19_unit_6_selection_shape: 2
civ_19_unit_6_unit_attribute: 0
civ_19_unit_6_civilization: 0

The last line is which civ it will appear for in the scenario editor. 0=all, or 1-18 for non-gaia civs. Hope this helps.


SI's Mod Patch Generator Civ*unit Guide How to add new graphics Exploring the civ header Units.txt guide How to add a new unit

"At last we will reveal ourselves to the Jedi, at last we will have revenge!" Darth Maul.
"All to easy!" Darth Vader.
"Wipe them out, all of them!" Darth Sidious.

posted 06-08-06 02:13 AM CT (US)     17 / 48  
@Julius999

Can you place all the codes in patches.txt for us so that we can find the problem easier?

@SI

For some reason, civilization slot is not used in AoK:TC.


Member of Tsunami Studios
Scenario T.C.: “Yes, the traitors can’t be terminated.”
Richard Ames: “Scenario_t_c should take care of them in a succinct but humorous fashion.”
Don Jorge de Leon: “Ave Trisolo! Vive Trisolo!”
posted 06-08-06 11:51 AM CT (US)     18 / 48  
Sidious Invader2, that might be it, thanks for the help.

scenario_t_c, hope this is what you meant...

(apologies for the ridiculous length)

unit_866_exists: 1
unit_866_count: 5
unit_866_0_unknown01: 1
unit_866_0_unknown02: 0 0 0 7 0
unit_866_0_unknown03: -1 -1 -1 -1 -1 -1 -1
unit_866_0_unknown04: 0 0
unit_866_0_unknown05: 0
unit_866_0_unknown06: 1
unit_866_0_unknown07: 3
unit_866_0_unknown08: 1 1 1 0 0 0 5 0 0
unit_866_0_graphics: -1 -1 -1 -1 -1 -1
unit_866_1_unknown01: 1
unit_866_1_unknown02: 1 0 0 3 0
unit_866_1_unknown03: 20 -1 -1 -1 -1 -1 -1
unit_866_1_unknown04: 0 0
unit_866_1_unknown05: 1
unit_866_1_unknown06: 0
unit_866_1_unknown07: 0
unit_866_1_unknown08: 0 0 0 0 0 0 4 0 0
unit_866_1_graphics: -1 -1 -1 -1 -1 -1
unit_866_2_unknown01: 1
unit_866_2_unknown02: 2 0 0 109 0
unit_866_2_unknown03: -1 -1 -1 -1 -1 -1 -1
unit_866_2_unknown04: 0 0
unit_866_2_unknown05: 0
unit_866_2_unknown06: 1
unit_866_2_unknown07: 3
unit_866_2_unknown08: 0 0 0 0 0 0 0 0 0
unit_866_2_graphics: -1 -1 -1 -1 -1 -1
unit_866_3_unknown01: 1
unit_866_3_unknown02: 3 0 0 13 0
unit_866_3_unknown03: -1 -1 -1 -1 -1 -1 -1
unit_866_3_unknown04: 0 0
unit_866_3_unknown05: 0
unit_866_3_unknown06: 0
unit_866_3_unknown07: 0
unit_866_3_unknown08: 0 0 0 0 0 0 4 0 0
unit_866_3_graphics: -1 -1 -1 -1 -1 -1
unit_866_4_unknown01: 1
unit_866_4_unknown02: 4 0 0 3 0
unit_866_4_unknown03: 3 -1 -1 -1 -1 -1 -1
unit_866_4_unknown04: 0 0
unit_866_4_unknown05: 1
unit_866_4_unknown06: 0
unit_866_4_unknown07: 0
unit_866_4_unknown08: 0 0 0 0 0 0 4 0 0
unit_866_4_graphics: -1 -1 -1 -1 -1 -1
civ_12_unit_866_type: 70
civ_12_unit_866_name_length: 6
civ_12_unit_866_id1: 548
civ_12_unit_866_name_language: 5446
civ_12_unit_866_command_language: 6446
civ_12_unit_866_class: 13
civ_12_unit_866_graphic_stand01: 2831
civ_12_unit_866_graphic_stand02: -1
civ_12_unit_866_graphic_die01: 2828
civ_12_unit_866_graphic_die02: -1
civ_12_unit_866_death_mode: 0
civ_12_unit_866_hit_points: 270
civ_12_unit_866_line_of_sight: 3
civ_12_unit_866_garrison_amount: 6
civ_12_unit_866_size_radius: 0.45 0.45
civ_12_unit_866_hp_bar_height01: 2
civ_12_unit_866_sound_train01: 337
civ_12_unit_866_sound_train02: -1
civ_12_unit_866_dead_unit: 549
civ_12_unit_866_placement_mode: 5
civ_12_unit_866_air_mode: 0
civ_12_unit_866_icon: 73
civ_12_unit_866_hide_in_editor_mode: 0
civ_12_unit_866_unknown02_07: -1 0
civ_12_unit_866_placement_bypass_terrain: -1 -1
civ_12_unit_866_placement_terrain: -1 -1
civ_12_unit_866_editor_radius: 0.45 0.45
civ_12_unit_866_unknown02_09_01: 0
civ_12_unit_866_visible_in_fog_mode: 0
civ_12_unit_866_movement_type: 20
civ_12_unit_866_fly_mode: 0
civ_12_unit_866_resource_carriage01: 0
civ_12_unit_866_resource_carriage02: 10
civ_12_unit_866_unknown02_11: 3 4
civ_12_unit_866_player_interaction_mode: 4
civ_12_unit_866_visible_in_minimap_mode: 1
civ_12_unit_866_command_attribute: 4
civ_12_unit_866_unknown02_12: 1
civ_12_unit_866_unknown02_13a: 0
civ_12_unit_866_help_language: -25626
civ_12_unit_866_hotkey: 1 24374 2 16446
civ_12_unit_866_unknown02_13b: 0 0 0 0 0 0
civ_12_unit_866_selection_mask: 1
civ_12_unit_866_unknown02_13c: 5
civ_12_unit_866_selection_shape: 2
civ_12_unit_866_unit_attribute: 1
civ_12_unit_866_civilization: 12
civ_12_unit_866_unknown02_13d: 0 0
civ_12_unit_866_selection_effect: 0
civ_12_unit_866_unknown02_13e: 0
civ_12_unit_866_selection_radius: 0.8 0.8
civ_12_unit_866_hp_bar_height02: 2
civ_12_unit_866_store_resource1_type: 4
civ_12_unit_866_store_resource1_amount: -1
civ_12_unit_866_store_resource1_unknown: 2
civ_12_unit_866_store_resource2_type: 11
civ_12_unit_866_store_resource2_amount: 1
civ_12_unit_866_store_resource2_unknown: 2
civ_12_unit_866_store_resource3_type: 19
civ_12_unit_866_store_resource3_amount: 1
civ_12_unit_866_store_resource3_unknown: 1
civ_12_unit_866_graphic_damage_length01: 0
civ_12_unit_866_graphic_damage:
civ_12_unit_866_sound_select01: 420
civ_12_unit_866_sound_select02: -1
civ_12_unit_866_unknown05: 0
civ_12_unit_866_name: SGRAM
civ_12_unit_866_id2: 548
civ_12_unit_866_id3: 548
civ_12_unit_866_speed: 0.6
civ_12_unit_866_graphic_walk01: 2835
civ_12_unit_866_graphic_walk02: -1
civ_12_unit_866_unknown19_02: 0
civ_12_unit_866_unknown19_03: 0
civ_12_unit_866_track_unit: -1
civ_12_unit_866_track_unit_unknown01: 0
civ_12_unit_866_track_unit_unknown02: 0
civ_12_unit_866_track_unit_unknown03: 0
civ_12_unit_866_unknown19_07: 0 -1 -1 127 127 -1 -1 127 127
civ_12_unit_866_unknown19_08: 0
civ_12_unit_866_unknown19_09: -1 -1 127 127
civ_12_unit_866_unknown20: -1
civ_12_unit_866_search_radius: 3
civ_12_unit_866_work_rate: 1
civ_12_unit_866_unknown22: -1 -1 -1 -1
civ_12_unit_866_villager_mode: 0
civ_12_unit_866_sound_move: 422
civ_12_unit_866_sound_stop: 421
civ_12_unit_866_unknown24: 0
civ_12_unit_866_unknown25: 1000
civ_12_unit_866_attack_numtypes: 3
civ_12_unit_866_attack_data: 11 200 4 4 20 65
civ_12_unit_866_armour_numtypes: 4
civ_12_unit_866_armour_data: 4 -3 3 195 17 2 20 0
civ_12_unit_866_unknown28: -1
civ_12_unit_866_attack_maximum_range: 0
civ_12_unit_866_attack_blast_radius: 2
civ_12_unit_866_attack_reload_time01: 5
civ_12_unit_866_attack_missile_unit: -1
civ_12_unit_866_attack_accuracy_percent: 100
civ_12_unit_866_unknown32_03: 0
civ_12_unit_866_attack_missile_graphic_delay: 0
civ_12_unit_866_attack_missile_displacement: 0 0 0
civ_12_unit_866_unknown32_05: 2
civ_12_unit_866_attack_minimum_range: 0
civ_12_unit_866_garrison_recovery_rate: 0
civ_12_unit_866_graphic_attack: 2825
civ_12_unit_866_displayed_melee_armour: 0
civ_12_unit_866_displayed_attack: 4
civ_12_unit_866_displayed_attack_range: 0
civ_12_unit_866_attack_reload02: 5
civ_12_unit_866_cost1_type: 1
civ_12_unit_866_cost1_amount: 160
civ_12_unit_866_cost1_unknown: 1
civ_12_unit_866_cost2_type: 3
civ_12_unit_866_cost2_amount: 75
civ_12_unit_866_cost2_unknown: 1
civ_12_unit_866_cost3_type: 4
civ_12_unit_866_cost3_amount: 1
civ_12_unit_866_cost3_unknown: 0
civ_12_unit_866_train_time: -1
civ_12_unit_866_train_unit: -1
civ_12_unit_866_train_button: -1
civ_12_unit_866_unknown35_05: 0 0
civ_12_unit_866_unknown35_06: 2
civ_12_unit_866_hero_mode: 0
civ_12_unit_866_graphic_garrison01: 6438
civ_12_unit_866_graphic_garrison02: 0
civ_12_unit_866_attack_missile_duplication_amount01: 1
civ_12_unit_866_attack_missile_duplication_amount02: 1
civ_12_unit_866_attack_missile_duplication_unknown01: 1 1 1
civ_12_unit_866_attack_missile_duplication_unit: -1
civ_12_unit_866_attack_missile_duplication_graphic: -1
civ_12_unit_866_unknown35_12: 0
civ_12_unit_866_displayed_pierce_armour: 195
unit_count: 867
civ_12_unit_count: 867
civ_12_pointer_866: 1

[This message has been edited by Julius999 (edited 06-08-2006 @ 01:13 PM).]

posted 06-08-06 12:15 PM CT (US)     19 / 48  
you need the civ_*_pointer for all civs even if you're new unit is only for one civ, and you need the civ_*_unit_count for all civs.

JOAB ()
posted 06-08-06 12:55 PM CT (US)     20 / 48  
I liked the fact that my previous post was completely disregarded.

Once again:

@ t_c: would you be interested in having this added into GenieWiki?

posted 06-08-06 01:01 PM CT (US)     21 / 48  
MasterJoab, you do??!!

I'll try it out...

Great, problem sorted, thanks for all the help!

Now I can create super-rams

Oh, another question, is it possible to add trample damage?


1010011010
[ All_That_Glitters | Pretty_Town_Contest | Other_AoK_Designs | AoE_Designs ]
Member of Stormwind Studios

[This message has been edited by Julius999 (edited 06-09-2006 @ 06:09 PM).]

posted 06-08-06 04:10 PM CT (US)     22 / 48  
I'm really sorry, Cesar. I think I will add them to the wiki later.

Trample Damage is done with positive blast radius.


Member of Tsunami Studios
Scenario T.C.: “Yes, the traitors can’t be terminated.”
Richard Ames: “Scenario_t_c should take care of them in a succinct but humorous fashion.”
Don Jorge de Leon: “Ave Trisolo! Vive Trisolo!”

[This message has been edited by scenario_t_c (edited 06-08-2006 @ 04:11 PM).]

posted 06-10-06 05:24 PM CT (US)     23 / 48  
Two more questions, hopefully the last time I will irritate you.

1) Is there a way of finding out the civ numbers?

2) How do you distribute the new units? Include .dat files, or is there a better way?

Thanks in advance


1010011010
[ All_That_Glitters | Pretty_Town_Contest | Other_AoK_Designs | AoE_Designs ]
Member of Stormwind Studios
posted 06-10-06 06:39 PM CT (US)     24 / 48  
After learning how to add new units to AoM/TT for the past month or so (though I still struggle with making animations), I would love to be able to add new units/builbings to AoK. I also read through qaz123tfg's articals on frame/amination editing for AoK and found them very helpful, but this artical was a lot more confusing to me.

Scenario_t_c, (or anyone else for that matter) do you think you could create, or atleast refer me to, a good artical on creating a new unit like the one here, one that's specifically designed for begginers? Also, links to any programs that I will need in order to mod units/techs/buildings, etc. (a hex editor possibly?) I know that's a lot of questions, but any answers would be helpful.

[This message has been edited by Magnum Pi (edited 06-10-2006 @ 06:41 PM).]

posted 06-11-06 07:58 AM CT (US)     25 / 48  
@Julius999

1. Civ numbers are the order of civilization in GeniED2.

2. Legal ways are icluding a *.dat file or creating a install program (preferrably with database-auto-backup function).

@Magnum Pi


The program you need for this tutorial is GeniED1 (AoK-TC version).

http://aok.heavengames.com/cgi-bin/aokcgi/display.cgi?action­=ct&f=9,36392,0,365

I am afraid that, until now, the only tutorial for creating new units in AoK is this one.


Member of Tsunami Studios
Scenario T.C.: “Yes, the traitors can’t be terminated.”
Richard Ames: “Scenario_t_c should take care of them in a succinct but humorous fashion.”
Don Jorge de Leon: “Ave Trisolo! Vive Trisolo!”
posted 06-11-06 08:36 AM CT (US)     26 / 48  
Thanks again scenario_t_c!

("Legal ways", there are illegal ones? I don't want them, I just wonder...)

Magnum Pi, it isn't actually that hard, with GeniEd1 the steps make perfect sense, the only reason I failed originally was that I overlooked something blindingly obvious that I should have changed.

I would recommend when it comes to copying data for each civ copying civ0 stuff into a separate file, using the replace tool and then copy it back to patches.txt, for each civ.


1010011010
[ All_That_Glitters | Pretty_Town_Contest | Other_AoK_Designs | AoE_Designs ]
Member of Stormwind Studios
posted 06-11-06 06:50 PM CT (US)     27 / 48  
Thanks t_c, that clarified a little. But I still have a problem, tthat Genied1-TC (in the thread) is a .rar file. Grr. My computer doesn't recognize it and is not able to open/use it. What program do I need to open/use it and how do I open/use it?

Also, is that (refering to GeniEd1) the same program that can open and edit technologies, similar to what it does to units? (If not, where can I get the technology editing/creating program?)

posted 06-12-06 02:58 AM CT (US)     28 / 48  
@Magnum Pi

GE1 technically can edit everything (except adding a civilization), and qaz123tfg's last reply in that thread has suggested a program to extract the file.


Member of Tsunami Studios
Scenario T.C.: “Yes, the traitors can’t be terminated.”
Richard Ames: “Scenario_t_c should take care of them in a succinct but humorous fashion.”
Don Jorge de Leon: “Ave Trisolo! Vive Trisolo!”
posted 06-14-06 10:57 AM CT (US)     29 / 48  
Thanks, tc. I was able to get the genied.exe out and I can use it now. The only problem is:

Quote:

In order to prepare for making a whole new unit, you should decompress the game database, read the data and convert them into text with GeniEd first.

How do I do this? I did notice the several options on the black, main window and one of them said "decompress" but I'm not sure what you mean by "game database" (is it the empires2_x1.dat file?). Because when I compressed that one of the things it said was "saving to disk," I didn't have any removable disk drives in use. What does it mean?

Edit: Never mind I got this to work. Your tutorial was very helpful, but genied doesn't seem to be excepting my new unit (building more like). I only tried to add one new unit, and the base unit was a farm, I also did not yet get into tech-editing so as to enable it. I hate make a very long post but here is exactlywhat is in my patches.txt:


# See GeniEd's Help section for information on how to use this file
unit_count: 867
civ_*_unit_count: 867
civ_*_pointer_866: 37822640
unit_866_exists: 1
unit_866_count: 2
unit_866_0_unknown01: 1
unit_866_0_unknown02: 0 0 1 21 0
unit_866_0_unknown03: -1 -1 -1 16 -1 -1 -1
unit_866_0_unknown04: 1 0
unit_866_0_unknown05: 0
unit_866_0_unknown06: 0
unit_866_0_unknown07: 0
unit_866_0_unknown08: 0 0 0 0 0 0 0 0 0
unit_866_0_graphics: -1 -1 -1 -1 -1 -1
unit_866_1_unknown01: 1
unit_866_1_unknown02: 1 0 0 121 0
unit_866_1_unknown03: -1 -1 -1 16 -1 -1 -1
unit_866_1_unknown04: 1 0
unit_866_1_unknown05: 0
unit_866_1_unknown06: 0
unit_866_1_unknown07: 0
unit_866_1_unknown08: 0 0 0 0 0 0 0 0 0
unit_866_1_graphics: -1 -1 -1 -1 -1 -1
civ_*_unit_866_type: 80
civ_*_unit_866_name_length: 5
civ_*_unit_866_id1: 50
civ_*_unit_866_name_language: 5149
civ_*_unit_866_command_language: 6149
civ_*_unit_866_class: 49
civ_*_unit_866_graphic_stand01: 255
civ_*_unit_866_graphic_stand02: -1
civ_*_unit_866_graphic_die01: -1
civ_*_unit_866_graphic_die02: -1
civ_*_unit_866_death_mode: 0
civ_*_unit_866_hit_points: 480
civ_*_unit_866_line_of_sight: 1
civ_*_unit_866_garrison_amount: 0
civ_*_unit_866_size_radius: 1.5 1.5
civ_*_unit_866_hp_bar_height01: 0
civ_*_unit_866_sound_train01: -1
civ_*_unit_866_sound_train02: -1
civ_*_unit_866_dead_unit: 357
civ_*_unit_866_placement_mode: 5
civ_*_unit_866_air_mode: 0
civ_*_unit_866_icon: 35
civ_*_unit_866_hide_in_editor_mode: 0
civ_*_unit_866_unknown02_07: -1 0
civ_*_unit_866_placement_bypass_terrain: -1 -1
civ_*_unit_866_placement_terrain: -1 -1
civ_*_unit_866_editor_radius: 1.5 1.5
civ_*_unit_866_unknown02_09_01: 0
civ_*_unit_866_visible_in_fog_mode: 0
civ_*_unit_866_movement_type: 4
civ_*_unit_866_fly_mode: 0
civ_*_unit_866_resource_carriage01: 15
civ_*_unit_866_resource_carriage02: 10000
civ_*_unit_866_unknown02_11: 3 2
civ_*_unit_866_player_interaction_mode: 3
civ_*_unit_866_visible_in_minimap_mode: 0
civ_*_unit_866_command_attribute: 2
civ_*_unit_866_unknown02_12: 1
civ_*_unit_866_unknown02_13a: 0
civ_*_unit_866_help_language: -25923
civ_*_unit_866_hotkey: 1 24077 2 16149
civ_*_unit_866_unknown02_13b: 0 0 0 0 0 0
civ_*_unit_866_selection_mask: 0
civ_*_unit_866_unknown02_13c: 0
civ_*_unit_866_selection_shape: 0
civ_*_unit_866_unit_attribute: 0
civ_*_unit_866_civilization: 0
civ_*_unit_866_unknown02_13d: 0 0
civ_*_unit_866_selection_effect: 1
civ_*_unit_866_unknown02_13e: -16
civ_*_unit_866_selection_radius: 1.5 1.5
civ_*_unit_866_hp_bar_height02: 0
civ_*_unit_866_store_resource1_type: 0
civ_*_unit_866_store_resource1_amount: 15
civ_*_unit_866_store_resource1_unknown: 0
civ_*_unit_866_store_resource2_type: -1
civ_*_unit_866_store_resource2_amount: 0
civ_*_unit_866_store_resource2_unknown: 0
civ_*_unit_866_store_resource3_type: -1
civ_*_unit_866_store_resource3_amount: 0
civ_*_unit_866_store_resource3_unknown: 0
civ_*_unit_866_graphic_damage_length01: 3
civ_*_unit_866_graphic_damage: 234 20 25 0 0 235 20 50 0 0 236 20 75 0 0
civ_*_unit_866_sound_select01: 416
civ_*_unit_866_sound_select02: -1
civ_*_unit_866_unknown05: 0
civ_*_unit_866_name: FARM
civ_*_unit_866_id2: 50
civ_*_unit_866_id3: 50
civ_*_unit_866_speed: 0
civ_*_unit_866_graphic_walk01: -1
civ_*_unit_866_graphic_walk02: -1
civ_*_unit_866_unknown19_02: 0
civ_*_unit_866_unknown19_03: 0
civ_*_unit_866_track_unit: -1
civ_*_unit_866_track_unit_unknown01: 0
civ_*_unit_866_track_unit_unknown02: 0
civ_*_unit_866_track_unit_unknown03: 0
civ_*_unit_866_unknown19_07: 0 -1 -1 127 127 -1 -1 127 127
civ_*_unit_866_unknown19_08: 0
civ_*_unit_866_unknown19_09: -1 -1 127 127
civ_*_unit_866_unknown20: 0
civ_*_unit_866_search_radius: 1
civ_*_unit_866_work_rate: 0.4
civ_*_unit_866_unknown22: -1 -1 -1 -1
civ_*_unit_866_villager_mode: 0
civ_*_unit_866_sound_move: -1
civ_*_unit_866_sound_stop: -1
civ_*_unit_866_unknown24: 0
civ_*_unit_866_unknown25: 1000
civ_*_unit_866_attack_numtypes: 0
civ_*_unit_866_attack_data:
civ_*_unit_866_armour_numtypes: 4
civ_*_unit_866_armour_data: 21 0 11 0 4 0 3 0
civ_*_unit_866_unknown29_01: 4
civ_*_unit_866_attack_maximum_range: 0
civ_*_unit_866_attack_blast_radius: 0
civ_*_unit_866_attack_reload_time01: 0
civ_*_unit_866_attack_missile_unit: -1
civ_*_unit_866_attack_accuracy_percent: 0
civ_*_unit_866_unknown33_01: 0
civ_*_unit_866_attack_missile_graphic_delay: 0
civ_*_unit_866_attack_missile_displacement: 0 0 0
civ_*_unit_866_unknown33_03: 0
civ_*_unit_866_attack_minimum_range: 0
civ_*_unit_866_garrison_recovery_rate: 0
civ_*_unit_866_graphic_attack: -1
civ_*_unit_866_displayed_melee_armour: 0
civ_*_unit_866_displayed_attack: 0
civ_*_unit_866_displayed_attack_range: 0
civ_*_unit_866_attack_reload02: 0
civ_*_unit_866_cost1_type: 1
civ_*_unit_866_cost1_amount: 60
civ_*_unit_866_cost1_unknown: 1
civ_*_unit_866_cost2_type: -1
civ_*_unit_866_cost2_amount: 0
civ_*_unit_866_cost2_unknown: 0
civ_*_unit_866_cost3_type: -1
civ_*_unit_866_cost3_amount: 0
civ_*_unit_866_cost3_unknown: 0
civ_*_unit_866_train_time: 15
civ_*_unit_866_train_unit: 118
civ_*_unit_866_train_button: 6
civ_*_unit_866_unknown33_10: 0 0
civ_*_unit_866_unknown33_11: 0
civ_*_unit_866_hero_mode: 0
civ_*_unit_866_graphic_garrison01: -1
civ_*_unit_866_graphic_garrison02: -1
civ_*_unit_866_attack_missile_duplication_amount01: 0
civ_*_unit_866_attack_missile_duplication_amount02: 0
civ_*_unit_866_attack_missile_duplication_unknown01: 0 0 0
civ_*_unit_866_attack_missile_duplication_unit: -1
civ_*_unit_866_attack_missile_duplication_graphic: -1
civ_*_unit_866_unknown33_17: 0
civ_*_unit_866_displayed_pierce_armour: 0
civ_*_unit_866_graphic_construction: -1
civ_*_unit_866_graphic_snow: -1
civ_*_unit_866_unknown34_01: 0
civ_*_unit_866_unknown34_02: 0
civ_*_unit_866_stack_unit: -1
civ_*_unit_866_terrain: 7
civ_*_unit_866_unknown36_01: -1
civ_*_unit_866_research: 109
civ_*_unit_866_unknown36_02: 0
civ_*_unit_866_annex_unit_01: -1
civ_*_unit_866_annex_unit_01_misplacement: 0 0
civ_*_unit_866_annex_unit_02: -1
civ_*_unit_866_annex_unit_02_misplacement: 0 0
civ_*_unit_866_annex_unit_03: -1
civ_*_unit_866_annex_unit_03_misplacement: 0 0
civ_*_unit_866_annex_unit_04: -1
civ_*_unit_866_annex_unit_04_misplacement: 0 0
civ_*_unit_866_head_unit: -1
civ_*_unit_866_transform_unit: -1
civ_*_unit_866_unknown36_11b: -1
civ_*_unit_866_sound_construction: 416
civ_*_unit_866_garrison_type: 0
civ_*_unit_866_garrison_healing_rate: 0
civ_*_unit_866_unknown36_14: 0
civ_*_unit_866_unknown36_15: -1
civ_*_unit_866_unknown36_16: 0 0 0 0 0 0

That seems right to me, but when I tell genied to read the data file or to create a new genied file, before I can do anything else it starts to read exactly the same empires2_x1.dat that it read before. In the case of creating a new genied file, it says "error opening patches(.txt)" or something to that extent. What am I doing wrong?

[This message has been edited by Magnum Pi (edited 06-14-2006 @ 12:04 PM).]

posted 06-15-06 04:20 PM CT (US)     30 / 48  
How can I enable the Berserker and the Elite Berserker for the Franks ? How can I enable the Mangudai and Elite Mangudai for the Huns ? Thanx for the wonderfull tool !

Admiral_Loki

posted 06-16-06 07:18 AM CT (US)     31 / 48  

Quote:

In the case of creating a new genied file, it says "error opening patches(.txt)" or something to that extent. What am I doing wrong?

I haven't confronted such situation before. It could be you have accidentally entered some illegal characters into patches.txt. BTW, I hope that you hadn't closed the program between reading data (even though it's the same set of data) and creating new file.

Quote:

How can I enable the Berserker and the Elite Berserker for the Franks ? How can I enable the Mangudai and Elite Mangudai for the Huns ? Thanx for the wonderfull tool !

Dupliciate research 398 (Elite Berserk), 399 (Berserk), 273 (Mangudai), 371 (Elite Mangudai) and give them new IDs as well as new civilization setting. Aferwards, change the training locations and button slots for the units of specific civilization.


Member of Tsunami Studios
Scenario T.C.: “Yes, the traitors can’t be terminated.”
Richard Ames: “Scenario_t_c should take care of them in a succinct but humorous fashion.”
Don Jorge de Leon: “Ave Trisolo! Vive Trisolo!”

[This message has been edited by scenario_t_c (edited 06-16-2006 @ 07:20 AM).]

posted 06-17-06 08:43 AM CT (US)     32 / 48  
Hey i saw 2 units in this site by info/units/unsorted called heavy swordsman (looks like a strong man-at-arms) and the twohanded swordsman (looks like a mix between the longbowman and the twohanded swordsman. Can anyone create a modpack replacing the twohanded swordsman with the unsorted one and the heavy swordsman with an huskarl (because the discription says his armor is good vs arrows)??
posted 06-17-06 09:32 AM CT (US)     33 / 48  
What you're requesting is a graphic modpack, while my tutorial is aimed at altering the database to create new units.

You could refer to qaz123tfg's guide to learn how to create a graphic modpack, or Master Joab's guide to learn how to add new graphics into the game.

Quote:

They are just graphic files of beta form of some units. Only ES staff may have the whole set of those graphics.
"Unsorted units" is just a term used for sorting graphic files on this site and has nothing to do with the game directly.

BTW, you should not ask the same question in both Scenario Design and Modpack Discussion boards.


Member of Tsunami Studios
Scenario T.C.: “Yes, the traitors can’t be terminated.”
Richard Ames: “Scenario_t_c should take care of them in a succinct but humorous fashion.”
Don Jorge de Leon: “Ave Trisolo! Vive Trisolo!”
posted 06-17-06 11:30 AM CT (US)     34 / 48  
I'll try running through the tutorial again. I may have exited out of the window before hand, I don't really remember. Now my problem is that I cannot seem to tell genied to create new genie data which adds the info I put in patches.txt. Once it starts reading, whatever it's reading (I'm pretty sure its the original empires2_x1.dat, but not totally) it reaches up to civ2 before it just exits.

Edit: Just reinstalled genied and the exiting problemis gone, that's good. But it still does not add my new unit. Once it says "done" when I told it to create new genie data, I open Genied2 in order to modify my unit, expecting to see 2 "farm" units, one with ID 50, the normal farm, and the second with ID 866, my new farm. But all I get is the ID 50 one.

Also, in the highyl unlikely event that I acually get my new unit to work and move on to technology editing, how does 16-bit numbering work. I think I know binary code, but I don't understand that 16-bit stuff.

[This message has been edited by Magnum Pi (edited 06-19-2006 @ 05:42 PM).]

posted 06-18-06 12:28 PM CT (US)     35 / 48  
After I've added new units, and want to add some more, do I have to keep the original information in patches.txt as well? Is it possible to clean out patches.txt without losing your changes?

Another question, is there way of getting rid of the outline that you see around units when they go behind objects or buildings?


1010011010
[ All_That_Glitters | Pretty_Town_Contest | Other_AoK_Designs | AoE_Designs ]
Member of Stormwind Studios

[This message has been edited by Julius999 (edited 06-19-2006 @ 01:42 PM).]

« Previous Page  1 2  Next Page »
Age of Kings Heaven » Forums » Mod Design and Discussion » New Unit Creation Tutorial (GeniEd)
Top
You must be logged in to post messages.
Please login or register
Hop to:    
Age of Kings Heaven | HeavenGames