• New Horizons on Maelstrom
    Maelstrom New Horizons


    Visit our website www.piratehorizons.com to quickly find download links for the newest versions of our New Horizons mods Beyond New Horizons and Maelstrom New Horizons!

Help on editing character on Build 13

Hugin

Landlubber
Well, after I finished the original "POTC" with Nathaniel twice, I thought I'd love to have the Dark Teacher and Mefisto from the start, possibly with the Squall (blade20 on the original) or the Conquistador (blade14). Maybe also change some officers into the animists model and recruit them to get "animist followers", too. Would be really cool.

Well, anyways, while I was modding the original game, I found out this forum, and the new mods. I had it all modded for the Original game, but then I downloaded build 13 (thinking I could do the same modding) and was surprised to see the characters_init was deeply changed and the places I had changed before now makes the game crash on start. Possibly since there's a new "character choose" panel now.


So, I humbly come here to ask: how can I change it, exactly, the files in Build 13 to match my wishes?

Thanks in advance.
 
Ahoy Hugin, welcome aboard mate! I am no coder, so unfortunately, I can't be of much help directly. However, I may be able to help in a different way, I recently put a collection of old tutorials for Build 14 together in a History and Tutorials manual, you can find the download link in my sig.

These tutorials were written by the original modders prior too build 14, and go into great detail about how to add and change things in the mod. I would suggest that you read through those if you haven't already. Unfortunately, a lot of the original modders are not around at the moment, but there are others here that are just as adept and may be able to answer your questions in a lot more detail. Good luck mate, I hope the tutorials help some.
 
Ahoy Hugin, welcome aboard mate! I am no coder, so unfortunately, I can't be of much help directly. However, I may be able to help in a different way, I recently put a collection of old tutorials for Build 14 together in a History and Tutorials manual, you can find the download link in my sig.

These tutorials were written by the original modders prior too build 14, and go into great detail about how to add and change things in the mod. I would suggest that you read through those if you haven't already. Unfortunately, a lot of the original modders are not around at the moment, but there are others here that are just as adept and may be able to answer your questions in a lot more detail. Good luck mate, I hope the tutorials help some.


Thank you, mate! I'll have a look.

Meanwhile, I've uninstalled the game and installed over again and tried the Build 11 - only to find that, for my misfortune, I can sucessfully mod everything BUT to start with the Mefisto (aka black frigate). The game crashes after "new game" if I set for the main character anything other than the "start_ship(); // ps". I tried a lot of diferent aproaches in order to change that, but all of them failed. You guys are my last hope xD


edit: darn, the part of that file which tells how to customize your main character was made for the original game. Most of that doesnt work on later builds. Particularly about build 11, I found something which might give a hint about it, but Im not that used into computer codes, so I'll post in here what I didnt understand:

"Ships:
Pre-Req for Ships v2 has been implemented.

This switches the ship backend from using indices (i.e. direct calls to the ShipsTypes[] array) to IDs, like how items and characters are dealt with (i.e. “Lugger1_0”).
It works like this:

Each ship is given a unique ID (shipstypes[].id = string ID). The char.ship.type attribute now stores the ship ID, not its index. This is to allow for on-the-fly reordering of the ShipsTypes[] array, so that if new ships are added a character’s ship type is not screwed up. This also means, however, that one can’t thus directly call ShipsTypes[sti(char.ship.type)]; instead, one must use the functions in ships.h (int GetShipIndex, ref GetShipByID) and CharacterUtilite.c (GetCharacterShipType, GetCharacterShipID) to get the ship index or ID. If you have the index and not the ID, you can call GetShipID(int idx) or simply check ShipsTypes[idx].id.

You can check the file ships_init.c to see each ship’s ID; however, for the stock ships, this is the form I’ve followed: modelname_nationnumber, i.e. Lugger1_0 (or, in code, "Lugger1_"+ENGLAND, since ENGLAND is defined as 0). This is given in ships_init.c as given as refship.name + "_" + refship.nation so I could just paste that instead of writing the whole ID out for each ship.
For ships without a nation, both the trailing digit and the underscore are omitted; for example, DS’s Xebec Barbarossa is “Xebec3”.
PRS2 also has some features to ease in the addition of new ships, that allow the new ships to “borrow” the entries of other ships, i.e. for walk files, pictures, names, etc. Please see the top of ships_init.c for a description of added properties supported.

In addition, you can add to the ship the property refship.No_NK_HFM = true; this tells the NK/HFM loop to skip processing the ship.
Note that this is required if the ship’s model (refship.name) is not recognized by NK/HFM (you can check reinit.c for a list of supported models for rigtype auto-assignment. Generally only the first three characters of the model name are checked.)

If you use this property, by choice or need, you must add a few extra things to your ship setup in ships_init.
First, you must divide InertiaAccelerationZ by 4 (i.e. if InertiaAccelerationZ = 2.5, change that to 0.625), and divide InertiaBrakingZ by 10. Otherwise your ship will handle very strangely compared to the others.
Next, you must assign a ClosestPoint and BestPoint to the ship, in the form.... (nothing important forward)
 
