Показать сообщение отдельно
Старый 28.03.2005, 10:41   #129
Vam

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: Уроки скриптологии

// *************************************************
// Подсчет абсолютного уровня криминала по локациям
// *************************************************

func void B_GrantAbsolution(var int location)
{
* *// если Миненталь или все локации
* *if(location == LOC_OLDCAMP) ¦¦ (location == LOC_ALL)
* *{
* * * *// абсолютный уровень по локации++
* * * *ABSOLUTIONLEVEL_OldCamp = ABSOLUTIONLEVEL_OldCamp + 1;
* * * *// сброс счетчиков криминала по локации
* * * *PETZCOUNTER_OldCamp_Murder * * *= 0;
* * * *PETZCOUNTER_OldCamp_Theft * * * = 0;
* * * *PETZCOUNTER_OldCamp_Attack * * *= 0;
* * * *PETZCOUNTER_OldCamp_Sheepkiller = 0;
* *};
* *// если Хоринис или все локации
* *if(location == LOC_CITY) ¦¦ (location == LOC_ALL)
* *{
* * * *ABSOLUTIONLEVEL_City = ABSOLUTIONLEVEL_City + 1;
* * * *PETZCOUNTER_City_Murder * * * * = 0;
* * * *PETZCOUNTER_City_Theft * * * * *= 0;
* * * *PETZCOUNTER_City_Attack * * * * = 0;
* * * *PETZCOUNTER_City_Sheepkiller * *= 0;
* *};
* *// если Монастырь или все локации
* *if(location == LOC_MONASTERY) ¦¦ (location == LOC_ALL)
* *{
* * * *ABSOLUTIONLEVEL_Monastery = ABSOLUTIONLEVEL_Monastery + 1;
* * * *PETZCOUNTER_Monastery_Murder * * * *= 0;
* * * *PETZCOUNTER_Monastery_Theft * * * * = 0; * * * *
* * * *PETZCOUNTER_Monastery_Attack * * * *= 0;
* * * *PETZCOUNTER_Monastery_Sheepkiller * = 0;
* *};
* *// если Ферма наемников или все локации
* *if(location == LOC_FARM) ¦¦ (location == LOC_ALL)
* *{
* * * *ABSOLUTIONLEVEL_Farm = ABSOLUTIONLEVEL_Farm + 1;
* * * *PETZCOUNTER_Farm_Murder * * * * = 0;
* * * *PETZCOUNTER_Farm_Theft * * * * *= 0;
* * * *PETZCOUNTER_Farm_Attack * * * * = 0;
* * * *PETZCOUNTER_Farm_Sheepkiller * *= 0;
* *};
* *// если Лагерь бандитов
* *if(location == LOC_BL)
* *{
* * * *ABSOLUTIONLEVEL_BL = ABSOLUTIONLEVEL_BL + 1;
* * * *PETZCOUNTER_BL_Murder * * * * * = 0;
* * * *PETZCOUNTER_BL_Theft * * * * * *= 0;
* * * *PETZCOUNTER_BL_Attack * * * * * = 0;
* *};
};

... ещё файл

// ************************************************** *********************
// Получить абсолютный уровень криминала для локации
// ************************************************** *********************

// ======================================
// Аргументы:
// --------------------------------------
// slf - НПС, проживающий в локации
// --------------------------------------
// Возвращаемое значение - абсолютный уровень криминала
// ======================================

func int B_GetCurrentAbsolutionLevel(var C_NPC slf)
{
* *// если НПС из Миненталя
* *if(C_NpcBelongsToOldCamp(slf))
* *{
* * * *return ABSOLUTIONLEVEL_OldCamp; * * * *
* *};
* *// если НПС из Хориниса
* *if(C_NpcBelongsToCity(slf))
* *{
* * * *return ABSOLUTIONLEVEL_City; * * * * * *
* *};
* *// если НПС из Монастыря
* *if(C_NpcBelongsToMonastery(slf))
* *{
* * * *return ABSOLUTIONLEVEL_Monastery; * * *
* *};
* *// если НПС с Фермы наемников
* *if(C_NpcBelongsToFarm(slf))
* *{
* * * *return ABSOLUTIONLEVEL_Farm;
* *};
* *// если НПС из Лагеря бандитов
* *if(C_NpcBelongsToBL(slf))
* *{
* * * *return ABSOLUTIONLEVEL_BL;
* *};
* *return 0;
};

... и ещё

// *************************************************
// Получить суммарный уровень криминала по локациям
// *************************************************

// ======================================
// Аргументы:
// --------------------------------------
// slf - НПС, проживающий в локации
// --------------------------------------
// Возвращаемое значение - суммарный уровень криминала ГГ для локации
// ======================================

