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

Discussion Upgrade for lable location system

Myth

Freebooter
Hello to all.
Made the following fix. Now we do not use with reload locators parameter "label".
Now the label is set by the location in which we are moving, it will highlight id.label the location to which you are moving. In addition, now when going from land to sea you can see the inscription "Coastal waters"
There is no street label if you get to the door that leads to the street then must show the name of the city.
In my opinion, this is more convenient - there is no need to check each reload game locator.

\Program\battle_interface\landinterface.c

void BLI_ChrEnterToLocation()
{
aref loc = GetEventData();
aref chr = GetEventData();
string group = GetEventData();
string locator = GetEventData();
aref locList,locCur;
int i,n,k;

if(sti(chr.index) != nMainCharacterIndex) return;

if(group=="reload")
{
makearef(locList,loc.reload);
n = GetAttributesNum(locList);
for(i=0;i<n;i++)
{
locCur = GetAttributeN(locList,i);
if(locCur.name == locator) break;
}
for(k=0;k<n;k++)
{
locCur = GetAttributeN(locList,k);
if(locCur.name == locator) break;
}
if(i<n)
{
i = FindLocation(locCur.go);
if(i>=0)
{
Log_SetStringToLog( LanguageConvertString(g_LocLngFileID,FindLableReload(locCur.go)));
}
}
if(k<n)
{
k = FindIsland(locCur.go);
if(k>=0)
{
Log_SetStringToLog( LanguageConvertString(g_LocLngFileID,FindLableReload(locCur.go)));
}
}
//SetEventHandler("frame","BLI_evntRefreshCommandMenu",1);
LI_CareUpdateCommandList();
}
}

string FindLableReload(string FromLocIsl)
{
int iTmp;
iTmp = FindLocation( FromLocIsl );
if(iTmp != -1)
{
if(Locations[iTmp].id.label == "Street")
{
return Locations[iTmp].townsack + " Town";
}
else
{
return Locations[iTmp].id.label;
}
}
return "Near_Island_Sea"; // if we go to sea
}
 
Back
Top