Replies: 13 comments 65 replies
-
открывать и закрывать нужно только в одном месте. в
|
Beta Was this translation helpful? Give feedback.
-
я точно не Ментат :-) мне нужно попримитивнее func int C_LogTopic (var string topic)
{
if (Hlp_StrCmp(topic, TOPIC_CITYTEACHER)) { return LOG_NOTE; };
if (Hlp_StrCmp(topic, TOPIC_TALENTSMITH)) { return LOG_NOTE; };
if (Hlp_StrCmp(topic, TOPIC_TALENTRUNES)) { return LOG_NOTE; };
if (Hlp_StrCmp(topic, TOPIC_TALENTALCHEMY)) { return LOG_NOTE; };
if (Hlp_StrCmp(topic, TOPIC_TALENTANIMALTROPHY)) { return LOG_NOTE; };
if (Hlp_StrCmp(topic, TOPIC_TALENTMAGICCIRCLE)) { return LOG_NOTE; };
if (Hlp_StrCmp(topic, TOPIC_BONUS)) { return LOG_NOTE; };
if (Hlp_StrCmp(topic, TOPIC_DIEBESGILDE)) { return LOG_NOTE; };
....
....
....
return LOG_MISSION;
}; что было понятно если "LOG_NOTE" значит точно "LOG_NOTE" func void B_LogEntry (var string titletopic, var string posttopic)
{
if (C_LogTopic(titletopic) == LOG_NOTE)
{
Log_CreateTopic(titletopic, LOG_NOTE);
}
else
{
Log_CreateTopic(titletopic, LOG_MISSION);
B_CheckLog();
//B_CheckLogMISSION(titletopic);
};
....
....
....
} |
Beta Was this translation helpful? Give feedback.
-
B_CheckLog |
Beta Was this translation helpful? Give feedback.
-
внешняя функция в zparser. проверка на статус топика
|
Beta Was this translation helpful? Give feedback.
-
внешняя функция в zparser. проверка на тип топика Log_GetTopicSection(titletopic) возвращает тип топика.
|
Beta Was this translation helpful? Give feedback.
-
ввиду вновь открывшихся обстоятельств очередная версия может выглядеть следующим образом func void B_LogEntry (var string titletopic, var string posttopic)
{
var string msg;
if (Log_GetTopicStatus(titletopic) == -1)
{
msg = Str_Format("(Log_GetTopicStatus(titletopic) == -1)");
if (C_LogTopic(titletopic) == LOG_NOTE)
{
Log_CreateTopic(titletopic, LOG_NOTE);
}
else
{
Log_CreateTopic(titletopic, LOG_MISSION);
Log_SetTopicStatus(titletopic, LOG_Running);
};
}
else if (Log_GetTopicStatus(titletopic) == 0)
{
msg = Str_Format("(Log_GetTopicStatus(titletopic) == 0)");
//if Log_GetTopicSection(titletopic) == 0
if Log_GetTopicSection(titletopic) == LOG_MISSION
{
Log_SetTopicStatus(titletopic, LOG_Running);
};
};
Hlp_PrintConsole(msg);
// Оригинальный код MDK из B_LogEntry
Log_AddEntry (titletopic, posttopic);
PrintScreen (PRINT_NewLogEntry, -1, YPOS_LOGENTRY, FONT_ScreenSmall, 2);
Snd_Play ("LogEntry");
// отладка
msg = Str_Format("B_LogEntry: %s --> %s", titletopic, posttopic);
Hlp_PrintConsole(msg);
}; |
Beta Was this translation helpful? Give feedback.
-
Функции работы с дневником - LOG https://worldofplayers.ru/threads/41999/page-7#post-1151793 // Возвращает статус записи в дневнике:
// Отсутствует - (-1)
// Free - 0
// Running - 1
// Success - 2
// Failure - 3
// Obsolete - 4
func int Log_GetTopicStatus(var string topic)
// Возвращает страницу на которой расположена запись в дневнике.
// Отсутствует - (-1)
// Missions - 0
// Notes - 1
// All - 2
func int Log_GetTopicSection(var string topic) |
Beta Was this translation helpful? Give feedback.
-
таки решил выложить так как в классике было печалькО :-) https://steamcommunity.com/sharedfiles/filedetails/?id=2873067949 |
Beta Was this translation helpful? Give feedback.
-
а если подойти к вопросу с другого бока. сделать функцию func void B_LogEntry_MISSION(var string topic,var string entry,var int status)
{
Log_CreateTopic(topic,LOG_MISSION);
Log_SetTopicStatus(topic,status);
B_LogEntry(topic,entry)
}; тогда можно будет делать так: MIS_Addon_Klaue = LOG_Running;
//Log_CreateTopic(TOPIC_Addon_Klaue,LOG_MISSION);
// Log_SetTopicStatus(TOPIC_Addon_Klaue,LOG_Running);
// B_LogEntry(TOPIC_Addon_Klaue,"В храме Аданоса находится могучее оружие. Оно называется 'Коготь Белиара'. Ворон не должен получить его в свои руки!");
var sting msg; msg = "В храме Аданоса находится могучее оружие. Оно называется 'Коготь Белиара'. Ворон не должен получить его в свои руки!";
B_LogEntry_MISSION(TOPIC_Addon_Klaue, msg, MIS_Addon_Klaue ); |
Beta Was this translation helpful? Give feedback.
-
Если топик удалился из дневника с началом указанной главы, то появится ли он в категории проваленных когда станет LOG_FAILED? Log_SetTopicStatus(topic,LOG_OBSOLETE); //удаляем из дневника
Log_SetTopicStatus(topic,LOG_FAILED); //вернется? |
Beta Was this translation helpful? Give feedback.
-
// ***************************************************
// B_CloseTopic () (verschiebt Topics in den zugehцrigen Log-Ordner bei FAILED oder SUCCESS)
// ***************************************************
func void B_CloseTopic (var string Topic, var int MissionVar, var int CommonVar, var int EndChapter)
{
if ((MissionVar == LOG_SUCCESS)
|| (CommonVar == TRUE))
{
Log_SetTopicStatus(Topic, LOG_SUCCESS);
}
else if (MissionVar == LOG_OBSOLETE)
{
Log_SetTopicStatus(Topic, LOG_OBSOLETE);
}
else if (MissionVar == LOG_FAILED)
{
Log_SetTopicStatus(Topic, LOG_FAILED);
}
else if (Kapitel >= EndChapter)
&& ((MissionVar == LOG_RUNNING)||(CommonVar == FALSE))
{
Log_SetTopicStatus(Topic, LOG_OBSOLETE);
};
};
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
TOPIC_Addon_Ornament |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
All reactions