func int B_GetTotalPetzCounter(var C_NPC slf)
{
* *// если НПС из Миненталя
* *if (C_NpcBelongsToOldCamp(slf))
* *{
* * * *// суммарный уровень криминала для локации
* * * *return (PETZCOUNTER_OldCamp_Murder + PETZCOUNTER_OldCamp_Theft + PETZCOUNTER_OldCamp_Attack + PETZCOUNTER_OldCamp_Sheepkiller);
* *};
* *// если НПС из Хориниса
* *if (C_NpcBelongsToCity(slf))
* *{
* * * *return (PETZCOUNTER_City_Murder + PETZCOUNTER_City_Theft + PETZCOUNTER_City_Attack + PETZCOUNTER_City_Sheepkiller);
* *};
* *// если НПС из Монастыря
* *if (C_NpcBelongsToMonastery(slf))
* *{
* * * *return (PETZCOUNTER_Monastery_Murder + PETZCOUNTER_Monastery_Theft + PETZCOUNTER_Monastery_Attack + PETZCOUNTER_Monastery_Sheepkiller);
* *};
* *// если НПС с Фермы наемников
* *if (C_NpcBelongsToFarm(slf))
* *{
* * * *return (PETZCOUNTER_Farm_Murder + PETZCOUNTER_Farm_Theft + PETZCOUNTER_Farm_Attack + PETZCOUNTER_Farm_Sheepkiller);
* *};
* *// если НПС из Лагеря бандитов
* *if (C_NpcBelongsToBL(slf))
* *{
* * * *return (PETZCOUNTER_BL_Murder + PETZCOUNTER_BL_Theft + PETZCOUNTER_BL_Attack);
* *};
* *return 0;
};

... и еще

// ************************************************** *******
// Получить криминал ГГ по локациям и в порядке приоритетов
// ************************************************** *******

// ======================================
// Аргументы:
// --------------------------------------
// slf - НПС, проживающий в локации
// --------------------------------------
// Возвращаемое значение - приоритетный криминал для локации
// ======================================

func int B_GetGreatestPetzCrime(var C_NPC slf)
{
* *// если НПС из Миненталя
* *if(C_NpcBelongsToOldCamp(slf))
* *{
* * * *// если счетчик убийств > 0
* * * *if(PETZCOUNTER_OldCamp_Murder > 0)
* * * *{
* * * * * *// криминал - убийство
* * * * * *return CRIME_MURDER;
* * * *};
* * * *// если счетчик воровства > 0
* * * *if(PETZCOUNTER_OldCamp_Theft > 0)
* * * *{
* * * * * *// криминал - воровство
* * * * * *return CRIME_THEFT;
* * * *};
* * * *// если счетчик нападений > 0
* * * *if(PETZCOUNTER_OldCamp_Attack > 0)
* * * *{
* * * * * *// криминал - нападение
* * * * * *return CRIME_ATTACK;
* * * *};
* * * *// если счетчик убийств овец > 0
* * * *if(PETZCOUNTER_OldCamp_Sheepkiller > 0)
* * * *{
* * * * * *// криминал - убийство овец
* * * * * *return CRIME_SHEEPKILLER;
* * * *};
* *};
* *// если НПС из Хориниса
* *if(C_NpcBelongsToCity(slf))
* *{
* * * *if(PETZCOUNTER_City_Murder > 0)
* * * *{
* * * * * *return CRIME_MURDER;
* * * *};
* * * *if(PETZCOUNTER_City_Theft > 0)
* * * *{
* * * * * *return CRIME_THEFT;
* * * *};
* * * *if(PETZCOUNTER_City_Attack > 0)
* * * *{
* * * * * *return CRIME_ATTACK;
* * * *};
* * * *if(PETZCOUNTER_City_Sheepkiller > 0)
* * * *{
* * * * * *return CRIME_SHEEPKILLER;
* * * *};
* *};
* *// если НПС из Монастыря
* *if(C_NpcBelongsToMonastery(slf))
* *{
* * * *if(PETZCOUNTER_Monastery_Murder > 0)
* * * *{
* * * * * *return CRIME_MURDER;
* * * *};
* * * *if(PETZCOUNTER_Monastery_Theft > 0)
* * * *{
* * * * * *return CRIME_THEFT;
* * * *};
* * * *if(PETZCOUNTER_Monastery_Attack > 0)
* * * *{
* * * * * *return CRIME_ATTACK;
* * * *};
* * * *if(PETZCOUNTER_Monastery_Sheepkiller > 0)
* * * *{
* * * * * *return CRIME_SHEEPKILLER;
* * * *};
* *};
* *// если НПС с Фермы наемников
* *if(C_NpcBelongsToFarm(slf))
* *{
* * * *if(PETZCOUNTER_Farm_Murder > 0)
* * * *{
* * * * * *return CRIME_MURDER;
* * * *};
* * * *if(PETZCOUNTER_Farm_Theft > 0)
* * * *{
* * * * * *return CRIME_THEFT;
* * * *};
* * * *if(PETZCOUNTER_Farm_Attack > 0)
* * * *{
* * * * * *return CRIME_ATTACK;
* * * *};
* * * *if(PETZCOUNTER_Farm_Sheepkiller > 0)
* * * *{
* * * * * *return CRIME_SHEEPKILLER;
* * * *};
* *};
* *// если НПС из Лагеря бандитов
* *if(C_NpcBelongsToBL(slf))
* *{
* * * *if(PETZCOUNTER_BL_Murder > 0)
* * * *{
* * * * * *return CRIME_MURDER;
* * * *};
* * * *if(PETZCOUNTER_BL_Theft > 0)
* * * *{
* * * * * *return CRIME_THEFT;
* * * *};
* * * *if(PETZCOUNTER_BL_Attack > 0)
* * * *{
* * * * * *return CRIME_ATTACK;
* * * *};
* *};
* *return CRIME_NONE;
};

Ответить с цитированием