• 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!

Fixed Smuggling: Related Quest Error

Pieter Boelen

Navigation Officer
Administrator
Storm Modder
Hearts of Oak Donator
This error.log entry seems to be related to smuggling:
Code:
RUNTIME ERROR - file: quests\quests_check.c; line: 436
missed attribute: win_condition
RUNTIME ERROR - file: quests\quests_check.c; line: 436
no rAP data

It goes together with this compile.log entry:
Code:
Quest name error FOUND in CommonQuestComplete
Possibly related to the escape from the coastguard.
This is from @Hylie Pistof's smuggling logs world map.7z posted at Fix in Progress - Smuggling: Chance to be Caught is either 0% or 100% | PiratesAhoy!

This is a funny one because:
Code:
void OnQuestComplete(aref quest)
{
   if(!CheckAttribute(quest,"over") && CheckAttribute(quest,"win_condition"))
   {
     if(quest.win_condition == "_") return;
     quest.over = "yes";
     // PB: Error checking -->
     ref PChar = GetMainCharacter();
     DeleteAttribute(PChar, "questnotfound");         // Make sure this is GONE!

     // EXTRA CHECK -->
     if (!CheckAttribute(quest, "win_condition"))
     {
       TraceAndLog("QUEST ERROR: Please post your compile.log file at piratesahoy.net!");
       DumpAttributes(quest);
     }
     // EXTRA CHECK <--

     // Common Quests
     CommonQuestComplete(quest.win_condition);         // <-- Execute the actual quest case
     if(!CheckAttribute(PChar, "questnotfound"))
     {
       trace("Quest name " + quest.win_condition + " FOUND in CommonQuestComplete"); // <------------ IT ERRORS OUT ON THIS LINE ------------
       return;
     }
     DeleteAttribute(PChar, "questnotfound");
I think I figured it out though and it appears to be my fault.
The "Rand_ContrabandInterruptionAtSeaEnded" function calls this function BEFORE it gets to that next line:
Code:
void StopCoastalGuardPursuit()
{
   ref Pchar, rCap1, rCap2, rCap3;
   Pchar = GetMainCharacter();
   rCap1 = CharacterFromID("Coastal_Captain01");
   rCap2 = CharacterFromID("Coastal_Captain02");
   rCap3 = CharacterFromID("Coastal_Captain03");

   group_DeleteGroup("Coastal_Guards");
   ChangeCharacterAddressGroup(CharacterFromID("Coastal_Captain01"), "None", "", "");
   ChangeCharacterAddressGroup(CharacterFromID("Coastal_Captain02"), "None", "", "");
   ChangeCharacterAddressGroup(CharacterFromID("Coastal_Captain03"), "None", "", "");

   DeleteAttribute(Pchar, "quest.Rand_ContrabandInterruptionAtSeaEnded"); // PB: Just in case
}
So my "Just in case" line there should probably be removed.... :wp
 
yeah that sounds like a thing which could cause problems :p.
 
Back
Top