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!
Quick links for Beyond New Horizons
- Download latest version
- Wiki
- FAQ
- Report bugs here
- Bug Tracker on Github
Quick links for Maelstrom
- Download the latest version of Maelstrom
- Download the latest version of ERAS II
- Download the latest version of New Horizons on Maelstrom
Quick links for PotC: New Horizons
- Download latest version
- Wiki
- FAQ
- Report bugs here
Thanks to YOUR votes, GOG.com now sells:
- Sea Dogs
- Sea Dogs: Caribbean Tales
- Sea Dogs: City of Abandoned Ships
Vote now to add Pirates of the Caribbean to the list!
Quick links for AoP2: Gentlemen of Fortune 2
- Downloads and info
- ModDB Profile
- Forums Archive
A Pirate Podcast with Interviews
Music, Comedy and all things Pirate!
- Episode Guide - About - Subscribe -
- Twitter - Facebook - iTunes - Android -
- Youtube - Fill the Coffers -
Thanks. I moved your post to the Bug Tracker and renamed it to more accurately describe the issue.Centurion class 4th rated.
RUNTIME ERROR - file: Characters\Leveling.c; line: 362
missed attribute: skillimportancetotal
RUNTIME ERROR - file: Characters\Leveling.c; line: 362
no rAP data
RUNTIME ERROR - file: Characters\Leveling.c; line: 368
missed attribute: skill
Turns out that is actually generated in PROGRAM\BATTLE_INTERFACE\BattleInterface.c:In compile.log I found that this line keeps repeating itself:
What does it mean?
- For character 0 fall Mast name mast2 has index 2
- For character 0 fall Mast name mast0 has index 0
void procMastFall()
{
int chrIdx = GetEventData();
string mastName = GetEventData();
int bFirstFall = GetEventData();
if(chrIdx<0) return;
ref mchr = GetMainCharacter(); // KK
Characters[chrIdx].fallen = 1; //screwface
int mastNum = strcut(mastName,4,strlen(mastName)-1);
trace("For character "+chrIdx+" fall Mast name "+mastName+" has index "+mastNum);
if(!CheckAttribute(mchr, "Flags.waitdelay"))
{
mchr.Flags.waitdelay = 1000; //screwface : big value needed !!!!!
FlagsDelay();
}
else
{
// A waitdelay is still running so we increase its time
if(CheckAttribute(&BattleInterface, "Waitrefreshflags"))
mchr.Flags.waitdelay = sti(BattleInterface.Waitrefreshflags) + 1000; // executed frames number + 1000 new frames
else
mchr.Flags.waitdelay = sti(mchr.Flags.waitdelay) + 1000;
}
SendMessage(&PeopleOnShip, "lal", MSG_PEOPLES_ON_SHIP_MASTFALL, GetCharacter(chrIdx), mastNum);
}
void procMastFall()
{
return; // PB: For testing, abort this function altogether
int chrIdx = GetEventData();
string mastName = GetEventData();
int bFirstFall = GetEventData();
if(chrIdx<0) return;
ref mchr = GetMainCharacter(); // KK
Characters[chrIdx].fallen = 1; //screwface
int mastNum = strcut(mastName,4,strlen(mastName)-1);
trace("For character "+chrIdx+" fall Mast name "+mastName+" has index "+mastNum);
if(!CheckAttribute(mchr, "Flags.waitdelay"))
{
mchr.Flags.waitdelay = 1000; //screwface : big value needed !!!!!
FlagsDelay();
}
else
{
// A waitdelay is still running so we increase its time
if(CheckAttribute(&BattleInterface, "Waitrefreshflags"))
mchr.Flags.waitdelay = sti(BattleInterface.Waitrefreshflags) + 1000; // executed frames number + 1000 new frames
else
mchr.Flags.waitdelay = sti(mchr.Flags.waitdelay) + 1000;
}
SendMessage(&PeopleOnShip, "lal", MSG_PEOPLES_ON_SHIP_MASTFALL, GetCharacter(chrIdx), mastNum);
}
If that does what I hope it does, that will prevent masts from falling at all and may as a consequence also prevent crashes if they are indeed related to that.
Did you ever find out if this made a difference?Thank you Pieter, I will try those methods as soon as I'm home.
Did you ever find out if this made a difference?
Alright then.Will do, once I return home, currently at the base so it will have to wait till next weekend.