Yes, Muddy, Nathan created that function for me. It was more convenient, in my opinion, than the tailor mod, since it allowed you greater freedom over what the officer's looked like.
Regarding the Spaniards not working properly, all I can say is please make sure you have installed everything properly. Open up program/characters/init/islamuelle.c. Check that all the guards have been changed from soldier_spax to 18Sx (where x is the model number). Check that they all are set to have weapons too. As far as my limited knowledge of code goes, that file is where the problem you are describing has to reside. Others have no expressed this problem with the Spaniards so I have to assume something went wrong on your end. I hope you take no insult at that.
One other thing regarding the spaniards, I was not clear in my install instructions. I gave you two options, one for those that did not want to replace the conquistadorss, and for those that did. Neither install will physically delete or overwrite them, it just changes the code so the game never calls them into the game anymore. You still have all the necessary files to call them at a a later date, just not at that time. Perhaps, judging my unclear instructions to mean you would lose the conquistadores forever, you installed with the option that does not replace the conquistatores? If that is the case, reinstall with the other option.
Regarding the Frenchies, that is a simple fix. Open program/quests/quests_reaction.c Scroll down to the bottom of the face_id list. There you should see a list with the Spanish and French soldiers and their faces. At the beginning it wil say JMV575--> Comment that line out (or delete it, I don't care) It should read //JMV575-->
Example:
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->//JMV575 -->
case "18SO": tempmodelnum = 151; break;
case "spa_cpt_18": tempmodelnum = 152; break;
case "spa_lut_18": tempmodelnum = 153; break;
case "spa_adm_18": tempmodelnum = 154; break;
case "fra_18_O": tempmodelnum = 155; break;
case "fra_adm_18": tempmodelnum = 156; break;
case "fra_cpt_18": tempmodelnum = 157; break;
case "fra_lut_18": tempmodelnum = 158; break;
// JMV575 <--<!--c2--></div><!--ec2-->
See how to first JMV575 is commented out now? It was just a typo of mine.
Now then, that is a small enough error that I'm not going to post an update right away. I hope that isn't too distressing to most people. Instead, the british pack will include the entire late 18th century military pack with fixes and updates. That should be available towards the end of this weekend. I'll try to get it out by friday, but I can't promise anything. I will include the model change funtion in that as well.
Until that time, I went back in the old files for my first RN pack that contained the model change function. Here is the code for it:
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->{
findCh = GetCharacter(res);
res = findCh.chr_ai.hp;
//findCh.model = "rn_lieut18_1"; // MODEL_CHANGE_FUNCTION
//findch.name = "";
//findch.lastname = "";
//findch.FaceId =;
//findch.skill.Leadership = "";
//findch.skill.Fencing = "";
//findch.skill.Sailing = "";
//findch.skill.Accuracy = "";
//findch.skill.Cannons = "";
//findch.skill.Grappling = "";
//findch.skill.Repair = "";
//findch.skill.Defence = "";
//findch.skill.Commerce = "";
//findch.skill.Sneak = "";
//findch.skill.freeskill =;
//findch.perks.freepoints =;
Log_SetStringToLog("You see " + findCh.name + " " + findCh.lastname + " Fencing " + findCh.skill.Fencing + " HP "+res +" and now has model " + findCh.model);
if(DEBUGINFO) Log_SetStringToLog("our fame: " + GetFame(mainCh, sti(findCh.nation)) + ", tp: " + findCh.talkpoints + ", ratio: " + MRCanMarryRatio(mainCh, findCh, false));
}<!--c2--></div><!--ec2-->
Now, I don't know if it will work in the build. One of the things I'm going to be working on is getting it back in there. Here is how it fit into the seadogs.c file Nathan wrote. Perhaps you can take some of these markers as a starting point, and get it functioning again yourself.
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->{
SetTimeScale(3.0);
Log_SetStringToLog("Time x3");
AddPerkToActiveList("TimeSpeed");
}
break;
case "BOAL_Control2":
ref mainCh = GetMainCharacter();
/*if (mainCh.nation == ENGLAND)
{
mainCh.nation = PIRATE;
}
else
{
mainCh.nation = ENGLAND;
}*/
//Log_SetStringToLog("Set Nation to " + mainCh.nation);
//DeleteAttribute(mainCh, "quest.generate_kill_quest");
//int num = FindNearCharacters(mainCh, 1, 1, 90, 0.50, true, false);
// = GetCharacter(num);
int res = LAi_FindNearestVisCharacter(mainCh, 20);
ref findCh;
if (res != -1)
{
findCh = GetCharacter(res);
res = findCh.chr_ai.hp;
//findCh.model = "rn_lieut18_1"; // MODEL_CHANGE_FUNCTION
//findch.name = "";
//findch.lastname = "";
//findch.FaceId =;
//findch.skill.Leadership = "";
//findch.skill.Fencing = "";
//findch.skill.Sailing = "";
//findch.skill.Accuracy = "";
//findch.skill.Cannons = "";
//findch.skill.Grappling = "";
//findch.skill.Repair = "";
//findch.skill.Defence = "";
//findch.skill.Commerce = "";
//findch.skill.Sneak = "";
//findch.skill.freeskill =;
//findch.perks.freepoints =;
Log_SetStringToLog("You see " + findCh.name + " " + findCh.lastname + " Fencing " + findCh.skill.Fencing + " HP "+res +" and now has model " + findCh.model);
if(DEBUGINFO) Log_SetStringToLog("our fame: " + GetFame(mainCh, sti(findCh.nation)) + ", tp: " + findCh.talkpoints + ", ratio: " + MRCanMarryRatio(mainCh, findCh, false));
}
findCh = CharacterFromID("Dark Captain");
if(findCh.ship.type == "Frigate_sat") { findCh.ship.type = "Frigate_sat_" + PIRATE; } //bugfix.
//UpdateAllTowns(false);
//StoreDayUpdateStart();
if(Group_FindGroup("Coastal_Guards") != -1) { SetCoastalGuardPursuit(); Log_SetStringToLog("Fixing Coastguard."); };
if(CheckAttribute(mainCh,"quest.prepare_for_kill_pirate.win_condition") || CheckAttribute(mainCh,"quest.kill_pirate_complete.win_condition"))<!--c2--></div><!--ec2-->
I would love to hear if it still works, so please give it a shot. For those of you who weren't around back when this was out; basically NK (the guy we always speak very highly of) wrote this dandy little piece that allowed you to look at anyone in the game, press T, and see their fencing skills. Then he changed it so you could look at a guy, press T, and change their model, name, and all other attributes. All you would neet to was open up your seadogs.c file, put in the attributes you wanted, save, open POTC, open a saved game, look at your first mate, and press T, change areas (by change areas I mean, go from the tavern to the store, or the port to the city) and your first mate would have the new skin, new name, changed attributes etc... Yes, it was a much easier way of tailoring your officers. That NK was a good guy.
Hope this helps ya, Muddy. Tell me if the Model Change function works.
Best,
JMV