You can safely use Build 13 Final, mate. For your starting character model and ship, you can edit the list at the top of PROGRAM\InternalSettings.h; replace one of the existing character model/ship lines with the ones you want to use and you'll be able to selectyour new choices upon starting a new game.

Note that the ship code was heavily modified, so for the Mefisto, you have to type in "Frigate_sat" now as the choice.
 
Thank you! I'll try that now! ^^

p.s: just curious, though, how do you change start_ship on build 11, if anyone knows? It's just that it bugs me the fact I couldnt find a way to change that even having sucessfully changed everything else.
 
I don't remember. Quite possibly the same as in the stock game, except you might need to use "Frigate_sat" instead of... whatever it was in the stock game.
 
I don't remember. Quite possibly the same as in the stock game, except you might need to use "Frigate_sat" instead of... whatever it was in the stock game.

Not really, didnt work. But your trick of the build 13 did work. Now I have another humbly request:

- It seems I can change my crewmembers (and even random officers) into the skin I design, in-game (Im putting them as Animists. "animists2" model).

However, even after I did change all my 9 crewmembers (which can go ashore with you), when I board another ship all I see are normal pirates, not animists. So, how can I change the "tailor", or the model, of those boarding pirates into the ones I wish?

Thanks.
 
In BuildSettings.h there should be a setting for BOARDERMODEL that you can use for that.
 
Crewmembers and boarding models are 2 different things Im afraid, but Pieters suggestion does change the boarding model :yes
 
Crewmembers and boarding models are 2 different things Im afraid, but Pieters suggestion does change the boarding model :yes

Yea, I see. I tried altering this the part in buildsetting.h and change "standard" to "animists2" but then (in a new game ofc), when I board a ship NO one will show on my side - only the enemies appear and gang up on me. Funny thing is, those "phantom" boarders still gain XP if I kill the enemies.

________


// ======================================
// BOARDING & CAPTURING
// ======================================

#define BOARDERMODEL "standard" ----> changed to "animists2", but then they're ghosts.
// Outfit for your boarders, insert one of these groups (Don't change spelling or the "" !):
// "marine", "corsair", "masked", "skeleton", "girl", "soldier" (soldiers of current flag),

__________



How do I fix that?


p.s: WHOA! Wonder what I found while looking at character/models/initmodels.c? An unused animist model - one with no description and that we cant tailor. It's under the name of "animistse" and it depicts a young man (with no mustache) dressed on dark blue robes. The picture behind him is a night-time one. He looks awesome! xD
 
NOT animists2, just animists (or it might be animist) will give you the 2 red robe animists as your boarding models... it isnt based on single models its an array of model

"marine", "corsair", "masked", "skeleton", "girl", "soldier", "animists", "standard" are the options for the model arrays :yes
 
p.s: WHOA! Wonder what I found while looking at character/models/initmodels.c? An unused animist model - one with no description and that we cant tailor. It's under the name of "animistse" and it depicts a young man (with no mustache) dressed on dark blue robes. The picture behind him is a night-time one. He looks awesome! xD
That's actually supposed to be a girl. The model is exclusively used in the newly added "Help the Lady" sidequest.
 
NOT animists2, just animists (or it might be animist) will give you the 2 red robe animists as your boarding models... it isnt based on single models its an array of model

"marine", "corsair", "masked", "skeleton", "girl", "soldier", "animists", "standard" are the options for the model arrays :yes

Neither "animists" nor "animist" worked. Both are ghosts. How can I take a look at the "array of models" which are in the game?


p.s: while we're at it, how can I give the squall (blade20) to Nathaniel from the start? Game crashes when I try doing in "characterinit".


p.s.2: weird, at initModels.c I notice the class seems to be "animists" indeed. Why doesnt it work!? :modding
 
Try executing this through the console:
Code:
pchar.boardingmodels = "Animists";

(Before you ask, check the Build and Forum FAQ in this sub-forum on how to use the console ;))
 
Try executing this through the console:
Code:
pchar.boardingmodels = "Animists";

(Before you ask, check the Build and Forum FAQ in this sub-forum on how to use the console ;))

If you mean this, it doesnt mention how to use the console, unless I missed something. The console itself is just mentioned briefly during part of an explanation to insert a code.

My guess is that I have to put this at PROGRAM/console.c , but "where" and "how" exactly, is, I think, the main question.
 
Hugin, have a look at page 97 in the History and tutorials manual, that explains a bit about how the console works.
 
To use the console, open PROGRAM\console.c and put the relevant code below this:
Code:
void ExecuteConsole()
{
ref pchar = GetMainCharacter();
if (!bSeaActive) ref lcn = &Locations[FindLocation(pchar.location)];
ref ch;
int i;
Save the file, then run the game. When you press F12 in the game, the code you put in the console will be executed.
 
Did work. Thanks. I just need to find a way to put the Squall in my hands when the game starts, and I'll be all good :urgh
 
Use the console to execute GiveItem2Character(pchar, "blade20"); and you'll get it as well.
 
Alright. Im fully ready now. Thanks for all the tips. You guys were a real help. Now towards the sky! :keith
 
Back
Top