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
}
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
}