[AGFC: Valley of Gothic] М: Уроки скриптологии

Страница 5 из 8 12345 678
Поиск в этой теме:

Расширенный поиск
Старый 07.05.2005, 13:56   #161
Vam

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

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

// *******************
// Охрана территории
// *******************

// Функция инициализации состояния
func void ZS_Stand_Guarding()
{ *
* *// установить нормальный набор восприятий
* *Perception_Set_Normal();
* *// перевод НПС в исходное состояние
* *B_ResetAll(self);
* *// установить режим передвижения шагом
* *AI_SetWalkmode(self,NPC_WALK); * * *
* *// если расстояние между НПС и его вайпоинтом > дистанции выполнения функций
* *if(Npc_GetDistToWP(self,self.wp) > TA_DIST_SELFWP_MAX)
* *{
* * * *// движение на свой вайпоинт
* * * *AI_GotoWP(self,self.wp);
* *};
* *// сброс флага цикла
* *self.aivar[AIV_TAPOSITION] = NOTINPOS;
};

// Функция цикла состояния
func int ZS_Stand_Guarding_loop()
{
* *// если НПС на нужном фрипоинте
* *if(Npc_IsOnFP(self,"STAND"))
* *{ *
* * * *// выравнивание
* * * *AI_AlignToFP(self);
* * * *// если НПС шел на фрипоинт
* * * *if(self.aivar[AIV_TAPOSITION] == NOTINPOS_WALK)
* * * *{
* * * * * *// сброс флага
* * * * * *self.aivar[AIV_TAPOSITION] = NOTINPOS;
* * * *};
* *} *
* *// если фрипоинт существует и свободен
* *else if(Wld_IsFPAvailable(self,"STAND"))
* *{
* * * *// идти на фрипоинт
* * * *AI_GotoFP(self,"STAND");
* * * *// встать
* * * *AI_StandUp(self);
* * * *// выравняться
* * * *AI_AlignToFP(self);
* * * *// установить флаг перемещения
* * * *self.aivar[AIV_TAPOSITION] = NOTINPOS_WALK;
* *}
* *else // фрипоинт занят
* *{
* * * *// выравняться на вайпоинте
* * * *AI_AlignToWP(self);
* * * *// если НПС шел в точку
* * * *if(self.aivar[AIV_TAPOSITION] == NOTINPOS_WALK)
* * * *{
* * * * * *// сброс флага
* * * * * *self.aivar[AIV_TAPOSITION] = NOTINPOS;
* * * *};
* *};
* *// если флаг сброшен
* *if(self.aivar[AIV_TAPOSITION] == NOTINPOS)
* *{
* * * *// анимация перехода в режим охраны
* * * *AI_PlayAni(self,"T_STAND_2_HGUARD");
* * * *// установить флаг выполнения нужной функции
* * * *self.aivar[AIV_TAPOSITION] = ISINPOS;
* *}; * * * * *
* *// если прошло > к сек и НПС охраняет территорию
* *if((Npc_GetStateTime(self) > 5) && (self.aivar[AIV_TAPOSITION] == ISINPOS))
* *{
* * * *var int random;
* * * *random = Hlp_Random(10);
* * * *// с вероятностью 0.1
* * * *if(random == 0)
* * * *{
* * * * * *// осмотреть окрестности
* * * * * * AI_PlayAni(self,"T_HGUARD_LOOKAROUND");
* * * *};
* * * *// сброс времени цикла
* * * *Npc_SetStateTime(self,0);
* *};
* *return LOOP_CONTINUE;
};

// Функция завершения состояния
func void ZS_Stand_Guarding_end()
{
* *// анимация перехода из состояния охраны в стоячее
* *AI_PlayAni(self,"T_HGUARD_2_STAND");
}; *

... ещё файл

// *********************
// Встреча с ренджером
// *********************
// Примечание: В скриптах не используется, может быть удалена c корректировкой файла ТА.d

func void ZS_Stand_RangerMeeting()
{
* *Perception_Set_Minimal();
* *B_ResetAll(self);
* *self.senses = SENSE_SEE ¦ SENSE_HEAR ¦ SENSE_SMELL;
* *self.senses_range = 500;
* *Npc_SetPercTime(self,1);
* *Npc_PercEnable(self,PERC_ASSESSPLAYER,B_AssessGui dePlayer);
* *Npc_PercEnable(self,PERC_ASSESSENEMY,B_AssessEnem y);
* *if((Hlp_GetInstanceID(self)) == (Hlp_GetInstanceID(Lares)))
* *¦¦ ((Hlp_GetInstanceID(self)) == (Hlp_GetInstanceID(Erol)))
* *¦¦ ((Hlp_GetInstanceID(self)) == (Hlp_GetInstanceID(Greg_NW)))
* *{
* * * *Npc_PercEnable(self,PERC_ASSESSTALK,B_AssessTalk) ;
* *};
* *Npc_PercEnable(self,PERC_MOVEMOB,B_MoveMob);
* *Npc_PercEnable(self,PERC_ASSESSFIGHTSOUND,B_Asses sGuideFightSound);
* *if((Hlp_GetInstanceID(self)) == (Hlp_GetInstanceID(Lares)))
* *¦¦ ((Hlp_GetInstanceID(self)) == (Hlp_GetInstanceID(Greg_NW)))
* *{
* * * *AI_SetWalkmode(self,NPC_RUN);
* * * *if(Npc_GetDistToWP(self,self.wp) > TA_DIST_SELFWP_MAX)
* * * *{
* * * * * *AI_GotoWP(self,self.wp);
* * * *};
* * * *AI_AlignToWP(self);
* * * *AI_PlayAni(self,"T_STAND_2_HGUARD");
* *}
* *else
* *{
* * * *AI_SetWalkmode(self,NPC_WALK); * * *
* * * *if(Npc_GetDistToWP(self,self.wp) > TA_DIST_SELFWP_MAX)
* * * *{
* * * * * *AI_GotoWP(self,self.wp);
* * * *};
* * * *self.aivar[AIV_TAPOSITION] = NOTINPOS;
* *};
};

func int ZS_Stand_RangerMeeting_loop()
{
* *var int random;
* *if((Hlp_GetInstanceID(self)) == (Hlp_GetInstanceID(Lares)))
* *{
* * * *if(Npc_GetStateTime(self) > 5)
* * * *{
* * * * * *random = Hlp_Random(2);
* * * * * *if(random == 0)
* * * * * *{
* * * * * * * *AI_PlayAni(self,"T_HGUARD_LOOKAROUND");
* * * * * *};
* * * * * *Npc_SetStateTime(self,0);
* * * *};
* *}
* *else
* *{
* * * *if(Npc_IsOnFP(self,"STAND"))
* * * *{ *
* * * * * *AI_AlignToFP(self);
* * * * * *if(self.aivar[AIV_TAPOSITION] == NOTINPOS_WALK)
* * * * * *{
* * * * * * * *self.aivar[AIV_TAPOSITION] = NOTINPOS;
* * * * * *};
* * * *} *
* * * *else if(Wld_IsFPAvailable(self,"STAND"))
* * * *{
* * * * * *AI_GotoFP(self,"STAND");
* * * * * *AI_StandUp(self);
* * * * * *AI_AlignToFP(self);
* * * * * *self.aivar[AIV_TAPOSITION] = NOTINPOS_WALK;
* * * *}
* * * *else
* * * *{
* * * * * *AI_AlignToWP(self);
* * * * * *if(self.aivar[AIV_TAPOSITION] == NOTINPOS_WALK)
* * * * * *{
* * * * * * * *self.aivar[AIV_TAPOSITION] = NOTINPOS;
* * * * * *};
* * * *};
* * * *if(self.aivar[AIV_TAPOSITION] == NOTINPOS)
* * * *{
* * * * * *AI_StandUp(self);
* * * * * *AI_PlayAni(self,"T_STAND_2_LGUARD");
* * * * * *self.aivar[AIV_TAPOSITION] = ISINPOS;
* * * *};
* * * *if((Npc_GetStateTime(self) > 5) && (self.aivar[AIV_TAPOSITION] == ISINPOS))
* * * *{
* * * * * *random = Hlp_Random(7);
* * * * * *if(random == 0)
* * * * * *{
* * * * * * * *AI_PlayAni(self,"T_LGUARD_SCRATCH");
* * * * * *}
* * * * * *else if(random == 1)
* * * * * *{
* * * * * * * *AI_PlayAni(self,"T_LGUARD_STRETCH");
* * * * * *}
* * * * * *else if(random == 2)
* * * * * *{
* * * * * * * *AI_PlayAni(self,"T_LGUARD_CHANGELEG");
* * * * * *};
* * * * * *Npc_SetStateTime(self,0);
* * * *};
* *};
* *return LOOP_CONTINUE;
};

func void ZS_Stand_RangerMeeting_end()
{
* *if((Hlp_GetInstanceID(self)) == (Hlp_GetInstanceID(Lares)))
* *{
* *}
* *else
* *{
* * * *AI_PlayAni(self,"T_LGUARD_2_STAND"); * *
* *};
};

... ещё файл

// *******************
// Уборка территории
// *******************

// Функция инициализации состояния
func void ZS_Stand_Sweeping()
{ *
* *// установить нормальный набор восприятий
* *Perception_Set_Normal();
* *// перевод НПС в исходное состояние
* *B_ResetAll(self);
* *// установить режим передвижения шагом
* *AI_SetWalkmode(self,NPC_WALK);
* *// если расстояние между НПС и его вайпоинтом > дистанции выполнения функций
* *if(Npc_GetDistToWP(self,self.wp) > TA_DIST_SELFWP_MAX)
* *{
* * * *// движение на свой вайпоинт
* * * *AI_GotoWP(self,self.wp);
* *};
* *// если НПС не имеет Метлы
* *if(Npc_HasItems(self,ItMi_Broom) == 0)
* *{
* * * *// создать в инвентаре Метлу
* * * *CreateInvItem(self,ItMi_Broom);
* *}; *
* *// сброс флага цикла
* *self.aivar[AIV_TAPOSITION] = NOTINPOS;
};
* *
// Функция цикла состояния
func int ZS_Stand_Sweeping_Loop()
{
* *// если НПС на нужном фрипоинте
* *if(Npc_IsOnFP(self,"SWEEP"))
* *{ *
* * * *// выравнивание
* * * *AI_AlignToFP(self);
* * * *// если НПС шел на фрипоинт
* * * *if(self.aivar[AIV_TAPOSITION] == NOTINPOS_WALK)
* * * *{
* * * * * *// сброс флага
* * * * * *self.aivar[AIV_TAPOSITION] = NOTINPOS;
* * * *}; *
* *} *
* *// если фрипоинт существует и свободен
* *else if(Wld_IsFPAvailable(self,"SWEEP"))
* *{
* * * *// идти на фрипоинт
* * * *AI_GotoFP(self,"SWEEP");
* * * *// встать
* * * *AI_StandUp(self);
* * * *// выравняться
* * * *AI_AlignToFP(self);
* * * *// установить флаг перемещения
* * * *self.aivar[AIV_TAPOSITION] = NOTINPOS_WALK;
* *}
* *else // фрипоинт занят
* *{
* * * *// выравняться на вайпоинте
* * * *AI_AlignToWP(self);
* * * *// если НПС шел в точку
* * * *if(self.aivar[AIV_TAPOSITION] == NOTINPOS_WALK)
* * * *{
* * * * * *// сброс флага
* * * * * *self.aivar[AIV_TAPOSITION] = NOTINPOS;
* * * *};
* *};
* *// если флаг сброшен
* *if(self.aivar[AIV_TAPOSITION] == NOTINPOS)
* *{
* * * *// анимация подметания
* * * *AI_UseItemToState(self,ItMi_Broom,1);
* * * *// установить флаг выполнения нужной функции
* * * *self.aivar[AIV_TAPOSITION] = ISINPOS;
* *};
* *return LOOP_CONTINUE;
};

// Функция завершения состояния
func void ZS_Stand_Sweeping_End ()
{
* *// прекратить уборку
* *AI_UseItemToState(self,ItMi_Broom,-1);
};

... ещё файл

// *********************
// Стоять на вайпоинте
// *********************

// Функция инициализации состояния
func void ZS_Stand_WP()
{ *
* *// установить нормальный набор восприятий
* *Perception_Set_Normal();
* *// перевод НПС в исходное состояние
* *B_ResetAll(self);
* *// установить режим передвижения шагом
* *AI_SetWalkmode(self,NPC_WALK); * * *
* *// движение на свой вайпоинт
* *AI_GotoWP(self,self.wp);
* *// выравнивание
* *AI_AlignToWP(self);
* *// сброс флага цикла
* *self.aivar[AIV_TAPOSITION] = NOTINPOS;
};

// Функция цикла состояния
func int ZS_Stand_WP_loop()
{
* *// если флаг сброшен
* *if(self.aivar[AIV_TAPOSITION] == NOTINPOS)
* *{
* * * *// стоять на вайпоинте
* * * *AI_PlayAni(self,"T_STAND_2_LGUARD");
* * * *// установить флаг выполнения нужной функции
* * * *self.aivar[AIV_TAPOSITION] = ISINPOS;
* *}; * * * * *
* *// если прошло > 5 сек и НПС стоит на вайпоинте
* *if((Npc_GetStateTime(self) > 5) && (self.aivar[AIV_TAPOSITION] == ISINPOS))
* *{
* * * *var int random;
* * * *random = Hlp_Random(10);
* * * *// случайная анимация движений
* * * *if(random == 0)
* * * *{
* * * * * *AI_PlayAni(self,"T_LGUARD_SCRATCH");
* * * *}
* * * *else if(random == 1)
* * * *{
* * * * * *AI_PlayAni(self,"T_LGUARD_STRETCH");
* * * *}
* * * *else if(random == 2)
* * * *{
* * * * * *AI_PlayAni(self,"T_LGUARD_CHANGELEG");
* * * *};
* * * *// сброс времени цикла
* * * *Npc_SetStateTime(self,0);
* *};
* *return LOOP_CONTINUE;
};

// Функция завершения состояния
func void ZS_Stand_WP_end()
{
* *// выйти из режима
* *AI_PlayAni(self,"T_LGUARD_2_STAND");
}; *

... ещё файл

// ***************
// Толочь траву
// ***************

// Функция инициализации состояния
func void ZS_Stomp_Herb()
{
* *// установить нормальный набор восприятий
* *Perception_Set_Normal();
* *// перевод НПС в исходное состояние
* *B_ResetAll(self);
* *// установить режим передвижения шагом
* *AI_SetWalkmode(self,NPC_WALK); * * *
* *// если НПС расположен не на своем вайпоинте
* *if(Hlp_StrCmp(Npc_GetNearestWP(self),self.wp) == FALSE)
* *{
* * * *// движение на свой вайпоинт
* * * *AI_GotoWP(self,self.wp);
* *};
};

// Функция цикла состояния
func int ZS_Stomp_Herb_Loop()
{
* *// если действие с МОВом не прерываемо и трава имеется
* *if(!C_BodyStateContains(self, BS_MOBINTERACT_INTERRUPT)) && (Wld_IsMobAvailable(self,"HERB"))
* *{
* * * *// толочь траву
* * * *AI_UseMob(self,"HERB",1);
* *};
* *return LOOP_CONTINUE;
};

// Функция завершения состояния
func void ZS_Stomp_Herb_End()
{
* *// прекратить действие
* *AI_UseMob(self,"HERB",-1);
};

... ещё файл

// ************************************************** *******
// Заниматься науками (передача листа бумаги (записки) ГГ)
// ************************************************** *******

// Функция инициализации состояния
func void ZS_Study_WP()
{ *
* *// установить нормальный набор восприятий
* *Perception_Set_Normal();
* *// перевод НПС в исходное состояние
* *B_ResetAll(self);
* *// установить режим передвижения шагом
* *AI_SetWalkmode(self,NPC_WALK); * * *
* *// движение на свой вайпоинт
* *AI_GotoWP(self,self.wp);
* *// выравнивание
* *AI_AlignToWP(self);
* *// сброс флага цикла
* *self.aivar[AIV_TAPOSITION] = NOTINPOS;
};

// Функция цикла состояния
func int ZS_Study_WP_loop()
{
* *var int randy;
* *var int eventrandy;
* *var int randystatetime;
* *// произвольное время цикла (Примечание: следующие две строки необходимо поменять местами, randy используется без присвоения)
* *randystatetime = randy + 25;
* *// вероятность анимации
* *randy = Hlp_Random(10);
* *// вероятность события "Дрожь земли"
* *eventrandy = Hlp_Random(100);
* *var int wait;
* *var float waittime;
* *// вероятность ожидания
* *wait = randy + 5;
* *// задержка в мс
* *waittime = IntToFloat(wait);
* *// если расстояние между НПС и его вайпоинтом > дистанции выполнения функций
* *if(Npc_GetDistToWP(self,self.wp) > TA_DIST_SELFWP_MAX)
* *{
* * * *// движение на свой вайпоинт
* * * *AI_GotoWP(self,self.wp);
* *};
* *// выравнивание
* *AI_AlignToWP(self);
* *// если прошло какое-то время
* *if(Npc_GetStateTime(self) >= randystatetime)
* *{
* * * *// если НПС сидит
* * * *if(C_BodystateContains(self,BS_SIT))
* * * *{
* * * * * *// встать
* * * * * *AI_StandUp(self);
* * * * * *// повернуться к ГГ
* * * * * *B_TurnToNpc(self,hero);
* * * *};
* * * *// спрятать оружие
* * * *AI_RemoveWeapon(self);
* * * *// анимация движений
* * * *if(randy <= 3)
* * * *{
* * * * * *if(randy == 0)
* * * * * *{
* * * * * * * *AI_PlayAni(self,"T_LGUARD_SCRATCH");
* * * * * *}
* * * * * *else if(randy == 1)
* * * * * *{
* * * * * * * *AI_PlayAni(self,"T_LGUARD_STRETCH");
* * * * * *}
* * * * * *else if(randy == 2)
* * * * * *{
* * * * * * * *AI_PlayAni(self,"T_LGUARD_CHANGELEG");
* * * * * *};
* * * *}
* * * *else
* * * *{
* * * * * *// стоим
* * * * * *AI_PlayAni(self,"T_LGUARD_2_STAND");
* * * * * *// сброс флага
* * * * * *self.aivar[AIV_TAPOSITION] = NOTINPOS;
* * * * * *// если НПС не имеет Листа бумаги
* * * * * *if(Npc_HasItems(self,Fakescroll_Addon) == FALSE)
* * * * * *{
* * * * * * * *// создать в инвентаре Лист бумаги
* * * * * * * *CreateInvItem * (self, *Fakescroll_Addon);
* * * * * *};
* * * * * *// перестать смотреть на ГГ
* * * * * *B_StopLookAt(self);
* * * * * *// читать бумагу
* * * * * *AI_UseItemToState(self,Fakescroll_Addon,1);
* * * * * *// задержка
* * * * * *AI_Wait(self,waittime);
* * * * * *// перестать читать
* * * * * *AI_UseItemToState(self,Fakescroll_Addon,-1);
* * * * * *// сброс времени цикла
* * * * * *Npc_SetStateTime(self,0);
* * * * * *// если (событию быть и Хоринис) или (событию быть и Яркендар) и НПС маг огня и Равен жив
* * * * * *if(((eventrandy < 5) && (CurrentLevel == NEWWORLD_ZEN))
* * * * * *¦¦ ((eventrandy == 1) && (CurrentLevel == ADDONWORLD_ZEN)))
* * * * * *&& (self.guild == GIL_KDW) && (RavenIsDead == FALSE)
* * * * * *{
* * * * * * * *// проиграть эффект "Дрожь земли"
* * * * * * * *B_EVENT_PORTAL_EARTHQUAKE();
* * * * * *};
* * * *};
* *}
* *// если флаг сброшен
* *if (self.aivar[AIV_TAPOSITION] == NOTINPOS)
* *{
* * * *// стоять в режиме охраны
* * * *AI_PlayAni(self,"T_STAND_2_LGUARD");
* * * *// установить флаг выполнения нужной функции
* * * *self.aivar[AIV_TAPOSITION] = ISINPOS;
* *}; *
* *return LOOP_CONTINUE;
};

// Функция завершения состояния
func void ZS_Study_WP_end()
{
* *// НПС передает лист бумаги ГГ (other) (Примечание: правильнее other заменить на hero)
* *Npc_RemoveInvItems(self,Fakescroll_Addon,Npc_HasI tems(other,Fakescroll_Add
on));
}; *

... ещё файл

// ****************
// Работа щеткой
// ****************

// Функция инициализации состояния
func void ZS_Sweep_FP()
{ *
* *// установить нормальный набор восприятий
* *Perception_Set_Normal();
* *// перевод НПС в исходное состояние
* *B_ResetAll(self);
* *// установить режим передвижения шагом
* *AI_SetWalkmode(self,NPC_WALK);
* *// если НПС расположен не на своем вайпоинте
* *if(Hlp_StrCmp(Npc_GetNearestWP(self),self.wp) == 0)
* *{
* * * *// движение на свой вайпоинт
* * * *AI_GotoWP(self, self.wp);
* *};
* *// если НПС не имеет Щетки
* *if(Npc_HasItems(self,ItMi_Brush) == 0)
* *{
* * * *// создать в инвентаре НПС Щетку
* * * *CreateInvItem(self,ItMi_Brush);
* *}; *
};
* *
// Функция цикла состояния
func int ZS_Sweep_FP_Loop()
{
* *// если фрипоинт существует и свободен
* *if(Npc_IsOnFP(self,"SWEEP"))
* *{ *
* * * *// выравняться
* * * *AI_AlignToFP(self);
* * * *// если НПС шел на фрипоинт
* * * *if(self.aivar[AIV_TAPOSITION] == NOTINPOS_WALK)
* * * *{
* * * * * *// сброс флага
* * * * * *self.aivar[AIV_TAPOSITION] = NOTINPOS;
* * * *};
* *} *
* *// если фрипоинт существует и свободен
* *else if(Wld_IsFPAvailable(self,"SWEEP"))
* *{
* * * *// идти на фрипоинт
* * * *AI_GotoFP(self,"SWEEP");
* * * *// встать
* * * *AI_StandUp(self);
* * * *// выравняться
* * * *AI_AlignToFP(self);
* * * *// установить флаг перемещения
* * * *self.aivar[AIV_TAPOSITION] = NOTINPOS_WALK;
* *}
* *else // фрипоинт занят
* *{
* * * *// выравняться на вайпоинте
* * * *AI_AlignToWP(self);
* * * *// если НПС шел в точку
* * * *if (self.aivar[AIV_TAPOSITION] == NOTINPOS_WALK)
* * * *{
* * * * * *// сброс флага
* * * * * *self.aivar[AIV_TAPOSITION] = NOTINPOS;
* * * *};
* *};
* *// если флаг сброшен
* *if(self.aivar[AIV_TAPOSITION] == NOTINPOS)
* *{
* * * *// работать щеткой
* * * *AI_UseItemToState(self,ItMi_Brush,1); *
* * * *// установить флаг выполнения нужной функции
* * * *self.aivar[AIV_TAPOSITION] = ISINPOS;
* *}; *
* *return LOOP_CONTINUE;
};

// Функция завершения состояния
func void ZS_Sweep_FP_End()
{
* *// прекратить работа
* *AI_UseItemToState(self,ItMi_Brush,-1);
};

... ещё файл

// ************
// Умываться
// ************
// Примечание: В скриптах не используется, может быть удалена c корректировкой файла ТА.d

func void ZS_Wash_FP()
{
* *Perception_Set_Normal();
* *B_ResetAll(self);
* *AI_SetWalkmode(self,NPC_WALK);
* *if(Npc_GetDistToWP(self,self.wp) > TA_DIST_SELFWP_MAX)
* *{
* * * *AI_GotoWP(self,self.wp);
* *};
* *self.aivar[AIV_TAPOSITION] = NOTINPOS;
};

func int ZS_Wash_FP_Loop()
{
* *if(Npc_IsOnFP(self,"WASH"))
* *{
* * * *AI_AlignToFP(self);
* * * *if(self.aivar[AIV_TAPOSITION] == NOTINPOS_WALK)
* * * *{
* * * * * *self.aivar[AIV_TAPOSITION] = NOTINPOS;
* * * *};
* *}
* *else if(Wld_IsFPAvailable(self,"WASH"))
* *{
* * * *AI_GotoFP(self,"WASH");
* * * *AI_StandUp(self);
* * * *AI_AlignToFP(self);
* * * *self.aivar[AIV_TAPOSITION] = NOTINPOS_WALK;
* *}
* *else
* *{
* * * *AI_AlignToWP(self);
* * * *if(self.aivar[AIV_TAPOSITION] == NOTINPOS_WALK )
* * * *{
* * * * * *self.aivar[AIV_TAPOSITION] = NOTINPOS;
* * * *}; *
* *};
* *if((self.aivar[AIV_TAPOSITION] == NOTINPOS) && (Npc_IsOnFP(self,"WASH")))
* *{
* * * *AI_AlignToFP(self);
* * * *AI_StandUp(self);
* * * *AI_PlayAni(self,"T_STAND_2_WASH");
* * * *self.aivar[AIV_TAPOSITION] = ISINPOS;
* *};
* *return LOOP_CONTINUE;
}; *

func void ZS_Wash_FP_End()
{
* *AI_PlayAni(self,"T_WASH_2_STAND");
};

Ответить с цитированием
Старый 07.05.2005, 19:48   #162
Vam

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

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

Папка ..\AI\Test_Scripts никакого отношения к скриптам Готики2 + аддон не имеет, поэтому она полностью может быть удалена.

На этом мы закончили рассмотрение крупной темы "Искусственный интелект" (папка ..\AI полностью рассмотрена) *;)
Ответить с цитированием
Старый 10.05.2005, 17:22   #163
Vam

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

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

Тема четвертая: Мир Готики.

Весь Готический мир (кроме предметов - папка ..\Items) уместился в папке ..\Story

1. Инициализация мира.
Данную функцию выполняет файл Startup.d

Подробно его рассматривать не будем, каждая его часть несет один и тот же смысл, такие большие файлы как этот будем рассматривать конспектно.

================================================== ======

Весь файл Startup.d состоит из блоков, каждый блок - из двух секций.
Первая секция - STARTUP_<LevelName>, в этой секции выполняется расстановка НПС и предметов на карте конкретной локации.
Вторая секция - INIT_<LevelName>, в этой секции выполняется инициализация отношений между монстрами, НПС и гильдиями; производится инициализация глобальных НПС, доступных в любой части скриптов; задается принадлежность помещений гильдиям и конкретным НПС.
<LevelName> в именах секций (кроме секции GLOBAL) является именем части мира Готики, на которую есть *.zen файл с именем LevelName и которая загружается при переходе из одной части мира в другую.
Функция STARTUP_ определенной части мира вызывается экзешником только один раз - при начале игры или при первом посещении этой части мира.
Функция INIT_ определенной части мира вызывается экзешником каждый раз при входе в эту часть мира.

Примечание: Самой распространенной ошибкой начинающих модмейкеров при вставке в мир своего НПС является не начинать игру заново, а загружать старый сейв, в таком случае новый НПС будет отсутствовать в мире.
Если Вы создаете свою карту мира, то необходимо в этом файле или любом другом (можно новом) создать для своего мира эти две секции.

// **************
// GLOBAL секция
// **************
// Вызывается только один раз при начале новой игры (инициализация глобальных внутренних переменных)

func void STARTUP_GLOBAL()
{
* *Game_InitGerman();
};

func void INIT_GLOBAL()
{
* *Game_InitGerman();
};

// *****************
// Testlevel секция
// *****************
// Тестовый уровень (Моё примечание: остался в этом файле от тестового уровня (Testlevel.zen), эта секция может быть удалена).

func void STARTUP_Testlevel()
{
};

func void INIT_SUB_Testlevel()
{
};

func void INIT_Testlevel()
{
* *B_InitMonsterAttitudes();
* *B_InitGuildAttitudes();
* *B_InitNpcGlobals();
* *INIT_SUB_Testlevel();
};

// Далее в файле Statup.d пойдут локации частей мира, они хотя и имеют свой *.zen файл, но вызываются не экзешником, а скриптами из секции части мира.
// Я надеюсь, что все поняли разницу между частью мира и локацией части мира, а так же понятие блока и секции.
// Если со STARTUP_ секцией всё понятно, то скажу дополнительно несколько слов по INIT_ секции.
// Для каждой INIT_ секции в файле есть INIT_SUB_ функция, вот эти то функции для локаций и вызываются из INIT_ секции части мира, следовательно, INIT_ секции локаций ниоткуда не вызываются и могут быть удалены.
// Всё вышесказанное закрепим на следующих функциях этого файла, внутреннее содержание функций я приводить не буду, если оно не представляет какой-либо дополнительный интерес, а является только вставкой НПС или предметов, пропущенные строки внутри функций буду помечать таким образом //!!!!!!

//-----------------------------------------------
// Часть мира - Яркендар, локация - Храм Аданоса
//-----------------------------------------------

// STARTUP_ секция - расстановка НПС в локации (будет вызвана из секции STARTUP_ части мира Яркендар)
func void STARTUP_ADDON_PART_ADANOSTEMPLE_01()
{
* *//!!!!!!
};

// INIT_SUB_ функция - инициализация локации (неважно что пуста, именно она вызовется из секции INIT_ части мира Яркендар)
func void INIT_SUB_ADDON_PART_ADANOSTEMPLE_01()
{
};

// INIT_ секция - инициализация локации (не будет ниоткуда вызвана, можно удалить)
func void INIT_ADDON_PART_ADANOSTEMPLE_01()
{
* *//!!!!!!
};

//------------------------------------------------
// Часть мира - Яркендар, локация - Золотая шахта
//------------------------------------------------
// аналогично предыдущему блоку

func void STARTUP_ADDON_PART_GOLDMINE_01()
{
* *//!!!!!!
};

func void INIT_SUB_ADDON_PART_GOLDMINE_01()
{
};

func void INIT_ADDON_PART_GOLDMINE_01()
{
* *//!!!!!!
};

//---------------------------------------------
// Часть мира - Яркендар, локация - Каньон
//---------------------------------------------
// аналогично предыдущему блоку

func void STARTUP_ADDON_PART_CANYON_01()
{
* *//!!!!!!
};

func void INIT_SUB_ADDON_PART_CANYON_01()
{
};

func void INIT_ADDON_PART_CANYON_01()
{
* *//!!!!!!
};

//--------------------------------------------------
// Часть мира - Яркендар, локация - Вход в Яркендар
//--------------------------------------------------
// аналогично предыдущему блоку

func void STARTUP_ADDON_PART_ENTRANCE_01()
{
* *//!!!!!!
};

func void INIT_SUB_ADDON_PART_ENTRANCE_01()
{
};

func void INIT_ADDON_PART_ENTRANCE_01()
{
* *//!!!!!!
};

//--------------------------------------------------
// Часть мира - Яркендар, локация - Лагерь Бандитов
//--------------------------------------------------
// аналогично предыдущему блоку

func void STARTUP_ADDON_PART_BANDITSCAMP_01()
{
* *//!!!!!!
};

// INIT_SUB_ функции с инициализацией помещений на принадлежность гильдиям
func void INIT_SUB_ADDON_PART_BANDITSCAMP_01()
{ *
* *Wld_AssignRoomToGuild("tavern01" *,GIL_NONE);
* *Wld_AssignRoomToGuild("beds01" * *,GIL_PUBLIC);
* *Wld_AssignRoomToGuild("merchant01",GIL_PUBLIC);
* *Wld_AssignRoomToGuild("schmied01" ,GIL_NONE);
* *Wld_AssignRoomToGuild("zoll01" * *,GIL_NONE);
* *Wld_AssignRoomToGuild("raven01" * ,GIL_PUBLIC);
};

func void INIT_ADDON_PART_BANDITSCAMP_01()
{
* *//!!!!!!
};

//--------------------------------------------------
// Часть мира - Яркендар, локация - Лагерь Пиратов
//--------------------------------------------------
// аналогично предыдущему блоку

func void STARTUP_ADDON_PART_PIRATESCAMP_01()
{
* *//!!!!!!
};

func void INIT_SUB_ADDON_PART_PIRATESCAMP_01()
{
};

func void INIT_ADDON_PART_PIRATESCAMP_01()
{
* *//!!!!!!
};

//--------------------------------------------------
// Часть мира - Яркендар, локация - Долина
//--------------------------------------------------
// аналогично предыдущему блоку

func void STARTUP_ADDON_PART_VALLEY_01()
{
* *//!!!!!!
};

func void INIT_SUB_ADDON_PART_VALLEY_01()
{
};

func void INIT_ADDON_PART_VALLEY_01()
{
* *//!!!!!!
};

//***********************************
// Часть мира - Яркендар
//***********************************
// Вот этот блок и будет вызван экзешником при входе в Яркендар

func void STARTUP_AddonWorld()
{ *
* *// вызов STARTUP_ секций локаций Яркендара
* *STARTUP_ADDON_PART_BANDITSCAMP_01();
* *STARTUP_ADDON_PART_PIRATESCAMP_01();
* *STARTUP_ADDON_PART_ENTRANCE_01();
* *STARTUP_ADDON_PART_GOLDMINE_01();
* *STARTUP_ADDON_PART_CANYON_01();
* *STARTUP_ADDON_PART_VALLEY_01();
* *STARTUP_ADDON_PART_ADANOSTEMPLE_01();
* *// установить флаг входа в Яркендар
* *ENTERED_ADDONWORLD = TRUE;
* *// установить текущий уровень на Яркендар
* *CurrentLevel = ADDONWORLD_ZEN;
* *// Маги воды уже ведут раскопки два дня
* *Wld_SetTime(60,00);
};

func void INIT_AddonWorld()
{
* *// вызов INIT_SUB_ функций локаций Яркендара
* *INIT_SUB_ADDON_PART_BANDITSCAMP_01();
* *INIT_SUB_ADDON_PART_PIRATESCAMP_01();
* *INIT_SUB_ADDON_PART_ENTRANCE_01();
* *INIT_SUB_ADDON_PART_GOLDMINE_01();
* *INIT_SUB_ADDON_PART_CANYON_01();
* *INIT_SUB_ADDON_PART_VALLEY_01();
* *INIT_SUB_ADDON_PART_ADANOSTEMPLE_01();
* *// инициализация отношений монстров к другим НПС
* *B_InitMonsterAttitudes();
* *// инициализация отношений между гильдиями людей
* *B_InitGuildAttitudes();
* *// инициализация глобальных НПС
* *B_InitNpcGlobals();
* *// вход в Яркендар
* *B_ENTER_ADDONWORLD();
};

//--------------------------------------------------------
// Часть мира - Миненталь, локация - Бывший Старый лагерь
//--------------------------------------------------------

func void STARTUP_OLDCAMP()
{
* *//!!!!!!
};

func void INIT_SUB_OLDCAMP()
{
* *//!!!!!!
};

func void INIT_OLDCAMP()
{
* *//!!!!!!
};

//-------------------------------------------------------------------------
// Часть мира - Миненталь, локация - Башня демонов (Старая башня Ксардаса)
//-------------------------------------------------------------------------
// аналогично предыдущему блоку

func void STARTUP_DEMONTOWER()
{
* *//!!!!!!
};

func void INIT_SUB_DEMONTOWER()
{
};

func void INIT_DEMONTOWER()
{
* *INIT_SUB_DEMONTOWER();
};

//------------------------------------------------
// Часть мира - Миненталь, локация - Окрестности
//------------------------------------------------
// аналогично предыдущему блоку

func void STARTUP_SURFACE()
{
* *//!!!!!!
};

func void INIT_SUB_SURFACE()
{
* *// Башня демонов занята Черными магами
* *Wld_AssignRoomToGuild("DT1",GIL_DMT);
* *Wld_AssignRoomToGuild("DT2",GIL_DMT);
* *// вход в Миненталь
* *B_ENTER_OLDWORLD();
};

func void INIT_SURFACE()
{
* *//!!!!!!
};

//***********************************
// Часть мира - Миненталь
//***********************************
// Этот блок будет вызван экзешником при входе в Миненталь

func void STARTUP_OLDWORLD()
{
* *// вызов STARTUP_ секций локаций Миненталя
* *Startup_Oldcamp();
* *Startup_Demontower();
* *Startup_Surface();
* *// установка времени
* *Wld_SetTime(00,00);
};

func void INIT_OLDWORLD()
{
* *// вызов INIT_SUB_ функций локаций Миненталя
* *INIT_SUB_Oldcamp();
* *INIT_SUB_Demontower();
* *INIT_SUB_Surface();
* *// инициализация отношений монстров к другим НПС
* *B_InitMonsterAttitudes();
* *// инициализация отношений между гильдиями людей
* *B_InitGuildAttitudes();
* *// инициализация глобальных НПС
* *B_InitNpcGlobals();
* *// вход в Миненталь
* *B_ENTER_OLDWORLD();
* *// если ГГ готов к переходу в 4 главу и он не в 4 главе
* *if(MIS_ReadyForChapter4 == TRUE) && (B_Chapter4_OneTime == FALSE)
* *{
* * * *// инициализация 4 главы
* * * *B_Kapitelwechsel(4,OLDWORLD_ZEN);
* * * *// установка флага входа в 4 главу
* * * *B_Chapter4_OneTime = TRUE;
* *};
};

//------------------------------------------------
// Часть мира - Новый мир, локация - Хоринис
//------------------------------------------------

func void STARTUP_NewWorld_Part_City_01()
{
* *//!!!!!!
};

func void INIT_SUB_NewWorld_Part_City_01()
{
* *// управление зажиганием фонарей
* *Wld_SetMobRoutine(00,00,"FIREPLACE",1);
* *Wld_SetMobRoutine(20,00,"FIREPLACE",1);
* *Wld_SetMobRoutine(05,00,"FIREPLACE",0);
* *// принадлежность помещений портового квартала
* *Wld_AssignRoomToGuild("hafen01",GIL_VLK);
* *Wld_AssignRoomToGuild("hafen02",GIL_VLK);
* *Wld_AssignRoomToGuild("hafen03",GIL_VLK);
* *Wld_AssignRoomToGuild("hafen04",GIL_PUBLIC);
* *Wld_AssignRoomToGuild("hafen05",GIL_VLK);
* *Wld_AssignRoomToGuild("hafen06",GIL_VLK);
* *Wld_AssignRoomToGuild("hafen07",GIL_VLK);
* *// если был диалог с Эддой
* *if(Edda_Schlafplatz == TRUE)
* *{
* * * *// можно спать в её доме
* * * *Wld_AssignRoomToGuild("hafen08",GIL_NONE);
* *}
* *else
* *{
* * * *// нельзя
* * * *Wld_AssignRoomToGuild("hafen08",GIL_VLK);
* *};
* *Wld_AssignRoomToGuild("hafen09", * *GIL_PUBLIC); // Игназ
* *Wld_AssignRoomToGuild("hafen10", * *GIL_VLK);
* *Wld_AssignRoomToGuild("hafen11", * *GIL_VLK);
* *Wld_AssignRoomToGuild("fellan", * * GIL_VLK);
* *Wld_AssignRoomToGuild("fisch", * * *GIL_VLK);
* *Wld_AssignRoomToGuild("lagerhaus", *GIL_NONE);
* *Wld_AssignRoomToGuild("karten", * * GIL_PUBLIC);
* *Wld_AssignRoomToGuild("hafenkneipe",GIL_NONE);
* *Wld_AssignRoomToGuild("puff", * * * GIL_NONE);
* *// Ремесленники
* *Wld_AssignRoomToGuild("bogner", * * GIL_PUBLIC); // Торбен и Гретта
* *Wld_AssignRoomToGuild("matteo", * * GIL_PUBLIC);
* *Wld_AssignRoomToGuild("hotel", * * *GIL_NONE);
* *Wld_AssignRoomToGuild("stadtkneipe",GIL_NONE);
* *Wld_AssignRoomToGuild("zuris", * * *GIL_VLK);
* *// если ГГ ученик Константино
* *if(Player_IsApprentice == APP_Constantino)
* *{
* * * *Wld_AssignRoomToGuild("alchemist",GIL_NONE);
* *}
* *else
* *{
* * * *Wld_AssignRoomToGuild("alchemist",GIL_PUBLIC);
* *};
* *// если ГГ ученик Боспера
* *if(Player_IsApprentice == APP_Bosper)
* *{
* * * *Wld_AssignRoomToGuild("gritta",GIL_NONE);
* *}
* *else
* *{
* * * *Wld_AssignRoomToGuild("gritta",GIL_PUBLIC);
* *};
* *// если ГГ ученик Харада
* *if(Player_IsApprentice == APP_Harad)
* *{
* * * *Wld_AssignRoomToGuild("schmied",GIL_NONE);
* *}
* *else
* *{
* * * *Wld_AssignRoomToGuild("schmied",GIL_VLK);
* *};
* *// тюрьма
* *Wld_AssignRoomToGuild("turmsued01", GIL_MIL);
* *Wld_AssignRoomToGuild("turmsued02", GIL_MIL);
* *Wld_AssignRoomToGuild("turmost01", *GIL_MIL);
* *Wld_AssignRoomToGuild("turmost02", *GIL_MIL);
* *Wld_AssignRoomToGuild("turmschmied",GIL_MIL);
* *Wld_AssignRoomToGuild("turmbogner", GIL_MIL);
* *// казармы
* *Wld_AssignRoomToGuild("andre", * * * GIL_PUBLIC);
* *Wld_AssignRoomToGuild("waffenkammer",GIL_PUBLIC);
* *Wld_AssignRoomToGuild("barracke", * *GIL_MIL);
* *// верхний квартал
* *Wld_AssignRoomToGuild("nwcityrich01",GIL_MIL);
* *Wld_AssignRoomToGuild("rathaus",GIL_PUBLIC);
* *Wld_AssignRoomToGuild("reich01",GIL_VLK);
* *Wld_AssignRoomToGuild("reich02",GIL_VLK);
* *Wld_AssignRoomToGuild("reich03",GIL_VLK);
* *Wld_AssignRoomToGuild("reich04",GIL_VLK);
* *Wld_AssignRoomToGuild("reich05",GIL_VLK);
* *Wld_AssignRoomToGuild("reich06",GIL_PUBLIC);
* *Wld_AssignRoomToGuild("richter",GIL_PUBLIC);
* *Wld_AssignRoomToGuild("leomar", GIL_VLK);
};

func void INIT_NewWorld_Part_City_01()
{
* *//!!!!!!
};

//------------------------------------------------
// Часть мира - Новый мир, локация - ферма Лобарта
//------------------------------------------------

func void STARTUP_NewWorld_Part_Farm_01()
{
* *//!!!!!!
};

func void INIT_SUB_NewWorld_Part_Farm_01()
{
* *Wld_AssignRoomToGuild("farm01",GIL_PUBLIC);
* *Wld_AssignRoomToGuild("farm02",GIL_PUBLIC);
* *// если ГГ заработал одежду у Лобарта
* *if(Lobart_Kleidung_Verkauft == TRUE)
* *{
* * * *Wld_AssignRoomToGuild("farm03",GIL_NONE);
* *}
* *else
* *{ * * *
* * * *Wld_AssignRoomToGuild("farm03",GIL_PUBLIC);
* *};
};
* *
func void INIT_NewWorld_Part_Farm_01()
{
* *//!!!!!!
};

//--------------------------------------------------
// Часть мира - Новый мир, локация - Башня Ксардаса
//--------------------------------------------------

func void STARTUP_NewWorld_Part_Xardas_01()
{
* *//!!!!!!
};

func void INIT_SUB_NewWorld_Part_Xardas_01()
{
};

func void INIT_NewWorld_Part_Xardas_01()
{
* *//!!!!!!
};

//--------------------------------------------------
// Часть мира - Новый мир, локация - Монастырь
//--------------------------------------------------

func void STARTUP_NewWorld_Part_Monastery_01()
{
* *//!!!!!!
};

func void INIT_SUB_NewWorld_Part_Monastery_01()
{
* *//!!!!!!
};

func void INIT_NewWorld_Part_Monastery_01()
{
* *//!!!!!!
};

//-----------------------------------------------------------------
// Часть мира - Новый мир, локация - усадьба Онара с окрестностями
//-----------------------------------------------------------------

func void STARTUP_NewWorld_Part_GreatPeasant_01()
{
* *//!!!!!!
};

func void INIT_SUB_NewWorld_Part_GreatPeasant_01()
{
* *// если ГГ помог Еролу найти каменную плитку
* *if(MIS_Addon_Erol_BanditStuff == LOG_SUCCESS)
* *{
* * * *Wld_AssignRoomToGuild("grpwaldhuette01",GIL_PUBLI C);
* *}
* *else
* *{
* * * *Wld_AssignRoomToGuild("grpwaldhuette01",GIL_SLD);
* *}; * * *
* *// двор Онара
* *Wld_AssignRoomToGuild("grphaupthaus01", GIL_PUBLIC);
* *Wld_AssignRoomToGuild("grpschmiede01", *GIL_PUBLIC);
* *Wld_AssignRoomToGuild("grpscheune01", * GIL_PUBLIC);
* *Wld_AssignRoomToGuild("grpkapelle01", * GIL_NONE);
* *// склеп
* *Wld_AssignRoomToGuild("cementary01", * *GIL_NONE);
* *// ферма Секоба
* *// если Ксардас еще не послал ГГ за Древней книгой на усадьбу Секоба
* *if(Sekob_RoomFree == FALSE)
* *{
* * * *Wld_AssignRoomToGuild("grpbauer01",GIL_PUBLIC);
* *}
* *else
* *{
* * * *Wld_AssignRoomToGuild("grpbauer01",GIL_NONE);
* *};
* *Wld_AssignRoomToGuild("grpbauerscheune01", *GIL_PUBLIC);
* *// ферма Бенгара
* *Wld_AssignRoomToGuild("grpbauer02", * * * * GIL_PUBLIC);
* *Wld_AssignRoomToGuild("grpbauerscheune02", *GIL_PUBLIC);
* *Wld_AssignRoomToGuild("grpturm02", * * *GIL_PUBLIC);
* *Wld_AssignRoomToGuild("grpturm01", * * *GIL_PUBLIC);
* *Wld_AssignRoomToGuild("grpwaldhuette02",GIL_PUBLI C);
};

func void INIT_NewWorld_Part_GreatPeasant_01()
{
* *//!!!!!!
};

//-------------------------------------------------------
// Часть мира - Новый мир, локация - проход в Миненталь
//-------------------------------------------------------

func void STARTUP_NewWorld_Part_Pass_To_OW_01()
{
* *//!!!!!!
};

func void INIT_SUB_NewWorld_Part_Pass_To_OW_01()
{
};

func void INIT_NewWorld_Part_Pass_To_OW_01 ()
{
* *//!!!!!!
};

//-------------------------------------------------------
// Часть мира - Новый мир, локация - средний лес
//-------------------------------------------------------

func void STARTUP_NewWorld_Part_Forest_01 ()
{
* *//!!!!!!
};

func void INIT_SUB_NewWorld_Part_Forest_01()
{
};

func void INIT_NewWorld_Part_Forest_01 ()
{
* *//!!!!!!
};
* *
//----------------------------------------------------------
// Часть мира - Новый мир, локация - область Черного тролля
//----------------------------------------------------------

func void STARTUP_NewWorld_Part_TrollArea_01()
{
* *//!!!!!!
};

func void INIT_SUB_NewWorld_Part_TrollArea_01()
{
};

func void INIT_NewWorld_Part_TrollArea_01 ()
{
* *//!!!!!!
};

//***********************************
// Часть мира - Новый мир
//***********************************
// Этот блок будет вызван экзешником при старте игры (Башня Ксардаса)

func void STARTUP_NewWorld()
{ *
* *// вызов STARTUP_ секций локаций Нового мира
* *STARTUP_NewWorld_Part_City_01();
* *STARTUP_NewWorld_Part_Farm_01();
* *STARTUP_NewWorld_Part_Xardas_01();
* *STARTUP_NewWorld_Part_Monastery_01();
* *STARTUP_NewWorld_Part_GreatPeasant_01();
* *STARTUP_NewWorld_Part_TrollArea_01();
* *STARTUP_NewWorld_Part_Forest_01();
* *STARTUP_NewWorld_Part_Pass_To_OW_01();
* *// начала главы 1
* *Kapitel = 1;
* *// мультики
* *PlayVideo("INTRO.BIK");
* *PlayVideo("Addon_Title.BIK");
* *// начальное умение ГГ добывать золото
* *Hero_HackChance = 10;
};

func void INIT_NewWorld()
{
* *// инициализация отношений монстров к другим НПС
* *B_InitMonsterAttitudes();
* *// инициализация отношений между гильдиями людей
* *B_InitGuildAttitudes();
* *// инициализация глобальных НПС
* *B_InitNpcGlobals();
* *// вход в Новый мир
* *B_ENTER_NEWWORLD();
* *// если ГГ расправился с Гильдией воров и Андре об этом не знает
* *if(Diebesgilde_Verraten) && (Andre_Diebesgilde_aufgeraeumt != TRUE)
* *{
* * * *// если Кассия, Джаспер или Рамирез живы
* * * *if(!Npc_IsDead(Cassia)) ¦¦ (!Npc_IsDead(Jesper)) ¦¦ (!Npc_IsDead(Ramirez))
* * * *{
* * * * * *// убить Гильдию воров
* * * * * *B_KillNpc(VLK_447_Cassia);
* * * * * *B_KillNpc(VLK_446_Jesper);
* * * * * *B_KillNpc(VLK_445_Ramirez);
* * * * * *// установить флаг выполнения задания
* * * * * *Andre_Diebesgilde_aufgeraeumt = TRUE;
* * * *};
* *};
* *// вызов INIT_SUB_ функций локаций Миненталя
* *INIT_SUB_NewWorld_Part_City_01();
* *INIT_SUB_NewWorld_Part_Farm_01();
* *INIT_SUB_NewWorld_Part_Xardas_01();
* *INIT_SUB_NewWorld_Part_Monastery_01();
* *INIT_SUB_NewWorld_Part_GreatPeasant_01();
* *INIT_SUB_NewWorld_Part_TrollArea_01();
* *INIT_SUB_NewWorld_Part_Forest_01();
* *INIT_SUB_NewWorld_Part_Pass_To_OW_01();
* *// если ГГ готов к переходу в 3 главу и он не в 3 главе
* *if(MIS_ReadyForChapter3 *== TRUE) && (B_Chapter3_OneTime == FALSE)
* *{
* * * *// инициализация 3 главы
* * * *B_Kapitelwechsel(3,NEWWORLD_ZEN);
* * * *// установка флага входа в 3 главу
* * * *B_Chapter3_OneTime = TRUE;
* *};
* *// если все драконы убиты и ГГ не в 5 главе
* *if(MIS_AllDragonsDead *== TRUE) && (B_Chapter5_OneTime == FALSE)
* *{
* * * *// инициализация 5 главы
* * * *B_Kapitelwechsel(5,NEWWORLD_ZEN);
* * * *// установка флага входа в 5 главу
* * * *B_Chapter5_OneTime = TRUE;
* *};
};

Ответить с цитированием
Старый 11.05.2005, 17:36   #164
Vam

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

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

2. Инициализация глобальных НПС.

Все глобальные НПС прописаны в файле NPC_Globals.d

//*******************
// *Глобальные НПС
//*******************

// Декларации глобальных НПС
var C_NPC Raven; * *// Равен
var C_NPC Tom; * * *// Том
var C_NPC Logan; * *// Логан
var C_NPC Ramon; * *// Рамон и т.д.
//!!!!!!

// Функция инициализации
func void *B_InitNpcGlobals()
{
* *// если глава 0 (на всякий случай)
* *if(Kapitel == 0)
* *{
* * * *// установить главу 1
* * * *Kapitel = 1;
* *};
* *// получить ссылку по имени на НПС
* *Raven * = Hlp_GetNpc(BDT_1090_Addon_Raven); * * // Равен
* *Tom * * = Hlp_GetNpc(BDT_1080_Addon_Tom); * * * // Том
* *Logan * = Hlp_GetNpc(BDT_1072_Addon_Logan); * * // Логан
* *Ramon * = Hlp_GetNpc(BDT_1071_Addon_Ramon); * * // Рамон и т.д.
* *//!!!!!!
};


Примечание: Если вы добавляете нового глобального НПС в игру, то его необходимо задекларировать и проинициализировать.

3. Глобальные константы и переменные скриптов.

Все они расположены в файле Story_Globals.d

// ***********************************
// Глобальные константы и переменные
// ***********************************

// Предельные значения обучения ГГ у учителей
const int T_MEGA = 300;
const int T_MAX = 200;
const int T_HIGH = 120;
const int T_MED = 90;
const int T_LOW = 60;

var int Saturas_KlaueInsMeer; * // Сатурас уничтожил Коготь Белиара (TRUE)
var int Saturas_AboutWilliam; * // Сатурас знает, что найден мертвый рыбак Вильям (TRUE)
var int MIS_Eremit_Klamotten; * // статус квеста по поиску одежды для Эрмита
var int Diego_angekommen; * * * // Диего сопровожден ГГ к выходу из Миненталя (TRUE)
var int Diego_IsDead; * * * * * // Чудесное воскрешение Диего в Хоринисе (если он был убит в Минентале) (TRUE)
var int PlayerTalkedToSkipNW; * // ГГ разговаривал с пиратом Скипом в Новом мире (TRUE)
var int PlayerTalkedToGregNW; * // ГГ разговаривал с Грегом в Новом мире (TRUE)

//-------------------------------------
// Предметы
//-------------------------------------

// Набор артефактов Крестьян (повышает жизнь)
var int HP_Ring_1_Equipped; * * // одето одно кольцо Целителей
var int HP_Ring_2_Equipped; * * // одето другое кольцо Целителей
var int HP_Amulett_Equipped; * *// одет амулет Целителей
var int HP_Artefakt_Effekt; * * // эффект использования набора Целителей включен (TRUE)

// Набор артефактов Священника (повышает ману)
var int MA_Ring_1_Equipped; * * // одето одно кольцо Жрецов
var int MA_Ring_2_Equipped; * * // одето другое кольцо Жрецов
var int MA_Amulett_Equipped; * *// одет амулет Жрецов
var int MA_Artefakt_Effekt; * * // эффект использования набора Жрецов включен (TRUE)

// Набор артефактов Воина (повышает силу)
var int STR_Ring_1_Equipped; * *// одето одно кольцо Воинов
var int STR_Ring_2_Equipped; * *// одето другое кольцо Воинов
var int STR_Amulett_Equipped; * // одет амулет Воинов
var int STR_Artefakt_Effekt; * *// эффект использования набора Воинов включен (TRUE)

// Доспехи и пояса дающие бонус
var int LeatherArmor_Equipped; *// одеты Кожаные доспехи
var int SLDArmor_Equipped; * * *// одеты Средние доспехи наемника
var int NOVArmor_Equipped; * * *// одета Роба послушника
var int KDFArmor_Equipped; * * *// одета Роба мага огня
var int MILArmor_Equipped; * * *// одеты Легкие доспехи ополчения
var int MCArmor_Equipped; * * * // одеты Доспехи из панцирей ползунов

var int KDF01_Equipped; * * * * // одет Ремень огня
var int KDF02_Equipped; * * * * // (не используется)
var int KDF03_Equipped; * * * * // (не используется)

var int MIL01_Equipped; * * * * // одет Пояс милиции
var int MIL02_Equipped; * * * * // (не используется)
var int MIL03_Equipped; * * * * // (не используется)

var int NOV01_Equipped; * * * * // одет Ремень готовности

var int SLD01_Equipped; * * * * // одет Пояс наемника
var int SLD02_Equipped; * * * * // (не используется)
var int SLD03_Equipped; * * * * // (не используется)

var int Leather01_Equipped; * * // одет Кожаный ремень
var int Leather02_Equipped; * * // (не используется)

var int Rhobar_Equipped; * * * *// (не используется)
var int MC_Equipped; * * * * * *// одет Ремень из панцирей ползунов

//------------------------
var int WISPSKILL_LEVEL; * * * *// уровень обученности Огонька поиску предметов
//------------------------

// Статусы квестов
var int MIS_Addon_Cavalorn_TheHut; * * * * * * * * *// поиск хибары Ковалорна в Минентале
var int MIS_Addon_Cavalorn_KillBrago; * * * * * * * // разборка вместе с Ковалорном с бандитами
var int MIS_Addon_Cavalorn_Letter2Vatras; * * * * * // передача письма Ковалорна Ватрасу
var int MIS_Addon_Lester_PickForConstantino; * * * *// вход в Хоринис с травами для Константино
var int MIS_Addon_Greg_BringMeToTheCity; * * * * * *// помощь Грегу попасть в Хоринис
var int MIS_Addon_Lares_Ornament2Saturas; * * * * * // доставка орнамента вместе с Ларесом Магам Воды
var int Lares_Angekommen; * * * * * * * * * * * * * // Ларес на раскопках вручает ГГ орнамент для Магов Воды (TRUE)
var int SC_GotLaresRing; * * * * * * * * * * * * * *// ГГ получил от Лареса Кольцо Воды (TRUE)
var int MIS_Addon_Saturas_BringRiordian2Me; * * * * // Сатурас послал ГГ на Риорданом
var int MIS_Addon_Nefarius_BringMissingOrnaments; * // достать три части орнамента для активации портала в Яркендар
var int MIS_Addon_Martin_GetRangar; * * * * * * * * // поимка вора для Мартина
var int MIS_Addon_Vatras_Go2Daron; * * * * * * * * *// найти Дарону украденную статуэтку
var int MIS_Addon_Daron_GetStatue; * * * * * * * * *// забрать статуэтку для Дарона у гоблинов (вторая часть квеста)
var int MIS_Addon_Cord_Look4Patrick; * * * * * * * *// помочь Корду найти приятеля Патрика
var int MIS_Addon_Farim_PaladinFisch; * * * * * * * // решить рыбаку Фариму проблему с милицией
var int MIS_Addon_Cavalorn_GetOrnamentFromPAL; * * *// получить недостающий орнамент у паладинов верхнего города
var int MIS_Lares_BringRangerToMe; * * * * * * * * *// найти замену Ларесу в порту
var int MIS_Addon_Lares_ComeToRangerMeeting; * * * *// встреча с "Кольцом Воды" в таверне "Мертвая гарпия"
var int MIS_Addon_Greg_RakeCave; * * * * * * * * * *// сопровождать Грега в его пещеру
var int MIS_Addon_Greg_RakeCave_Day; * * * * * * * *// день получения ГГ квеста с пещерой Грега
var int MIS_Addon_Baltram_Paket4Skip; * * * * * * * // передать пакет Бальтрама Скипу
var int MIS_Addon_Erol_BanditStuff; * * * * * * * * // возвратить Эролу каменные плитки

const int MinimumPassagePlants = 10; * * * * * * * *// мин. кол-во растений для Константино, чтобы попасть в Хоринис


продолжение следует...
Ответить с цитированием
Старый 12.05.2005, 17:57   #165
Vam

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

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

var int SaturasFirstMessageOpened; * * * * *// письмо Сатураса Ватрасу вскрыто ГГ (TRUE)
var int Vatras_SC_Liar; * * * * * * * * * * // (не используется)
var int Vatras_ToMartin; * * * * * * * * * *// Ватрас поставил ГГ в известность, что Мартин снабжает бандитов оружием (TRUE)
var int SC_GotWisp; * * * * * * * * * * * * // ГГ получил Ищущий огонек от Ватраса (TRUE)
var int Vatras_GehZuLares; * * * * * * * * *// Ватрас послал ГГ к Ларесу в порт (TRUE)
var int Lares_RangerHelp; * * * * * * * * * // Ларес оказывает помощь ГГ
var int LaresGuide_ZumPortal; * * * * * * * // когда Ларес ведет ГГ к порталу
var int LaresGuide_ZuOnar; * * * * * * * * *// когда Ларес ведет ГГ к Онару
var int LaresGuide_OrnamentForest; * * * * *// когда Ларес ведет ГГ в густой лес на востоке за орнаментом
var int Andre_Knows_MartinEmpfehlung; * * * // ГГ принят в милицию лордом Андре по поручительсту Мартина (TRUE)
var int SC_KnowsKlosterTribut; * * * * * * *// ГГ узнает что необходимо для приема в монастырь (TRUE)
var int Pedro_NOV_Aufnahme_LostInnosStatue_Daron; * // вход в монастырь с найденной статуэткой (TRUE)
var int SCKnowsBaltramAsPirateTrader; * * * // ГГ знает что Бальтрам торгует с пиратами (TRUE)
var int SC_GotRangar; * * * * * * * * * * * // ГГ поймал вора вещей Мартина (TRUE)
var int SC_MeetsGregTime; * * * * * * * * * // ГГ познакомился с Грегом (TRUE)

var int GregLocation; * * * * * * * * * * * // месторасположение Грега
const int Greg_Farm1 * *= 0; * * * * * * * *// перед Хоринисом
const int Greg_Taverne *= 1; * * * * * * * *// в таверне Орлана
const int Greg_Bigcross = 2; * * * * * * * *// на полях Онара
const int Greg_Dexter * = 3; * * * * * * * *// у Декстера

var int SC_KnowsGregsSearchsDexter; * * * * // ГГ узнаёт, что Грег ищет Декстера (TRUE)
var int SC_KnowsConnectionSkipGreg; * * * * // ГГ узнаёт, что Грег ищет Скипа (TRUE)
var int SC_SawGregInTaverne; * * * * * * * *// ГГ говорил с Грегом в таверне (TRUE)
var int Greg_SuchWeiter; * * * * * * * * * *// ГГ должен найти Грегу ещё сокровища (TRUE)
var int Skip_Rum4Baltram; * * * * * * * * * // Скип дает ГГ ром для Бальтрама (TRUE)
var int Knows_GregsHut; * * * * * * * * * * // ГГ находит хибару Грега (TRUE)
var int Francis_ausgeschissen; * * * * * * *// Грег узнаёт, что ГГ был в его хижине (TRUE)
var int MIS_Brandon_BringHering; * * * * * *// статус квеста по доставке Брендону выпивки

// Пропавшие люди
var int Lares_CanBringScToPlaces; * * * * * * * // Ларес может оставить порт (TRUE)
var int SC_HearedAboutMissingPeople; * * * * * *// ГГ узнаёт, что пропадают городские жители (TRUE)
var int SC_KnowsDexterAsKidnapper; * * * * * * *// ГГ узнаёт, что Декстер причастен к пропаже людей (TRUE)
var int Ranger_SCKnowsDexter; * * * * * * * * * // ГГ узнаёт где располагается Декстер (TRUE)
var int Dexter_KnowsPatrick; * * * * * * * * * *// ГГ узнаёт, что Декстер знает наёмника Патрика (TRUE)
var int SCKnowsFarimAsWilliamsFriend; * * * * * // ГГ узнаёт от рыбака Фарима о пропаже его друга Вильяма (TRUE)
var int SCKnowsSkipAsKidnapper; * * * * * * * * // (не используется)
var int SCKnowsMissingPeopleAreInAddonWorld; * *// ГГ узнаёт где находятся пропавшие люди (TRUE)
var int SCKnowsExactlyWhereMissingPeopleAre; * *// (не используется)
var int SCMetMissingPeople; * * * * * * * * * * // (не используется)
var int MissingPeopleReturnedHome; * * * * * * *// ГГ возвратил пропавших людей домой (TRUE)
var int MIS_Akil_BringMissPeopleBack; * * * * * // статус квеста Акила по поиску пропавших работников
var int MIS_Bengar_BringMissPeopleBack; * * * * // статус квеста Бенгара по поиску пропавшего работника
var int MIS_Addon_Andre_MissingPeople; * * * * *// лорд Андрэ знает, что ГГ ищет пропавших людей
var int MIS_Addon_Vatras_WhereAreMissingPeople; // статус квеста Ватраса по поиску пропавших людей
var int MIS_Bromor_LuciaStoleGold; * * * * * * *// статус квеста Бромора по поиску золотой вазы
var int Bromor_Hausverbot; * * * * * * * * * * *// Бромор прогоняет ГГ из своего заведения (TRUE)
var int MIS_Thorben_BringElvrichBack; * * * * * // статус квеста Торбена по поиску пропавшего работника
var int Elvrich_GoesBack2Thorben; * * * * * * * // Элврич вернулся к столяру Торбену (TRUE)
var int MIS_LuciasLetter; * * * * * * * * * * * // статус квеста по доставке прощального письма Люсии Элвричу
var int MIS_Bartok_MissingTrokar; * * * * * * * // статус квеста Бартока по поиску пропавшего друга
var int SC_KnowsLuciaCaughtByBandits; * * * * * // ГГ узнаёт, что Люсию утащили в лес бандиты за двором Секоба (TRUE)
var int Elvrich_SCKnowsPirats; * * * * * * * * *// ГГ узнаёт от Элврича, что бандиты связаны с пиратами (TRUE)
var int Dexter_NoMoreSmallTalk; * * * * * * * * // Декстер предупреждает ГГ о нападении (TRUE)
var int Saturas_WillVertrauensBeweis; * * * * * // Сатурас ждет ответ от Ватраса, что ГГ можно доверять (TRUE)
var int SC_GotPORTALTEMPELWALKTHROUGHKey; * * * // Мердарион дал ГГ ключ от портала (TRUE)

// "Кольцо Воды"
var int SC_KnowsRanger; * * * * * * * * * * * * // ГГ узнаёт о "Кольце Воды" (TRUE)
var int SC_IsRanger; * * * * * * * * * * * * * *// ГГ принят в "Кольце Воды" (TRUE)
var int SaturasKnows_SC_IsRanger; * * * * * * * // Сатурас согласен принять ГГ в "Кольцо Воды" (TRUE)
var int SCIsWearingRangerRing; * * * * * * * * *// ГГ одел опознавательный знак "Кольца Воды" (TRUE)
var int RangerRingIsLaresRing; * * * * * * * * *// ГГ одел кольцо Лареса (TRUE)
var int SC_KnowsCordAsRangerFromLares; * * * * *// ГГ узнаёт от Лареса, что Корд принадлежит к "Кольцу Воды" (TRUE)
var int SC_KnowsCordAsRangerFromLee; * * * * * *// ГГ узнаёт от Ли, что Корд принадлежит к "Кольцу Воды" (TRUE)
var int Cavalorn_RangerHint; * * * * * * * * * *// ГГ узнаёт, что Ковалорн принадлежит к "Кольцу Воды" (TRUE)
var int Baltram_Exchange4Lares; * * * * * * * * // Бальтрам найдет замену Ларесу в порту (TRUE)
var int SC_KnowsBaltramAsRanger; * * * * * * * *// ГГ узнаёт, что Бальтрам принадлежит к "Кольцу Воды" (TRUE)
var int Lares_GotRingBack; * * * * * * * * * * *// Ларес получает назад своё кольцо (TRUE)
var int Lares_HaltsMaul; * * * * * * * * * * * *// Ларес обращается к ГГ после встечи "Кольца Воды" в таверне (TRUE)
var int RangerHelp_gildeSLD; * * * * * * * * * *// Ларес помогает ГГ стать наемником (TRUE)
var int RangerHelp_gildeMIL; * * * * * * * * * *// Ларес помогает ГГ стать милиционером (TRUE)
var int RangerHelp_gildeKDF; * * * * * * * * * *// Ларес помогает ГГ стать Магом Огня (TRUE)
var int RangerHelp_LehmarKohle; * * * * * * * * // Ларес помогает ГГ в получении денег у Лемара (TRUE)
var int RangerHelp_OrnamentForest; * * * * * * *// Ларес помогает ГГ в походе в лес на востоке за орнаментом (TRUE)
var int Orlan_RangerHelpZimmer; * * * * * * * * // ГГ может жить в таверне Орлана бесплатно (TRUE)
var int Cord_RangerHelp_GetSLD; * * * * * * * * // Корд помогает ГГ стать наемником (TRUE)
var int Cord_RangerHelp_Fight; * * * * * * * * *// Корд согласен научить ГГ сражаться (TRUE)
var int Cord_RangerHelp_TorlofsProbe; * * * * * // Корд помогает ГГ пройти испытание Торлофа (TRUE)
var int RangerMeetingRunning; * * * * * * * * * // статус квеста о сборе "Кольца Воды" в таверне
var int Lares_ComeToRangerMeeting; * * * * * * *// (не используется)
var int Lares_TakeFirstMissionFromVatras; * * * // Ларес посылает ГГ к Ватрасу за первым заданием "Кольца Воды" (TRUE)
var int MIS_Vatras_FindTheBanditTrader; * * * * // статус квеста Ватраса с поставкой оружия бандитам
var int MIs_Martin_FindTheBanditTrader; * * * * // статус квеста Мартина с поставкой оружия бандитам
var int BanditTrader_Lieferung_Gelesen; * * * * // ГГ прочитал письмо о поставке оружия бандитам (TRUE)
var int Fernando_HatsZugegeben; * * * * * * * * // Фернандо признался что поставляет оружие бандитам (TRUE)
var int Fernando_ImKnast; * * * * * * * * * * * // Фернандо арестован (TRUE)
var int SC_ShowedRangerArmor; * * * * * * * * * // (не используется)
var int Orlan_KnowsSCAsRanger; * * * * * * * * *// Орлан узнаёт, что ГГ принадлежит к "Кольцу Воды" (TRUE)
var int Orlan_Hint_Lares; * * * * * * * * * * * // ГГ узнаёт от Лареса, что у таверны Орлана есть телепорт (TRUE)
var int Martin_KnowsFarim; * * * * * * * * * * *// Мартин поможет Фариму с его проблемой (TRUE)
var int MadKillerCount; * * * * * * * * * * * * // счетчик невинно убитых граждан ГГ
var int VatrasPissedOffForever; * * * * * * * * // Ватрас прогоняет ГГ за совершенные злодеяния (TRUE)
var int VatrasMadKillerCount; * * * * * * * * * // Ватрас запомнил сколько убийств совершил ГГ

// Сбор орнаментов для портала
var int RitualRingRuns; * * * * * * * * * * * * // статус квеста по открытию портала
var int SC_KnowsOrnament; * * * * * * * * * * * // (не мспользуется)
var int ORNAMENT_SWITCHED_BIGFARM; * * * * * * *// Каменный круг у двора Секоба активирован (TRUE)
var int ORNAMENT_SWITCHED_FARM; * * * * * * * * // Каменный круг у двора Лобарта активирован (TRUE)
var int ORNAMENT_SWITCHED_FOREST; * * * * * * * // Каменный круг в северном лесу активирован (TRUE)
var int SCUsed_AllNWTeleporststones; * * * * * *// ГГ использовал все телепорты в Новом мире (TRUE)
var int SC_SAW_ORNAMENT_MAP; * * * * * * * * * *// ГГ открыл карту Нефариуса (TRUE)
var int Lord_Hagen_GotOrnament; * * * * * * * * // ГГ получил кусок орнамента у лорда Хагена (TRUE)
var int Hagen_BringProof; * * * * * * * * * * * // лорд Хаген поручил ГГ найти экспедиции в Минентале (TRUE)
var int Vatras2Saturas_FindRaven_Open; * * * * *// ГГ открыл письмо Ватраса Сатурасу (TRUE)

// Телепорты
var int SCUsed_TELEPORTER; * * * * * * * * * * *// ГГ использовал какой-либо телепорт (TRUE)
var int SCUsed_NW_TELEPORTSTATION_CITY; * * * * // ГГ использовал телепорт в пещере восточнее Хориниса (TRUE)
var int SCUsed_NW_TELEPORTSTATION_TAVERNE; * * *// ГГ использовал телепорт у таверны Орлана (TRUE)
var int SCUsed_NW_TELEPORTSTATION_MAYA; * * * * // ГГ использовал телепорт у портала в Яркендар (TRUE)
var int SCUsed_ADW_TELEPORTSTATION_PORTALTEMPEL;// ГГ использовал телепорт у портала в Хоринис (TRUE)
var int SCUsed_ADW_TELEPORTSTATION_ADANOSTEMPEL;// ГГ использовал телепорт в Лагере Бандитов (TRUE)
var int SCUsed_ADW_TELEPORTSTATION_SOUTHEAST; * // ГГ использовал телепорт на болоте у Лагеря Бандитов (TRUE)
var int SCUsed_ADW_TELEPORTSTATION_SOUTHWEST; * // ГГ использовал телепорт на юго-западе Яркендара (TRUE)
var int SCUsed_ADW_TELEPORTSTATION_PIRATES; * * // ГГ использовал телепорт каньоне Яркендара (TRUE)
var int SCUsed_ADW_TELEPORTSTATION_RAVENTELEPORT_OUT; * * * // ГГ использовал телепорт у Храма Аданосу (TRUE)
var int SCUsed_ADW_TELEPORTSTATION_PIRATES_JACKSMONSTER; * *// ГГ использовал телепорт у пиратов (TRUE)
var int SC_ADW_ActivatedAllTelePortStones; * * *// ГГ активировал все телепорты Яркендара (TRUE)

// Маги Воды в Яркендаре
var int NefariusADW_Talk2Saturas; * * * * * * * // Нефариус полагает, что ГГ должен поговорить о разрушенном городе с Сатурасом (TRUE)
var int MIS_ADDON_Myxir_GeistBeschwoeren; * * * // статус квеста Миксира о Кваходроне
var int SC_KnowsRavensGoldmine; * * * * * * * * // ГГ узнаёт о золотой шахте Равена (TRUE)
var int StPl_nDocID; * * * * * * * * * * * * * *// обработчик документов Майя
var int Myxir_CITY_IstDa; * * * * * * * * * * * // (не используется)
var int SC_OpenedCavalornsBeutel; * * * * * * * // ГГ открыл кошелек Коволорна (TRUE)
var int MIS_Saturas_LookingForHousesOfRulers; * // статус квеста Сатураса по поску домов Властителей
var int MIS_Riordian_HousesOfRulers; * * * * * *// статус квеста Риордана по поску домов Властителей

var int ENTERED_ADDONWORLD; * * * * * * * * * * // ГГ вошел в Яркендар (TRUE)
var int VatrasCanLeaveTown_Kap3; * * * * * * * *// Ватрас может помочь с ремонтом Глаза Инноса (TRUE)
var int VatrasAbloeseIstDa; * * * * * * * * * * // (не используется)
var int Ghost_SCKnowsHow2GetInAdanosTempel; * * // ГГ узнаёт от Кваходрона о Камерах Аданоса (TRUE)
var int Saturas_KnowsHow2GetInTempel; * * * * * // ГГ узнаёт от Сатураса способ попасть в храм Аданоса (TRUE)
var int MIS_ADDON_Saturas_GoToRaven; * * * * * *// статус квеста Сатураса о проникновении в храм Аданоса
var int Saturas_RiesenPlan; * * * * * * * * * * // ГГ узнаёт, что Равен овладел властью Хранителей Духов (TRUE)
var int SC_Knows_WeaponInAdanosTempel; * * * * *// ГГ узнаёт об оружии в храме Аданоса (TRUE)
var int Saturas_KnowsWeaponIsInAdanosTempel; * *// (не используется)
var int SC_SummonedAncientGhost; * * * * * * * *// ГГ вызвал Кваходрона (TRUE)
var int SC_TalkedToGhost; * * * * * * * * * * * // ГГ разговаривал с Кваходроном (TRUE)
var int RavenIsInTempel; * * * * * * * * * * * *// ГГ видит, как Равен исчезает в храме Фданоса (TRUE)
var int GhostAttackWarn; * * * * * * * * * * * *// счетчик предупреждений при атаке призрака
var int SC_TookRhademesTrap; * * * * * * * * * *// ГГ одолел Радемеса (TRUE)
var int SC_TalkedToRhademAfter; * * * * * * * * // ГГ слышал последние слова Радемеса (TRUE)
var int RavenIsDead; * * * * * * * * * * * * * *// Равен мертв (TRUE)
var int BeliarsWeaponSpecialDamage; * * * * * * // (не используется)
var int BeliarDamageChance; * * * * * * * * * * // шанс спец. повреждения Когтем Белиара
var int SC_FailedToEquipBeliarsWeapon; * * * * *// ГГ пытался использовать Коготь Белиара (TRUE)
var int BeliarsWeaponUpgrated; * * * * * * * * *// ГГ улучшил Коготь Белиара (TRUE)


продолжение следует...
Ответить с цитированием
Старый 13.05.2005, 19:18   #166
Vam

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

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

Примечание: (не используется) - значит можно удалить, но в некоторых случаях необходимо подправить другие файлы, удалить из них эту переменную (например, переменная имеет присвоение, но нигде не анализируется, или наоборот, проверяется на TRUE, но ей нигде не присваивается это значение).

// Лагерь Бандитов
var int Player_HasTalkedToBanditCamp; * // ГГ может разговаривать с бандитами

var int Franco_Exit; * * * * * * * * * *// флаг комментария Франко
var int MIS_HlpLogan; * * * * * * * * * // статус квеста охота на болотожоров с Логаном
var int MIS_HlpEdgor; * * * * * * * * * // статус квеста Франко по поиску каменной плитки
var int Logan_Inside; * * * * * * * * * // Франко впустил в лагерь Логана (TRUE)
var int Edgor_Teach; * * * * * * * * * *// ГГ узнаёт, что Эдгар может научить добыванию жал Кровяных шершней (TRUE)
var int Sumpfi_Counter; * * * * * * * * // (не используется)
var int LennarPaket_Open; * * * * * * * // ГГ открыл пакет Ленара с отмычками (TRUE)
var int Emilio_TellAll; * * * * * * * * // ГГ узнаёт от Эмилио о Хуно (TRUE)
var int Paul_TellAll; * * * * * * * * * // ГГ узнаёт от Пауля о Хуно (TRUE)
var int Finn_TellAll; * * * * * * * * * // ГГ узнаёт от Финна о Хуно (TRUE)
var int Finn_Petzt; * * * * * * * * * * // ГГ узнаёт, что Финн хочет замочить Эстебана (TRUE)
var int Senyan_Called; * * * * * * * * *// Сеньян нападает на ГГ (TRUE)
var int Huno_zuSnaf; * * * * * * * * * *// Хуно посылает ГГ к Снафу (TRUE)
var int Huno_MEGA_Angepisst; * * * * * *// Хуно "посылает" ГГ (TRUE)
var int Snaf_Tip_Senyan; * * * * * * * *// отношения ГГ с Сеньяном разорваны (TRUE)
var int Ramon_News; * * * * * * * * * * // ГГ узнаёт от Рамона о Торусе (TRUE)
var int MIS_Judas; * * * * * * * * * * *// статус квеста о расследовании покушения на Эстебана
var int Judas_Counter; * * * * * * * * *// (не используется)
var int Bodyguard_Killer; * * * * * * * // ГГ говорит Эстебану, что в покушении замешан Фиск (TRUE)
var int Snaf_Rechnung; * * * * * * * * *// (не используется)
var int Snaf_Einmal; * * * * * * * * * *// флаг комментария Снафа
var int MIS_SnafHammer; * * * * * * * * // статус квеста по изготовлению самогона для Снафа
var int Snaf_Amount; * * * * * * * * * *// (не используется)
var int Knows_Finn; * * * * * * * * * * // (не используется)
var int Knows_Huno; * * * * * * * * * * // (не используется)
var int Knows_Fisk; * * * * * * * * * * // (не используется)
var int Knows_Esteban; * * * * * * * * *// (не используется)
var int Knows_Senyan; * * * * * * * * * // (не используется)
var int Finn_CONTRA; * * * * * * * * * *// (не используется)
var int Paul_CONTRA; * * * * * * * * * *// (не используется)
var int Senyan_Erpressung; * * * * * * *// статус квеста Сеньяна по убийству заказчика
var int Senyan_CONTRA; * * * * * * * * *// (не используется)
var int Senyan_Gold; * * * * * * * * * *// (не используется)
var int Erol_Bonus; * * * * * * * * * * // Ерол делает ГГ сильнее (TRUE)
var int PC_KnowsRedStone; * * * * * * * // (не используется)
var int MIS_Huno_Stahl; * * * * * * * * // статус квеста Хуно с поставкой стали
var int MIS_Lennar_Lockpick; * * * * * *// статус квеста по поиску Хуана на болоте
const int Lennar_picklock_amount = 12; *// кол-во отмычек в пакете Хуана
var int Lockpick_gegeben; * * * * * * * // (не используется)
var int Lennar_Trust; * * * * * * * * * // (не используется)
var int Senyan_Start; * * * * * * * * * // (не используется)
var int Huno_ArmorCheap; * * * * * * * *// Фиск помогает ГГ с доспехами (TRUE)
var int BDT_Armor_H_Value; * * * * * * *// стоимость доспехов у Хуно
var int SC_KnowsFortunoInfos; * * * * * // ГГ узнаёт информацию от Фортуно (TRUE)
var int Torwache_Greetings; * * * * * * // предупреждения охраной ворот в Лагере Бандитов
var int MIS_Send_Buddler; * * * * * * * // статус квеста ГГ на службе Торуса
var int Player_SentBuddler; * * * * * * // кол-во старателей, найденных ГГ для работы в шахте
var int Juan_Parole; * * * * * * * * * *// (не используется)
var int Knows_MCELIXIER; * * * * * * * *// рецепт Эликсира изменения духа прочитан ГГ (TRUE)
var int BDT_100018_Einmal; * * * * * * *// флаг комментария охраны в Лагере Бандитов
var int BDT_100018_Tells; * * * * * * * // флаг комментария охраны в покои Равена
var int MIS_BloodwynRaus; * * * * * * * // статус квеста с Блудвиным по проходу в шахту
var int Crimson_SayBeliar; * * * * * * *// сколько раз Кримсон повторяет слова Равена
var int Patrick_trust; * * * * * * * * *// (не используется)
var int Sklaven_Flucht; * * * * * * * * // ГГ освободил пропавших людей в Золотой шахте (TRUE)
var int Sklaven_weg; * * * * * * * * * *// возвращение пропавших людей на свои старые места (TRUE)
var int RemoveSklaven; * * * * * * * * *// удаление пропавших людей из Яркендара (TRUE)
var int Ready_Togo; * * * * * * * * * * // охрана извещена о разрешении освободить пропавших людей (TRUE)
// Том
var int knows_losung; * * * * * * * * * // (не используется)
var int knows_petze; * * * * * * * * * *// (не используется)
var int Tom_Angebot; * * * * * * * * * *// (не используется)
var int Tom_Tells; * * * * * * * * * * *// Том отказывается возвращаться в Лагерь Бандитов (TRUE)
// Фортуно
var int Green_Extrem; * * * * * * * * * // ГГ прочитал рецепт по изготовлению Зеленого послушника (TRUE)
var int Fortuno_Einmal; * * * * * * * * // ГГ услышал бред Фортуно (TRUE)
var int Fortuno_Info; * * * * * * * * * // (не используется)
var int Fortuno_Geheilt_01; * * * * * * // Фортуно пришел в себя (TRUE)
// Простые бандиты
var int BDT_13_Nerver; * * * * * * * * *// сколько раз ГГ может нервировать бандита
var int BDT_13_Kill; * * * * * * * * * *// бандит занервничал (TRUE)
var int BDT_13_einmal; * * * * * * * * *// бандит смеётся один раз (TRUE)
var int BDT_1_Ausbuddeln; * * * * * * * // (не используется)
// Блудвин
var int Minecrawler_Killed; * * * * * * // кол-во ползунов, убитых до появления Блаувина (TRUE)
var int Bloodwyn_Spawn; * * * * * * * * // появление Блудвина в шахте (TRUE)
// Добыча золота
var int Hero_HackChance; * * * * * * * *// способность ГГ добывать золото
var int Truemmer_Count; * * * * * * * * // кол-во осколочных ударов киркой
var int Knows_Truemmerschlag; * * * * * // ГГ обучен осколочному удару
var int Learn_by_doing; * * * * * * * * // кол-во ударов, нанесенных ГГ по руде
// счетчики кол-ва ударов, нанесенных ГГ по кускам руды
var int GoldMob_01_Amount;
var int GoldMob_02_Amount;
var int GoldMob_03_Amount;
var int GoldMob_04_Amount;
var int GoldMob_05_Amount;
var int GoldMob_06_Amount;
var int GoldMob_07_Amount;
var int GoldMob_08_Amount;
var int GoldMob_09_Amount;
var int GoldMob_10_Amount;
var int GoldMob_11_Amount;
var int GoldMob_12_Amount;
var int GoldMob_13_Amount;
var int GoldMob_14_Amount;
var int GoldMob_15_Amount;
var int GoldMob_16_Amount;
var int GoldMob_17_Amount;
var int GoldMob_18_Amount;
var int GoldMob_19_Amount;
var int GoldMob_20_Amount;

// Мак. кол-во ударов (до истощения), которое можно нанести по куску руды
// Большая шахта
const int GoldMob_01_AmounT_MAX = 5;
const int GoldMob_02_AmounT_MAX = 5;
const int GoldMob_03_AmounT_MAX = 5;
const int GoldMob_04_AmounT_MAX = 5;
const int GoldMob_12_AmounT_MAX = 7;
// Тупики и штольня
const int GoldMob_05_AmounT_MAX = 9;
const int GoldMob_06_AmounT_MAX = 9;
const int GoldMob_07_AmounT_MAX = 9;
// Золотая шахта
const int GoldMob_08_AmounT_MAX = 15;
const int GoldMob_09_AmounT_MAX = 15;
const int GoldMob_10_AmounT_MAX = 18;
const int GoldMob_11_AmounT_MAX = 18;
// Другие куски руды
const int GoldMob_13_AmounT_MAX = 12;
const int GoldMob_14_AmounT_MAX = 13;
const int GoldMob_15_AmounT_MAX = 14;
const int GoldMob_16_AmounT_MAX = 15;
const int GoldMob_17_AmounT_MAX = 16;
const int GoldMob_18_AmounT_MAX = 17;
const int GoldMob_19_AmounT_MAX = 18;
const int GoldMob_20_AmounT_MAX = 19;

// Лагерь Пиратов
var int MIS_LookForMorgan; * * * * * * * * *// (не используется)
var int MIS_MorganRumBringen; * * * * * * * // (не используется)
var int MIS_KrokoJagd; * * * * * * * * * * *// статус квеста охота с Аллигатором Джеком
var int AlligatorJack_KrokosKilled; * * * * // счетчик убитых болотных крыс
var int AlligatorJackTrustYou; * * * * * * *// (не используется)
var int AlligatorJack_JagdStart; * * * * * *// место охоты на болотных крыс
var int AlligatorJack_PlayersTriesAlone; * *// (не используется)
var int SC_Knows_JuanMurderedAngus; * * * * // ГГ узнаёт, что Хуан убил Ханка и Агнуса
var int MIS_AlligatorJack_BringMeat; * * * *// статус квеста по доставке мяса Моргану
var int MIS_ADDON_SkipsGrog; * * * * * * * *// статус квеста по поску бутылок грога для Скипа
var int MIS_Addon_MorganLurker; * * * * * * // статус квеста Грега по зачистке пляжа
var int SC_MadeStunt; * * * * * * * * * * * // ГГ прыгнул с уступа (TRUE)
var int TowerBanditsDead; * * * * * * * * * // башня освобождена от бандитов (TRUE)
var int Francis_100_Told; * * * * * * * * * // (не используется)
var int Francis_500_Told; * * * * * * * * * // (не используется)
var int Francis_HasProof; * * * * * * * * * // ГГ прочитал Расчетную книжку матроса (не используется)
var int MIS_Francis_FreeBDTTower; * * * * * // (не используется)
var int MIS_Henry_FreeBDTTower; * * * * * * // статус квеста Грега по освобождению башни от бандитов
var int Knows_HenrysEntertrupp; * * * * * * // ГГ помогают освободить башню от бандитов (TRUE)
var int Henry_GetPartyMember; * * * * * * * // (не используется)
var int Francis_NoGrog; * * * * * * * * * * // (не используется)
var int Owen_ComesToHenry; * * * * * * * * *// ГГ должен сообщить Генри, что Овен доставит дерево (TRUE)
var int Owen_Sc_FoundMalcom; * * * * * * * *// (не используется)
var int MALCOMEXIDENT; * * * * * * * * * * *// (не используется)
var int Malcom_Accident; * * * * * * * * * *// ГГ узнаёт, что Малком мертв
var int MIS_Owen_FindMalcom; * * * * * * * *// статус квеста по поиску Малкома
var int MIS_Henry_HolOwen; * * * * * * * * *// статус квеста по доставке дерева Генри
var int Bill_addon_deal; * * * * * * * * * *// (не используется)
var int MIS_Addon_Morgan_SeekTraitor; * * * // статус квеста Моргана по поиску его кольца
var int MIS_Addon_JoinHenrysCrew; * * * * * // (не используется)
var int Henrys_CrewCount; * * * * * * * * * // (не используется)
var int MIS_Addon_JoinMorgansCrew; * * * * *// (не используется)
var int MalcomBotschaft; * * * * * * * * * *// Малкому прдется подождать древесину (TRUE)
var int MIS_ADDON_GARett_BringKompass; * * *// статус квеста по поиску компаса Гаррета
var int MIS_Addon_Bill_SearchAngusMurder; * // статус квеста по поиску убийцы Агнуса и Ханка
var int MIS_Addon_Bill_SearchEsteban; * * * // (не используется)
var int MIS_Addon_Bill_KillEsteban; * * * * // (не используется)
var int MIS_ADDON_PIR_6_Duell; * * * * * * *// (не используется)
var int MIS_ADDON_PIR_6_BringGrog; * * * * *// (не используется)
var int MIS_Addon_PIR_7_BringJoint; * * * * // (не используется)
var int MIS_Addon_PIR_7_BringGrog; * * * * *// (не используется)
var int Greg_GaveArmorToBones; * * * * * * *// ГГ узнаёт из журнала Грега о кольчуге бандитов (TRUE)
var int PlayerKnowsAboutMIne; * * * * * * * // (не используется)
var int MIS_BONES_SCOUTBANDITS; * * * * * * // (не используется)
var int MIS_DuellWithGreg; * * * * * * * * *// (не используется)
var int GregIsBack; * * * * * * * * * * * * // Грег вернулся в Яркендар (TRUE)
var int Read_JuansText; * * * * * * * * * * // (не используется)
var int Skip_Addon_PlayerKnowsAboutBigBusiness; // (не используется)
var int MIS_Addon_Greg_ClearCanyon; * * * * // статус квеста Грега о зачистке каньона
var int CanyonRazorBodyCount; * * * * * * * // счетчик убитых в каньоне расчленителей
var int MIS_Greg_ScoutBandits; * * * * * * *// статус квеста Грега по выяснению планов бандитов
var int SC_KnowsGoldmine; * * * * * * * * * // (не используется)
var int Player_KnowsSchnellerHering; * * * *// ГГ выпил "Быструю селедку"
var int MIS_Addon_HenryCrewMember; * * * * *// (не используется)
var int MIS_Addon_MorganCrewMember; * * * * // (не используется)
var int MIS_ADDON_ProofHenryCrew; * * * * * // (не используется)
var int MIS_Addon_ProofHenryCrew_Count; * * // (не используется)
var int MIS_ADDON_ProofMorganCrew; * * * * *// (не используется)
var int MIS_Addon_ProofMorganCrew_Count; * *// (не используется)
var int Knows_LousHammer; * * * * * * * * * // ГГ изучил рецепт Молотка Лу
var int Knows_Schlafhammer; * * * * * * * * // ГГ изучил рецепт Двойного Молотка Лу
var int Knows_SchnellerHering; * * * * * * *// ГГ изучил рецепт Быстрой Селёдки
var int Knows_RuebenSchnaps; * * * * * * * *// (не используется)
var int Knows_VinoSchnaps; * * * * * * * * *// (не используется)
var int Knows_PiratenSchnaps; * * * * * * * // (не используется)
var int Knows_Magierschnaps; * * * * * * * *// (не используется)
var int Knows_Sumpfkrautschnaps; * * * * * *// (не используется)
var int Knows_Banditenaxt; * * * * * * * * *// руководство по изготовлению топора бандитов (не используется)
var int StuntBonus_Once; * * * * * * * * * *// флаг бонуса за трюк

// Учителя
var int Cavalorn_Addon_TeachPlayer; * * * * // Ковалорн может учить ГГ (TRUE)
var int Myxir_Addon_TeachPlayer; * * * * * *// Миксир может научить ГГ иностранным языкам (TRUE)
var int AlligatorJack_Addon_TeachPlayer; * *// Аллигатор Джек может учить ГГ (TRUE)
var int Francis_Addon_TeachPlayer; * * * * *// (не используется)
var int Henry_Addon_TeachPlayer; * * * * * *// Генри может учить ГГ (TRUE)
var int Morgan_Addon_TeachPlayer; * * * * * // Морган может учить ГГ (TRUE)
var int Erol_Addon_TeachPlayer; * * * * * * // Ерол может учить ГГ (TRUE)
var int Riordian_Addon_TeachPlayer; * * * * // Риордан может научить ГГ магии (TRUE)
var int Riordian_ADW_ADDON_TeachWisp; * * * // Риордан может обучить Огонек (TRUE)
var int Riordian_ADW_ADDON_TeachAlchemy; * *// Риордан может научить ГГ алхимии (TRUE)
var int Saturas_Addon_TeachCircle; * * * * *// Сатурас может научить ГГ магии (TRUE)
var int Merdarion_Addon_TeachMana; * * * * *// Мердарион может учить ГГ (TRUE)
var int Nefarius_Addon_TeachRunes; * * * * *// Нефариус может учить ГГ (TRUE)
var int Bill_Addon_TeachPickPocket; * * * * // Билл может учить ГГ (TRUE)


продолжение следует...
Ответить с цитированием
Старый 14.05.2005, 13:53   #167
Vam

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

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

//**************
// Готика 2
//**************

var int Kapitel; * * * * * * * * * * * * * *// номер текущей главы

// Криминал
var int Lee_Schulden; * * * * * * * * * * * // долг ГГ перед Онаром
var int Hagen_Schulden; * * * * * * * * * * // долг ГГ перед Хагеном
var int Andre_Schulden; * * * * * * * * * * // долг ГГ перед Андрэ
var int Garond_Schulden; * * * * * * * * * *// долг ГГ перед Гарондом
var int Parlan_Schulden; * * * * * * * * * *// долг ГГ перед Парланом

// Воровство
const int Theftdiff = 10; * * * * * * * * * // мин. ловкость, требуемая для воровства
var int TheftDexGlob; * * * * * * * * * * * // уровень ловкости, требуемый для успешного воровства
var int TheftGoldGlob; * * * * * * * * * * *// кол-во украденных денег

//**************
// Квесты
//**************

var int DG_gefunden; * * * * * * * * * * * *// ГГ нашел гильдию воров (TRUE)

// Глава 1
var int Bdt13_Friend; * * * * * * * * * * * // первый встретившийся бандит друг ГГ (TRUE)
var int Bdt13_Dexter_verraten; * * * * * * *// ГГ узнает о Декстере (TRUE)
var int Bdt_1013_Away; * * * * * * * * * * *// пещера очищена от бандитов (TRUE)
var int Knows_Dexter; * * * * * * * * * * * // охрана пропустила ГГ к Декстеру (TRUE)
var int MIS_Steckbriefe; * * * * * * * * * *// статус квеста, узнать что за бандиты ищут ГГ
// Ферма Лобарта
var int Wert_LobartsRuestung; * * * * * * * // стоимость одежды Лобарта
var int Lobart_Kleidung_Verkauft; * * * * * // Лобарт разрешает ГГ взять одежду из сундука (TRUE)
var int Lobart_Kleidung_gestohlen; * * * * *// Лобарт нападает на ГГ (TRUE)
var int Lobart_AgainstKing; * * * * * * * * // Лобарт за короля (TRUE)
var int MIS_Maleth_Bandits; * * * * * * * * // статус квеста Малета по уничтожению бандитов
var int MIS_Vino_Wein; * * * * * * * * * * *// статус квеста Вино по поиску вина
var int MIS_Lobart_Rueben; * * * * * * * * *// статус квеста Лобарта по сбору свёклы
var int MIS_Lobart_RuebenToHilda; * * * * * // статус квеста Лобарта по доставке свёклы Хильде
var int MIS_Hilda_PfanneKaufen; * * * * * * // статус квеста Хильды по покупке сковороды
var int MIS_Hilda_PfanneKaufen_Day; * * * * // день, когда ГГ получил деньги на сковороду
var int Hilda_Stew_Day; * * * * * * * * * * // день кормежки ГГ у Хильды
var int MIS_LobartKillBugs; * * * * * * * * // статус квеста Лобарта по уничтожению полевых жуков

// Город
var int MIL_Aufnahme; * * * * * * * * * * * // статус квеста по присоединению к милиции
var int SLD_Aufnahme; * * * * * * * * * * * // статус квеста по присоединению к наемникам
var int KDF_Aufnahme; * * * * * * * * * * * // статус квеста по присоединению к магам огня
var int NOV_Aufnahme; * * * * * * * * * * * // ГГ стал послушником (TRUE)
var int Player_IsApprentice; * * * * * * * *// чьим учеником является ГГ
const int APP_NONE * * * * *= 0; * * * * * *// сам по себе
const int APP_Bosper * * * *= 1; * * * * * *// Боспера
const int APP_Harad * * * * = 2; * * * * * *// Харада
const int APP_Constantino * = 3; * * * * * *// Константино
var int *MIS_Apprentice; * * * * * * * * * *// статус квеста по вступлению ГГ в ученики
var int Bosper_Lehrling_Day; * * * * * * * *// день, когда Боспер взял ГГ в ученики
var int Harad_Lehrling_Day; * * * * * * * * // день, когда Харад взял ГГ в ученики
var int Constantino_Lehrling_Day; * * * * * // день, когда Константино взял ГГ в ученики

var int MIS_Harad_Orc; * * * * * * * * * * *// статус квеста Харада по убийству орка
var int Harad_HakonMission; * * * * * * * * // Харад поручил ГГ убить бандитов (TRUE)
var int MIS_HakonBandits; * * * * * * * * * // статус квеста Хакона по убийству бандитов
var int MIS_HakonBanditsPay; * * * * * * * *// Хакон обещает заплатить ГГ за головы бандитов (TRUE)

var int MIS_Constantino_BringHerbs; * * * * // статус квеста Константино по поиску растений
var int MIS_Constantino_Mushrooms; * * * * *// статус квеста Константино по поиску грибов
var int Constantino_DunkelpilzCounter; * * *// кол-во грибов собранных ГГ

var int Points_Farm; * * * * * * * * * * * *// (не используется)
var int Points_Monastery; * * * * * * * * * // (не используется)

var int Mil_310_Scheisse_erzaehlt; * * * * *// ГГ говорил с охраной о проходе в город (TRUE)
var int Player_TalkedAboutDragons; * * * * *// ГГ говорил с Лотаром о драконах (TRUE)
var int Player_KnowsLordHagen; * * * * * * *// ГГ пытался попасть к лорду Хагену (TRUE)
var int Hagen_FriedenAbgelehnt; * * * * * * // лорд Хаген согласен амнистировать Ли (TRUE)
var int Mil_310_schonmalreingelassen; * * * // ГГ прошел в город через ворота со стороны фермы Лобарта (TRUE)
var int Mil_333_schonmalreingelassen; * * * // ГГ прошел в город через ворота со стороны маяка (TRUE)
var int Lothar_Regeln; * * * * * * * * * * *// Лотар рассказал ГГ городские законы (TRUE)
var int Canthar_InStadt; * * * * * * * * * *// Кантар вошел в город (TRUE)
var int Canthar_Gefallen; * * * * * * * * * // Кантар дает ГГ документы (TRUE)
var int Canthar_Sperre; * * * * * * * * * * // месть Кантара (TRUE)
var int Canthar_WiederRaus; * * * * * * * * // ГГ обвинил Кантора (TRUE)
var int Canthar_Pay; * * * * * * * * * * * *// ГГ заплатил Кантору (TRUE)
const int Canthar_Gold = 500; * * * * * * * // плата Кантору за восстановление репутации

var int Andre_EyeInnos; * * * * * * * * * * // Андрэ узнает о Глазе Инноса (TRUE)
const int Kopfgeld = 100; * * * * * * * * * // награда лорда Андрэ за преступников
var int Andre_Diebesgilde_aufgeraeumt; * * *// Андрэ узнает о расправе над гильдией воров (TRUE)
var int Diebesgilde_Verraten; * * * * * * * // ГГ расправился с гильдией воров (TRUE)
var int MIS_AndreHelpLobart; * * * * * * * *// статус квеста Андрэ о помощи Лобарту
var int Andre_GivesChance; * * * * * * * * *// (не используется)
var int Andre_Bonus; * * * * * * * * * * * *// (не используется)
var int Rengaru_Ausgeliefert; * * * * * * * // ГГ сдал Ренгару милиции (TRUE)
var int Nagur_Ausgeliefert; * * * * * * * * // ГГ сдал Нагура милиции (TRUE)
var int Halvor_Ausgeliefert; * * * * * * * *// ГГ сдал Хальвора милиции (TRUE)
var int Canthar_Ausgeliefert; * * * * * * * // ГГ сдал Кантора милиции (TRUE)
var int Sarah_Ausgeliefert; * * * * * * * * // ГГ сдал Сару милиции (TRUE)
var int Undercover_Failed; * * * * * * * * *// ГГ заложил Борке Надю (TRUE)
const int Andre_Sold = 200; * * * * * * * * // жалованье лорда Андрэ
var int MIS_Andre_REDLIGHT; * * * * * * * * // статус квеста Андрэ по поиску продавца болотника в порту
var int MIS_Andre_WAREHOUSE; * * * * * * * *// статус квеста Андрэ по поиску пакета болотника
var int MIS_Andre_FISH; * * * * * * * * * * // (не используется)
var int MIS_Andre_Peck; * * * * * * * * * * // статус квеста Андрэ по поиску Пека
var int MIS_AndreGotThief; * * * * * * * * *// (не используется)
var int MIS_Baltram_ScoutAkil; * * * * * * *// статус квеста Бальтрама по доставке посылки от Акила
var int MIS_Canthars_KomproBrief; * * * * * // статус квеста Кантора по компрометации Сары
var int MIS_Canthars_KomproBrief_Day; * * * // день получения квеста Кантора
var int MIS_Meldor_BringGold; * * * * * * * // (не используется)
var int MIS_Meldor_BringGold_Day; * * * * * // (не используется)
var int MIS_Coragon_Silber; * * * * * * * * // статус квеста по поиску серебра Корагона
var int Regis_Ring; * * * * * * * * * * * * // Регис передает ГГ кольцо Валентино (TRUE)
var int Pablo_AndreMelden; * * * * * * * * *// Пабло опознал ГГ (TRUE)

var int Alrik_Kaempfe; * * * * * * * * * * *// кол-во сражений с Альриком
var int Alrik_ArenaKampfVerloren; * * * * * // кол-во побед ГГ
var int Alrik_VomSchwertErzaehlt; * * * * * // ГГ узнаёт, что Альрик продал свой меч (TRUE)
var int MIS_Alrik_Sword; * * * * * * * * * *// статус квеста по возвращению меча Альрика

var int MIS_Bosper_Bogen; * * * * * * * * * // статус квеста по поимке вора Боспера
var int MIS_Bosper_WolfFurs; * * * * * * * *// статус квеста Боспера о добыче волчьих шкурок

var int Abuyin_Zukunft; * * * * * * * * * * // ГГ получил предсказание Абуина (TRUE)
var int Abuyin_Erzaehlt; * * * * * * * * * *// флаг рассказа Абуина
var int Abuyin_Honigtabak; * * * * * * * * *// Абуин получил Медовый табак (TRUE)
var int Abuyin_Score; * * * * * * * * * * * // стоимость табака, проданного Абуину
var int Bromor_Pay; * * * * * * * * * * * * // Бромор дает Надю на шару (TRUE)
var int Nadja_Nacht; * * * * * * * * * * * *// сколько раз ГГ спал с Надей
var int Nadja_tot; * * * * * * * * * * * * *// (не используется)

var int Diebesgilde_Okay; * * * * * * * * * // кол-во полезных дел для гильдии воров
var int Charm_Test; * * * * * * * * * * * * // тест заклинания Забыть проведен (TRUE)
var int MIS_Ignaz_Charm; * * * * * * * * * *// статус квеста Игназа по испытанию заклинания
var int Alchemy_Explain; * * * * * * * * * *// ГГ узнает основы алхимии (TRUE)
var int MIS_Andre_GuildOfThieves; * * * * * // статус квеста Андрэ по поску гильдии воров

// Хальвор
var int Knows_Halvor; * * * * * * * * * * * // ГГ прочитал записку Хальвора, зашитую в рыьу (TRUE)
var int Betrayal_Halvor; * * * * * * * * * *// ГГ пообещал сдать Хальвора милиции (TRUE)
var int Halvor_Deal; * * * * * * * * * * * *// (не используется)
// Кардиф
var int Kardif_Deal; * * * * * * * * * * * *// стоимость информации Кардифа
// Нагур
var int MIS_Nagur_Bote; * * * * * * * * * * // статус квеста по передаче посылки Нагуру
var int Nagur_Deal; * * * * * * * * * * * * // плата Нагура для ГГ
var int NagurDay; * * * * * * * * * * * * * // день, когда Нагур получил от ГГ посылку
// Аттила
var int Knows_Attila_Wer; * * * * * * * * * // ГГ знакомится с Аттилой (TRUE)
var int Knows_Attila_Was; * * * * * * * * * // Аттила хочет убить ГГ (TRUE)
// Йора
var int Jora_Dieb; * * * * * * * * * * * * *// статус квеста Йоры по поимке Ренгару
var int Jora_Gold; * * * * * * * * * * * * *// статус квеста Йоры по возвращению золота

var int Thorben_Deal; * * * * * * * * * * * // (не используется)
var int Dietrichgeben; * * * * * * * * * * *// глава, в которой Торбен дал ГГ отмычки
var int Wulfgar_First; * * * * * * * * * * *// (не используется)
// Гильдия воров
var int Cassia_Day; * * * * * * * * * * * * // день, когда Кассия предложила ГГ присоединиться
var int MIS_CassiaKelche; * * * * * * * * * // статус квеста Кассии по поиску Кровавых чаш
var int Join_Thiefs; * * * * * * * * * * * *// ГГ принят в гильдию воров (TRUE)
var int Cassia_Frist; * * * * * * * * * * * // ГГ думает, вступать ли ему в гильдию воров (TRUE)
var int Cassia_Gildencheck; * * * * * * * * // ГГ состоит в "справедливой" гильдии (TRUE)
var int Ramirez_Cost; * * * * * * * * * * * // плата Рамирезу за обучение взлому замков
var int Ramirez_Sextant; * * * * * * * * * *// ГГ нашел Рамирезу секстант
var int MIS_RamirezSextant; * * * * * * * * // статус квеста Рамиреза по поиску секстанта
var int Ramirez_Zweimal; * * * * * * * * * *// Рамирез обучил ГГ взлому замков (TRUE)
var int Jesper_Cost; * * * * * * * * * * * *// плата Джасперу за обучение подкрадыванию
var int MIS_CassiaRing; * * * * * * * * * * // статус квеста Кассии по краже кольца Константино
var int Knows_SecretSign; * * * * * * * * * // ГГ обучился знаку воров (TRUE)
var int Halvor_Score; * * * * * * * * * * * // плата Хальвора за серебро
var int Halvor_Day; * * * * * * * * * * * * // день, когда Хальвор купил у ГГ серебро
var int Attila_Key; * * * * * * * * * * * * // Аттила дает ГГ ключ (TRUE)
// Эдда
var int Edda_Day; * * * * * * * * * * * * * // день, когда ГГ получил суп у Эдды
var int Edda_Schlafplatz; * * * * * * * * * // Эдда разрешаеть ГГ спать в своём доме (TRUE)

var int Knows_Ork; * * * * * * * * * * * * *// ГГ узнаёт, что около города есть орк (TRUE)
var int MIS_Matteo_Gold; * * * * * * * * * *// статус квеста Маттео по возврату долга Гритты
var int Knows_Matteo; * * * * * * * * * * * // ГГ узнает о Маттео (TRUE)
var int Gritta_GoldGiven; * * * * * * * * * // Гритта возвращает долг (TRUE)
var int Thorben_GotGold; * * * * * * * * * *// ГГ помог Торбену заплатить долг Лемару (TRUE)
var int MIS_Thorben_GetBlessings; * * * * * // статус квеста Торбена по получению благословения
var int Vatras_Segen; * * * * * * * * * * * // благословение Ватраса получено (TRUE)
var int Daron_Segen; * * * * * * * * * * * *// благословение Дарона получено (TRUE)
var int Vatras_Return; * * * * * * * * * * *// ГГ передал Исгароту послание Ватраса (TRUE)
var int MIS_PayAlwin; * * * * * * * * * * * // (не используется)
var int FellanGeschlagen; * * * * * * * * * // ГГ заставил Феллана прекратить стучать (TRUE)
var int MIS_AttackFellan; * * * * * * * * * // статус квеста Альвина по "успокоению" Феллана

var int Vatras_Trust; * * * * * * * * * * * // (не используется)
var int Vatras_Chance; * * * * * * * * * * *// (не используется)
var int Vatras_Influence; * * * * * * * * * // (не используется)
var int Vatras_First; * * * * * * * * * * * // Ватрас узнает первую правду
var int Vatras_Second; * * * * * * * * * * *// Ватрас узнает вторую правду
var int Vatras_Third; * * * * * * * * * * * // Ватрас узнает третью правду
var int MIS_Vatras_Message; * * * * * * * * // статус квеста Ватраса по доставке послания Исгароту

var int MIl_309_News; * * * * * * * * * * * // флаг разговора с охраной ворот Хориниса
var int Mil_305_schonmalreingelassen; * * * // охрана разрешает ГГ пройти в город (TRUE)
var int Knows_Paladins; * * * * * * * * * * // ГГ имеет информацию о паладинах (TRUE)
var int MIS_Garvell_Infos; * * * * * * * * *// статус квеста Гарвелла по поиску информации об орках и паладинах
var int Tell_Garvell; * * * * * * * * * * * // счетчик информации, полученной Гарвеллом
var int KnowsPaladins_Ore; * * * * * * * * *// ГГ узнаёт, что делают паладины в Минентале (TRUE)
var int Lares_Guide; * * * * * * * * * * * *// день, когда Ларес с ГГ тронулись в путь

продолжение следует...
Ответить с цитированием
Старый 15.05.2005, 17:35   #168
Vam

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

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

// Наемники
var int MIS_Lee_Friedensangebot; * * * * * *// статус квеста Ли с предложением мира лорду Хагену
var int MIS_Bennet_BringOre; * * * * * * * *// статус квеста Беннета по поиску 5 кусков руды
var int Sekob_Pachtbezahlt; * * * * * * * * // Секоб согласен заплатить долг Онару (TRUE)
var int MIS_Sekob_RedeMitOnar; * * * * * * *// статус квеста Онара по возвращению долга Секоба
var int Sekob_RoomFree; * * * * * * * * * * // Ксардас посылает ГГ на усадьбу Секоба (TRUE)
var int Torlof_TheOtherMission_TooLate; * * // ГГ выполнял поручение Торлофа слишком долго (TRUE)
var int MIS_Cipher_BringWeed; * * * * * * * // статус квеста Сайфера по доставке болотника
var int MIS_Cipher_Paket; * * * * * * * * * // статус квеста Сайфера по поиску пакета болотника
var int Dar_Dieb; * * * * * * * * * * * * * // Дар признался, что украл пакет болотника (TRUE)
var int Dar_Verdacht; * * * * * * * * * * * // Дар отрицает, что украл болотник (TRUE)
var int Dar_LostAgainstCipher; * * * * * * *// Сайфер побил Дара (TRUE)
var int MIS_Thekla_Paket; * * * * * * * * * // статус квеста Тёклы по доставке пакета от Сагитты
var int Sylvio_MenDefeated; * * * * * * * * // Сильвио защищает своих людей (TRUE)
var int Sylvio_angequatscht; * * * * * * * *// кол-во обращений ГГ к Сильвио
var int Sld_Duelle_gewonnen; * * * * * * * *// кол-во наемников побитых ГГ
var int Torlof_GenugStimmen; * * * * * * * *// ГГ собрал достаточно голосов наемников (TRUE)
var int Onar_Approved; * * * * * * * * * * *// ГГ принят в наемники (TRUE)
var int Lee_SendToOnar; * * * * * * * * * * // Ли послал ГГ к Онару (TRUE)
var int SOLD; * * * * * * * * * * * * * * * // жалованье ГГ у Онара
var int Onar_WegenSldWerden; * * * * * * * *// Онар узнаёт, что ГГ хочет стать наёмником (TRUE)
var int Onar_WegenPepe; * * * * * * * * * * // Онар узнаёт, что Буллко виновен в пропаже его овец (TRUE)
var int Onar_WegenSekob; * * * * * * * * * *// Онар узнаёт, что ГГ не смог выбить долг из Секоба (TRUE)
var int Maria_MehrGold; * * * * * * * * * * // Мария говорит ГГ, что его жалованье мало (TRUE)
var int MIS_Maria_BringPlate; * * * * * * * // статус квеста по поиску золотой тарелки Марии
var int MIS_Torlof_Dmt; * * * * * * * * * * // статус квеста Торлофа по избавлению от Ищущих
var int Wolf_ProduceCrawlerArmor; * * * * * // ГГ узнаёт, что Волк может сделать латы из панцирей ползунов (TRUE)

var int MIS_ThiefGuild_sucked; * * * * * * *// ГГ сдал милиции кого-либо из воров (TRUE)
var int Knows_Ruga_Answer; * * * * * * * * *// (не используется)
var int Miliz_Points; * * * * * * * * * * * // (не используется)
var int Nadja_Money; * * * * * * * * * * * *// ГГ заплатил Наде за информацию (TRUE)
var int Knows_Borka_Dealer; * * * * * * * * // ГГ узнает от Нади, что Борка продает траву (TRUE)
var int Borka_Deal; * * * * * * * * * * * * // Борка идет на сделку с ГГ
var int Nadja_Victim; * * * * * * * * * * * // Борка убивает Надю (TRUE)
var int GernodsDrink; * * * * * * * * * * * // (не используется)
var int GernodHappy; * * * * * * * * * * * *// (не используется)
var int MIS_DragomirsArmbrust; * * * * * * *// статус квеста по поиску арбалета Драгомира

// Монастырь
var int MIS_KlosterArbeit; * * * * * * * * *// статус квеста Парлана по выполнению заданий
var int Kloster_Punkte; * * * * * * * * * * // кол-во пунктов, полученных ГГ за выполнение заданий
var int MIS_NeorasPflanzen; * * * * * * * * // статус квеста Неораса по поиску огненной крапивы
var int MIS_NeorasRezept; * * * * * * * * * // статус квеста Неораса по поиску потерянного рецепта
var int MIS_ParlanFegen; * * * * * * * * * *// статус квеста Парлана по наведению порядка в комнатах послушников
var int NOV_Helfer; * * * * * * * * * * * * // кол-во послушников, которые помогают ГГ в наведении порядка
var int MIS_GoraxEssen; * * * * * * * * * * // статус квеста Горакса по раздаче колбасы
var int Gorax_Gold; * * * * * * * * * * * * // (не используется)
var int Wurst_Gegeben; * * * * * * * * * * *// сколько кусков колбасы раздал ГГ
var int MIS_MardukBeten; * * * * * * * * * *// статус квеста Мардука помолиться за паладинов
var int MIS_IsgarothWolf; * * * * * * * * * // статус квеста Исгарота по убийству волка
var int Sergio_Sends; * * * * * * * * * * * // Сергио послал ГГ к Исгароту (TRUE)
var int Sergio_Follow; * * * * * * * * * * *// ГГ получает Сергио в проводники (TRUE)
var int Parlan_Erlaubnis; * * * * * * * * * // Парлан дает ГГ ключ от библиотеки (TRUE)
var int Isgaroth_Segen; * * * * * * * * * * // ГГ получает благословение Исгарота (TRUE)
var int Parlan_Sends; * * * * * * * * * * * // Парлан посылает ГГ обучаться у Пирокара (TRUE)
var int MIS_GoraxWein; * * * * * * * * * * *// статус квеста Горакса по доставке вина Орлану
var int MIS_KarrasVergessen; * * * * * * * *// статус квеста Карраса по доставке ему заклинаний Игназа
const int Summe_Kloster = 1000; * * * * * * // сумма золота, необходимая для поступления в монастырь
var int Fire_Contest; * * * * * * * * * * * // ГГ принят в Маги Огня
var int Opolos_Rezept; * * * * * * * * * * *// статус квеста Ополоса по получению рецепта
var int Babo_Training; * * * * * * * * * * *// ГГ узнаёт, что Бабо может тренировать двуручному оружию (TRUE)
var int MIS_GuardSheep; * * * * * * * * * * // (не используется)
var int MIS_PickHerb; * * * * * * * * * * * // (не используется)
var int MIS_SweepLibrary; * * * * * * * * * // (не используется)
var int ShrineconfessCost; * * * * * * * * *// (не используется)
var int KNOWS_FIRE_CONTEST; * * * * * * * * // ГГ узнаёт про испытание Огня (TRUE)
var int MIS_HelpDyrian; * * * * * * * * * * // статус квеста Дириана с просьбой заступиться за него
var int MIS_HelpBabo; * * * * * * * * * * * // статус квеста Бабо по желанию работать в саду
var int MIS_HelpOpolos; * * * * * * * * * * // статус квеста Ополоса по желанию работать в библиотеке
var int Wegelagerer_Surprise; * * * * * * * // бандит попросил плату за информацию о послушнике (TRUE)
var int MIS_SCHNITZELJAGD; * * * * * * * * *// статус квеста "Испытание Огня"
var int MIS_GOLEM; * * * * * * * * * * * * *// статус квеста Серпентеса победить Магического голема
var int MIS_RUNE; * * * * * * * * * * * * * // статус квеста Ультара по созданию Руны огненной стрелы

var int MIS_RescueGorn; * * * * * * * * * * // статус квеста по освобождению Горна
const int CostRescueGorn = 500; * * * * * * // (не используется)

var int Canthar_GotMe; * * * * * * * * * * *// у Кантора есть предложение для ГГ (TRUE)
var int Canthar_Passierschein_Accept; * * * // (не используется)
var int Canthar_Passierschein_Accept_Day; * // (не используется)
var int Canthar_AccusePlayerAndre; * * * * *// (не используется)
var int Canthar_AccusePlayerAndre_Day; * * *// (не используется)

var int Sentenza_GoldTaken; * * * * * * * * // ГГ дает Сентенце золото за проход (TRUE)
var int Torlof_SentenzaCounted; * * * * * * // Сентенца проголосует за ГГ (TRUE)
var int MIS_Jarvis_SldKO; * * * * * * * * * // статус квеста Ярвиса по расправе с Сильвио
var int MIS_Fester_KillBugs; * * * * * * * *// статус квеста по освобождению поля от жуков
var int Festers_Giant_Bug_Killed; * * * * * // кол-во полевых жуков, убитых ГГ
var int BusterLOG; * * * * * * * * * * * * *// ГГ узнаёт, что Бастер может тренировать одноручное оружие (TRUE)
var int BennetLOG; * * * * * * * * * * * * *// ГГ узнаёт, что Беннет продает кузнечные принадлежности
var int MIS_Pepe_KillWolves; * * * * * * * *// статус квеста Пепе по убийству волков
var int MIS_Pepe_KickBullco; * * * * * * * *// статус квеста Пепе проучить Буллко
var int MIS_Torlof_HolPachtVonSekob; * * * *// статус квеста Торлофа по получению платы с Секоба
var int MIS_Torlof_BengarMilizKlatschen; * *// статус квеста Торлофа по освобождению двора Бенгара от милиции
var int MIS_Gaan_Snapper; * * * * * * * * * // статус квеста Гаана по убийству сопящего создания
var int MIS_Sekob_Bronko_eingeschuechtert; *// статус квеста Тилла заставить работать Бронко
var int MIS_Balthasar_BengarsWeide; * * * * // статус квеста Бальтасара с просьбой пасти овец у Бенгара
var int MIS_Gaan_Deal; * * * * * * * * * * *// Гаан обещает заплатить ГГ за Сопящее создание (TRUE)
var int MIS_Rukhar_Wettkampf; * * * * * * * // статус квеста Рукара по борьбе с Рендольфом
var int MIS_Rukhar_Wettkampf_Day; * * * * * // день начала состязания
var int Rukhar_Won_Wettkampf; * * * * * * * // Рукар победил Рендольфа (TRUE)
var int Rukhar_Einsatz; * * * * * * * * * * // ставка ГГ
var int Rukhar_Gewinn; * * * * * * * * * * *// выигрыш ГГ

var int Soeldner_Points; * * * * * * * * * *// (не используется)
var int Sentenza_Friend; * * * * * * * * * *// (не используется)
var int Buster_Friend; * * * * * * * * * * *// (не используется)

var int Liesel_Giveaway; * * * * * * * * * *// ГГ оставляет Лизель Ополосу (TRUE)
var int MIS_Gorax_Ambient; * * * * * * * * *// (не используется)
var int Thief_Absolution; * * * * * * * * * // (не используется)
var int Hammer_Taken; * * * * * * * * * * * // ГГ взял Святой молот (TRUE)
var int Igaraz_Anger; * * * * * * * * * * * // (не используется)
var int Igaraz_Wait; * * * * * * * * * * * *// Игораз ждёт ГГ
var int MIS_Gorax_Bote; * * * * * * * * * * // (не используется)
var int Paket_Opend; * * * * * * * * * * * *// (не используется)
var int Goraxday; * * * * * * * * * * * * * // (не используется)

var int MIS_Jack_KillLighthouseBandits; * * // статус квеста Джека по освобождению маяка от бандитов
var int MIS_Wasili_BringOldCoin; * * * * * *// ГГ узнает, что Василий собирает старые монеты
var int MIS_Sagitta_Herb; * * * * * * * * * // статус квеста Сагитты по поиску Солнечного алоэ


продолжение следует...
Ответить с цитированием
Старый 16.05.2005, 11:58   #169
Vam

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

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

// Глава 2
var int Lutero_Krallen; * * * * * * * * * * // статус квеста Лютеро по поиску когтей глорха
var int Fernando_Erz; * * * * * * * * * * * // ГГ рассказал об обстановке в Минентале Фернандо
var int MIS_ScoutMine; * * * * * * * * * * *// стутус квеста Гаронда по поиску трех групп рудокопов
var int MIS_Fajeth_Kill_Snapper; * * * * * *// статус квеста Файета по охоте на глорхов
var int MIS_Fed_GetRidOfTengron; * * * * * *// (не используется)
var int MIS_BaltramTrade; * * * * * * * * * // статус квеста Бальтрама по поиску 10 кусков ветчины и 10 бутылок вина
var int MIS_Engor_BringMeat; * * * * * * * *// Статус квеста Энгора по снабжению людей пищей
var int Meat_Counter; * * * * * * * * * * * // счетчик пищи, доставленной ГГ Энгору
const int Meat_Amount = 24; * * * * * * * * // кол-во пищи, необходимое Энгору
var int MIS_OLDWORLD; * * * * * * * * * * * // статус квеста Хагена по сбору доказательств об армии зла в Минентале
var int MIS_Marcos_Jungs; * * * * * * * * * // статус квеста Маркоса с просьбой помощи у Гаронда
var int MIS_Brutus_Kasse; * * * * * * * * * // (не используется)
var int MIS_ReadyForChapter3; * * * * * * * // ГГ выполнил все квесты необходимые для перехода в Главу 3 (TRUE)
var int Marcos_einmalig; * * * * * * * * * *// Маркос благодарит ГГ за помощь (TRUE)
var int Dobar_einmalig; * * * * * * * * * * // флаг диалога ГГ с Добаром
var int Brutus_einmalig; * * * * * * * * * *// Брутус поощряет ГГ (TRUE)
var int Garond_Kerkerauf; * * * * * * * * * // Гаронд разрешает освободить Горна (TRUE)
var int TengronRing; * * * * * * * * * * * *// ГГ отдает Удару кольцо Тенгрона (TRUE)
var int OricBruder; * * * * * * * * * * * * // Орик узнаёт, что его брат мёртв (TRUE)
var int MIS_Kervo_KillLurker; * * * * * * * // статус квеста Керво по освобождению пещеры от шныгов

// Глава 3
var int MIS_NovizenChase; * * * * * * * * * // статус квеста Пирокара по поимке Педро
var int MIS_Pyrokar_GoToVatrasInnoseye; * * // статус квеста Пирокара о поисках совета по восстановлению Глаза Инноса
var int MIS_Xardas_GoToVatrasInnoseye; * * *// статус квеста Ксардаса обратиться к Ватрасу по восстановлению Глаза Инноса
var int MIS_RitualInnosEyeRepair; * * * * * // статус квеста Ватраса по ремонту Глаза Инноса
var int MIS_ReadyforChapter4; * * * * * * * // ГГ выполнил все квесты необходимые для перехода в Главу 4 (TRUE)
var int MIS_Bennet_InnosEyeRepairedSetting; // статус квеста по ремонту Глаза Инноса
var int MIS_SCKnowsInnosEyeIsBroken; * * * *// ГГ узнаёт, что Глаз Инноса уничтожен (TRUE)
var int MIS_RescueBennet; * * * * * * * * * // статус квеста по освобождению Беннета
var int MIS_FindTheObesessed; * * * * * * * // (не используется)
var int MIS_HealHilda; * * * * * * * * * * *// статус квеста Лобарта по исцелению Хильды
var int MIS_BabosDocs; * * * * * * * * * * *// статус квеста Бабо по защите от Игораза
var int MIS_BengarsHelpingSLD; * * * * * * *// статус квеста Бенгара о поиске защиты его дома
var int MIS_GetMalakBack; * * * * * * * * * // статус квеста по возвращению Малака к Бенгару
var int MIS_HyglasBringBook; * * * * * * * *// статус квеста Гигласа по поиску кники
var int MIS_HannaRetrieveLetter; * * * * * *// статус квеста Ханны по возврату своего документа
var int MIS_HelpDiegoNW; * * * * * * * * * *// статус квеста Диего по поиску его золота
VAR int MIS_DiegoNWSendsYouToJudge; * * * * // (не используется)
var int MIS_DiegosResidence; * * * * * * * *// статус квеста Диего по передаче письма Гербранту
var int MIS_Akil_SchafDiebe; * * * * * * * *// статус квеста Акиа по расправе над бандитами
var int MIS_Lee_JudgeRichter; * * * * * * * // статус квеста Ли по обвинению судьи Хориниса
var int MIS_Richter_BringHolyHammer; * * * *// статус квеста судьи по краже Святого молота
var int MIS_Richter_KillMorgahard; * * * * *// статус квеста судьи по убийству Моргарда
var int MIS_InnosEyeStolen; * * * * * * * * // ГГ получает разрешение от Хагена на Глаз Инноса (не используется)
var int MIS_RescueBilgot; * * * * * * * * * // статус квеста Бильгота о помощи покинуть Миненталь
var int MIS_Buster_KillShadowbeasts_DJG; * *// статус квеста Бастера по доставке рогов мракориса
var int MIS_Ulthar_HeileSchreine_PAL; * * * // статус квеста Ультара по очистке оскверненных статуй Инноса
var int MIS_Serpentes_MinenAnteil_KDF; * * *// статус квеста Серпентаса по изъятию фальшивых разрешений на рудниковые участки

// Глава 4
var int MIS_DJG_Sylvio_KillIceGolem; * * * *// статус квеста Сильвио по убийству Ледяных големов
var int MIS_AllDragonsDead; * * * * * * * * // ГГ убил всех драконов (TRUE)
var int MIS_KilledDragons; * * * * * * * * *// счетчик убитых драконов
var int MIS_JanBecomesSmith; * * * * * * * *// статус квеста Яна о желании работать в кузнице
var int MIS_FErrosSword; * * * * * * * * * *// статус квеста Фероса по поиску своего меча
var int MIS_GeroldGiveFood; * * * * * * * * // статус квеста Герольда о доставке ему пищи
var int MIS_KillHoshPak; * * * * * * * * * *// статус квеста Орика по убийству Хош-Пака
var int MIS_Tabin_LookForEngrom; * * * * * *// статус квеста Тальбина по поиску Энгрома
var int MIS_KillOrkOberst; * * * * * * * * *// статус квеста Ингмара по убийству элитных орков
var int MIS_Neoras_DragonEgg; * * * * * * * // статус квеста Неораса по поиску яйца дракона
var int MIS_Dar_BringOrcEliteRing; * * * * *// статус квеста Дара по поску доказательств, что он победил орка
var int MIS_KarrasResearchDMT; * * * * * * *// статус квеста Карраса по поиску альманаха Ищущих

// Глава 5
var int MIS_Xardas_SCCanOpenIrdorathBook; * // ГГ узнаёт слова Ксардаса по открытию книги "Залы Ирдората" (TRUE)
var int MIS_SCKnowsWayToIrdorath; * * * * * // ГГ узнаёт, что залы Ирдората находятся на острове (TRUE)
var int MIS_PyrokarClearDemonTower; * * * * // статус квеста Пирокара по зачистке башни Ксардаса
var int ItWr_HallsofIrdorathIsOpen; * * * * // ГГ нашел ключ от подвалов монастыря (TRUE)
var int ItWr_SCReadsHallsofIrdorath; * * * *// ГГ узнаёт о тайной библиотеке в подвалах монастыря (TRUE)
var int MIS_ScoutLibrary; * * * * * * * * * // статус квеста по поиску тайной библиотеки
var int PlayerGetsAmulettOfDeath; * * * * * // ГГ узнаёт, как изготовить руну "Святая Стрела" (TRUE)
var int PlayergetsFinalDJGArmor; * * * * * *// ГГ узнаёт, как изготовить "Рудного убийцу драконов" (TRUE)
var int MIS_bringRosiBackToSekob; * * * * * // статус квеста Секоба по поиску Роси
var int MIS_HealRandolph; * * * * * * * * * // статус квеста Рандольфа по поиску средства от алкоголизма
var int MIS_SCvisitShip; * * * * * * * * * *// статус квеста - Хаген готовится к походу в Миненталь
var int MIS_Raoul_KillTrollBlack; * * * * * // статус квеста Рауля по добыче шкуры Черного тролля
var int MIS_Raoul_DoesntPayTrollFur; * * * *// ГГ недоволен наградой за шкуру Черного тролля
var int MIS_RichtersPermissionForShip; * * *// статус квеста Ли о получении полномочий от судьи
var int MIS_RosisFlucht; * * * * * * * * * *// статус квеста по спасению Роси

// Сбор команды корабля
var int Crewmember_Count; * * * * * * * * * // кол-во завербованных для похода
const int Max_Crew = 9; * * * * * * * * * * // макс. кол-во завербованных
const int Min_Crew = 5; * * * * * * * * * * // мин. кол-во завербованных
var int Lee_IsOnBoard; * * * * * * * * * * *// Ли согласен участвовать в походе
var int MiltenNW_IsOnBoard; * * * * * * * * // Мильтон согласен участвовать в походе
var int Lester_IsOnBoard; * * * * * * * * * // Лестер согласен участвовать в походе
var int Mario_IsOnBoard; * * * * * * * * * *// Марио согласен участвовать в походе
var int Wolf_IsOnBoard; * * * * * * * * * * // Волк согласен участвовать в походе
var int Lares_IsOnBoard; * * * * * * * * * *// Ларес согласен участвовать в походе
var int Diego_IsOnBoard; * * * * * * * * * *// Диего согласен участвовать в походе
var int Bennet_IsOnBoard; * * * * * * * * * // Беннет согласен участвовать в походе
var int Vatras_IsOnBoard; * * * * * * * * * // Ватрас согласен участвовать в походе
var int Gorn_IsOnBoard; * * * * * * * * * * // Горн согласен участвовать в походе
var int Biff_IsOnBoard; * * * * * * * * * * // Бифф согласен участвовать в походе
var int Angar_IsOnBoard; * * * * * * * * * *// Ангар согласен участвовать в походе
var int Girion_IsOnBoard; * * * * * * * * * // Гирион согласен участвовать в походе
var int MIS_ShipIsFree; * * * * * * * * * * // команда может подниматься на корабль (TRUE)
var int SCGotCaptain; * * * * * * * * * * * // капитан найден (TRUE)
var int JorgenIsCaptain; * * * * * * * * * *// Йорген согласен быть капитаном (TRUE)
var int TorlofIsCaptain; * * * * * * * * * *// Торлоф согласен быть капитаном (TRUE)
var int JackIsCaptain; * * * * * * * * * * *// Джек согласен быть капитаном (TRUE)

var int MIS_ReadyforChapter6; * * * * * * * // ГГ выполнил все квесты необходимые для перехода в Главу 6 (TRUE)
var int MIS_OCGateOpen; * * * * * * * * * * // ГГ впустил орков в крепость Миненталя (TRUE)
var int MIS_Jack_NewLighthouseOfficer; * * *// статус квеста Джека по поиску ему замены на маяке

// Глава 6
var int MIS_Mario_Ambush; * * * * * * * * * // статус квеста о предательстве Марио


продолжение следует...
Ответить с цитированием
Старый 17.05.2005, 12:47   #170
Vam

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

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

//**********************************
// Общие вспомогательные переменные
//**********************************
var int B_Chapter3_OneTime; * * * * * * // ГГ перешел в Главу 3 (TRUE)
var int B_Chapter4_OneTime; * * * * * * // ГГ перешел в Главу 4 (TRUE)
var int B_Chapter5_OneTime; * * * * * * // ГГ перешел в Главу 5 (TRUE)

// Глава 1
var int Maleth_ersterWolf; * * * * * * *// флаг вставки волка для Малета
var int Lobart_DIA_HALT_WegDamit; * * * // (не используется)
var int Lobart_MILCHANGEBOT; * * * * * *// (не используется)
var int SCPaysForGritta; * * * * * * * *// (не используется)
var int Matteo_Deal; * * * * * * * * * *// (не используется)
var int Matteo_Day; * * * * * * * * * * // (не используется)
var int HannaGaveSword; * * * * * * * * // (не используется)
var int DayMeetAlwin; * * * * * * * * * // (не используется)
var int MoeOfferedTrain; * * * * * * * *// (не используется)
var int Kardif_OneQuestion; * * * * * * // ГГ узнаёт, что Кардиф может сообщать интересные сведения (TRUE)
var int Bartok_Deal; * * * * * * * * * *// (не используется)
var int Bartok_Day; * * * * * * * * * * // (не используется)
var int Bartok_OrkGesagt; * * * * * * * // Барток боится орка (TRUE)
var int Constantino_Gehilfe; * * * * * *// (не используется)
var int Constantino_Logpatch1; * * * * *// ГГ узнаёт, что Константино продает алхимические принадлежности (TRUE)
var int Constantino_Logpatch2; * * * * *// ГГ получил согласие Константино на вступление в ученики (TRUE)
var int Sonja_Says; * * * * * * * * * * // флаг диалога Сони
var int Sarah_WaffenGesehen; * * * * * *// (не используется)
var int Lehmar_GeldGeliehen; * * * * * *// сумма взятых у Лемара денег
var int Lehmar_GeldGeliehen_MitZinsen; *// сумма долга ГГ Лемару
var int Lehmar_GeldGeliehen_Day; * * * *// день получения денег у Лемара
var int EddaPaid; * * * * * * * * * * * // (не используется)
var int Coragon_Trade; * * * * * * * * *// (не используется)
var int HelpOpolos; * * * * * * * * * * // (не используется)
var int HelpAgon; * * * * * * * * * * * // (не используется)
var int HelpBabo; * * * * * * * * * * * // (не используется)
var int BaboLikesYou; * * * * * * * * * // (не используется)
var int Rengaru_InKnast; * * * * * * * *// ГГ сдаёт милиции Ренгару (TRUE)
var int Nagur_UmsGeldBeschissen; * * * *// (не используется)
var int wulfgarWantsMoney; * * * * * * *// (не используется)
var int Hagen_GaveInfoKnight; * * * * * // ГГ узнаёт, что значит стать паладином
var int Torlof_Probe; * * * * * * * * * // задания Торлофа
const int Probe_Sekob = 1; * * * * * * *// задание с Секобом
const int Probe_Bengar = 2; * * * * * * // задание с Бенгаром
var int Torlof_ProbeBestanden; * * * * *// задание Торлофа выполнено (TRUE)
var int Buster_Duell; * * * * * * * * * // Бастер проголосует за ГГ (TRUE)
var int Sentenza_Stimme; * * * * * * * *// Сентенза проголосует за ГГ (TRUE)
var int Fester_Paid; * * * * * * * * * *// (не используется)
var int Cord_Approved; * * * * * * * * *// Корд проголосует за ГГ (TRUE)
var int Thekla_SCNaughty; * * * * * * * // (не используется)
var int Torlof_PissedOff; * * * * * * * // (не используется)
var int Torlof_SC_DarfZuLee; * * * * * *// (не используется)
var int Torlof_SauerWegenSekob; * * * * // (не используется)
var int Babera_BronkoKeinBauer; * * * * // ГГ узнаёт от Баберы, что только наёмники могут заставить Бронко работать (TRUE)
var int Sekob_ersteChancevertan; * * * *// (не используется)
var int Till_Angebot; * * * * * * * * * // плата Тиля за квест с Бронко
var int Till_HatSeinGeldBehalten; * * * // Тиль не может заплатить всю сумму (TRUE)
var int Till_IchMachsNurEinmal; * * * * // флаг торга ГГ с Тилем
var int Bengar_MILIZKLATSCHEN_Kohle; * *// (не используется)
var int Rumbold_Bezahlt; * * * * * * * *// ГГ платит милиции зп Бенгара (TRUE)
var int Mika_Helps; * * * * * * * * * * // Мика обещает помогать ГГ (TRUE)
var int Akil_Sauer; * * * * * * * * * * // (не используется)
var int Akils_SLDStillthere; * * * * * *// ГГ узнаёт, что двору Акила угрожают наёмники (TRUE)
var int Engardo_SchonAngeredet; * * * * // (не используется)
var int Kati_Mahlzeit; * * * * * * * * *// Акил посылает ГГ за едой к Кати (TRUE)
var int Lieferung_Geholt; * * * * * * * // Акил передал посылку ГГ (TRUE)

// Глава 2
var int KnowsGerold; * * * * * * * * * *// (не используется)
var int KnowsAboutGorn; * * * * * * * * // (не используется)
var int DayContactGorn; * * * * * * * * // день получения Герольдом письма для Горна
var int PriceForGorn; * * * * * * * * * // (не используется)
var int Gorns_Beutel; * * * * * * * * * // ГГ окрыл кошелек Горна (TRUE)
var int SLDChooseMoreMoney; * * * * * * // (не используется)
var int FoodForGerold; * * * * * * * * *// (не используется)
var int WantinDungeon; * * * * * * * * *// (не используется)
var int SetGornFree; * * * * * * * * * *// (не используется)
var int GornsTreasure; * * * * * * * * *// ГГ узнаёт, где находится кошелек Горна (TRUE)
var int GornDJG_WhatMonsters; * * * * * // ГГ узнаёт от Горна про дракона (TRUE)
var int Knows_Diego; * * * * * * * * * *// ГГ узнаёт от Мильтона о Диего (TRUE)
var int SearchForDiego; * * * * * * * * // статус квеста по поиску Диего
var int FajethSendsYouBack; * * * * * * // (не используется)
var int Milten_Equipment; * * * * * * * // (не используется)
var int Fajeth_Pay; * * * * * * * * * * // Файет обещает заплатить ГГ на глорха (TRUE)
var int Fajeth_Ore; * * * * * * * * * * // ГГ нашёл группу Файета (TRUE)
var int Marcos_Ore; * * * * * * * * * * // ГГ нашёл группу Маркоса (TRUE)
var int Silvestro_Ore; * * * * * * * * *// ГГ нашёл группу Сильвестро (TRUE)
var int Ore_Counter; * * * * * * * * * *// счетчик групп, найденных ГГ
var int Knows_WEAPON_1H_Special_01; * * // (не используется)

// Глава 3
var int Pedro_Traitor; * * * * * * * * *// ГГ узнаёт, что Педро предатель (TRUE)
var int RitualInnosEyeRuns; * * * * * * // статус квеста по восстановлению Глаза Инноса
var int Bennet_RepairDay; * * * * * * * // день получения Беннетом Глаза Инноса на ремонт
var int heroGIL_KDF2; * * * * * * * * * // ГГ становится Великим магом Огня (TRUE)
var int Xardas_GoesToRitualInnosEye; * *// Ксардас согласен принять участие в ритуале (TRUE)
var int Pyrokar_GoesToRitualInnosEye; * // Пирокар согласен принять участие в ритуале (TRUE)
var int Pyrokar_DeniesInnosEyeRitual; * // Пирокар отказывается участвовать в ритуале вместе с Ксардасом (TRUE)
var int CorneliusFlee; * * * * * * * * *// Корнелиус покидает город (TRUE)
var int Cornelius_TellTruth; * * * * * *// Корнелиус соглашается сказать правду (TRUE)
var int Cornelius_PayForProof; * * * * *// Корнелиус соглашается сказать правду за 2000 монет (TRUE)
var int MiltenNW_GivesMonasteryKey; * * // Мильтон дает ГГ ключ от монастыря (TRUE)
var int Parlan_DontTalkToNovice; * * * *// флаг диалога с Парланом (используется без присвоения)
var int NeorasBrewsForYou; * * * * * * *// ГГ узнаёт, что Неорас за плату может изготовить элексир (TRUE)
var int BabosDocsOpen; * * * * * * * * *// ГГ прочитал документы Бабо (TRUE)
var int Igaraz_ISPartner; * * * * * * * // (не используется)
var int MIS_Gorax_KillPedro; * * * * * *// статус квеста по убийству предателя Педро
var int OpenedDiegosBag; * * * * * * * *// ГГ открыл кошелек Диего (TRUE)
const int DiegosTreasure = 2000; * * * *// содержимое кошелька Диего
var int SC_KnowsProspektorSalandril; * *// ГГ узнаёт, кто продаёт рудниковые участки (TRUE)
var int PyrokarToldKarrasToResearchDMT; // Пирокар приказал Каррасу найти способ защиты от Ищущих (TRUE)
var int Pyrokar_AskKarrasAboutDMTAmulett; * // Пирокар посылает ГГ к Каррасу (TRUE)
var int MIS_Karras_FindBlessedStone; * *// статус квеста Карраса по поиску горной породы
var int Angar_KnowsMadPsi; * * * * * * *// ГГ узнаёт от Ангара правду о братстве Спящих (TRUE)
var int Cornelius_IsLiar; * * * * * * * // ГГ прочитал дневник Корнелиуса (TRUE)
var int RescueBennet_KnowsWitness; * * *// ГГ узнаёт о свидетеле по делу Беннета (TRUE)
var int RecueBennet_KnowsCornelius; * * // ГГ узнаёт, что свидетель - Корнелиус (TRUE)
var int Cornelius_ThreatenByMilSC; * * *// Корнелиус угрожает ГГ (TRUE)
var int SCIstRichtersLakai; * * * * * * // судья просит ГГ доказать свою преданность (TRUE)
var int SCFoundMorgahard; * * * * * * * // ГГ нашёл предводителя заключенных Моргарда (TRUE)
const int Gold_BlessSword = 5000; * * * // стоимость освящения меча
const int CostForPAlSpells = 5; * * * * // стоимость рун паладинов
var int SalandrilMinenAnteil_MAINCounter; * // кол-во найденных ГГ незаконных разрешений на добычу руды
var int SalandrilVerteilteMinenAnteil; *// сколько незаконных разрешений ГГ должен найти
var int SCKnowsRichterKomproBrief; * * *// ГГ прочитал письмо судьи Моргарду (TRUE)
var int Girion_Labercount; * * * * * * *// наставления Гириона
var int TschuessBilgot; * * * * * * * * // ГГ вывел Бильгота из Миненталя (TRUE)

// Глава 4
var int DJG_SwampParty; * * * * * * * * // Род и Чифер идут вместе с ГГ на дракона (TRUE)
var int DJG_BiffParty; * * * * * * * * *// Бифф становится членом партии ГГ (TRUE)
var int DJG_BiffSurvivedLastDragon; * * // Бифф поощряет ГГ за убийство драконов (TRUE)
var int Angar_willDJGwerden; * * * * * *// Ангар думает, присоединиться ли к охотникам на драконов (TRUE)
var int DJG_Angar_SentToStones; * * * * // Ангар ушел искать амулет (TRUE)
var int DJG_AngarGotAmulett; * * * * * *// ГГ отдает амулет Ангару (TRUE)
var int DJG_AngarAngriff; * * * * * * * // Ангар покидает ГГ при зачистке склепа (TRUE)
var int HokurnLastDrink; * * * * * * * *// день, когда Хокурн получил выпивку
var int HokurnGetsDrink; * * * * * * * *// Хокурн ждет выпивки (TRUE)
var int HokurnTellsDragon; * * * * * * *// ГГ даёт Хокурну деньги за информацию (TRUE)
var int GodarLikesYou; * * * * * * * * *// Годар даёт ГГ информацию (TRUE)
var int KjornToldDragon; * * * * * * * *// Кйорн рассказывает ГГ о драконах
var int KjorntoldOrks; * * * * * * * * *// Кйорн рассказывает ГГ об орках
var int KjornToldOldCamp; * * * * * * * // Кйорн рассказывает ГГ о крепости
var int KjornToldColony; * * * * * * * *// Кйорн рассказывает ГГ о Минентале
var int DragonTalk_Exit_Free; * * * * * // ГГ может говорить с драконами (TRUE)
var int DJG_Biff_Stay; * * * * * * * * *// Бифф соглашается помогать ГГ (TRUE)
var int Keroloth_HasPayed; * * * * * * *// Керолот платит ГГ на найденный кошелёк (TRUE)
var int Keroloths_BeutelLeer; * * * * * // кошелёк Керолота пуст (TRUE)
var int OrikToldMissionChapter4; * * * *// Орик извещает ГГ о Хош-Паке (TRUE)
var int Sengrath_Missing; * * * * * * * // ГГ узнаёт, что Сенграт ушел в сторону лагеря орков (TRUE)
var int Talbin_FollowsThroughPass; * * *// статус квеста Тальбина по переходу за перевал
var int Biff_FollowsThroughPass; * * * *// статус квеста Биффа по переходу за перевал
var int EngromIsGone; * * * * * * * * * // Енгром ещё жив (TRUE)
var int TalkedTo_AntiPaladin; * * * * * // ГГ говорил с элитным бойцом орков (TRUE)
var int Hyglas_SendsToKarras; * * * * * // (не используется)
var int Jan_WantsDragonBlood; * * * * * // ГГ узнаёт, что Ян покупает Кровь дракона (TRUE)
const int Garond_KilledDragonGeld = 300;// сумма, которую дает Гаронд за убитого дракона
var int DJG_BiffParty_nomore; * * * * * // сколько раз Бифф атаковал ГГ
var int DJG_Biff_HalbeHalbe; * * * * * *// ГГ должен отдавать Биффу половину добычи (TRUE)
var int DJG_Biff_SCGold; * * * * * * * *// сколько денег у ГГ после уплаты Биффу половины добычи
var int BiffsAnteil; * * * * * * * * * *// часть добычи Биффа
var int DJG_Biff_HalbeHalbe_again; * * *// Бифф берет свою часть только золотом (TRUE)

// Глава 5
var int Pyrokar_LetYouPassTalamon; * * *// ГГ получает разрешение Пирокара на доступ в подвалы монастыря (TRUE)
var int SecretLibraryIsOpen; * * * * * *// дверь в секретную библиотеку открыта (TRUE)
var int HeroWasInLibrary; * * * * * * * // ГГ в секретной библиотеке (TRUE)
var int DayForFinalDJGArmor; * * * * * *// (не используется)
var int PlayerHasFinalArmor; * * * * * *// (не используется)
var int RosiFoundKap5; * * * * * * * * *// ГГ нашел Роси (TRUE)
var int PAL_KnowsAbout_FINAL_BLESSING; *// ГГ узнаёт как изготовить руну "Секретный телепорт"

// Глава 6
var int ORkSturmDI; * * * * * * * * * * // орки атаковали корабль (TRUE)
var int Angar_DI_Party; * * * * * * * * // Ангар помогает ГГ (TRUE)
var int SC_InnosEyeVergessen_DI; * * * *// ГГ видит Ксардаса (TRUE)
var int SCFoundPedro; * * * * * * * * * // константа закрытия квеста с Педро
var int UndeadDragonIsDead; * * * * * * // последний дракон убит (TRUE)
var int DiegAndGornAreOnboard; * * * * *// Диего и Горн остались живы (TRUE) - Будет после субтитров дополнительный видеоролик!


продолжение следует...
Ответить с цитированием
Старый 18.05.2005, 11:20   #171
Vam

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

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

// Учителя (TRUE - может обучать)
var int Alrik_TeachPlayer; * * * * * * *// (не используется)
var int Moe_TeachPlayer; * * * * * * * *// (не используется)
var int Bartok_TeachPlayer; * * * * * * // Барток - подкрадывание и лук до 30
var int Boltan_TeachPlayer; * * * * * * // (не используется)
var int Wulfgar_TeachPlayer; * * * * * *// (не используется)
var int Girion_TeachPlayer; * * * * * * // (не используется)
var int Thorben_TeachPlayer; * * * * * *// Торбен - взлом замков
var int Buster_TeachPlayer; * * * * * * // (не используется)
var int Cord_TeachPlayer; * * * * * * * // (не используется)
var int Lee_TeachPlayer; * * * * * * * *// Ли - двуручник до 100
var int Torlof_TeachPlayer; * * * * * * // (не используется)
var int Dar_TeachPlayer; * * * * * * * *// Удар - арбалет 90
var int Cassia_TeachPlayer; * * * * * * // (не используется)
var int Jesper_TeachPlayer; * * * * * * // (не используется)
var int Ramirez_TeachPlayer; * * * * * *// Рамирез - взлом замков
var int Carl_TeachPlayer; * * * * * * * // (не используется)
var int Gaan_TeachPlayer; * * * * * * * // Гаан - получение трофеев

// Хоринис, Глава 1
var int Carl_TeachSTR; * * * * * * * * *// Карл тренирует силу бесплатно (TRUE)
var int Harad_TeachSTR; * * * * * * * * // (не используется)
var int Mortis_TeachSTR; * * * * * * * *// Мортис тренирует силу (TRUE)
var int Ingmar_TeachSTR; * * * * * * * *// Ингмар тренирует силу (TRUE)
var int Lares_TeachDEX; * * * * * * * * // Ларес тренирует силу и ловкость (TRUE)
var int Ruga_TeachDEX; * * * * * * * * *// Руга тренирует ловкость (TRUE)
var int Cassia_TeachDEX; * * * * * * * *// Кассия тренирует ловкость (TRUE)
var int Vatras_TeachMANA; * * * * * * * // Ватрас тренирует ману (TRUE)
var int Albrecht_TeachMANA; * * * * * * // Ульбрехт тренирует ману (TRUE)
var int Alrik_Teach1H; * * * * * * * * *// Альрик тренирует одноручник (TRUE)
var int Wulfgar_Teach1H; * * * * * * * *// Вульфгар тренирует одноручник и двуручник (TRUE)
var int Cedric_Teach1H; * * * * * * * * // Кедрик тренирует одноручник (TRUE)
var int Wulfgar_Teach2H; * * * * * * * *// (не используется)
var int Girion_Teach2H; * * * * * * * * // Гирион тренирует двуручник (TRUE)
var int LordHagen_Teach2H; * * * * * * *// Хаген тренирует двуручник (TRUE)
var int Bartok_TeachBow; * * * * * * * *// (не используется)
var int Ruga_TeachCrossbow; * * * * * * // Руга тренирует арбалет (TRUE)
var int Cassia_TeachPickpocket; * * * * // Кассия обучает воровству (TRUE)
var int Jesper_TeachSneak; * * * * * * *// Джаспер обучает подкрадыванию (TRUE)
var int Ramirez_TeachPicklock; * * * * *// (не используется)
var int Thorben_TeachPicklock; * * * * *// (не используется)
var int Harad_TeachSmith; * * * * * * * // (не используется)
var int Constantino_TeachAlchemy; * * * // Константино обучает алхимии (TRUE)
var int Ignaz_TeachAlchemy; * * * * * * // Игназ обучает алхимии (TRUE)

// Поместье Онара, Глава 1
var int Torlof_TeachSTR; * * * * * * * *// (не используется)
var int Torlof_TeachDEX; * * * * * * * *// (не используется)
var int XXX_TeachMANA; * * * * * * * * *// (не используется)
var int Buster_Teach1H; * * * * * * * * // (не используется)
var int Rod_Teach2H; * * * * * * * * * *// Род тренирует двуручник (TRUE)
var int Cord_Teach2H; * * * * * * * * * // (не используется)
var int Lee_Teach2H; * * * * * * * * * *// (не используется)
var int Wolf_TeachBow; * * * * * * * * *// Волк тренирует лук (TRUE)
var int Bennet_TeachCommon; * * * * * * // Беннет обучает кузнечному делу (TRUE)
var int Bennet_TeachSmith; * * * * * * *// Беннет обучает ковке рудного оружия (TRUE)

// Новый мир, Глава 1
var int Sagitta_TeachAlchemy; * * * * * // Сагитта обучает алхимии (TRUE)
var int Gaan_TeachAnimalTrophy; * * * * // (не используется)
var int Grom_TeachAnimalTrophy; * * * * // Гром обучает разделке трофеев (TRUE)
var int Grimbald_TeachAnimalTrophy; * * // Гримбальд обучает разделке трофеев (TRUE)
var int Gestath_TeachAnimalTrophy; * * *// Гестат обучает разделке трофеев (TRUE)
var int Godar_TeachAnimalTrophy; * * * *// Годар обучает разделке трофеев (TRUE)
var int Talbin_TeachAnimalTrophy; * * * // Тальбин обучает разделке трофеев (TRUE)

// Монастырь, Глава 1
var int Parlan_TeachMANA; * * * * * * * // (не используется)
var int Pyrokar_TeachMANA; * * * * * * *// (не используется)
var int Opolos_TeachSTR; * * * * * * * *// Ополос тренирует силу (TRUE)
var int XXX_Teach2H; * * * * * * * * * *// (не используется)
var int Ulthar_TeachPalRunes; * * * * * // (не используется)
var int Pyrokar_TeachPalRunes; * * * * *// (не используется)
var int Serpentes_TeachPalRunes; * * * *// (не используется)
var int Hyglas_TeachRunes; * * * * * * *// (не используется)
var int Karras_TeachRunes; * * * * * * *// (не используется)
var int Parlan_TeachRunes; * * * * * * *// (не используется)
var int Marduk_TeachRunes; * * * * * * *// (не используется)
var int Neoras_TeachAlchemy; * * * * * *// (не используется)
var int Babo_TeachPlayer; * * * * * * * // Бабо тренирует двуручник (TRUE)

// Миненталь, Глава 2
var int Dobar_Learnsmith; * * * * * * * // Добар обучает кузнечному делу (TRUE)
var int Keroloth_TeachPlayer; * * * * * // Керолот тренирует одноручник и двуручник (TRUE)
var int Udar_TeachPlayer; * * * * * * * // Удар тренирует арбалет (TRUE)
var int Brutus_TeachSTR; * * * * * * * *// Брурус тренирует силу (TRUE)

// Миненталь, Глава 4
var int Godar_TeachPlayer; * * * * * * *// (не используется)
var int Jan_TeachPlayer; * * * * * * * *// Ян обучает кузнечному делу (TRUE)
var int Hokurn_TeachPlayer; * * * * * * // Хокурн тренирует двуручник (TRUE)

// Прочие переменные
var int Apple_Bonus; * * * * * * * * * *// кол-во съеденных яблок
var int Dunkelpilz_Bonus; * * * * * * * // кол-во съеденных грибов
var int Mandibles_Bonus; * * * * * * * *// кол-во съеденных жвал ползунов
var int Knows_Bloodfly; * * * * * * * * // ГГ узнаёт, как получить лечебный сок из жала кровяной мухи (TRUE)
var int Bloodfly_Bonus; * * * * * * * * // кол-во съеденных жал кровяной мухи
var int Player_KnowsDunkelpilzBonus; * *// ГГ узнаёт, что если съесть грибы, увеличится магическая энергия (TRUE)
var int Skelett_Spawn; * * * * * * * * *// флаг вставки скелета
var int TruheSfx; * * * * * * * * * * * // флаг вставки чёрных гоблинов и орка
var int GoblinGreen_Randomizer; * * * * // случайное число для образования предметов в инвентаре гоблинов
var int GoblinBlack_Randomizer; * * * * // случайное число для образования предметов в инвентаре черных гоблинов
var int Orc_Randomizer; * * * * * * * * // случайное число для образования предметов в инвентаре орков
var int CurrentLevel; * * * * * * * * * // текущий уровень игры

Ответить с цитированием
Старый 18.05.2005, 12:14   #172
PA
Строители Миртаны
*
 
Регистрация: 29.08.2004
Сообщений: 1
PA вне форума

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

Если честно то учителя в этом оформлении вызвали только непонятки.

В принципе В демке присутствовал только Хоринес и вполне понятно выделение в Новый мир Сагиты Грома Гаана и т.д.

Но
var int Harad_TeachSTR;                 // (не используется)
var int Harad_TeachSmith;               // (не используется)
похоже не соответст действительности - если стать его учеником.
И многое другое.

П-ка.
Ответить с цитированием
Старый 18.05.2005, 13:00   #173
Vam

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

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

2Pa:
Если честно то учителя в этом оформлении вызвали только непонятки.
Это не учителя по игре, а глобальные переменные скриптов, которые инициализируются при некотором условии (некоторые товарищи начинают учить, когда ГГ что-то для них сделает). Есть учитедя, которые учат всегда и всех, для них никакие переменные не нужны, а есть ещё локальные переменные учителей в конкретных файлах. Здесь рассмотрено только то, что присутствует в файле Story_Globals.d
Ответить с цитированием
Старый 19.05.2005, 13:53   #174
Vam

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

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

4. Глобальные строковые константы скриптов.

Все они расположены в файле Text.d

//************************************
// Имена МОВов, находящихся в фокусе
//************************************
//Примечание: Имя имеет формат - MOBNAME_ххх, где ххх - имя МОВа, размещенного на карте, пишется заглавными буквами.

const string MOBNAME_CRATE * * * * *= "Сундук";
const string MOBNAME_CHEST * * * * *= "Ларь";
const string MOBNAME_BED * * * * * *= "Кровать";
const string MOBNAME_DOOR * * * * * = "Дверь";
const string MOBNAME_CAMPFIRE * * * = "";
const string MOBNAME_TORCH * * * * *= "";
const string MOBNAME_TORCHHOLDER * *= "";
const string MOBNAME_BARBQ_SCAV * * = "";
const string MOBNAME_BARBQ_SHEEP * *= "";
const string MOBNAME_BENCH * * * * *= "";
const string MOBNAME_ANVIL * * * * *= "Наковальня";
const string MOBNAME_BUCKET * * * * = "Вода";
const string MOBNAME_FORGE * * * * *= "Огонь";
const string MOBNAME_GRINDSTONE * * = "Точило";
const string MOBNAME_WHEEL * * * * *= "Ворот";
const string MOBNAME_LAB * * * * * *= "Алхимический стол";
const string MOBNAME_BOOKSTAND * * *= "Книжная подставка";
const string MOBNAME_BOOKSBOARD * * = "Книжный комод";
const string MOBNAME_CHAIR * * * * *= "";
const string MOBNAME_CAULDRON * * * = "Котел";
const string MOBNAME_SEAT * * * * * = "";
const string MOBNAME_THRONE * * * * = "";
const string MOBNAME_PAN * * * * * *= "Сковорода";
const string MOBNAME_REPAIR * * * * = "";
const string MOBNAME_WATERPIPE * * *= "Кальян";
const string MOBNAME_SWITCH * * * * = "Выключатель";
const string MOBNAME_ORE * * * * * *= "Слитки руды";
const string MOBNAME_WINEMAKER * * *= "";
const string MOBNAME_ORCDRUM * * * *= "";
const string MOBNAME_STOVE * * * * *= "Плита";
const string MOBNAME_INNOS * * * * *= "Статуя Инноса";
const string MOBNAME_RUNEMAKER * * *= "Рунический стол";
const string MOBNAME_SAW * * * * * *= "Пила";
const string MOBNAME_ARMCHAIR * * * = "Кресло";
const string MOBNAME_LIBRARYLEVER * = "Лампа";
const string MOBNAME_SECRETSWITCH * = "";
const string MOBNAME_BIBLIOTHEK * * = "Библиотека";
const string MOBNAME_VORRATSKAMMER *= "Кладовка";
const string MOBNAME_SCHATZKAMMER * = "Сокровищница";
const string MOBNAME_IGARAZ * * * * = "Сундук Игораца";
const string MOBNAME_ALMANACH * * * = "Альманах";
// Дорожные указатели
const string MOBNAME_CITY * * * * * = "В Хоринис";
const string MOBNAME_TAVERN * * * * = "К таверне";
const string MOBNAME_GR_PEASANT * * = "К помещику";
const string MOBNAME_MONASTERY * * *= "К монастырю";
const string MOBNAME_PASSOW * * * * = "К проходу";
const string MOBNAME_CITY2 * * * * *= "К таверне";
const string MOBNAME_LIGHTHOUSE * * = "К маяку";
const string MOBNAME_MONASTERY2 * * = "К таверне";
const string MOBNAME_PRISON * * * * = "К колонии заключенных";
const string MOBNAME_GR_PEASANT2 * *= "К таверне";
const string MOBNAME_INCITY01 * * * = "К порту";
const string MOBNAME_INCITY02 * * * = "К рынку";
const string MOBNAME_INCITY03 * * * = "К верхней части";
const string MOBNAME_INCITY04 * * * = "К улице Кауфманн";
const string MOBNAME_INCITY05 * * * = "К храму";
// Вывески
const string MOBNAME_BOW_01 * * * * = "Лучная лавка 'К смертельной стреле'";
const string MOBNAME_MIX_01 * * * * = "Всякая всячина Маттео";
const string MOBNAME_MIX_02 * * * * = "Рыбная лавка Хальвора 'Скользкая форель'";
const string MOBNAME_SMITH_01 * * * = "К горячей наковальне";
const string MOBNAME_BAR_01 * * * * = "Таверна 'К одноногому разбойнику'";
const string MOBNAME_BAR_02 * * * * = "Таверна 'К веселой маске'";
const string MOBNAME_Hotel_01 * * * = "Постоялый двор 'К спящему толстосуму'";
const string MOBNAME_Hotel_02 * * * = "Красные фонари";
const string MOBNAME_TAVERN_01 * * *= "К мертвой гарпии";
const string MOBNAME_SALANDRIL * * *= "Напитки Саландрила";
// Надгробные камни (команде разработчиков)
const string MOBNAME_GRAVETEAM_01 * = "Сноельк - 'О, посмотри выключатель'";
const string MOBNAME_GRAVETEAM_02 * = "Оельк - 'НЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕТ'";
const string MOBNAME_GRAVETEAM_03 * = "Ходжес - 'Все будет хорошо'";
const string MOBNAME_GRAVETEAM_04 * = "Хош - 'Последний плевок'";
const string MOBNAME_GRAVETEAM_05 * = "Чейз - 'Что вы об этом думаете ?'";
const string MOBNAME_GRAVETEAM_06 * = "Бйорн - 'Дальше, к цели!'";
const string MOBNAME_GRAVETEAM_07 * = "Михаель - 'Я только чуть-чуть отдохну...'";
const string MOBNAME_GRAVETEAM_08 * = "Каиро - 'Еще секундочку!'";
const string MOBNAME_GRAVETEAM_09 * = "Дядюшка Кронкель - 'и под конец он нашел человека-скорпиона'";
const string MOBNAME_GRAVETEAM_10 * = "НикоДЕ - 'Привет, мир!'";
const string MOBNAME_GRAVETEAM_11 * = "Саша - 'Игрок вообще не знает, почему он должен сюда идти...'";
const string MOBNAME_GRAVETEAM_12 * = "Андре - 'паруса опускаются быстро или медленно?'";
const string MOBNAME_GRAVETEAM_13 * = "Михай - 'Да, у меня есть кое-что вам показать...'";
const string MOBNAME_GRAVETEAM_14 * = "Уве - 'И на каком ты уровне со своим Паладином'";
// Надгробные камни
const string MOBNAME_GRAVE_01 * * * = "Барон Генрих фон Шталь 551 - 589 'Он пришел, посмотрел, и умер'";
const string MOBNAME_GRAVE_02 * * * = "Бертран 465 - 480 'Я хотел бы всегда есть красные мухоморы'";
const string MOBNAME_GRAVE_03 * * * = "Изольда 525 - 550";
const string MOBNAME_GRAVE_04 * * * = "Неизвестный";
const string MOBNAME_GRAVE_05 * * * = "Dex Cantionis 325 - 431 'Ich hab schon seit Tagen Magenkrдmpfe?'";
const string MOBNAME_GRAVE_06 * * * = "Утар Светоносец 205 - 531";
const string MOBNAME_GRAVE_07 * * * = "Ясмин 510 - 545";
const string MOBNAME_GRAVE_08 * * * = "Onurb 634 - 579 - 'Etlepmerkegmu red'";
const string MOBNAME_GRAVE_09 * * * = "Неизвестный солдат";
const string MOBNAME_GRAVE_10 * * * = "Могучий карлик 2894-3787 - 'Это все ложь! Поверь мне...'";
const string MOBNAME_GRAVE_11 * * * = "Теодор 220 - 310 - 'Его дух будет свободен'";
const string MOBNAME_GRAVE_12 * * * = "Верамин Садеа 390 - 'Ему был нужен ад'";
const string MOBNAME_GRAVE_13 * * * = "Серано Укара 234 - 298 'Тот, кто охранял башню'";
const string MOBNAME_GRAVE_14 * * * = "Виктимо Сорн 456 - 512 'Только феникс смог его остановить'";
const string MOBNAME_GRAVE_15 * * * = "+432 'Называли его Херистон, он прибыл с моря''";
const string MOBNAME_GRAVE_16 * * * = "Эрнесто Ортой 350 - 410 'Я всегда останусь с тобой'";
const string MOBNAME_GRAVE_17 * * * = "Артаг Амашрог 730 - 756";
const string MOBNAME_GRAVE_18 * * * = "Иотар 721 - 762";
const string MOBNAME_GRAVE_19 * * * = "Мидос 757 - 759";
const string MOBNAME_GRAVE_20 * * * = "Оскар Сорн 703 - 736";
const string MOBNAME_GRAVE_21 * * * = "Марта Укара 732 - 771";
const string MOBNAME_GRAVE_22 * * * = "Вилфид Укара 722 - 764";
const string MOBNAME_GRAVE_23 * * * = "Викториус Шаль 741 - 755";
const string MOBNAME_GRAVE_24 * * * = "Себ 725 - 773";
const string MOBNAME_GRAVE_25 * * * = "Неизвестный";
const string MOBNAME_GRAVE_26 * * * = "Март Мульго 721 - 779";
const string MOBNAME_GRAVE_27 * * * = "Цахра 713 - 752";
const string MOBNAME_GRAVE_28 * * * = "Свободный Симбус фон Кар 120 - 212";
const string MOBNAME_GRAVE_29 * * * = "Граф Аниб цу Вальдфрид 117 - 212";
const string MOBNAME_GRAVE_30 * * * = "Граф Лазарь фон Зигбург 156 - 212";
const string MOBNAME_GRAVE_31 * * * = "Меченосец Азуб Укара 145 - 212";
const string MOBNAME_GRAVE_32 * * * = "Меченосец Дитмар Укара 112 - 212";
const string MOBNAME_GRAVE_33 * * * = "Гвардеец Утар Серанис 178 - 212";
// МОВы аддона
const string MOBNAME_ADDON_SOCKEL * * * * * * * = "Подвал";
const string MOBNAME_ADDON_FORTUNO * * * * * * *= "Сундук Фортуно";
const string MOBNAME_ADDON_IDOL * * * * * * * * = "Статуя Белиара";
const string MOBNAME_ADDON_GOLD * * * * * * * * = "Золото";
const string MOBNAME_ADDON_STONEBOOK * * * * * *= "Пульт";
const string MOBNAME_ADDON_ORNAMENT * * * * * * = "Кольцеобразное углубление";
const string MOBNAME_ADDON_ORNAMENTSWITCH * * * = "Выключатель";
const string MOBNAME_ADDON_WACKELBAUM * * * * * = "Шатающееся дерево";
const string NAME_ADDON_TengronsRing * * * * * *= "Кольцо Тенгрона";
const string NAME_ADDON_CASSIASBELOHNUNGSRING * = "Кольцо жизненной энергии";
const string MOBNAME_ADDON_TELEPORT_01 * * * * *= "к порталу храма";
const string MOBNAME_ADDON_TELEPORT_02 * * * * *= "к лагерю бандитов";
const string MOBNAME_ADDON_TELEPORT_03 * * * * *= "к болоту";
const string MOBNAME_ADDON_TELEPORT_04 * * * * *= "к долине";
const string MOBNAME_ADDON_TELEPORT_05 * * * * *= "к каньону";

//***********************
// Массив имен гильдий
//***********************
// Примечание: выводится при появлении объекта в фокусе

const string TXT_GUILDS[GIL_MAX] =
{
* *"Без гильдии",
* *"Паладин",
* *"Милиция",
* *"Горожанинr",
* *"Маг",
* *"Послушник",
* *"Охотник на драконов",
* *"Наемник",
* *"Крестьянин",
* *"Бандит",
* *"Заключеный",
* *"Ищущий",
* *"Сельский житель",
* *"Пират",
* *"Маг воды",
* *"D",
* *"",
* *"Мясной жук",
* *"Овца",
* *"Гоблин",
* *"Гоблин-скелет",
* *"Черный гоблин-скелет",
* *"Падальщик",
* *"Большая крыса",
* *"Feldrдuber",
* *"Слепень",
* *"Ящерица",
* *"Волк",
* *"Варг",
* *"Позун",
* *"Шныг",
* *"Скелет",
* *"B. Skelett",
* *"Скелет-Маг",
* *"Зомби",
* *"Snapper",
* *"Schattenlдufer",
* *"Skelettmonster",
* *"Гарпия",
* *"Каменный голем",
* *"Огненый голем",
* *"Ледяной голем",
* *"B. Golem",
* *"Демон",
* *"B. Dдmon",
* *"Троль",
* *"Болотожор",
* *"Дракон",
* *"Molerat",
* *"Alligator",
* *"Sumpfgolem",
* *"Wдchter",
* *"Steinpuma",
* *"A",
* *"Wдchter",
* *"Зомби",
* *"",
* *"",
* *"",
* *"Орк",
* *"Орк",
* *"Untoter Ork",
* *"Drakonier",
* *"X",
* *"Y",
* *"Z"
};

//*************************
// Массив имен заклинаний
//*************************
// Примечание: выводится при появлении объекта в фокусе

const string TXT_SPELLS[MAX_SPELL] =
{
* *"Святой свет",
* *"Малое лечение",
* *"Святая стрела",
* *"Среднее лечение",
* *"Разогнать дьяволов",
* *"Сильное лечение",
* *"Уничтожить дьяволов",
* *"Телепорт",
* *"Телепорт в гавань",
* *"Телепорт к монастырю",
* *"Телепорт к помещику",
* *"Телепорт к Ксардасу",
* *"Телепорт к проходу в Хоринисе",
* *"Телепорт к проходу в Минентале",
* *"Телепорт в замок",
* *"Телепорт в старую башню демонов",
* *"Телепорт к таверне",
* *"TXT_SPL_TELEPORT_3",
* *"Свет",
* *"Огненная стрела",
* *"Ледяная стрела",
* *"Лечить легкое ранение",
* *"Вызвать скелет гоблина",
* *"Огненный шар",
* *"Молния",
* *"Вызвать волка",
* *"Порыв ветра",
* *"Сон",
* *"Лечить среднее ранение",
* *"Удар молнии",
* *"Большой огненный шар",
* *"Вызвать скелета",
* *"Страх",
* *"Ледяная глыба",
* *"Шаровая молния",
* *"Вызвать голема",
* *"Уничтожение нежити",
* *"Большой огненный шторм",
* *"Малый огненный шторм",
* *"Ледяная волна",
* *"Вызвать демона",
* *"Полное лечение",
* *"Огненный дождь",
* *"Дым смерти",
* *"Массовое вымирание",
* *"Армия мрака",
* *"Уменьшить",
* *"Превращение в овцу",
* *"Превращение в падальщика",
* *"Превращение в крысу",
* *"Превращение в полевого жука",
* *"Превращение в волка",
* *"Превращение в ящерицу",
* *"Превращение в глорха",
* *"Превращение в черного волка",
* *"Превращение в огненную ящерицу",
* *"Превращение в шныга",
* *"Превращение в мракориса",
* *"Превращение в остера",
* *"Забыть",
* *"Святой удар",
* *"TXT_SPL_DEATHBOLT",
* *"TXT_SPL_DEATHBALL",
* *"TXT_SPL_CONCUSSIONBOLT",
* *"TXT_SPL_RESERVED_64",
* *"TXT_SPL_RESERVED_65",
* *"TXT_SPL_RESERVED_66",
* *"TXT_SPL_RESERVED_67",
* *"TXT_SPL_RESERVED_68",
* *"TXT_SPL_RESERVED_69",
* *"Шторм",
* *"Смерч",
* *"Водяной кулак",
* *"Ледяное копье",
* *"Раздуть",
* *"Гейзер",
* *"Водяная стена",
* *"TXT_SPL_RESERVED_77",
* *"TXT_SPL_RESERVED_78",
* *"TXT_SPL_RESERVED_79",
* *"Чума",
* *"Рой",
* *"Опутать корнями",
* *"Землетрясение",
* *"Создать стража",
* *"Ярость Белиара",
* *"Украсть энергию",
* *"Крик мертвых",
* *"Создать зомби",
* *"Вызвать Муда",
* *"TXT_SPL_RESERVED_90",
* *"TXT_SPL_RESERVED_91",
* *"TXT_SPL_RESERVED_92",
* *"TXT_SPL_RESERVED_93",
* *"TXT_SPL_RESERVED_94",
* *"TXT_SPL_RESERVED_95",
* *"TXT_SPL_RESERVED_96",
* *"TXT_SPL_RESERVED_97",
* *"TXT_SPL_RESERVED_98",
* *"TXT_SPL_RESERVED_99"
};

//*************************
// Названия заклинаний
//*************************
// Примечание: выводится в инвентаре (скриптовое название)

const string NAME_SPL_PalLight * * * * * * *= "Святой свет";
const string NAME_SPL_PalLightHeal * * * * *= "Малое лечение";
const string NAME_SPL_PalHolyBolt * * * * * = "Святая стрела";
const string NAME_SPL_PalMediumHeal * * * * = "Среднее лечение";
const string NAME_SPL_PalRepelEvil * * * * *= "Разогнать дьяволов";
const string NAME_SPL_PalFullHeal * * * * * = "Сильное лечение";
const string NAME_SPL_PalDestroyEvil * * * *= "Уничтожить дьяволов";
const string NAME_SPL_PalTeleportSecret * * = "Телепорт";
const string NAME_SPL_TeleportSeaport * * * = "Телепорт в гавань";
const string NAME_SPL_TeleportMonastery * * = "Телепорт к монастырю";
const string NAME_SPL_TeleportFarm * * * * *= "Телепорт к помещику";
const string NAME_SPL_TeleportXardas * * * *= "Телепорт к Ксардасу";
const string NAME_SPL_TeleportPassNW * * * *= "Телепорт к проходу в Хоринисе";
const string NAME_SPL_TeleportPassOW * * * *= "Телепорт к проходу в рудниковой долине";
const string NAME_SPL_TeleportOC * * * * * *= "Телепорт в замок";
const string NAME_SPL_TeleportOWDemonTower *= "Телепорт в старую башню демонов";
const string NAME_SPL_TeleportTaverne * * * = "Телепорт к таверне";
const string NAME_SPL_Teleport_3 * * * * * *= "NAME_SPL_TELEPORT_3";
const string NAME_SPL_LIGHT * * * * * * * * = "Свет";
const string NAME_SPL_Firebolt * * * * * * *= "Огненная стрела";
const string NAME_SPL_Icebolt * * * * * * * = "Ледяная стрела";
const string NAME_SPL_LightHeal * * * * * * = "Лечить легкое ранение";
const string NAME_SPL_SummonGoblinSkeleton *= "Вызвать скелет гоблина";
const string NAME_SPL_InstantFireball * * * = "Огненный шар";
const string NAME_SPL_Zap * * * * * * * * * = "Молния";
const string NAME_SPL_SummonWolf * * * * * *= "Вызвать волка";
const string NAME_SPL_WINDFIST * * * * * * *= "Порыв ветра";
const string NAME_SPL_Sleep * * * * * * * * = "Сон";
const string NAME_SPL_MediumHeal * * * * * *= "Лечить среднее ранение ";
const string NAME_SPL_Firestorm * * * * * * = "Малая огненная буря ";
const string NAME_SPL_SummonSkeleton * * * *= "Вызвать скелет";
const string NAME_SPL_Fear * * * * * * * * *= "Страх";
const string NAME_SPL_IceCube * * * * * * * = "Ледяная глыба ";
const string NAME_SPL_ChargeZap * * * * * * = "Шаровая молния ";
const string NAME_SPL_LightningFlash * * * *= "Удар молнии ";
const string NAME_SPL_SummonGolem * * * * * = "Вызвать голема";
const string NAME_SPL_DestroyUndead * * * * = "Уничтожить нежить";
const string NAME_SPL_ChargeFireball * * * *= "Большой огненный шар";
const string NAME_SPL_Pyrokinesis * * * * * = "Большая огненная буря ";
const string NAME_SPL_IceWave * * * * * * * = "Ледяная волна ";
const string NAME_SPL_SummonDemon * * * * * = "Вызвать демона";
const string NAME_SPL_FullHeal * * * * * * *= "Лечить сильное ранение ";
const string NAME_SPL_Firerain * * * * * * *= "Огненный дождь";
const string NAME_SPL_BreathOfDeath * * * * = "Дым смерти";
const string NAME_SPL_MassDeath * * * * * * = "Волна смерти ";
const string NAME_SPL_ArmyOfDarkness * * * *= "Армия мрака";
const string NAME_SPL_Shrink * * * * * * * *= "Уменьшить монстра";
const string NAME_SPL_TrfSheep * * * * * * *= "Превращение в овцу";
const string NAME_SPL_TrfScavenger * * * * *= "Превращение в падальщика";
const string NAME_SPL_TrfGiantRat * * * * * = "Превращение в крысу";
const string NAME_SPL_TrfGiantBug * * * * * = "Превращение в полевого жука";
const string NAME_SPL_TrfWolf * * * * * * * = "Превращение в волка";
const string NAME_SPL_TrfWaran * * * * * * *= "Превращение в ящерицу";
const string NAME_SPL_TrfSnapper * * * * * *= "Превращение в глорха";
const string NAME_SPL_TrfWarg * * * * * * * = "Превращение в варга";
const string NAME_SPL_TrfFireWaran * * * * *= "Превращение в огненную ящерицу";
const string NAME_SPL_TrfLurker * * * * * * = "Превращение в шныга";
const string NAME_SPL_TrfShadowbeast * * * *= "Превращение в мракориса";
const string NAME_SPL_TrfDragonSnapper * * *= "Превращение в остера";
const string NAME_SPL_Charm * * * * * * * * = "Забыть";
const string NAME_SPL_MasterOfDisaster * * *= "Святой удар";
const string NAME_SPL_Deathbolt * * * * * * = "NAME_SPL_DEATHBOLT";
const string NAME_SPL_Deathball * * * * * * = "NAME_SPL_DEATHBALL";
const string NAME_SPL_ConcussionBolt * * * *= "NAME_SPL_CONCUSSIONBOLT";
const string NAME_SPL_Reserved_64 * * * * * = "NAME_SPL_RESERVED_64";
const string NAME_SPL_Reserved_65 * * * * * = "NAME_SPL_RESERVED_65";
const string NAME_SPL_Reserved_66 * * * * * = "NAME_SPL_RESERVED_66";
const string NAME_SPL_Reserved_67 * * * * * = "NAME_SPL_RESERVED_67";
const string NAME_SPL_Reserved_68 * * * * * = "NAME_SPL_RESERVED_68";
const string NAME_SPL_Reserved_69 * * * * * = "NAME_SPL_RESERVED_69";
const string NAME_SPL_Thunderstorm * * * * *= "Шторм";
const string NAME_SPL_Whirlwind * * * * * * = "Смерч";
const string NAME_SPL_WaterFist * * * * * * = "Кулак воды";
const string NAME_SPL_IceLance * * * * * * *= "Ледяное копье";
const string NAME_SPL_Inflate * * * * * * * = "Раздуть";
const string NAME_SPL_Geyser * * * * * * * *= "Гейзер";
const string NAME_SPL_Waterwall * * * * * * = "Водяная стена";
const string NAME_SPL_Reserved_77 * * * * * = "NAME_SPL_RESERVED_77";
const string NAME_SPL_Reserved_78 * * * * * = "NAME_SPL_RESERVED_78";
const string NAME_SPL_Reserved_79 * * * * * = "NAME_SPL_RESERVED_79";
const string NAME_SPL_Plague * * * * * * * *= "Чума";
const string NAME_SPL_Swarm * * * * * * * * = "Рой";
const string NAME_SPL_GreenTentacle * * * * = "Зеленые щупальца";
const string NAME_SPL_Earthquake * * * * * *= "Землетрясение";
const string NAME_SPL_SummonGuardian * * * *= "Создать стража";
const string NAME_SPL_BeliarsRage * * * * * = "Ярость Белиара";
const string NAME_SPL_SuckEnergy * * * * * *= "Украсть энергию";
const string NAME_SPL_Skull * * * * * * * * = "Крик мертвых";
const string NAME_SPL_SummonZombie * * * * *= "Создать зомби";
const string NAME_SPL_SummonMud * * * * * * = "Вызвать Муда";
const string NAME_SPL_Reserved_90 * * * * * = "NAME_SPL_RESERVED_90";
const string NAME_SPL_Reserved_91 * * * * * = "NAME_SPL_RESERVED_91";
const string NAME_SPL_Reserved_92 * * * * * = "NAME_SPL_RESERVED_92";
const string NAME_SPL_Reserved_93 * * * * * = "NAME_SPL_RESERVED_93";
const string NAME_SPL_Reserved_94 * * * * * = "NAME_SPL_RESERVED_94";
const string NAME_SPL_Reserved_95 * * * * * = "NAME_SPL_RESERVED_95";
const string NAME_SPL_Reserved_96 * * * * * = "NAME_SPL_RESERVED_96";
const string NAME_SPL_Reserved_97 * * * * * = "NAME_SPL_RESERVED_97";
const string NAME_SPL_Reserved_98 * * * * * = "NAME_SPL_RESERVED_98";
const string NAME_SPL_Reserved_99 * * * * * = "NAME_SPL_RESERVED_99";


//*************
// Таланты
//*************
// Примечание: выводится в окне характеристик ГГ

const string TXT_TALENTS[NPC_TALENT_MAX] =
{
* *"",
* *"Одноручный",
* *"Двуручный",
* *"Лук",
* *"Арбалет",
* *"Вскрытие замков",
* *"",
* *"Магия",
* *"Подкрадывание",
* *"",
* *"",
* *"Акробатика",
* *"Карманная кража",
* *"Кузнечное дело",
* *"Создание рун",
* *"Алхимия",
* *"Разделка зверей",
* *"Знание языков",
* *"Irrlicht Fдhigkeiten",
* *"",
* *"",
* *""
};

//******************
// Значение таланта
//******************
// Примечание: выводится в окне характеристик ГГ (¦ - разделитель между значениями одного параметра)

const string TXT_TALENTS_SKILLS[NPC_TALENT_MAX] =
{
* *"",
* *"Обучен¦Боец¦Мастер",
* *"Обучен¦Боец¦Мастер",
* *"Обучен¦Стрелок¦Мастер",
* *"Обучен¦Стрелок¦Мастер",
* *"-¦Обучен¦-",
* *"0¦1¦2",
* *"0¦1¦2¦3¦4¦5¦6",
* *"-¦Обучен",
* *"-¦-",
* *"-¦-",
* *"-¦Обучен",
* *"-¦Обучен",
* *"-¦Обучен",
* *"-¦Обучен",
* *"-¦Обучен",
* *"-¦Обучен",
* *"-¦Обучен",
* *"-¦Обучен",
* *"-¦Обучен",
* *"-¦Обучен",
* *"-¦Обучен"
};

Ответить с цитированием
Старый 20.05.2005, 14:15   #175
Vam

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

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

//**********************
// Категории инвентаря
//**********************
// Примечание: не используется (осталось от Готики 1)

const string TXT_INV_CAT[INV_CAT_MAX] =
{
* *"",
* *"Оружие",
* *"Вооружение",
* *"Магия",
* *"Артефакты",
* *"Питание",
* *"Напитки",
* *"Письма",
* *"Различное"
};

//*************************
// Названия окружающих НПС
//*************************
// Примечание: выводится при появлении объекта в фокусе

const string NAME_Paladin * * * * * * * * * = "Паладин";
const string NAME_Miliz * * * * * * * * * * = "Городская стража";
const string NAME_Torwache * * * * * * * * *= "Стража ворот";
const string NAME_Tuerwache * * * * * * * * = "Стража дверей";
const string NAME_Stadtwache * * * * * * * *= "Городская стража";
const string NAME_Arbeiter * * * * * * * * *= "Рабочий";
const string NAME_Ritter * * * * * * * * * *= "Паладин";
const string NAME_Wache * * * * * * * * * * = "Охранник";
const string NAME_Buerger * * * * * * * * * = "Горожанин";
const string NAME_Buergerin * * * * * * * * = "Горожанка";
const string NAME_Magd * * * * * * * * * * *= "Служанка";
const string NAME_Magier * * * * * * * * * *= "Маг";
const string NAME_Novize * * * * * * * * * *= "Послушник";
const string NAME_Drachenjaeger * * * * * * = "Охотник на драконов";
const string NAME_ToterDrachenjaeger * * * *= "Мертвый охотник на драконов";
const string NAME_Soeldner * * * * * * * * *= "Наемник";
const string NAME_Bauer * * * * * * * * * * = "Крестьянин";
const string NAME_Baeuerin * * * * * * * * *= "Крестьянка";
const string NAME_Bandit * * * * * * * * * *= "Бандит";
const string NAME_Halsabschneider * * * * * = "Бритва";
const string NAME_Straefling * * * * * * * *= "Заключенный";
const string NAME_Waffenknecht * * * * * * *= "Оруженосец";
const string NAME_Dementor * * * * * * * * *= "Искатель";
const string NAME_ToterNovize * * * * * * * = "Мертвый послушник";
const string NAME_Antipaldin * * * * * * * *= "Военачальник орков";
const string NAME_Schiffswache * * * * * * *= "Стража корабля";
const string NAME_Fluechtling * * * * * * * = "Беглый заключенный";
const string NAME_Addon_Pirat * * * * * * * = "Пират";
const string NAME_Addon_Guard * * * * * * * = "Гвардеец";
const string NAME_Addon_Esteban_Guard * * * = "Личная охрана";
const string NAME_Addon_Sklave * * * * * * *= "Раб";
const string NAME_Addon_Buddler * * * * * * = "Старатель";
const string NAME_ADDON_SCAVENGERGL * * * * = "Травяной падальщик";
const string NAME_Addon_Summoned_Guardian * = "Вызванный каменный страж";
const string NAME_Addon_Summoned_Zombie * * = "Вызванный зомби";
const string NAME_ADDON_BELIARSWEAPON * * * = "Коготь Белиара";
const string NAME_Addon_Undead_Mud * * * * *= "Бессмертный Муд";
const string NAME_Addon_Summoned_Mud * * * *= "Вызванный Муд";

//*******************
// Опции диалогов
//*******************

const string Dialog_Ende * * * * * *= "КОНЕЦ";
const string Dialog_Back * * * * * *= "НАЗАД";
const string DIALOG_TRADE * * * * * = "(Торговать)";
const string DIALOG_PICKPOCKET * * *= "(Применить карманную кражу)";

//**********************
// Названия предметов
//**********************
// Примечание: выводится при появлении объекта в фокусе

const string NAME_Ring * * * * * * *= "Кольцо";
const string NAME_Amulett * * * * * = "Амулет";
const string NAME_Trank * * * * * * = "Напиток";
const string NAME_Rune * * * * * * *= "Руна";
const string NAME_Spruchrolle * * * = "Свиток заклинания";
const string NAME_Key * * * * * * * = "Ключ";
const string NAME_Addon_Belt * * * *= "Пояс";
const string NAME_Addon_BeltMage * *= "Волшебный пояс";
const string NAME_Addon_BeArSLD * * = "Вместе с кольчугой наемников +";
const string NAME_Addon_BeArMIL * * = "Вместе с кольчугой милиции +";
const string NAME_Addon_BeArKDF * * = "Вместе с робой мага +";
const string NAME_Addon_BeArNOV * * = "Вместе с робой послушника +";
const string NAME_Addon_BeArMC * * *= "Вместе с кольчугой из ползунов +";
const string NAME_Addon_BeArLeather = "Вместе с кожаной кольчугой +";

//**********************
// Различные фразы
//**********************

const string PRINT_Addon_BDTArmor * = "Кто носит эту кольчугу, принадлежит к бандитам";
const string PRINT_Addon_KUMU_01 * *= "Мы три брата из одного ящика.";
const string PRINT_Addon_KUMU_02 * *= "Вместе мы сильнее.";
const string PRINT_Addon_NadjaWait *= "Подожди. По поводу травы...";
const string NAME_Currency * * * * *= "Золото: ";
const string PRINT_Trade_Not_Enough_Gold = "У вас недостаточно золота, чтобы купить это.";

//*******************************************
// Строки описания предметов в инвентаре
//*******************************************

const string NAME_Value * * * * * * = "Ценность:";
const string NAME_Mag_Circle * * * *= "Круг:";
const string NAME_Manakosten * * * *= "Стоимость маны:";
const string NAME_MinManakosten * * = "Стоимость маны (мин):";
const string NAME_ManakostenMax * * = "Стоимость маны (макс):";
const string NAME_ManaPerSec * * * *= "Мана за сек.";
const string NAME_Duration * * * * *= "Длительность (минуты):";
const string NAME_Sec_Duration * * *= "Длительность (секунды):";
const string NAME_Mana_needed * * * = "Необходимо маны:";
const string NAME_Str_needed * * * *= "Необходимо силы:";
const string NAME_Dex_needed * * * *= "Необходимо ловкости:";
const string NAME_Spell_Load * * * *= "Усиливаемое заклинание";
const string NAME_Spell_Invest * * *= "Поддерживаемое заклинание";
const string NAME_Dam_Edge * * * * *= "Повреждение оружием:";
const string NAME_Dam_Point * * * * = "Повреждение стрелами:";
const string NAME_Dam_Fire * * * * *= "Повреждение огнем:";
const string NAME_Dam_Magic * * * * = "Повреждение магией:";
const string NAME_Dam_Fly * * * * * = "Повреждение ветром:";
const string NAME_Damage * * * * * *= "Повреждение:";
const string NAME_Damage_Max * * * *= "Повреждение (макс)";
const string NAME_PerMana * * * * * = "(за ману):";
const string NAME_DamagePerSec * * *= "Повреждение за сек.:";
const string NAME_Prot_Edge * * * * = "Защита от оружия:";
const string NAME_Prot_Point * * * *= "Защита от стрел:";
const string NAME_Prot_Fire * * * * = "Защита от огня:";
const string NAME_Prot_Magic * * * *= "Защита от магии:";
const string NAME_Bonus_HP * * * * *= "Прибавка к жизни:";
const string NAME_Bonus_Mana * * * *= "Прибавка к мане:";
const string NAME_Bonus_HpMax * * * = "Прибавка к максимальной жизни:";
const string NAME_Bonus_ManaMax * * = "Прибавка к максимальной мане:";
const string NAME_Bonus_Dex * * * * = "Прибавка к ловкости:";
const string NAME_Bonus_Str * * * * = "Прибавка к силе:";
const string NAME_OneHanded * * * * = "Одноручное";
const string NAME_TwoHanded * * * * = "Двуручное";
const string NAME_HealingPerMana * *= "Лечение за ману:";
const string NAME_HealingPerCast * *= "Лечение магией:";
const string NAME_Addon_NostalgieBonus * * *= "Ностальгический бонус:";
const string NAME_Addon_NeedsAllMana * * * *= "Потребляет всю ману.";
const string NAME_Addon_SpellDontKill * * * = "Заклинание не убивает";
const string NAME_Addon_Damage_Min * * * * *= "Повреждение *(мин)";
const string NAME_ADDON_WISPSKILL_FF * * * *= "Оружие дальнего боя и амуниция";
const string NAME_ADDON_WISPSKILL_NONE * * *= "Золото, ключи и предметы обихода";
const string NAME_ADDON_WISPSKILL_RUNE * * *= "Руны и свитки";
const string NAME_ADDON_WISPSKILL_MAGIC * * = "Кольца и амулеты";
const string NAME_ADDON_WISPSKILL_FOOD * * *= "Еда и растения";
const string NAME_ADDON_WISPSKILL_POTIONS * = "Магические и другие напитки";
const string NAME_ADDON_LEARNLANGUAGE_1 * * = "Языку крестьян учат";
const string NAME_ADDON_LEARNLANGUAGE_2 * * = "Языку воинов учат";
const string NAME_ADDON_LEARNLANGUAGE_3 * * = "Языку жрецов учат";
const string NAME_ADDON_MALUS_2H * * * * * *= "Штраф на двуручное умение";
const string NAME_ADDON_MALUS_1H * * * * * *= "Штраф на одноручное умение";
const string NAME_ADDON_BONUS_1H * * * * * *= "Бонус к одноручному умению";
const string NAME_ADDON_BONUS_2H * * * * * *= "Бонус к двуручному умению";
const string NAME_ADDON_ONEHANDED_BELIAR * *= "Шанс дополнительного повреждения";
const string NAME_ADDON_TWOHANDED_BELIAR * *= "Шанс дополнительного повреждения";
const string NAME_ADDON_UPGRATEBELIARSWEAPON * *= "Улучшить 'Коготь Белиара'";
const string NAME_ADDON_BETEN * * * * * * * * * = "Молиться";
const string NAME_ADDON_PRAYIDOL_GIVENOTHING * *= "Я молюсь и ничего не жертвую.";
const string NAME_ADDON_PRAYIDOL_GIVEHITPOINT1 *= "Я молюсь и жертвую 1 пункт жизни.";
const string NAME_ADDON_PRAYIDOL_GIVEHITPOINT2 *= "Я молюсь и жертвую 2 пункта жизни.";
const string NAME_ADDON_PRAYIDOL_GIVEHITPOINT3 *= "Я молюсь и жертвую 3 пункта жизни.";
const string NAME_ADDON_PRAYIDOL_GIVEMANA * * * = "Я молюсь и жертвую 1 пункт маны.";
* * * * * * * * * * * * * *
//***********************************************
// Название оружия, которое может изготовить ГГ
//***********************************************

const string NAME_ItMw_1H_Common_01 * * = "Меч";
const string NAME_ItMw_1H_Special_01 * *= "Рудный длинный клинок";
const string NAME_ItMw_2H_Special_01 * *= "Рудный двуручник";
const string NAME_ItMw_1H_Special_02 * *= "Рудный клинок чудовища";
const string NAME_ItMw_2H_Special_02 * *= "Тяжелый рудный двуручник";
const string NAME_ItMw_1H_Special_03 * *= "Рудный боевой клинок";
const string NAME_ItMw_2H_Special_03 * *= "Тяжелый рудный боевой клинок";
const string NAME_ItMw_1H_Special_04 * *= "Рудный потрошитель драконов";
const string NAME_ItMw_2H_Special_04 * *= "Большой рудный потрошитель драконов";
const string NAME_Addon_Harad_01 * * * *= "Благородный меч";
const string NAME_Addon_Harad_02 * * * *= "Благородный длинный меч ";
const string NAME_Addon_Harad_03 * * * *= "Рубиновый клинок ";
const string NAME_Addon_Harad_04 * * * *= "Благородный меч чудовища ";

//******************************************
// PrintScreen тексты при покупке предметов
//******************************************

const string PRINT_Addon_gegeben * * * *= " дают";
const string PRINT_GoldGegeben * * * * *= " золотых передано";
const string PRINT_ItemGegeben * * * * *= "Предмет передан";
const string PRINT_ItemsGegeben * * * * = " предметов передано";
const string PRINT_Addon_erhalten * * * = " получают";
const string PRINT_GoldErhalten * * * * = " золотых принято";
const string PRINT_ItemErhalten * * * * = "Предмет принят";
const string PRINT_ItemsErhalten * * * *= "предметов принято";
const string PRINT_Addon_RuneGiven * * *= "Белиар дарит тебе другое заклинание";

// *****************************************
// PrintScreen тексты при обучении
// *****************************************

const string PRINT_Kosten * * * * * * * = ". Стоимость: ";
const string PRINT_LP * * * * * * * * * = "LP";
const string PRINT_NotEnoughLP * * * * *= "Недостаточное количество оч. обучения!";
const string PRINT_NoLearnOverPersonalMAX = "Максимум учителя составляет ";
const string PRINT_LearnSTR * * * * * * = "Сила + ";
const string PRINT_LearnDEX * * * * * * = "Ловкость + ";
const string PRINT_LearnMANA_MAX * * * *= "Мана + ";
const string PRINT_Learnhitpoints_MAX * = "Жизнь + ";
const string PRINT_LearnLP * * * * * * *= "Оч. обучения + ";
const string PRINT_LearnCircle_1 * * * *= "Обучение: 1 Круг магии";
const string PRINT_LearnCircle_2 * * * *= "Обучение: 2 Круг магии";
const string PRINT_LearnCircle_3 * * * *= "Обучение: 3 Круг магии";
const string PRINT_LearnCircle_4 * * * *= "Обучение: 4 Круг магии";
const string PRINT_LearnCircle_5 * * * *= "Обучение: 5 Круг магии";
const string PRINT_LearnCircle_6 * * * *= "Обучение: 6 Круг магии";
const string PRINT_Learn1H * * * * * * *= "Улучшить: Одноручное оружие";
const string PRINT_Learn1H_and_2H * * * = "Улучшить: Борьба одно- и двуручным оружием";
const string PRINT_Learn2H * * * * * * *= "Улучшить: Двуручное оружие";
const string PRINT_Learn2H_and_1H * * * = "Улучшить: Борьба дву- и одноручным оружием";
const string PRINT_LearnBow * * * * * * = "Улучшить: Лук";
const string PRINT_LearnBow_and_Crossbow = "Улучшить: Лук и Арбалет";
const string PRINT_LearnCrossbow * * * *= "Улучшить: Арбалет";
const string PRINT_LearnCrossbow_and_Bow = "Улучшить: Арбалет и Лук";
const string PRINT_LearnPicklock * * * *= "Обучение: Вскрытие замков";
const string PRINT_LearnSneak * * * * * = "Обучение: Подкрадывание";
const string PRINT_LearnAcrobat * * * * = "Учится: акробатика";
const string PRINT_Addon_AcrobatBonus * = "Акробатика-Бонус!";
const string PRINT_LearnPickpocket * * *= "Обучение: Карманная кража";
const string PRINT_Beliarshitpoints_MAX = "Жизненная энергия -";
const string PRINT_LearnSmith * * * * * = "Обучение: Кузнечное дело";
const string PRINT_LearnRunes * * * * * = "Обучение: Создание руны";
const string PRINT_LearnAlchemy * * * * = "Обучение: Приготовление напитка";
const string PRINT_LearnAlchemyInnosEye = "Обучение: Обращение с Глазом Инноса";
const string PRINT_LearnTakeAnimalTrophy = "Обучение: Разделка зверей";
const string PRINT_LearnForeignLanguage = "Учится: язык строителей";
const string PRINT_LearnWispDetector * *= "Огонек научился";
const string PRINT_LearnPalTeleportSecret = "Обучение: Изготовить руну телепорта";
const string PRINT_NotEnoughLearnPoints = "Слишком мало оч. обучения!";
const string PRINT_LearnSTR1 * * * * * *= "Сила + 1";
const string PRINT_LearnSTR5 * * * * * *= "Сила + 5";
const string PRINT_LearnDEX1 * * * * * *= "Ловкость + 1";
const string PRINT_LearnDEX5 * * * * * *= "Ловкость + 5";
const string PRINT_LearnMANA1 * * * * * = "Мана + 1";
const string PRINT_LearnMANA5 * * * * * = "Мана + 5";
const string PRINT_Learn1h1 * * * * * * = "Одноручное оружие + 1";
const string PRINT_Learn1h5 * * * * * * = "Одноручное оружие + 5";
const string PRINT_Learn2h1 * * * * * * = "Двуручное оружие + 1";
const string PRINT_Learn2h5 * * * * * * = "Двуручное оружие + 5";
const string PRINT_LearnBow1 * * * * * *= "Лук + 1";
const string PRINT_LearnBow5 * * * * * *= "Лук + 5";
const string PRINT_LearnCrossBow1 * * * = "Арбалет + 1";
const string PRINT_LearnCrossBow5 * * * = "Арбалет + 5";

//************************************
// Константы диалогов с МОВами
//************************************

const string PRINT_SleepOver * * * * * *= "Вы хорошо поспали!";
const string PRINT_SleepOverObsessed * *= "Кошмары прервали ваш сон!";
const string PRINT_SmithSuccess * * * * = "Оружие изготовленно! ";
const string PRINT_RuneSuccess * * * * *= "Руна изготовленна!";
const string PRINT_AlchemySuccess * * * = "Напиток приготовлен! ";
const string PRINT_AlchemySuccessInnoseye = "Глаз Инноса полон энергии!";
const string PRINT_ProdItemsMissing * * = "Отсутствует сырье";
const string PRINT_TabakSuccess * * * * = "Новый сорт табака приготовлен!";
const string PRINT_JointSuccess * * * * = "Болотник обработан!";
const string PRINT_Addon_Joint_01_Success = "Скрутил "Зеленого послушника"!";
const string PRINT_NoInnosTears * * * * = "Вам нехватает Слез Инноса";
const string PRINT_Addon_GuildNeeded * *= "Тебе не хватает Гильдии.";
const string PRINT_Addon_GuildNeeded_NOV = "Ты еще не маг";

//************************************
// Неудавшиеся действия
//************************************

const string PRINT_KeyMissing * * * * * = "Мне нужен ключ от этого замка";
const string PRINT_PicklockMissing * * *= "Мне нужна отмычка";
const string PRINT_Picklock_or_KeyMissing = "Мне нужен ключ или отмычка";
const string PRINT_NeverOpen * * * * * *= "Я не могу ничего сделать";
const string PRINT_Toofar_Away * * * * *= "Я нахожусь слишком далеко ";
const string PRINT_WrongSide * * * * * *= "Я нахожусь с другой стороны";
const string PRINT_MissingItem * * * * *= "У меня нет соответствующего предмета";
const string PRINT_AnotherUser * * * * *= "Это сейчас занято";
const string PRINT_NoPicklockTalent * * = "У меня нехватает таланта";
const string PRINT_NOTHINGTOGET * * * * = "здесь ничего нет...";
const string PRINT_NOTHINGTOGET02 * * * = "Нечего унести...";
const string PRINT_NOTHINGTOGET03 * * * = "Нечего грабить...";

// ***********************************
// Результаты молитв
// ***********************************

const string PRINT_BlessSTR * * * * * * = "Иннос дарит тебе: Сила + ";
const string PRINT_BlessDEX * * * * * * = "Иннос дарит тебе: Ловкость + ";
const string PRINT_BlessMANA_MAX * * * *= "Иннос дарит тебе: Мана + ";
const string PRINT_BlessHitpoints_MAX * = "Иннос дарит тебе: Жизнь + ";
const string PRINT_BlessMANA * * * * * *= "Ты исполнен ясностью разума.";
const string PRINT_BlessHitpoints * * * = "Иннос услышал тебя и ты вылечен.";
const string Print_BlessMana_Hit * * * *= "Ты чуствуешь себя здоровым.";
const string Print_BlessNone * * * * * *= "Иннос благодарит тебя за молитву.";
const string Print_NotEnoughGold * * * *= "Слишком мало золота.";
const string Bless_Sword * * * * * * * *= "Освятить меч (5000 золотых)";
const string Bless_Sword2 * * * * * * * = "Освятить меч (Слезы Инноса)";
const string Pray_Paladin1 * * * * * * *= "...Иннос, держи свою защитную руку над твоими воинами...";
const string Pray_Paladin2 * * * * * * *= "...одари их своим огнем и надели их энергией...";
const string Pray_Paladin3 * * * * * * *= "...в том, за что они борются от твоего имени... ";
const string Pray_Paladin4 * * * * * * *= "...до победы или смерти, согласно воле твоей.";

//************************************
// Фразы диалогов
//************************************

// Лагерь бандитов
const string DIALOG_ADDON_ATTENTAT_DESCRIPTION = "Что ты знаешь о покушении на Эстебана?";
const string DIALOG_ADDON_ATTENTAT_PRO *= "Я хочу убить этих предателей";
const string DIALOG_ADDON_ATTENTAT_CONTRA = "Я ищу этих типов, чтобы выступить против Эстебана.";
const string DIALOG_ADDON_MINE_DESCRIPTION = "Ты нужен в шахте (дать красный камень)";
const string DIALOG_ADDON_GOLD_DESCRIPTION = "Что я должен знать о добыче золота?";
const string PRINT_ADDON_KNOWSBF * * * *= "Получил знание о яде из жала";
const string PRINT_ADDON_HACKCHANCE * * = "Повысил знание о добыче золота (+ ";
const string PRINT_Addon_StuntBonus * * = "Бонус каскадера";
const string PRINT_Addon_ExploitBonus * = "Exploit Malus";
const string PRINT_ADDON_ENOUGHTALK * * = "Достаточно поговорили. Будем сражаться.";

// общие фразы
const string PRINT_FullyHealed * * * * *= "Полностью вылечен";
const string PRINT_Eat1 * * * * * * * * = "Ты чувствуешь себя посвежевшим";
const string PRINT_Eat2 * * * * * * * * = "На вкус сочное и свежее";
const string PRINT_Eat3 * * * * * * * * = "Ты чувствуешь себя здоровым и сильным!";
const string Print_ReadAstronomy * * * *= "Чувство божественного познания переполняет тебя.";

// специальные
const string PRINT_GornsTreasure * * * *= "100 золотых получено.";
const string PRINT_KerolothsGeldBeutel *= "300 золотых получено.";
const string PRINT_MalethBanditsGold * *= "300 золотых получено";
const string Print_DiegosTreasure * * * = "2000 золотых получено.";
const string PRINT_IrdorathBookDoesntOpen = "Книга закрыта магической печатью.";
const string PRINT_IrdorathBookHiddenKey = "В книге был спрятан секретный ключ!";
const string PRINT_FishLetter * * * * * = "В рыбе спрятана записка";
const string Print_InnoseyeGiven * * * *= "Глаз Инноса передан";
const string Print_InnosEyeGet * * * * *= "Глаз Инноса получен";
const string PRINT_GotFourItems * * * * = "4 предмета получено ";
const string PRINT_OrcEliteRingEquip * *= "Ты чувствуешь себя ослабленным.";
const string PRINT_SCIsObsessed * * * * = "Чувство одержимости преследует тебя!";
const string PRINT_ClearSCObsession * * = "Ты чувствуешь себя освобожденным!";
const string PRINT_NumberLeft * * * * * = "осталось";
const string PRINT_NovizenLeft * * * * *= "послушников осталось";
const string PRINT_Addon_CanyonRazorsLeft = "глорх(-а, -ов) осталось";
const string PRINT_DragKillCount * * * *= "Враг побежден и теперь я больше не буду гнить под скалами. Я ухожу отсюда обратно на корабль.";

// инградиенты для изготовления оружия
const string PRINT_Smith_1H_Special_01 *= "(1 руда)";
const string PRINT_Smith_2H_Special_01 *= "(2 руда)";
const string PRINT_Smith_1H_Special_02 *= "(2 руда)";
const string PRINT_Smith_2H_Special_02 *= "(3 руда)";
const string PRINT_Smith_1H_Special_03 *= "(3 руда)";
const string PRINT_Smith_2H_Special_03 *= "(4 руда)";
const string PRINT_Smith_1H_Special_04 *= "(4 руда, 5 кровь дракона)";
const string PRINT_Smith_2H_Special_04 *= "(5 руда, 5 кровь дракона)";

// текст при осмотре предметов
const string NAME_MageScroll * * * * * *= "Свиток заклинания";
const string PRINT_FoundRing * * * * * *= "Кольцо найдено";
const string PRINT_FoundAmulett * * * * = "Амулет найден";
const string PRINT_FoundScroll * * * * *= "Свиток заклинания найден";
const string PRINT_FoundPotion * * * * *= "Напиток найден";
const string PRINT_FoundMap * * * * * * = "Карта найдена";
const string PRINT_FoundGold10 * * * * *= "10 золотых найдено";
const string PRINT_FoundGold25 * * * * *= "25 золотых найдено";
const string PRINT_FoundGold50 * * * * *= "50 золотых найдено";
const string PRINT_FoundGold100 * * * * = "100 золотых найдено";
const string PRINT_FoundRuneBlank * * * = "Рунический камень найден";
const string PRINT_FoundOreNugget * * * = "Глыба руды найдена";
const string PRINT_FoundLockpick * * * *= "Отмычка найдена";
const string PRINT_HannasBeutel * * * * = "Малый ключ и несколько отмычек...";
const string PRINT_GotPlants * * * * * *= "Несколько растений найдено";

const string PRINT_NoSweeping * * * * * = "Уборка всех комнат длится вечность!";
const string PRINT_Mandibles * * * * * *= "Этот сок больше не действует.";
const string PRINT_Bloodfly * * * * * * = "На вкус горький и ядовитый";

//***************************
// Табаки Абуина
//***************************

const string PRINT_PILZ * * * * * * * * = "Грибной табак ";
const string PRINT_DOPPEL * * * * * * * = "Раздвоенное яблоко ";
const string PRINT_HONIG * * * * * * * *= "Медовый табак ";
const string PRINT_KRAUT * * * * * * * *= "Травяной табак ";

//***************************
// Прочие PrintScreen тексты
//***************************

const string PRINT_XPGained * * * * * * = "Опыт + ";
const string PRINT_LevelUp * * * * * * *= "Следующий уровень!";
const string PRINT_NewLogEntry * * * * *= "Ваш дневник дополнен";
const string PRINT_TeleportTooFarAway * = "Слишком далеко";
const string PRINT_BiffsAnteil * * * * *= "Доля Биффа: ";
const string PRINT_BiffGold * * * * * * = "Золото";
const string PRINT_Addon_SCIsWearingRangerRing = "Ты сейчас носишь опознавательный знак 'Кольца воды'";

//***************************
// Прочие тексты инвентаря
//***************************

var string TEXT_Innoseye_Setting; * * * // состояния Глаза Инноса
const string TEXT_Innoseye_Setting_Broken * = "Оправа амулета расколота на части";
const string TEXT_Innoseye_Setting_Repaired = "Оправа амулета выглядит как новая";
const string TEXT_Innoseye_Gem * * * * * * *= "Драгоценный камень блеклый и ослабленный";

//***************************
// Константы воровства
//***************************

const string Pickpocket_20 * * * * * * *= "(Очень просто украсть его кошелек)";
const string Pickpocket_40 * * * * * * *= "(Просто украсть его кошелек)";
const string Pickpocket_60 * * * * * * *= "(Рискованно украсть его кошелек) ";
const string Pickpocket_80 * * * * * * *= "(Сложно украсть его кошелек)";
const string Pickpocket_100 * * * * * * = "(Очень сложно украсть его кошелек)";
const string Pickpocket_120 * * * * * * = "(Почти невозможно украсть его кошелек)";
const string Pickpocket_20_Female * * * = "(Очень просто украсть ее кошелек)";
const string Pickpocket_40_Female * * * = "(Просто украсть ее кошелек)";
const string Pickpocket_60_Female * * * = "(Рискованно украсть ее кошелек)";
const string Pickpocket_80_Female * * * = "(Сложно украсть ее кошелек)";
const string Pickpocket_100_Female * * *= "(Очень сложно украсть ее кошелек)";
const string Pickpocket_120_Female * * *= "(Почти невозможно украсть ее кошелек)";


продолжение следует...
Ответить с цитированием
Старый 20.05.2005, 14:19   #176
Vam

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

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

остаток файла

//************************************************** ****
// Относительные координаты при выводе текста на экран
//************************************************** ****

const int YPOS_GoldGiven * *= 34;
const int YPOS_GoldTaken * *= 34;
const int YPOS_ItemGiven * *= 37;
const int YPOS_ItemTaken * *= 40;
const int YPOS_LOGENTRY * * = 45;
const int YPOS_LEVELUP * * *= 50;
const int YPOS_XPGAINED * * = 55;

//*****************
// Разное
//*****************

const string PRINT_PICKLOCK_SUCCESS * * = "Замок издал правильный звук";
const string PRINT_PICKLOCK_UNLOCK * * *= "Замок щелкнул";
const string PRINT_PICKLOCK_FAILURE * * = "Черт.. все сначала";
const string PRINT_PICKLOCK_BROKEN * * *= "Отмычка сломалась";
const string PRINT_HITPOINTS_MISSING * *= "Слишком мало жизни";
const string PRINT_HITPOINTS_MAX_MISSING = "Слишком мало максимальной жизни";
const string PRINT_MANA_MISSING * * * * = "Слишком мало маны";
const string PRINT_MANA_MAX_MISSING * * = "Слишком мало максимальной маны";
const string PRINT_STRENGTH_MISSING * * = "Слишком мало силы";
const string PRINT_DEXTERITY_MISSING * *= "Слишком мало ловкости";
const string PRINT_MAGCIRCLES_MISSING * = "Слишком низкий Круг магии, чтобы создать руну";
const string PRINT_ADDON_BELIARSCOURSE_MISSING = "Оружие нельзя одеть.";
const string _STR_MESSAGE_INTERACT_NO_KEY = "Нет подходящего ключа или отмычки";
const string _STR_MESSAGE_TRADE_FAILURE = "Стоимость товаров недостаточно высока";
const string STR_INFO_TRADE_ACCEPT * * *= "Принять";
const string STR_INFO_TRADE_RESET * * * = "Отказаться";
const string STR_INFO_TRADE_EXIT * * * *= "Назад";
const string MENU_TEXT_NEEDS_APPLY * * *= "Нажать ввод для активации!";
const string MENU_TEXT_NEEDS_RESTART * *= "Некоторые настройки активируются только после перезапуска";

//****************
// Названия глав
//****************

const string KapWechsel_1 * * * * * * * = "Глава 1";
const string KapWechsel_1_Text * * * * *= "Угроза";
const string KapWechsel_2 * * * * * * * = "Глава 2";
const string KapWechsel_2_Text * * * * *= "Возвращение в колонию";
const string KapWechsel_3 * * * * * * * = "Глава 3";
const string KapWechsel_3_Text * * * * *= "Глаз Инноса";
const string KapWechsel_4 * * * * * * * = "Глава 4";
const string KapWechsel_4_Text * * * * *= "Охота на драконов";
const string KapWechsel_5 * * * * * * * = "Глава 5";
const string KapWechsel_5_Text * * * * *= "Отъезд";
const string KapWechsel_6 * * * * * * * = "Глава 6";
const string KapWechsel_6_Text * * * * *= "Залы Ирдората";


5. Начисляемая экспа.

Все константы по начислению экспы ГГ расположены в файле XP_Constants.d
Подробно данный файл рассматривать не будем, его содержимое понятно и легко прослеживается по имени константы (за что, при каких обстоятельствах и сколько экспы получает ГГ).
Ответить с цитированием
Старый 20.05.2005, 15:11   #177
PA
Строители Миртаны
*
 
Регистрация: 29.08.2004
Сообщений: 1
PA вне форума

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

2Vam:
const string PRINT_ItemsErhalten        = "предметов принято";
Должно быть
const string PRINT_ItemsErhalten        = " предметов принято";
Иначе теряется количество предметов проставляемое перед этой фразой.

Ответить с цитированием
Старый 22.05.2005, 20:40   #178
Vam

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

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

6. Голосовая система SVM (Standard Voice Module).

Основные элементы голосовой системы размещены в файле SVM.d
[pre]
//************************************************** *********
// Класс C_SVM (объявление всех переменных для SVM системы)
//************************************************** *********

CLASS C_SVM
{
* *// для функции B_Say_GuildGreetings
* *var string MILGreetings; * * * * * * * *// милиция приветствует милицию или паладинов
* *var string PALGreetings; * * * * * * * *// паладины приветствуют паладинов или магов
* *var string Weather; * * * * * * * * * * // скверная погода
* *// для функции B_Say_AttackReason
* *var string IGetYouStill; * * * * * * * *// атакующий НПС имеет цель убить ГГ
* *var string DieEnemy; * * * * * * * * * *// восклицание в адрес атакуемого врага
* *var string DieMonster; * * * * * * * * *// восклицание в адрес атакуемого монстра
* *var string Addon_DieMonster; * * * * * *// восклицание в адрес атакуемого монстра (доп. фраза1 для аддона)
* *var string Addon_DieMonster2; * * * * * // восклицание в адрес атакуемого монстра (доп. фраза2 для аддона)
* *var string DirtyThief; * * * * * * * * *// восклицание в адрес атакуемого вора (карманная кража)
* *var string HandsOff; * * * * * * * * * *// восклицание в ардес грабителя (сундуки, двери)
* *var string SheepKiller; * * * * * * * * // восклицание в ардес убийцы овец
* *var string SheepKillerMonster; * * * * *// восклицание в ардес монстра, убивающего овец
* *var string YouMurderer; * * * * * * * * // восклицание в ардес убийцы человека
* *var string DieStupidBeast; * * * * * * *// охрана ворот отбивает атаку монстра
* *var string YouDareHitMe; * * * * * * * *// восклицание в ардес плохого человека
* *var string YouAskedForIt; * * * * * * * // восклицание на обнаженное оружие
* *var string ThenIBeatYouOutOfHere; * * * // просьба покинуть помещение
* *var string WhatDidYouDoInThere; * * * * // охрана видит, как ГГ выходит из помещения с ограниченным доступом
* *var string WillYouStopFighting; * * * * // охрана заканчивает атаковать преступника
* *// для функции B_Say_AttackEND
* *var string KillEnemy; * * * * * * * * * // НПС добивает врага
* *var string EnemyKilled; * * * * * * * * // НПС убил врага
* *var string MonsterKilled; * * * * * * * // НПС убил опасного монстра
* *var string Addon_MonsterKilled; * * * * // НПС убил опасного монстра (доп. фраза1 для аддона)
* *var string Addon_MonsterKilled2; * * * *// НПС убил опасного монстра (доп. фраза2 для аддона)
* *var string ThiefDown; * * * * * * * * * // НПС дрался с вором (карманная кража)
* *var string RumfummlerDown; * * * * * * *// НПС дрался с грабителем (сундуки, двери)
* *var string SheepAttackerDown; * * * * * // НПС дрался с убийцей овец
* *var string KillMurderer; * * * * * * * *// НПС дрался с убийцей людей
* *var string StupidBeastKilled; * * * * * // охрана ворот убивает монстра
* *var string NeverHitMeAgain; * * * * * * // НПС дрался с плохим человеком
* *var string YouBetterShouldHaveListened; // НПС дрался с ГГ, т.к. он не убрал оружие
* *var string GetUpAndBeGone; * * * * * * *// НПС дрался с незваным гостем
* *var string NeverEnterRoomAgain; * * * * // НПС дрался с ГГ после выхода из помещения с ограниченным доступом
* *var string ThereIsNoFightingHere; * * * // охрана дралась с зачинщиком драки
* *// для функции C_WantToFlee
* *var string SpareMe; * * * * * * * * * * // не тронь меня (не используется)
* *var string RunAway; * * * * * * * * * * // пора сматываться
* *// для функции C_WantToCallGuardsForFight
* *var string Alarm; * * * * * * * * * * * // охрана вызывает охрану
* *var string Guards; * * * * * * * * * * *// крутой парень вызывает охрану
* *var string Help; * * * * * * * * * * * *// гражданин зовет на помощь
* *// для функции B_AssessMurder
* *var string GoodMonsterKill; * * * * * * // похвала в адрес убийцы монстра
* *var string GoodKill; * * * * * * * * * *// похвала в адрес убийцы человека
* *// для функции B_AssessTalk
* *var string NOTNOW; * * * * * * * * * * *// если НПС не хочет говорить
* *// для функции ZS_Attack
* *var string RunCoward; * * * * * * * * * // восклицание в адрес убегающего противника
* *// для функции ZS_ClearRoom
* *var string GetOutOfHere; * * * * * * * *// к ГГ в чужом помещении обращается крутой парень
* *var string WhyAreYouInHere; * * * * * * // к ГГ в чужом помещении обращается простой парень
* *var string YesGoOutOfHere; * * * * * * *// ГГ покидает чужое помещение
* *// для функции ZS_ObservePlayer
* *var string WhatsThisSupposedToBe; * * * // НПС видит крадущегося ГГ
* *var string YouDisturbedMySlumber; * * * // НПС разбужен ГГ
* *// для функции ZS_RansackBody
* *var string ITookYourGold; * * * * * * * // найдено золото
* *var string ShitNoGold; * * * * * * * * *// золота нет
* *var string ITakeYourWeapon; * * * * * * // найдено оружие
* *// для функции ZS_ReactToDamage
* *var string WhatAreYouDoing; * * * * * * // НПС ударил дружественного НПС
* *// для функции ZS_ReactToWeapon
* *var string LookingForTroubleAgain; * * *// НПС проиграл сражение и лезет снова
* *var string StopMagic; * * * * * * * * * // предупреждение на магию
* *var string ISaidStopMagic; * * * * * * *// повторное предупреждение на магию
* *var string WeaponDown; * * * * * * * * *// предупреждение на обнаженное оружие
* *var string ISaidWeaponDown; * * * * * * // повторное предупреждение на обнаженное оружие
* *var string WiseMove; * * * * * * * * * *// уружие убрано
* *// для функции ZS_Unconscious
* *var string NextTimeYoureInForIt; * * * *// крутой парень встает после драки
* *var string OhMyHead; * * * * * * * * * *// простой парень встает после драки
* *// для функции ZS_WatchFight
* *var string TheresAFight; * * * * * * * *// крутой парень наблюдает сражение
* *var string OhMyGodItsAFight; * * * * * *// простой парень наблюдает сражение
* *var string GoodVictory; * * * * * * * * // приветствие победетилю другу
* *var string NotBad; * * * * * * * * * * *// приветствие нейтральному победителю
* *var string OhMyGodHesDown; * * * * * * *// возмущение нападением
* *var string CheerFriend01; * * * * * * * // друг наносит повреждение
* *var string CheerFriend02; * * * * * * * // ещё повреждение
* *var string CheerFriend03; * * * * * * * // и ещё повреждение
* *var string Ooh01; * * * * * * * * * * * // друг получает повреждение
* *var string Ooh02; * * * * * * * * * * * // ещё повреждение
* *var string Ooh03; * * * * * * * * * * * // и ещё повреждение
* *// для функции ZS_MagicSleep
* *var string WhatWasThat; * * * * * * * * // пробуждение от магического сна
* *// для функции TA_Sleep
* *var string GetOutOfMyBed; * * * * * * * // кровать НПС занята
* *var string Awake; * * * * * * * * * * * // пробуждение
* *// для функции B_AssignAmbientNEWS
* *var string ABS_COMMANDER; * * * * * * * // ГГ заплатил штраф милиции (не используется)
* *var string ABS_MONASTERY; * * * * * * * // ГГ заплатил штраф магам (не используется)
* *var string ABS_FARM; * * * * * * * * * *// ГГ заплатил штраф наемникам (не используется)
* *var string ABS_GOOD; * * * * * * * * * *// согласие
* *// ---------------------------------
* *var string SHEEPKILLER_CRIME; * * * * * // осуждение убийцы овец
* *var string ATTACK_CRIME; * * * * * * * *// осуждение драчуна
* *var string THEFT_CRIME; * * * * * * * * // осуждение вора
* *var string MURDER_CRIME; * * * * * * * *// осуждение убийцы
* *// ---------------------------------
* *var string PAL_CITY_CRIME; * * * * * * *// осуждение ГГ паладина
* *var string MIL_CITY_CRIME; * * * * * * *// осуждение ГГ милиционера
* *var string CITY_CRIME; * * * * * * * * *// осуждение городского криминала
* *// ---------------------------------
* *var string MONA_CRIME; * * * * * * * * *// осуждение ГГ послушника и мага
* *var string FARM_CRIME; * * * * * * * * *// осуждение ГГ наемника
* *var string OC_CRIME; * * * * * * * * * *// осуждение ГГ в Минентале
* *// для функции B_Say_ToughGuyNews
* *var string TOUGHGUY_ATTACKLOST; * * * * // ГГ атаковал крутого парня и победил
* *var string TOUGHGUY_ATTACKWON; * * * * *// ГГ атаковал крутого парня и проиграл
* *var string TOUGHGUY_PLAYERATTACK; * * * // ГГ атаковал крутого парня и прекратил сражение
* *// золото
* *var string GOLD_1000; * * * * * * * * * // 1000 золотых
* *var string GOLD_950; * * * * * * * * * *// 950 золотых
* *var string GOLD_900; * * * * * * * * * *// 900 золотых
* *var string GOLD_850; * * * * * * * * * *// 850 золотых
* *var string GOLD_800; * * * * * * * * * *// 800 золотых
* *var string GOLD_750; * * * * * * * * * *// 750 золотых
* *var string GOLD_700; * * * * * * * * * *// 700 золотых
* *var string GOLD_650; * * * * * * * * * *// 650 золотых
* *var string GOLD_600; * * * * * * * * * *// 600 золотых
* *var string GOLD_550; * * * * * * * * * *// 550 золотых
* *var string GOLD_500; * * * * * * * * * *// 500 золотых
* *var string GOLD_450; * * * * * * * * * *// 450 золотых
* *var string GOLD_400; * * * * * * * * * *// 400 золотых
* *var string GOLD_350; * * * * * * * * * *// 350 золотых
* *var string GOLD_300; * * * * * * * * * *// 300 золотых
* *var string GOLD_250; * * * * * * * * * *// 250 золотых
* *var string GOLD_200; * * * * * * * * * *// 200 золотых
* *var string GOLD_150; * * * * * * * * * *// 150 золотых
* *var string GOLD_100; * * * * * * * * * *// 100 золотых
* *var string GOLD_90; * * * * * * * * * * // 90 золотых
* *var string GOLD_80; * * * * * * * * * * // 80 золотых
* *var string GOLD_70; * * * * * * * * * * // 70 золотых
* *var string GOLD_60; * * * * * * * * * * // 60 золотых
* *var string GOLD_50; * * * * * * * * * * // 50 золотых
* *var string GOLD_40; * * * * * * * * * * // 40 золотых
* *var string GOLD_30; * * * * * * * * * * // 30 золотых
* *var string GOLD_20; * * * * * * * * * * // 20 золотых
* *var string GOLD_10; * * * * * * * * * * // 10 золотых
* *// для функции B_Say_Smalltalk (TA_Smalltalk)
* *var string Smalltalk01; * * * * * * * * // ...если ты думаешь...
* *var string Smalltalk02; * * * * * * * * // ...может быть...
* *var string Smalltalk03; * * * * * * * * // ...не особенно хитер....
* *var string Smalltalk04; * * * * * * * * // ...у меня хватает проблем...
* *var string Smalltalk05; * * * * * * * * // ...это не моя проблема...
* *var string Smalltalk06; * * * * * * * * // ...я ещё очень зол...
* *var string Smalltalk07; * * * * * * * * // ...кое-что болтают...
* *var string Smalltalk08; * * * * * * * * // ...это не пройдет со мной...
* *var string Smalltalk09; * * * * * * * * // ...это всегл лишь слухи...
* *var string Smalltalk10; * * * * * * * * // ...что-то они замышляют...
* *var string Smalltalk11; * * * * * * * * // ...я тебе что говорил...
* *var string Smalltalk12; * * * * * * * * // ...нельзя думать также...
* *var string Smalltalk13; * * * * * * * * // ...я не хочу быть в его шкуре...
* *var string Smalltalk14; * * * * * * * * // ...ничего нового...
* *var string Smalltalk15; * * * * * * * * // ...всё ясно...
* *var string Smalltalk16; * * * * * * * * // ...не нужно меня спрашивать...
* *var string Smalltalk17; * * * * * * * * // ...много чего болтают...
* *var string Smalltalk18; * * * * * * * * // ...моё мнение известно...
* *var string Smalltalk19; * * * * * * * * // ...я говорил то же самое...
* *var string Smalltalk20; * * * * * * * * // ...я не верю, что что-нибудь изменится...
* *var string Smalltalk21; * * * * * * * * // ...наверное, ты прав...
* *var string Smalltalk22; * * * * * * * * // ...посмотрим, что из этого выйдет...
* *var string Smalltalk23; * * * * * * * * // ...я думал, что вопрос закрыт...
* *var string Smalltalk24; * * * * * * * * // ...я не хочу больше это слышать...
* *// крутой парень (SLD/MIL/DJG)
* *var string Smalltalk25; * * * * * * * * // ...он был пьян...
* *var string Smalltalk26; * * * * * * * * // ...со мной это не пройдёт...
* *var string Smalltalk27; * * * * * * * * // ...все убежали, а я остался...
* *// преданный Инносу (NOV/KDF/PAL)
* *var string Smalltalk28; * * * * * * * * // ...так написано в священных книгах...
* *var string Smalltalk29; * * * * * * * * // ...я действую по приказу Инноса...
* *var string Smalltalk30; * * * * * * * * // ...никто не может идти против богов...
* *// комментарии учителей
* *var string NoLearnNoPoints; * * * * * * // ГГ не хватает опыта
* *var string NoLearnOverPersonalMAX; * * *// учитель не способен обучить ГГ
* *var string NoLearnYoureBetter; * * * * *// ГГ обучен по максимуму
* *var string YouLearnedSomething; * * * * // ГГ чему-то научился
* *// для функции B_AssignCityGuide
* *var string UNTERSTADT; * * * * * * * * *// нижний город
* *var string OBERSTADT; * * * * * * * * * // верхний город
* *var string TEMPEL; * * * * * * * * * * *// храм
* *var string MARKT; * * * * * * * * * * * // рынок
* *var string GALGEN; * * * * * * * * * * *// виселица
* *var string KASERNE; * * * * * * * * * * // казармы
* *var string HAFEN; * * * * * * * * * * * // гавань
* *// -------------------------------
* *var string WHERETO; * * * * * * * * * * // где-то
* *// -------------------------------
* *var string OBERSTADT_2_UNTERSTADT; * * *// верхний город -> нижний город
* *var string UNTERSTADT_2_OBERSTADT; * * *// нижний город -> верхний город
* *var string UNTERSTADT_2_TEMPEL; * * * * // нижний город -> храм
* *var string UNTERSTADT_2_HAFEN; * * * * *// нижний город -> гавань
* *var string TEMPEL_2_UNTERSTADT; * * * * // храм -> нижний город
* *var string TEMPEL_2_MARKT; * * * * * * *// храм -> рынок
* *var string TEMPEL_2_GALGEN; * * * * * * // храм -> виселица
* *var string MARKT_2_TEMPEL; * * * * * * *// рынок -> храм
* *var string MARKT_2_KASERNE; * * * * * * // рынок -> казармы
* *var string MARKT_2_GALGEN; * * * * * * *// рынок -> виселица
* *var string GALGEN_2_TEMPEL; * * * * * * // виселица -> храм
* *var string GALGEN_2_MARKT; * * * * * * *// виселица -> рынок
* *var string GALGEN_2_KASERNE; * * * * * *// виселица -> казармы
* *var string KASERNE_2_MARKT; * * * * * * // казармы -> рынок
* *var string KASERNE_2_GALGEN; * * * * * *// казармы -> виселица
* *var string HAFEN_2_UNTERSTADT; * * * * *// гавань -> нижний город
* *// сражение
* *var string Dead; * * * * * * * * * * * *// предсмертный вздох
* *var string Aargh_1; * * * * * * * * * * // реакция на удар
* *var string Aargh_2; * * * * * * * * * * // ещё удар
* *var string Aargh_3; * * * * * * * * * * // и ещё удар
* *// доспехи
* *var string ADDON_WRONGARMOR; * * * * * *// несоответствующая одежда
* *var string ADDON_WRONGARMOR_SLD; * * * *// одеяние не соответствует наёмнику
* *var string ADDON_WRONGARMOR_MIL; * * * *// одеяние не соответствует милиционеру
* *var string ADDON_WRONGARMOR_KDF; * * * *// одеяние не соответствует магу огня
* *var string ADDON_NOARMOR_BDT; * * * * * // одеяние не соответствует бандиту
* *
* *var string ADDON_DIEBANDIT; * * * * * * // умри, бандит
* *var string ADDON_DIRTYPIRATE; * * * * * // грязный пират
* *// фразы ГГ
* *var string SC_HeyTurnAround; * * * * * *// оклик
* *var string SC_HeyTurnAround02; * * * * *// ещё оклик
* *var string SC_HeyTurnAround03; * * * * *// и ещё оклик
* *var string SC_HeyTurnAround04; * * * * *// и ещё оклик
* *var string SC_HeyWaitASecond; * * * * * // постой
* *var string DoesntWork; * * * * * * * * *// не работает
* *var string PickBroke; * * * * * * * * * // сломано
* *var string NeedKey; * * * * * * * * * * // нужен ключ
* *var string NoMorePicks; * * * * * * * * // нужны отмычки
* *var string NoPickLockTalent; * * * * * *// я не умею вскрывать замки
* *var string NoSweeping; * * * * * * * * *// нельзя обыскать
* *
* *var string PICKLOCKORKEYMISSING; * * * *// отсутствует ключ и отмычки
* *var string KEYMISSING; * * * * * * * * *// нет ключа
* *var string PICKLOCKMISSING; * * * * * * // нет отмычки
* *var string NEVEROPEN; * * * * * * * * * // не открывается
* *var string MISSINGITEM; * * * * * * * * // нет предмета
* *var string DONTKNOW; * * * * * * * * * *// не знаю
* *var string NOTHINGTOGET; * * * * * * * *// нечего взять
* *var string NOTHINGTOGET02; * * * * * * *// нечего взять (доп. фраза1)
* *var string NOTHINGTOGET03; * * * * * * *// нечего взять (доп. фраза2)
* *var string HEALSHRINE; * * * * * * * * *// молитва Инносу об исцелении
* *var string HEALLASTSHRINE; * * * * * * *// последняя молитва Инносу об исцелении
* *var string IRDORATHTHEREYOUARE; * * * * // путешествие на Ирдорат
* *var string SCOPENSIRDORATHBOOK; * * * * // заклинание, открывающее книгу
* *var string SCOPENSLASTDOOR; * * * * * * // заклинание, открывающее последнюю дверь
* *// аддон
* *var string TRADE_1; * * * * * * * * * * // покажи свой товар
* *var string TRADE_2; * * * * * * * * * * // покажи свой товар (доп. фраза1)
* *var string TRADE_3; * * * * * * * * * * // покажи свой товар (доп. фраза2)
* *var string VERSTEHE; * * * * * * * * * *// понимаю
* *var string FOUNDTREASURE; * * * * * * * // нашел сокровища
* *var string CANTUNDERSTANDTHIS; * * * * *// не понимаю
* *var string CANTREADTHIS; * * * * * * * *// не могу прочитать
* *var string STONEPLATE_1; * * * * * * * *// каменная плитка 1
* *var string STONEPLATE_2; * * * * * * * *// каменная плитка 2
* *var string STONEPLATE_3; * * * * * * * *// каменная плитка 3
* *var string COUGH; * * * * * * * * * * * // чёрт (не используется)
* *var string HUI; * * * * * * * * * * * * // непереводимая фраза (не используется)
* *var string Addon_ThisLittleBastard; * * // амбарная книга Фрэнсиса
* *var string ADDON_OPENADANOSTEMPLE; * * *// заклинание, октрывающее храм Аданоса
* *var string ATTENTAT_ADDON_DESCRIPTION; *// покушение на Эстебано
* *var string ATTENTAT_ADDON_DESCRIPTION2; // покушение на Эстебано (доп. фраза1)
* *var string ATTENTAT_ADDON_PRO; * * * * *// убить предателей
* *var string ATTENTAT_ADDON_CONTRA; * * * // поиск типов
* *var string MINE_ADDON_DESCRIPTION; * * *// нужен в шахте
* *var string ADDON_SUMMONANCIENTGHOST; * *// вызов Кваходрона
* *var string ADDON_ANCIENTGHOST_NOTNEAR; *// не работает
* *var string ADDON_GOLD_DESCRIPTION; * * *// вопрос о добыче золота
};

// Далее в файле идёт инициализация голосом и текстом SVM инстанций.
// Пример: Объявление instance SVM_х(C_SVM), где х - номер голоса НПС.
// Каждая строка в теле инстанции имеет формат: name = "voice_name"; * *// text
// *где: * *name - имя параметра класса C_SVM
// * * * * *voice_name - имя голосового файла
// * * * * *text - текст произносимой фразы (субтитр)

// Данная инстанция предназначена для внутреннего использования экзешником
instance SVM_0(C_SVM) * * * * * * *
{
};

// Все остальные инстанции (SVM_1 - SVM_19) используются с инициализацией нужных внутренних переменных применительно к голосам НПС, их мы рассматривать не будем.

// !!!!!!

// максимальное кол-во SVM блоков
const int SVM_MODULES = 20;

[/pre]
Любая текстовая фраза в скриптах, начинающаяся с символа $ххх интерпретирутся как ссылка на переменную SVM инстанции c именем ххх.
Таким образом, например, написав один раз в скрипте строку $SHITNOGOLD, можно, в зависимости от НПС, который её произносит, изменять текст и голос фразы.
Ответить с цитированием
Старый 23.05.2005, 13:56   #179
Vam

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

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

7. НПС

Файлы скриптов, инициализацирующие конкретных НПС расположены в трёх директориях:
* *NPC - люди
* *NPC\Monster - монстры
* *NPC\Orc - орки

В качестве примера рассмотрим по одному файлу из каждой директории, остальные файлы НПС подробно рассматривать не будем.

* *а). Люди.

Название файла, как правило, совпадает с именем инстанции, в которой производится инициализация параметров конкретного человека.
Общий формат имени инстанции (файла) таков: XXX_ID_Name(Base), где -
* *XXX - сокращенное название гильдии
* *ID - идентификатор НПС
* *Name - имя человека (или тип, если нет имени)
* *Base - имя базового класса или прототипа

// Инициализация параметров Драгомира
INSTANCE BAU_983_Dragomir(Npc_Default)
{
* *// имя
* *name = "Драгомир";
* *// гильдия
* *guild = GIL_OUT;
* *// идентификатор
* *id = 983;
* *// номер голоса (используется при озвучке)
* *voice = 12;
* *// флаги
* *flags = 0;
* *// тип
* *npctype = NPCTYPE_MAIN;
* *// установка значений атрибутов в зависимости от главы игры
* *B_SetAttributesToChapter(self,4); *
* *// тактика сражения
* *fight_tactic = FAI_HUMAN_STRONG; * *
* *// индивидуальная инициализация инвентаря
* *EquipItem(self,ItMw_1h_SLD_Sword);
* *EquipItem(self,itRw_Mil_Crossbow);
* *// инициализация инвентаря в зависимости от принадлежности к гильдии
* *B_CreateAmbientInv(self);
* *// визуализация (внешний вид)
* *B_SetNpcVisual(self,MALE,"Hum_Head_Bald",Face_N_T ough_Lee_дhnlich,BodyTex_N,ITAR_Leather_L);
* *// жирность тела
* *Mdl_SetModelFatness(self,1);
* *// модель поведения
* *Mdl_ApplyOverlayMds(self,"Humans_Relaxed.mds");
* *// установить стандартный набор талантов (умений)
* *B_GiveNpcTalents(self);
* *// установить набор боевых навыков
* *B_SetFightSkills(self,40);
* *// стартовая функция распорядка дня
* *daily_routine = Rtn_Start_983;
};

// Функция распорядка дня
func void Rtn_Start_983()
{ *
* *// сидит на скамье
* *TA_Sit_Bench(08,00,23,00,"NW_TAVERNE_TROLLAREA_MO NSTER_02_01");
* *TA_Sit_Bench(23,00,08,00,"NW_TAVERNE_TROLLAREA_MO NSTER_02_01");
};



* *б). Монстры

Файл инициализации параметров Огненного дракона Mst_Default_Dragon_Fire.d

// прототип монстра
PROTOTYPE Mst_Default_Dragon_Fire(C_Npc) * * * * * *
{
* *// имя
* *name * * * * * * * * * * * * * *= "Огненный дракон";
* *// гильдия
* *guild * * * * * * * * * * * * * = GIL_DRAGON;
* *// идентификатор
* *aivar[AIV_MM_REAL_ID] * * * * * = ID_DRAGON_FIRE;
* *// уровень
* *level * * * * * * * * * * * * * = 500;
* *// флаг прерывания действий НПС
* *bodyStateInterruptableOverride *= TRUE;
* *// аттрибуты
* *attribute[ATR_STRENGTH] * * * * = 200;
* *attribute[ATR_DEXTERITY] * * * *= 200;
* *attribute[ATR_HITPOINTS_MAX] * *= 1000;
* *attribute[ATR_HITPOINTS] * * * *= 1000;
* *attribute[ATR_MANA_MAX] * * * * = 1000;
* *attribute[ATR_MANA] * * * * * * = 1000;
* *// защита
* *protection[PROT_BLUNT] * * * * *= 170;
* *protection[PROT_EDGE] * * * * * = 170;
* *protection[PROT_POINT] * * * * *= 170; *
* *protection[PROT_FIRE] * * * * * = 170;
* *protection[PROT_FLY] * * * * * *= 170; *
* *protection[PROT_MAGIC] * * * * *= 170;
* *// типы и значения наносимых повреждений
* *damagetype * * * * * * * * * * *= DAM_FIRE ¦ DAM_FLY;
* *damage * * *[DAM_INDEX_FIRE] * *= 149;
* *damage * * *[DAM_INDEX_FLY] * * = 1;
* *// тактика сражения
* *fight_tactic * * * * * * * * * *= FAI_DRAGON;
* *// чувства и диапазон действия
* *senses * * * * * * * * * * * * *= SENSE_HEAR ¦ SENSE_SEE ¦ SENSE_SMELL;
* *senses_range * * * * * * * * * *= PERC_DIST_DRAGON_ACTIVE_MAX;
* *// время преследования
* *aivar[AIV_MM_FollowTime] * * * *= FOLLOWTIME_MEDIUM;
* *// полезет ли монстр в воду
* *aivar[AIV_MM_FollowInWater] * * = FALSE;
* *// тактика нападения
* *aivar[AIV_OriginalFightTactic] *= FAI_DRAGON;
* *// функция распорядка дня
* *start_aistate * * * * * * * * * = ZS_MM_Rtn_DragonRest;
* *// время отдыха контролируется программой поведения монстра
* *aivar[AIV_MM_RestStart] * * * * = OnlyRoutine;
};

// Функция визуализации
func void B_SetVisuals_Dragon_Fire()
{
* *// модель поведения
* *Mdl_SetVisual(self,"Dragon.mds");
* *// визуализация тела * *Body-Mesh * * * * Body-Tex Skin-Color Head-MMS Head-Tex Teeth-Tex ARMOR
* *Mdl_SetVisualBody(self,"Dragon_FIRE_Body",DEFAULT , DEFAULT, * "", * * *DEFAULT, DEFAULT, *-1);
};

// Инициализация конкретного дракона
INSTANCE Dragon_Fire(Mst_Default_Dragon_Fire)
{
* *// имя
* *name = "Феоматар";
* *// визуализация
* *B_SetVisuals_Dragon_Fire();
* *// режим сражения без оружия
* *Npc_SetToFistMode(self);
};

// Инициализация ещё одного конкретного дракона
INSTANCE Dragon_Fire_Island(Mst_Default_Dragon_Fire)
{
* *// имя
* *name = "Феодарон";
* *// флаги
* *flags = NPC_FLAG_IMMORTAL;
* *// визуализация
* *B_SetVisuals_Dragon_Fire();
* *// режим сражения без оружия
* *Npc_SetToFistMode(self);
};


* *c). Орки

Файлы инициализации орков практически ничем не отличаются от файлов монстров (отдельно не рассматриваем).
Ответить с цитированием
Старый 23.05.2005, 19:25   #180
Vam

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

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

Полный перечень функций распорядка дня (59 функций) или что умеют делать НПС

TA_Announce_Herold * * *- Объявления Герольда
TA_Circle * * * * * * * - Ритуал в Круге солнца
TA_Concert * * * * * * *- Концерт InExtremo в аддоне
TA_Cook_Cauldron * * * *- Приготовление пищи в котле
TA_Cook_Pan * * * * * * - Приготовление пищи на сковороде
TA_Cook_Stove * * * * * - Приготовление пищи в печи
TA_Dance * * * * * * * *- Танцы НПС
TA_FleeToWp * * * * * * - НПС убегает на свою точку
TA_Follow_Player * * * *- НПС следует за ГГ
TA_Ghost * * * * * * * *- Поведение призраков
TA_GhostWusel * * * * * - Поведение Радемеса
TA_Guard_Hammer * * * * - Охрана Святого молота
TA_Guard_Passage * * * *- Охрана прохода
TA_Guide_Player * * * * - ГГ следует за НПС
TA_Pee * * * * * * * * *- НПС справляет малую нужду
TA_Pick_FP * * * * * * *- НПС бродит по PICK фрипоинтам (что-то ищет или собирает)
TA_Pick_Ore * * * * * * - Добыча руды
TA_Play_Lute * * * * * *- Игра на лютне
TA_Potion_Alchemy * * * - Приготовление алхимических напитков
TA_Practice_Magic * * * - Тренировка магии (не используется)
TA_Practice_Sword * * * - Упражнения с мечом
TA_Pray_Innos * * * * * - Молитва статуям Инноса
TA_Pray_Innos_FP * * * *- Молитва Инносу на заданной точке PRAY
TA_Pray_Sleeper * * * * - Молитва статуям Белиара (не используется)
TA_Pray_Sleeper_FP * * *- Молитва Белиару на заданной точке PRAY (не используется)
TA_Preach_Vatras * * * *- Проповедь Ватраса
TA_Rake_FP * * * * * * *- Работа в поле
TA_Read_Bookstand * * * - Чтение книг
TA_RangerMeeting * * * *- Собрание "Кольца Воды" у Орлана
TA_Repair_Hut * * * * * - Ремонт хижины
TA_Roast_Scavenger * * *- Барбекю из Падальщика
TA_RunToWP * * * * * * *- НПС бежит на охраняемую точку
TA_Saw * * * * * * * * *- Распиловка древесины
TA_Sit_Bench * * * * * *- Сидеть на скамье
TA_Sit_Campfire * * * * - Сидеть у костра
TA_Sit_Chair * * * * * *- Сидеть на стуле
TA_Sit_Throne * * * * * - Сидеть на троне
TA_Sleep * * * * * * * *- Спать на кровати
TA_Sleep_Deep * * * * * - Очень крепко спать на кровати (не используется)
TA_Smalltalk * * * * * *- Мини диалог между НПС
TA_Smith_Anvil * * * * *- Использование наковальни (ковка оружия)
TA_Smith_Cool * * * * * - Закалка заготовки оружия
TA_Smith_Fire * * * * * - Разогрев заготовки оружия в горне
TA_Smith_Sharp * * * * *- Заточка оружия
TA_Smoke_Joint * * * * *- Курение болотника
TA_Smoke_Waterpipe * * *- Курение кальяна
TA_Spit_Fire * * * * * *- Игра с факелами (не используется)
TA_Stand_ArmsCrossed * *- Стоять скрестив руки
TA_Stand_Dementor * * * - Состояние ожидания Черных магов (Ищущие)
TA_Stand_Drinking * * * - Пить самогон стоя
TA_Stand_Eating * * * * - Употреблять пищу стоя
TA_Stand_Guarding * * * - Охрана территории
TA_Stand_Sweeping * * * - Уборка территории
TA_Stand_WP * * * * * * - Стоять на вайпоинте
TA_Stomp_Herb * * * * * - Толочь траву
TA_Study_WP * * * * * * - Заниматься науками (передача листа бумаги (записки) ГГ)
TA_Sweep_FP * * * * * * - Работа щеткой
TA_Wash_FP * * * * * * *- Умываться (не используется)

Есть ещё одна функция распорядка дня (не оформлена через ТА)
ZS_Bandit * * * * * * * - Поведение бандита

Ответить с цитированием
Старый 26.05.2005, 10:22   #181
Vam

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

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

8. Функции инициализации параметров НПС.

Эти функции находятся в директории NPC_Scripts

//*****************************
// Инициализация инвентаря НПС
//*****************************

// Инвентарь горожан
// ------------------------------------------------
// Аргумент: InventorySet - номер набора инвентаря

func void B_CreateAmbientInv_VLK(var int InventorySet)
{
* *// набор 1
* *if(InventorySet == 1)
* *{
* * * *CreateInvItems(self,ItPl_Blueplant,1); * * *// Синее растение
* * * *CreateInvItems(self,ItMi_SilverRing,1); * * // Серебряное кольцо
* * * *CreateInvItems(self,ItFo_Water,1); * * * * *// Вода
* * * *CreateInvItems(self,ItMi_gold,5); * * * * * // 5 золотых
* *}
* *// набор 2
* *else if(InventorySet == 2)
* *{
* * * *CreateInvItems(self,ItPl_Planeberry,1); * * // Дикая ягода
* * * *CreateInvItems(self,ItFo_Apple,1); * * * * *// Яблоко
* * * *CreateInvItems(self,ItFo_Fish,1); * * * * * // Рыба
* * * *CreateInvItems(self,ItFo_Beer,1); * * * * * // Пиво
* * * *CreateInvItems(self,ItMi_gold,1); * * * * * // 1 золотой
* *}
* *// набор 3
* *else if(InventorySet == 3)
* *{
* * * *CreateInvItems(self,ItFo_Fish,1); * * * * * // Рыба
* * * *CreateInvItems(self,ItFo_Bread,1); * * * * *// Хлеб
* * * *CreateInvItems(self,ItMi_Flask,1); * * * * *// Лабораторная колба
* * * *CreateInvItems(self,ItMi_gold,17); * * * * *// 17 золотых
* *}
* *// набор 4
* *else if(InventorySet == 4)
* *{
* * * *CreateInvItems(self,ItFo_Bread,1); * * * * *// Хлеб
* * * *CreateInvItems(self,ItFo_Water,1); * * * * *// Вода
* * * *CreateInvItems(self,ItFoMuttonRaw,1); * * * // Сырое мясо
* * * *CreateInvItems(self,ItMi_gold,17); * * * * *// 17 золотых
* *}
* *// набор 5
* *else if(InventorySet == 5)
* *{
* * * *CreateInvItems(self,ItFo_Apple,1); * * * * *// Яблоко
* * * *CreateInvItems(self,ItFo_Cheese,1); * * * * // Сыр
* * * *CreateInvItems(self,ItFo_Bread,1); * * * * *// Хлеб
* * * *CreateInvItems(self,ItMi_gold,13); * * * * *// 13 золотых
* *}
* *// набор 6
* *else if(InventorySet == 6)
* *{
* * * *CreateInvItems(self,ItFo_Apple,1); * * * * *// Яблоко
* * * *CreateInvItems(self,ItFo_Cheese,1); * * * * // Сыр
* * * *CreateInvItems(self,ItPo_Health_01,1); * * *// Лечебная эссенция
* * * *CreateInvItems(self,ItMi_gold,11); * * * * *// 11 золотых
* *}
* *// набор 7
* *else if(InventorySet == 0)
* *{
* * * *CreateInvItems(self,ItPl_Planeberry,1); * * // Дикая ягода
* * * *CreateInvItems(self,ItFo_Apple,1); * * * * *// Яблоко
* * * *CreateInvItems(self,ItFo_Beer,1); * * * * * // Пиво
* * * *CreateInvItems(self,ItMi_gold,12); * * * * *// 12 золотых
* *};
};

// Инвентарь крестьян
// ------------------------------------------------
// Аргумент: InventorySet - номер набора инвентаря

func void B_CreateAmbientInv_BAU(var int InventorySet)
{
* *// набор 1
* *if(InventorySet == 1)
* *{
* * * *CreateInvItems(self,ItPl_Forestberry,1); * *// Лесная ягода
* * * *CreateInvItems(self,ItFo_Water,1); * * * * *// Вода
* * * *CreateInvItems(self,ItFo_Milk,1); * * * * * // Молоко
* * * *CreateInvItems(self,ItMi_gold,12); * * * * *// 12 золотых
* *}
* *// набор 2
* *else if(InventorySet == 2)
* *{
* * * *CreateInvItems(self,ItPl_Forestberry,1); * *// Лесная ягода
* * * *CreateInvItems(self,ItPl_Planeberry,1); * * // Дикая ягода
* * * *CreateInvItems(self,ItFo_Apple,1); * * * * *// Яблоко
* * * *CreateInvItems(self,ItFo_Cheese,1); * * * * // Сыр
* * * *CreateInvItems(self,ItMi_gold,10); * * * * *// 10 золотых
* *}
* *// набор 3
* *else if(InventorySet == 3)
* *{
* * * *CreateInvItems(self,ItFo_Apple,1); * * * * *// Яблоко
* * * *CreateInvItems(self,ItFo_Cheese,1); * * * * // Сыр
* * * *CreateInvItems(self,ItPo_Health_01,1); * * *// Лечебная эссенция
* * * *CreateInvItems(self,ItMi_gold,17); * * * * *// 17 золотых
* *}
* *// набор 4
* *else if(InventorySet == 4)
* *{
* * * *CreateInvItems(self,ItPl_Blueplant,1); * * *// Синее растение
* * * *CreateInvItems(self,ItFoMuttonRaw,1); * * * // Сырое мясо
* * * *CreateInvItems(self,ItFo_Bread,1); * * * * *// Хлеб
* * * *CreateInvItems(self,ItMi_gold,14); * * * * *// 14 золотых
* *}
* *// набор 5
* *else if(InventorySet == 5)
* *{
* * * *CreateInvItems(self,ItPl_Forestberry,1); * *// Лесная ягода
* * * *CreateInvItems(self,ItFo_Bread,1); * * * * *// Хлеб
* * * *CreateInvItems(self,ItFoMuttonRaw,1); * * * // Сырое мясо
* * * *CreateInvItems(self,ItMi_gold,13); * * * * *// 13 золотых
* *}
* *// набор 6
* *else if(InventorySet == 6)
* *{
* * * *CreateInvItems(self,ItPl_Forestberry,1); * *// Лесная ягода
* * * *CreateInvItems(self,ItMi_Joint,1); * * * * *// Обработанный болотник
* * * *CreateInvItems(self,ItFo_Cheese,1); * * * * // Сыр
* * * *CreateInvItems(self,ItPl_Planeberry,1); * * // Дикая ягода
* * * *CreateInvItems(self,ItMi_gold,11); * * * * *// 11 золотых
* *}
* *// набор 7
* *else if(InventorySet == 0)
* *{
* * * *CreateInvItems(self,ItPl_Planeberry,1); * * // Дикая ягода
* * * *CreateInvItems(self,ItFo_Apple,1); * * * * *// Яблоко
* * * *CreateInvItems(self,ItFo_Cheese,4); * * * * // Сыр (4 куска)
* * * *CreateInvItems(self,ItFo_Beer,1); * * * * * // Пиво
* *};
};

// Инвентарь магов послушников
// ------------------------------------------------
// Аргумент: InventorySet - номер набора инвентаря

func void B_CreateAmbientInv_NOV(var int InventorySet)
{
* *// набор 1
* *if(InventorySet == 1)
* *{
* * * *CreateInvItems(self,ItPl_Forestberry,1); * *// Лесная ягода
* * * *CreateInvItems(self,ItFo_Water,3); * * * * *// Вода (3 бутылки)
* * * *CreateInvItems(self,ItPl_Blueplant,1); * * *// Синее растение
* * * *CreateInvItems(self,ItFo_Fish,1); * * * * * // Рыба
* *}
* *// набор 2
* *else if(InventorySet == 2)
* *{
* * * *CreateInvItems(self,ItFoMuttonRaw,1); * * * // Сырое мясо
* * * *CreateInvItems(self,ItFo_Cheese,1); * * * * // Сыр
* * * *CreateInvItems(self,ItMi_Flask,1); * * * * *// Лабораторная колба
* * * *CreateInvItems(self,ItMi_gold,15); * * * * *// 15 золотых
* *}
* *// набор 3
* *else if(InventorySet == 3)
* *{
* * * *CreateInvItems(self,ItFo_Apple,3); * * * * *// Яблоко (3 штуки)
* * * *CreateInvItems(self,ItFo_Cheese,2); * * * * // Сыр (2 куска)
* * * *CreateInvItems(self,ItFo_Beer,2); * * * * * // Пиво (2 кружки)
* * * *CreateInvItems(self,ItMi_Sulfur,1); * * * * // Сера
* *}
* *// набор 4
* *else if(InventorySet == 4)
* *{
* * * *CreateInvItems(self,ItPl_Blueplant,1); * * *// Синее растение
* * * *CreateInvItems(self,ItFo_Bread,1); * * * * *// Хлеб
* * * *CreateInvItems(self,ItFo_Water,1); * * * * *// Вода
* * * *CreateInvItems(self,ItMi_Coal,1); * * * * * // Уголь
* * * *CreateInvItems(self,ItMi_gold,13); * * * * *// 13 золотых
* *}
* *// набор 5
* *else if(InventorySet == 5)
* *{
* * * *CreateInvItems(self,ItFo_Bread,2); * * * * *// Хлеб (2 буханки)
* * * *CreateInvItems(self,ItFoMuttonRaw,1); * * * // Сырое мясо
* * * *CreateInvItems(self,ItFo_Fish,1); * * * * * // Рыба
* * * *CreateInvItems(self,ItMi_gold,14); * * * * *// 14 золотых
* *}
* *// набор 6
* *else if(InventorySet == 6)
* *{
* * * *CreateInvItems(self,ItPl_Forestberry,1); * *// Лесная ягода
* * * *CreateInvItems(self,ItFo_Fish,1); * * * * * // Рыба
* * * *CreateInvItems(self,ItFo_Bread,1); * * * * *// Хлеб
* * * *CreateInvItems(self,ItPo_Mana_01,1); * * * *// Эссенция маны
* * * *CreateInvItems(self,ItMi_gold,12); * * * * *// 12 золотых
* *}
* *// набор 7
* *else if(InventorySet == 0)
* *{
* * * *CreateInvItems(self,ItPl_Planeberry,3); * * // Дикая ягода (3 штуки)
* * * *CreateInvItems(self,ItFo_Apple,1); * * * * *// Яблоко
* * * *CreateInvItems(self,ItFo_Cheese,1); * * * * // Сыр
* * * *CreateInvItems(self,ItFo_Beer,1); * * * * * // Пиво
* *};
};

// Инвентарь наёмников
// ------------------------------------------------
// Аргумент: InventorySet - номер набора инвентаря

func void B_CreateAmbientInv_SLD(var int InventorySet)
{
* *if(InventorySet == 1)
* *{
* * * *CreateInvItems(self,ItFoMutton,1); * * * * *// Жареное мясо
* * * *CreateInvItems(self,ItPl_Mushroom_01,1); * *// Темный гриб
* * * *CreateInvItems(self,ItMi_gold,17); * * * * *// 17 золотых
* *}
* *else if(InventorySet == 2)
* *{
* * * *CreateInvItems(self,ItPl_Health_Herb_01,1); // Лечебное растение
* * * *CreateInvItems(self,ItFo_Booze,2); * * * * *// Самогон (2 бутылки)
* * * *CreateInvItems(self,ItFo_Sausage,1); * * * *// Колбаса
* *}
* *else if(InventorySet == 3)
* *{
* * * *CreateInvItems(self,ItFo_Stew,1); * * * * * // Обед
* * * *CreateInvItems(self,ItMi_Joint,2); * * * * *// Обработанный болотник (2 штуки)
* * * *CreateInvItems(self,ItMi_gold,16); * * * * *// 16 золотых
* *}
* *else if(InventorySet == 4)
* *{
* * * *CreateInvItems(self,ItFo_Stew,1); * * * * * // Обед
* * * *CreateInvItems(self,ItFo_Booze,1); * * * * *// Самогон
* * * *CreateInvItems(self,ItMi_gold,15); * * * * *// 15 золотых
* *}
* *else if(InventorySet == 5)
* *{
* * * *CreateInvItems(self,ItFo_Sausage,1); * * * *// Колбаса
* * * *CreateInvItems(self,ItFoMuttonRaw,1); * * * // Сырое мясо
* * * *CreateInvItems(self,ItMi_gold,11); * * * * *// 11 золотых
* *}
* *else if(InventorySet == 6)
* *{
* * * *CreateInvItems(self,ItFo_Booze,1); * * * * *// Самогон
* * * *CreateInvItems(self,ItPl_Planeberry,1); * * // Дикая ягода
* * * *CreateInvItems(self,ItFo_FishSoup,1); * * * // Рыбный суп
* * * *CreateInvItems(self,ItMi_gold,19); * * * * *// 19 золотых
* *}
* *else if(InventorySet == 0)
* *{
* * * *CreateInvItems(self,ItPl_Mushroom_02,3); * *// Мясной гриб (3 штуки)
* * * *CreateInvItems(self,ItFo_Booze,1); * * * * *// Самогон
* * * *CreateInvItems(self,ItMi_gold,10); * * * * *// 10 золотых
* * * *CreateInvItems(self,ItFoMutton,2); * * * * *// Жареное мясо (2 штуки)
* *};
};

// Инвентарь магов огня
// ------------------------------------------------
// Аргумент: InventorySet - номер набора инвентаря

func void B_CreateAmbientInv_KDF(var int InventorySet)
{
* *if(InventorySet == 1)
* *{
* * * *CreateInvItems(self,ItFoMutton,1); * * * * *// Жареное мясо
* * * *CreateInvItems(self,ItMi_Quartz,1); * * * * // Кварц
* * * *CreateInvItems(self,ItMi_Coal,1); * * * * * // Уголь
* * * *CreateInvItems(self,ItMi_Gold,33); * * * * *// 33 золотых
* *}
* *else if(InventorySet == 2)
* *{
* * * *CreateInvItems(self,ItPo_Mana_02,1); * * * *// Экстракт маны
* * * *CreateInvItems(self,ItMi_Sulfur,1); * * * * // Сера
* * * *CreateInvItems(self,ItMi_Flask,1); * * * * *// Лабораторная колба
* * * *CreateInvItems(self,ItMi_Gold,36); * * * * *// 36 золотых
* *}
* *else if(InventorySet == 3)
* *{
* * * *CreateInvItems(self,ItMi_SilverRing,1); * * // Серебряное кольцо
* * * *CreateInvItems(self,ItPl_Mushroom_01,1); * *// Темный гриб
* * * *CreateInvItems(self,ItPl_Planeberry,1); * * // Дикая ягода
* * * *CreateInvItems(self,ItMi_Rockcrystal,1); * *// Горный хрусталь
* * * *CreateInvItems(self,ItMi_Gold,30); * * * * *// 30 золотых
* *}
* *else if(InventorySet == 4)
* *{
* * * *CreateInvItems(self,ItFo_Sausage,1); * * * *// Колбаса
* * * *CreateInvItems(self,ItPo_Health_03,1); * * *// Лечебный эликсир
* * * *CreateInvItems(self,ItFo_Booze,1); * * * * *// Самогон
* * * *CreateInvItems(self,ItMi_Gold,36); * * * * *// 36 золотых
* *}
* *else if(InventorySet == 5)
* *{
* * * *CreateInvItems(self,ItPl_Health_Herb_01,1); // Лечебное растение
* * * *CreateInvItems(self,ItPl_Mushroom_01,1); * *// Темный гриб
* * * *CreateInvItems(self,ItPl_Mana_Herb_01,1); * // Огненная крапива
* * * *CreateInvItems(self,ItMi_Gold,39); * * * * *// 39 золотых
* *}
* *else if(InventorySet == 6)
* *{
* * * *CreateInvItems(self,ItFo_Booze,1); * * * * *// Самогон
* * * *CreateInvItems(self,ItMi_Sulfur,1); * * * * // Сера
* * * *CreateInvItems(self,ItPl_Blueplant,1); * * *// Синее растение
* * * *CreateInvItems(self,ItMi_Gold,34); * * * * *// 34 золотых
* *}
* *else if(InventorySet == 0)
* *{
* * * *CreateInvItems(self,ItPl_Mushroom_02,1); * *// Мясной гриб
* * * *CreateInvItems(self,ItMi_Quartz,1); * * * * // Кварц
* * * *CreateInvItems(self,ItMi_Pitch,1); * * * * *// Смола
* * * *CreateInvItems(self,ItMi_Gold,35); * * * * *// 35 золотых
* *};
};

// Инвентарь милиции
// ------------------------------------------------
// Аргумент: InventorySet - номер набора инвентаря

func void B_CreateAmbientInv_MIL(var int InventorySet)
{
* *if(InventorySet == 1)
* *{
* * * *CreateInvItems(self,ItFoMutton,3); * * * * *// Жареное мясо (3 куска)
* * * *CreateInvItems(self,ItPl_Mushroom_01,1); * *// Темный гриб
* * * *CreateInvItems(self,ItFo_Stew,1); * * * * * // Обед
* * * *CreateInvItems(self,ItMi_Gold,15); * * * * *// 15 золотых
* *}
* *else if(InventorySet == 2)
* *{
* * * *CreateInvItems(self,ItPo_Health_01,1); * * *// Лечебная эссенция
* * * *CreateInvItems(self,ItPl_Health_Herb_01,3); // Лечебное растение (3 штуки)
* * * *CreateInvItems(self,ItFoMutton,1); * * * * *// Жареное мясо
* * * *CreateInvItems(self,ItMi_Gold,17); * * * * *// 17 золотых
* *}
* *else if(InventorySet == 3)
* *{
* * * *CreateInvItems(self,ItPl_Mushroom_01,1); * *// Темный гриб
* * * *CreateInvItems(self,ItPl_Health_Herb_01,1); // Лечебное растение
* * * *CreateInvItems(self,ItMi_Gold,25); * * * * *// 25 золотых
* *}
* *else if(InventorySet == 4)
* *{
* * * *CreateInvItems(self,ItPl_Mushroom_01,1); * *// Темный гриб
* * * *CreateInvItems(self,ItFo_Sausage,1); * * * *// Колбаса
* * * *CreateInvItems(self,ItMi_Gold,30); * * * * *// 30 золотых
* *}
* *else if(InventorySet == 5)
* *{
* * * *CreateInvItems(self,ItFo_Booze,3); * * * * *// Самогон (3 бутылки)
* * * *CreateInvItems(self,ItFo_FishSoup,1); * * * // Рыбный суп
* * * *CreateInvItems(self,ItMi_Gold,14); * * * * *// 14 золотых
* *}
* *else if(InventorySet == 6)
* *{
* * * *CreateInvItems(self,ItPl_Health_Herb_01,1); // Лечебное растение
* * * *CreateInvItems(self,ItFo_FishSoup,1); * * * // Рыбный суп
* * * *CreateInvItems(self,ItPl_Mushroom_02,1); * *// Мясной гриб
* * * *CreateInvItems(self,ItMi_Gold,26); * * * * *// 26 золотых
* *}
* *else if(InventorySet == 0)
* *{
* * * *CreateInvItems(self,ItPl_Mushroom_02,1); * *// Мясной гриб
* * * *CreateInvItems(self,ItFo_Booze,1); * * * * *// Самогон
* * * *CreateInvItems(self,ItFo_Sausage,3); * * * *// Колбаса (3 куска)
* * * *CreateInvItems(self,ItMi_Gold,25); * * * * *// 25 золотых
* *};
};

// Инвентарь охотников на драконов
// ------------------------------------------------
// Аргумент: InventorySet - номер набора инвентаря

func void B_CreateAmbientInv_DJG(var int InventorySet)
{
* *if(InventorySet == 1)
* *{
* * * *CreateInvItems(self,ItFo_Wine,1); * * * * * // Вино
* * * *CreateInvItems(self,ItPl_Mana_Herb_01,1); * // Огненная крапива
* * * *CreateInvItems(self,ItFoMuttonRaw,1); * * * // Сырое мясо
* * * *CreateInvItems(self,ItAt_WolfFur,1); * * * *// Шкура волка
* * * *CreateInvItems(self,ItMi_Gold,39); * * * * *// 39 золотых
* *}
* *else if(InventorySet == 2)
* *{
* * * *CreateInvItems(self,ItFo_Milk,1); * * * * * // Молоко
* * * *CreateInvItems(self,ItMi_Joint,1); * * * * *// Обработанный болотник
* * * *CreateInvItems(self,ItPl_Health_Herb_02,1); // Лечебная трава
* * * *CreateInvItems(self,ItMi_Gold,46); * * * * *// 46 золотых
* *}
* *else if(InventorySet == 3)
* *{
* * * *CreateInvItems(self,ItFo_Bacon,1); * * * * *// Ветчина
* * * *CreateInvItems(self,ItPl_Speed_Herb_01,1); *// Трава глорха
* * * *CreateInvItems(self,ItAt_BugMandibles,1); * // Жвало полевого жука
* * * *CreateInvItems(self,ItMi_Gold,45); * * * * *// 45 золотых
* *}
* *else if(InventorySet == 4)
* *{
* * * *CreateInvItems(self,ItFoMutton,1); * * * * *// Жареное мясо
* * * *CreateInvItems(self,ItPl_SwampHerb,1); * * *// Болотник
* * * *CreateInvItems(self,ItFo_Bacon,1); * * * * *// Ветчина
* * * *CreateInvItems(self,ItMi_Gold,44); * * * * *// 44 золотых
* *}
* *else if(InventorySet == 5)
* *{
* * * *CreateInvItems(self,ItFo_Stew,1); * * * * * // Обед
* * * *CreateInvItems(self,ItPl_Health_Herb_02,1); // Лечебная трава
* * * *CreateInvItems(self,ItMi_Joint,1); * * * * *// Обработанный болотник
* * * *CreateInvItems(self,ItMi_Gold,43); * * * * *// 43 золотых
* *}
* *else if(InventorySet == 6)
* *{
* * * *CreateInvItems(self,ItPo_Health_02,1); * * *// Лечебный экстракт
* * * *CreateInvItems(self,ItFo_Booze,2); * * * * *// Самогон (2 бутылки)
* * * *CreateInvItems(self,ItFo_Wine,1); * * * * * // Вино
* * * *CreateInvItems(self,ItMi_Gold,46); * * * * *// 46 золотых
* *}
* *else if(InventorySet == 0)
* *{
* * * *CreateInvItems(self,ItFo_Sausage,1); * * * *// Колбаса
* * * *CreateInvItems(self,ItFoMuttonRaw,2); * * * // Сырое мясо (2 куска)
* * * *CreateInvItems(self,ItAt_SheepFur,1); * * * // Шкура овцы
* * * *CreateInvItems(self,ItMi_Gold,41); * * * * *// 41 золотой
* *};
};

// Инвентарь паладинов
// ------------------------------------------------
// Аргумент: InventorySet - номер набора инвентаря

func void B_CreateAmbientInv_PAL(var int InventorySet)
{
* *if(InventorySet == 1)
* *{
* * * *CreateInvItems(self,ItFo_Wine,1); * * * * * // Вино
* * * *CreateInvItems(self,ItFo_Bacon,1); * * * * *// Ветчина
* * * *CreateInvItems(self,ItPl_Speed_Herb_01,1); *// Трава глорха
* * * *CreateInvItems(self,ItMi_Pitch,1); * * * * *// Смола
* * * *CreateInvItems(self,ItMi_Gold,44); * * * * *// 44 золотых
* *}
* *else if(InventorySet == 2)
* *{
* * * *CreateInvItems(self,ItFo_Booze,1); * * * * *// Самогон
* * * *CreateInvItems(self,ItFo_Milk,1); * * * * * // Молоко
* * * *CreateInvItems(self,ItMi_Rockcrystal,1); * *// Горный хрусталь
* * * *CreateInvItems(self,ItPl_Mana_Herb_02,1); * // Огненная трава
* * * *CreateInvItems(self,ItMi_Gold,42); * * * * *// 42 золотых
* *}
* *else if(InventorySet == 3)
* *{
* * * *CreateInvItems(self,ItFo_Bacon,1); * * * * *// Ветчина
* * * *CreateInvItems(self,ItPl_Mana_Herb_01,2); * // Огненная крапива (2 пучка)
* * * *CreateInvItems(self,ItMi_Sulfur,1); * * * * // Сера
* * * *CreateInvItems(self,ItPl_Dex_Herb_01,1); * *// Ягода гоблина
* * * *CreateInvItems(self,ItMi_Gold,23); * * * * *// 23 золотых
* *}
* *else if(InventorySet == 4)
* *{
* * * *CreateInvItems(self,ItMi_Rockcrystal,1); * *// Горный хрусталь
* * * *CreateInvItems(self,ItMi_SilverRing,1); * * // Серебряное кольцо
* * * *CreateInvItems(self,ItMi_Pitch,1); * * * * *// Смола
* * * *CreateInvItems(self,ItPl_Health_Herb_03,1); // Лечебный корень
* * * *CreateInvItems(self,ItMi_Gold,46); * * * * *// 46 золотых
* *}
* *else if(InventorySet == 5)
* *{
* * * *CreateInvItems(self,ItFo_Stew,1); * * * * * // Обед
* * * *CreateInvItems(self,ItPl_Health_Herb_02,1); // Лечебная трава
* * * *CreateInvItems(self,ItMi_Rockcrystal,1); * *// Горный хрусталь
* * * *CreateInvItems(self,ItMi_Gold,43); * * * * *// 43 золотых
* *}
* *else if(InventorySet == 6)
* *{
* * * *CreateInvItems(self,ItPo_Health_02,1); * * *// Лечебный экстракт
* * * *CreateInvItems(self,ItPl_Speed_Herb_01,2); *// Трава глорха (2 штуки)
* * * *CreateInvItems(self,ItMi_Coal,1); * * * * * // Уголь
* * * *CreateInvItems(self,ItMi_Gold,37); * * * * *// 37 золотых
* *}
* *else if(InventorySet == 0)
* *{
* * * *CreateInvItems(self,ItFo_Sausage,1); * * * *// Колбаса
* * * *CreateInvItems(self,ItMi_Coal,1); * * * * * // Уголь
* * * *CreateInvItems(self,ItPl_Health_Herb_02,1); // Лечебная трава
* * * *CreateInvItems(self,ItMi_Gold,40); * * * * *// 40 золотых
* *};
};

// Инвентарь черных магов
// ------------------------------------------------
// Аргумент: InventorySet - номер набора инвентаря

func void B_CreateAmbientInv_DMT(var int InventorySet)
{
* *if(InventorySet == 1)
* *{
* * * *CreateInvItems(self,ItPo_Mana_01,1); * * * *// Эссенция маны
* * * *CreateInvItems(self,ItMi_Pitch,1); * * * * *// Смола
* * * *CreateInvItems(self,ItMi_Gold,42); * * * * *// 42 золотых
* *}
* *else if(InventorySet == 2)
* *{
* * * *CreateInvItems(self,ItPo_Mana_02,1); * * * *// Экстракт маны
* * * *CreateInvItems(self,ItMi_Gold,35); * * * * *// 35 золотых
* * * *CreateInvItems(self,ItMi_Aquamarine,1); * * // Аквамарин
* *}
* *else if(InventorySet == 3)
* *{
* * * *CreateInvItems(self,ItMi_Sulfur,1); * * * * // Сера
* * * *CreateInvItems(self,ItMi_Gold,23); * * * * *// 23 золотых
* * * *CreateInvItems(self,ItPo_Mana_01,1); * * * *// Эссенция маны
* *}
* *else if(InventorySet == 4)
* *{
* * * *CreateInvItems(self,ItMi_Rockcrystal,1); * *// Горный хрусталь
* * * *CreateInvItems(self,ItPo_Health_01,1); * * *// Лечебная эссенция
* * * *CreateInvItems(self,ItMi_Gold,46); * * * * *// 46 золотых
* *}
* *else if(InventorySet == 5)
* *{
* * * *CreateInvItems(self,ItMi_Quartz,1); * * * * // Кварц
* * * *CreateInvItems(self,ItMi_Gold,43); * * * * *// 43 золотых
* * * *CreateInvItems(self,ItPo_Health_02,1); * * *// Лечебный экстракт
* *}
* *else if(InventorySet == 6)
* *{
* * * *CreateInvItems(self,ItPo_Speed,1); * * * * *// Напиток ускорения
* * * *CreateInvItems(self,ItMi_Coal,1); * * * * * // Уголь
* * * *CreateInvItems(self,ItMi_Gold,37); * * * * *// 37 золотых
* *}
* *else if(InventorySet == 0)
* *{
* * * *CreateInvItems(self,ItMi_Rockcrystal,1); * *// Горный хрусталь
* * * *CreateInvItems(self,ItPo_Health_01,1); * * *// Лечебная эссенция
* * * *CreateInvItems(self,ItMi_Gold,40); * * * * *// 40 золотых
* *};
};


// Инвентарь заключенных
// ------------------------------------------------
// Аргумент: InventorySet - номер набора инвентаря

func void B_CreateAmbientInv_STRF(var int InventorySet)
{
* *if(InventorySet == 1)
* *{
* * * *CreateInvItems(self,ItPl_Planeberry,1); * * // Дикая ягода
* *}
* *else if(InventorySet == 2)
* *{
* * * *CreateInvItems(self,ItFo_Apple,1); * * * * *// Яблоко
* *}
* *else if(InventorySet == 3)
* *{
* * * *CreateInvItems(self,ItFo_Beer,1); * * * * * // Пиво
* *}
* *else if(InventorySet == 4)
* *{
* * * *CreateInvItems(self,ItFo_Cheese,1); * * * * // Сыр
* *}
* *else if(InventorySet == 5)
* *{
* * * *CreateInvItems(self,ItFo_Water,1); * * * * *// Вода
* *}
* *else if(InventorySet == 6)
* *{
* * * *CreateInvItems(self,ItPl_Forestberry,1); * *// Лесная ягода
* *}
* *else if(InventorySet == 0)
* *{
* * * *CreateInvItems(self,ItFo_Bread,1); * * * * *// Хлеб
* *};
};


... продолжение следует
Ответить с цитированием
Старый 26.05.2005, 10:24   #182
Vam

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

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

// Инвентарь пиратов
// ------------------------------------------------
// Аргумент: InventorySet - номер набора инвентаря

func void B_CreateAmbientInv_PIR(var int InventorySet)
{
* *if(InventorySet == 1)
* *{
* * * *CreateInvItems(self,ItPl_Planeberry,1); * * // Дикая ягода
* * * *CreateInvItems(self,ItMw_1h_Vlk_Sword,1); * // Шпага
* * * *CreateInvItems(self,ItFo_Addon_Grog,1); * * // Грог
* * * *CreateInvItems(self,ItPl_Health_Herb_02,1); // Лечебная трава
* *}
* *else if(InventorySet == 2)
* *{
* * * *CreateInvItems(self,ItFo_Apple,1); * * * * *// Яблоко
* * * *CreateInvItems(self,ItFo_Addon_Grog,2); * * // Грог (2 бутылки)
* * * *CreateInvItems(self,ItMi_Gold,12); * * * * *// 12 золотых
* * * *CreateInvItems(self,ItMi_Joint,3); * * * * *// Обработанный болотник (3 штуки)
* *}
* *else if(InventorySet == 3)
* *{
* * * *CreateInvItems(self,ItFo_Beer,1); * * * * * // Пиво
* * * *CreateInvItems(self,ItPo_Health_01,1); * * *// Лечебная эссенция
* * * *CreateInvItems(self,ItMi_GoldRing,1); * * * // Золотое кольцо
* *}
* *else if(InventorySet == 4)
* *{
* * * *CreateInvItems(self,ItFo_Addon_Grog,2); * * // Грог (2 бутылки)
* * * *CreateInvItems(self,ItFo_Cheese,1); * * * * // Сыр
* * * *CreateInvItems(self,ItMi_Joint,1); * * * * *// Обработанный болотник
* * * *CreateInvItems(self,ItMi_Gold,9); * * * * * // 9 золотых
* *}
* *else if(InventorySet == 5)
* *{
* * * *CreateInvItems(self,ItFo_Beer,1); * * * * * // Пиво
* * * *CreateInvItems(self,ItFo_Addon_Rum,1); * * *// Ром
* * * *CreateInvItems(self,ItFo_Addon_Pfeffer_01,1); * // Перечница
* *}
* *else if(InventorySet == 6)
* *{
* * * *CreateInvItems(self,ItMi_Gold,23); * * * * *// 23 золотых
* * * *CreateInvItems(self,ItPl_Forestberry,1); * *// Лесная ягода
* * * *CreateInvItems(self,ItMw_1h_Vlk_Sword,1); * // Шпага
* *}
* *else if(InventorySet == 0)
* *{
* * * *CreateInvItems(self,ItFo_Fish,1); * * * * * // Рыба
* * * *CreateInvItems(self,ItFo_Addon_Grog,1); * * // Грог
* * * *CreateInvItems(self,ItFo_Bread,1); * * * * *// Хлеб
* *};
};

// Инвентарь бандитов
// ------------------------------------------------
// Аргумент: InventorySet - номер набора инвентаря

func void B_CreateAmbientInv_BDT(var int InventorySet)
{
* *if(InventorySet == 1)
* *{
* * * *CreateInvItems(self,ItPl_Planeberry,1); * * // Дикая ягода
* * * *CreateInvItems(self,ItMw_1h_Vlk_Sword,1); * // Шпага
* * * *CreateInvItems(self,ItKE_lockpick,2); * * * // Отмычка (2 штуки)
* * * *CreateInvItems(self,ItPl_Health_Herb_02,1); // Лечебная трава
* *}
* *else if(InventorySet == 2)
* *{
* * * *CreateInvItems(self,ItFo_Apple,1); * * * * *// Яблоко
* * * *CreateInvItems(self,ItFo_Booze,2); * * * * *// Самогон (2 бутылки)
* * * *CreateInvItems(self,ItMi_GoldNugget_Addon,1); * // Золотой слиток
* * * *CreateInvItems(self,ItMi_Joint,3); * * * * *// Обработанный болотник (3 штуки)
* *}
* *else if(InventorySet == 3)
* *{
* * * *CreateInvItems(self,ItFo_Beer,1); * * * * * // Пиво
* * * *CreateInvItems(self,ItPo_Health_01,1); * * *// Лечебная эссенция
* * * *CreateInvItems(self,ItMi_SilverRing,1); * * // Серебряное кольцо
* * * *CreateInvItems(self,ItFo_Beer,2); * * * * * // Пиво (2 кружки)
* *}
* *else if(InventorySet == 4)
* *{
* * * *CreateInvItems(self,ItKE_lockpick,1); * * * // Отмычка
* * * *CreateInvItems(self,ItFo_Cheese,1); * * * * // Сыр
* * * *CreateInvItems(self,ItMi_Joint,1); * * * * *// Обработанный болотник
* * * *CreateInvItems(self,ItMi_GoldNugget_Addon,1);
* *}
* *else if(InventorySet == 5)
* *{
* * * *CreateInvItems(self,ItFo_Beer,1); * * * * * // Пиво
* * * *CreateInvItems(self,ItFo_Addon_Rum,1); * * *// Ром
* * * *CreateInvItems(self,ItFo_Fish,1); * * * * * // Рыба
* * * *CreateInvItems(self,ItMi_GoldNugget_Addon,2);
* *}
* *else if(InventorySet == 6)
* *{
* * * *CreateInvItems(self,ItMi_Gold,23); * * * * *// 23 золотых
* * * *CreateInvItems(self,ItPl_Forestberry,1); * *// Лесная ягода
* * * *CreateInvItems(self,ItMw_1h_Vlk_Sword,1); * // Шпага
* *}
* *else if(InventorySet == 0)
* *{
* * * *CreateInvItems(self,ItFo_Fish,1); * * * * * // Рыба
* * * *CreateInvItems(self,ItFo_Addon_Grog,1); * * // Грог
* * * *CreateInvItems(self,ItFo_Bread,1); * * * * *// Хлеб
* * * *CreateInvItems(self,ItKE_lockpick,3); * * * // Отмычка (3 штуки)
* *};
};

// Инициализация инвентаря
// ------------------------------------------------
// Аргумент: slf - НПС

func void B_CreateAmbientInv(var C_NPC slf)
{
* *var int zufall;
* *// случайное число (номер набора инвентаря)
* *zufall = Hlp_Random(7);
* *// создание набора предметов в инвентаре НПС в зависимости от гильдии
* *if(slf.guild == GIL_VLK)
* *{
* * * *B_CreateAmbientInv_VLK(zufall);
* *}
* *else if(slf.guild == GIL_BAU)
* *{
* * * *B_CreateAmbientInv_BAU(zufall);
* *}
* *else if(slf.guild == GIL_NOV)
* *{
* * * *B_CreateAmbientInv_NOV(zufall);
* *}
* *else if(slf.guild == GIL_SLD)
* *{
* * * *B_CreateAmbientInv_SLD(zufall);
* *}
* *else if(slf.guild == GIL_KDF)
* *{
* * * *B_CreateAmbientInv_KDF(zufall);
* *}
* *else if(slf.guild == GIL_MIL)
* *{
* * * *B_CreateAmbientInv_MIL(zufall);
* *}
* *else if(slf.guild == GIL_DJG)
* *{
* * * *B_CreateAmbientInv_DJG(zufall);
* *}
* *else if(slf.guild == GIL_PAL)
* *{
* * * *B_CreateAmbientInv_PAL(zufall);
* *}
* *else if(slf.guild == GIL_DMT)
* *{
* * * *B_CreateAmbientInv_DMT(zufall);
* *}
* *else if(slf.guild == GIL_STRF)
* *{
* * * *B_CreateAmbientInv_STRF(zufall);
* *}
* *else if(slf.guild == GIL_PIR)
* *{
* * * *B_CreateAmbientInv_PIR(zufall);
* *}
* *else if(slf.guild == GIL_BDT)
* *{
* * * *B_CreateAmbientInv_BDT(zufall);
* *}
* *else
* *{
* * * *B_CreateAmbientInv_BAU(zufall);
* *};
};

Ответить с цитированием
Старый 27.05.2005, 10:34   #183
Vam

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

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

// ************************************************
// Инициализация талантов (умений)
// ------------------------------------------------
// Аргумент: slf - НПС
// ************************************************

func void B_GiveNpcTalents(var C_NPC slf)
{
* *// НПС владеет 6 кругом магии
* *Npc_SetTalentSkill(slf,NPC_TALENT_MAGE,6);
* *// НПС умеет взламывать замки
* *Npc_SetTalentSkill(slf,NPC_TALENT_PICKLOCK,1);
* *// НПС умеет подкрадываться
* *Npc_SetTalentSkill(slf,NPC_TALENT_SNEAK,1);
* *// НПС не обучен акробатике
* *Npc_SetTalentSkill(slf,NPC_TALENT_ACROBAT,0);
* *// НПС не обучен карманной краже
* *Npc_SetTalentSkill(slf,NPC_TALENT_PICKPOCKET,0);
* *// НПС обучен кузнечному делу
* *Npc_SetTalentSkill(slf,NPC_TALENT_SMITH,1);
* *// НПС может создавать руны
* *Npc_SetTalentSkill(slf,NPC_TALENT_RUNES,1);
* *// НПС владеет алхимией
* *Npc_SetTalentSkill(slf,NPC_TALENT_ALCHEMY,1);
* *// НПС не может разделывать животных
* *Npc_SetTalentSkill(slf,NPC_TALENT_TAKEANIMALTROPH Y,0);
};

... ёще файл

// *************************************
// Установка значений атрибутов НПС
// -------------------------------------
// Аргументы:
// * * *slf - НПС
// * * *kap - номер главы
// *************************************

func void B_SetAttributesToChapter(var C_NPC slf,var int kap)
{
* *// НПС владеет 6 кругом магии (Примечание: в принципе здесь лишняя, есть в предыдущей функции)
* *Npc_SetTalentSkill(slf,NPC_TALENT_MAGE,6);
* *// начало игры
* *if(kap == 0)
* *{
* * * *// уровень
* * * *slf.level = 3;
* * * *// атрибуты
* * * *slf.attribute[ATR_STRENGTH] * * * * = 10;
* * * *slf.aivar[REAL_STRENGTH] * * * * * *= 10;
* * * *slf.attribute[ATR_DEXTERITY] * * * *= 10;
* * * *slf.aivar[REAL_DEXTERITY] * * * * * = 10;
* * * *slf.attribute[ATR_MANA_MAX] * * * * = 1000;
* * * *slf.aivar[REAL_MANA_MAX] * * * * * *= 1000;
* * * *slf.attribute[ATR_MANA] * * * * * * = 1000;
* * * *slf.attribute[ATR_HITPOINTS_MAX] * *= 40;
* * * *slf.attribute[ATR_HITPOINTS] * * * *= 40;
* *};
* *// Глава 1
* *if(kap == 1)
* *{
* * * *slf.level = 10;
* * * *slf.attribute[ATR_STRENGTH] * * * * = 50;
* * * *slf.aivar[REAL_STRENGTH] * * * * * *= 50;
* * * *slf.attribute[ATR_DEXTERITY] * * * *= 50;
* * * *slf.aivar[REAL_DEXTERITY] * * * * * = 50;
* * * *slf.attribute[ATR_MANA_MAX] * * * * = 1000;
* * * *slf.aivar[REAL_MANA_MAX] * * * * * *= 1000;
* * * *slf.attribute[ATR_MANA] * * * * * * = 1000;
* * * *slf.attribute[ATR_HITPOINTS_MAX] * *= 160;
* * * *slf.attribute[ATR_HITPOINTS] * * * *= 160;
* *};
* *// Глава 2
* *if(kap == 2)
* *{
* * * *slf.level = 20;
* * * *slf.attribute[ATR_STRENGTH] * * * * = 100;
* * * *slf.aivar[REAL_STRENGTH] * * * * * *= 100;
* * * *slf.attribute[ATR_DEXTERITY] * * * *= 100;
* * * *slf.aivar[REAL_DEXTERITY] * * * * * = 100;
* * * *slf.attribute[ATR_MANA_MAX] * * * * = 1000;
* * * *slf.aivar[REAL_MANA_MAX] * * * * * *= 1000;
* * * *slf.attribute[ATR_MANA] * * * * * * = 1000;
* * * *slf.attribute[ATR_HITPOINTS_MAX] * *= 280;
* * * *slf.attribute[ATR_HITPOINTS] * * * *= 280;
* *};
* *// Глава 3
* *if(kap == 3)
* *{
* * * *slf.level = 30;
* * * *slf.attribute[ATR_STRENGTH] * * * * = 125;
* * * *slf.aivar[REAL_STRENGTH] * * * * * *= 125;
* * * *slf.attribute[ATR_DEXTERITY] * * * *= 125;
* * * *slf.aivar[REAL_DEXTERITY] * * * * * = 125;
* * * *slf.attribute[ATR_MANA_MAX] * * * * = 1000;
* * * *slf.aivar[REAL_MANA_MAX] * * * * * *= 1000;
* * * *slf.attribute[ATR_MANA] * * * * * * = 1000;
* * * *slf.attribute[ATR_HITPOINTS_MAX] * *= 400;
* * * *slf.attribute[ATR_HITPOINTS] * * * *= 400;
* *};
* *// Глава 4
* *if(kap == 4)
* *{
* * * *slf.level = 40;
* * * *slf.attribute[ATR_STRENGTH] * * * * = 150;
* * * *slf.aivar[REAL_STRENGTH] * * * * * *= 150;
* * * *slf.attribute[ATR_DEXTERITY] * * * *= 150;
* * * *slf.aivar[REAL_DEXTERITY] * * * * * = 150;
* * * *slf.attribute[ATR_MANA_MAX] * * * * = 1000;
* * * *slf.attribute[ATR_MANA] * * * * * * = 1000;
* * * *slf.aivar[REAL_MANA_MAX] * * * * * *= 1000;
* * * *slf.attribute[ATR_HITPOINTS_MAX] * *= 520;
* * * *slf.attribute[ATR_HITPOINTS] * * * *= 520;
* *};
* *// Глава 5
* *if(kap == 5)
* *{
* * * *slf.level = 50;
* * * *slf.attribute[ATR_STRENGTH] * * * * = 175;
* * * *slf.aivar[REAL_STRENGTH] * * * * * *= 175;
* * * *slf.attribute[ATR_DEXTERITY] * * * *= 175;
* * * *slf.aivar[REAL_DEXTERITY] * * * * * = 175;
* * * *slf.attribute[ATR_MANA_MAX] * * * * = 1000;
* * * *slf.aivar[REAL_MANA_MAX] * * * * * *= 1000;
* * * *slf.attribute[ATR_MANA] * * * * * * = 1000;
* * * *slf.attribute[ATR_HITPOINTS_MAX] * *= 640;
* * * *slf.attribute[ATR_HITPOINTS] * * * *= 640;
* *};
* *// Глава 6
* *if(kap >= 6)
* *{
* * * *slf.level = 60;
* * * *slf.attribute[ATR_STRENGTH] * * * * = 200;
* * * *slf.aivar[REAL_STRENGTH] * * * * * *= 200;
* * * *slf.attribute[ATR_DEXTERITY] * * * *= 200;
* * * *slf.aivar[REAL_DEXTERITY] * * * * * = 200;
* * * *slf.attribute[ATR_MANA_MAX] * * * * = 1000;
* * * *slf.aivar[REAL_MANA_MAX] * * * * * *= 1000;
* * * *slf.attribute[ATR_MANA] * * * * * * = 1000;
* * * *slf.attribute[ATR_HITPOINTS_MAX] * *= 760;
* * * *slf.attribute[ATR_HITPOINTS] * * * *= 760;
* *};
* *// кол-во экспы
* *slf.exp * * * * * * = (500*((slf.level+1)/2)*(slf.level+1));
* *slf.exp_next * * * *= (500*((slf.level+2)/2)*(slf.level+1));
};

... ёще файл

// *************************************
// Установка значений боевых навыков
// -------------------------------------
// Аргументы:
// * * *slf - НПС
// * * *percent - процент умения
// *************************************

func void B_SetFightSkills(var C_NPC slf,var int percent)
{
* *// установить владение одноручником
* *B_RaiseFightTalent(slf,NPC_TALENT_1H,percent);
* *// установить владение двуручником
* *B_RaiseFightTalent(slf,NPC_TALENT_2H,percent);
* *// установить владение луком
* *B_RaiseFightTalent(slf,NPC_TALENT_BOW,percent);
* *// установить владение арбалетом
* *B_RaiseFightTalent(slf,NPC_TALENT_CROSSBOW,percen t);
};

... ёще файл

// ***********************************************
// Визуализация тела НПС
// -----------------------------------------------
// Аргументы:
// * * *slf - НПС
// * * *gender - пол
// * * *headMesh - файл изображения головы
// * * *faceTex - номер текстуры лица
// * * *bodyTex - номер текстуры тела
// * * *armorInstance - ссылка на броню
// ***********************************************

func void B_SetNpcVisual(var C_NPC slf,var int gender,var string headMesh,var int faceTex,var int bodyTex,var int armorInstance)
{
* *// установить пол НПС
* *slf.aivar[AIV_Gender] = gender;
* *// установить модель поведения
* *Mdl_SetVisual(slf,"HUMANS.MDS");
* *// если мужчина
* *if(gender == MALE)
* *{
* * * *// построить изображение мужчины
* * * *Mdl_SetVisualBody(slf,"hum_body_Naked0",bodyTex,0 ,headMesh,faceTex,0,
armorInstance);
* * * *// если сила < 50
* * * *if(slf.attribute[ATR_STRENGTH] < 50)
* * * *{
* * * * * *// задать масштаб изображения (слабый мужчина уже)
* * * * * *Mdl_SetModelScale(slf,0.9,1,1);
* * * *};
* * * *// если сила > 100
* * * *if(slf.attribute[ATR_STRENGTH] > 100)
* * * *{
* * * * * *// задать масштаб изображения (сильный мужчина шире)
* * * * * *Mdl_SetModelScale(slf,1.1,1,1);
* * * *};
* *}
* *else // женщина
* *{
* * * *// если текстура тела мужская
* * * *if(bodyTex >= 0) && (bodyTex <= 3)
* * * *{
* * * * * *// перейти на женскую текстуру
* * * * * *bodyTex = bodyTex + 4;
* * * *};
* * * *// построить изображение женщины
* * * *Mdl_SetVisualBody(slf,"Hum_Body_Babe0",bodyTex,0, headMesh,faceTex,0,a
rmorInstance);
* *};
};

... ёще файл

// ********************
// Прототип НПС людей
// ********************

prototype Npc_Default(C_NPC)
{
* *// инициализация атрибутов
* *attribute * [ATR_STRENGTH] * * * * *= 10;
* *aivar * * * [REAL_STRENGTH] * * * * = 10;
* *attribute * [ATR_DEXTERITY] * * * * = 10;
* *aivar * * * [REAL_DEXTERITY] * * * *= 10;
* *attribute * [ATR_MANA_MAX] * * * * *= 10;
* *aivar * * * [REAL_MANA_MAX] * * * * = 10;
* *attribute * [ATR_MANA] * * * * * * *= 10;
* *attribute * [ATR_HITPOINTS_MAX] * * = 40;
* *attribute * [ATR_HITPOINTS] * * * * = 40;
* *// инициализация талантов
* *HitChance * [NPC_TALENT_1H] * * * * = 0;
* *HitChance * [NPC_TALENT_2H] * * * * = 0;
* *HitChance * [NPC_TALENT_BOW] * * * *= 0;
* *HitChance * [NPC_TALENT_CROSSBOW] * = 0;
* *// инициализация защиты
* *protection *[PROT_EDGE] * * * * * * = 0;
* *protection *[PROT_BLUNT] * * * * * *= 0;
* *protection *[PROT_POINT] * * * * * *= 0;
* *protection *[PROT_FIRE] * * * * * * = 0;
* *protection *[PROT_MAGIC] * * * * * *= 0;
* *// тип наносимого повреждения - тупое оружие (кулаки)
* *damagetype * * * * * * * * * * * * *= DAM_BLUNT;
* *// активные чувства и диапазон чувств
* *senses * * * * *= * SENSE_HEAR ¦ SENSE_SEE;
* *senses_range * *= * PERC_DIST_ACTIVE_MAX;
* *// время преследования
* *aivar[AIV_MM_FollowTime] = NPC_TIME_FOLLOW;
* *// дистанция прекращения сражения
* *aivar[AIV_FightDistCancel] = FIGHT_DIST_CANCEL;
* *// действия НПС можно прерывать
* *bodyStateInterruptableOverride = FALSE;
};

Ответить с цитированием
Старый 30.05.2005, 14:40   #184
Vam

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

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

Вопрос: Нужно ли рассматривать скрипты предметов из папки Items с функциями одеть, снять, использовать?
Ответить с цитированием
Старый 30.05.2005, 15:36   #185
PA
Строители Миртаны
*
 
Регистрация: 29.08.2004
Сообщений: 1
PA вне форума

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

2Vam:
Нужно ли рассматривать скрипты предметов из папки Items с функциями одеть, снять, использовать?
Это было бы очень интересно - так как при отсутствии необходимых предметов можно наблюдать довольно странные телодвижения...

TA_Spit_Fire            - Игра с факелами (не используется)
В Диккурике используется с спец факелами
TA_Wash_FP              - Умываться (не используется)
Помоему в Готике 1 моется только картограф - в луже.

Много новых используемых предметов и тем самым, телодвижений в МОД-е ДанклеБрут...

Ответить с цитированием
Старый 31.05.2005, 16:05   #186
Vam

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

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

9. Предметы мира Готики.

Директория расположения скриптов предметов - ..\Items

* *1. Амулеты и кольца аддона.

Файл IT_Addon_Amulette.d

//*************************
// Амулеты и кольца аддона
//*************************

// Амулет Франко
const int Value_ItAm_Addon_Franco * * * = 1200; // стоимость
const int HP_ItAm_Addon_Franco * * * * *= 40; * // бонус к жизни
const int STR_Franco * * * * * * * * * *= 4; * *// бонус к силе
const int DEX_Franco * * * * * * * * * *= 4; * *// бонус к ловкости
// набор Целителей
const int Value_ItRi_Addon_Health_01 * *= 400; *// стоимость кольца
const int Value_ItAm_Addon_Health * * * = 800; *// стоимость амулета
// набор Жрецов
const int Value_ItRi_Addon_Mana_01 * * *= 1000; // стоимость кольца
const int Value_ItAm_Addon_Mana * * * * = 2000; // стоимость амулета
// набор Воинов
const int Value_ItRi_Addon_STR_01 * * * = 500; *// стоимость кольца
const int Value_ItAm_Addon_STR * * * * *= 1000; // стоимость амулета

// набор Целителей
const int HP_Ring_Solo_Bonus * * * * * *= 20; * // бонус к жизни одного кольца
const int HP_Ring_Double_Bonus * * * * *= 60; * // бонус к жизни двух колец
const int HP_Amulett_Solo_Bonus * * * * = 40; * // бонус к жизни амулета
const int HP_Amulett_EinRing_Bonus * * *= 80; * // бонус к жизни кольцо + амулет
const int HP_Amulett_Artefakt_Bonus * * = 160; *// полный бонус к жизни два кольца + амулет

// набор Жрецов
const int MA_Ring_Solo_Bonus * * * * * *= 5; * *// бонус к мане одного кольца
const int MA_Ring_Double_Bonus * * * * *= 15; * // бонус к мане двух колец
const int MA_Amulett_Solo_Bonus * * * * = 10; * // бонус к мане амулета
const int MA_Amulett_EinRing_Bonus * * *= 20; * // бонус к мане кольцо + амулет
const int MA_Amulett_Artefakt_Bonus * * = 40; * // полный бонус к мане два кольца + амулет

// набор Воинов
const int STR_Ring_Solo_Bonus * * * * * = 5; * *// бонус к защите от оружия одного кольца
const int STR_Ring_Double_Bonus * * * * = 15; * // бонус к защите от оружия двух колец
const int STR_Amulett_Solo_Bonus * * * *= 10; * // бонус к защите от оружия амулета
const int STR_Amulett_EinRing_Bonus * * = 20; * // бонус к защите от оружия кольцо + амулет
const int STR_Amulett_Artefakt_Bonus * *= 40; * // полный бонус к защите от оружия два кольца + амулет

//--------------------------------------
// Амулет Франко
//--------------------------------------
INSTANCE ItAm_Addon_Franco(C_Item) *
{
* *name * * * * * *= NAME_Amulett; * * * * * * * * * * // "Амулет"
* *mainflag * * * *= ITEM_KAT_MAGIC; * * * * * * * * * // Кольца/Амулеты/Пояса
* *flags * * * * * = ITEM_AMULET; * * * * * * * * * * *// Амулет
* *value * * * * * = Value_ItAm_Addon_Franco; * * * * *// 1200
* *visual * * * * *= "ItAm_Hp_01.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// Металл
* *on_equip * * * *= Equip_ItAm_Addon_Franco; * * * * *// одеть
* *on_unequip * * *= UnEquip_ItAm_Addon_Franco; * * * *// снять
* *wear * * * * * *= WEAR_EFFECT; * * * * * * * * * * *// эффект при ношении
* *effect * * * * *= "SPELLFX_ITEMGLIMMER";
* *description * * = "Амулет Франко";
* *TEXT[2] * * * * = NAME_Bonus_Str; * * * * * * * * * // "Прибавка к силе:"
* *COUNT[2] * * * *= STR_FRANCO; * * * * * * * * * * * // 4
* *TEXT[3] * * * * = NAME_Bonus_Dex; * * * * * * * * * // "Прибавка к ловкости:"
* *COUNT[3] * * * *= DEX_FRANCO; * * * * * * * * * * * // 4
* *TEXT[4] * * * * = NAME_Bonus_HP; * * * * * * * * * *// "Прибавка к жизни:"
* *COUNT[4] * * * *= HP_ItAm_Addon_Franco; * * * * * * // 40
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 1200
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
};

// Одеть
func void Equip_ItAm_Addon_Franco()
{
* *self.attribute[ATR_STRENGTH] * * * *+= STR_FRANCO; * * * * * * *// сила += 4
* *self.attribute[ATR_DEXTERITY] * * * += DEX_FRANCO; * * * * * * *// ловкость += 4
* *self.attribute[ATR_HITPOINTS_MAX] * += HP_ItAm_Addon_Franco; * *// макс. жизнь += 40
* *self.attribute[ATR_HITPOINTS] * * * += HP_ItAm_Addon_Franco; * *// тек. жизнь += 40
};

// Снять
func void UnEquip_ItAm_Addon_Franco()
{
* *self.attribute[ATR_STRENGTH] * * * *-= STR_FRANCO; * * * * * * *// сила -= 4
* *self.attribute[ATR_DEXTERITY] * * * -= DEX_FRANCO; * * * * * * *// ловкость -= 4
* *self.attribute[ATR_HITPOINTS_MAX] * -= HP_ItAm_Addon_Franco; * *// макс. жизнь -= 40
* *// если жизнь > 42
* *if(self.attribute[ATR_HITPOINTS] > (HP_ItAm_Addon_Franco + 2))
* *{
* * * *self.attribute[ATR_HITPOINTS] -= HP_ItAm_Addon_Franco; * * *// жизнь -= 40
* *}
* *else // чтобы не умереть при снятии
* *{
* * * *self.attribute[ATR_HITPOINTS] = 2; * * * * * * * * * * * * *// жизнь = 2
* *};
};
* *
//--------------------------------------
// Амулет Целителей
//--------------------------------------
INSTANCE ItAm_Addon_Health(C_Item)
{
* *name * * * * * *= NAME_Amulett; * * * * * * * * * * // "Амулет"
* *mainflag * * * *= ITEM_KAT_MAGIC; * * * * * * * * * // Кольца/Амулеты/Пояса
* *flags * * * * * = ITEM_AMULET; * * * * * * * * * * *// Амулет
* *value * * * * * = Value_ItAm_Addon_Health; * * * * *// 800
* *visual * * * * *= "ItAm_Hp_01.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// Металл
* *on_equip * * * *= Equip_ItAm_Addon_Health; * * * * *// одеть
* *on_unequip * * *= UnEquip_ItAm_Addon_Health; * * * *// снять
* *wear * * * * * *= WEAR_EFFECT; * * * * * * * * * * *// эффект при ношении
* *effect * * * * *= "SPELLFX_ITEMGLIMMER";
* *description * * = "Амулет Целителей";
* *TEXT[2] * * * * = NAME_Bonus_HP; * * * * * * * * * *// "Прибавка к жизни:"
* *COUNT[2] * * * *= HP_Amulett_Solo_Bonus; * * * * * *// 40
* *TEXT[3] * * * * = PRINT_Addon_KUMU_01; * * * * * * *// "Мы три брата из одного ящика."
* *TEXT[4] * * * * = PRINT_Addon_KUMU_02; * * * * * * *// "Вместе мы сильнее."
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 800
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
};

// Одеть
func void Equip_ItAm_Addon_Health()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_HP_ArtefaktValue();
* *// амулет Целителей одет
* *HP_Amulett_Equipped = TRUE;
* *// бонус одетых предметов из набора
* *NewValue = C_HP_ArtefaktValue();
* *// увеличение макс. жизни
* *self.attribute[ATR_HITPOINTS_MAX] = self.attribute[ATR_HITPOINTS_MAX] + (NewValue - OldValue);
};

// Снять
func void UnEquip_ItAm_Addon_Health()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_HP_ArtefaktValue();
* *// амулет Целителей снят
* *HP_Amulett_Equipped = FALSE;
* *// бонус одетых предметов из набора
* *NewValue = C_HP_ArtefaktValue();
* *// уменьшение макс. жизни
* *self.attribute[ATR_HITPOINTS_MAX] = self.attribute[ATR_HITPOINTS_MAX] + (NewValue - OldValue);
};

//--------------------------------------
// Кольцо Целителей (первое)
//--------------------------------------
INSTANCE ItRi_Addon_Health_01(C_Item)
{
* *name * * * * * *= NAME_Ring; * * * * * * * * * * * *// "Кольцо"
* *mainflag * * * *= ITEM_KAT_MAGIC; * * * * * * * * * // Кольца/Амулеты/Пояса
* *flags * * * * * = ITEM_RING; * * * * * * * * * * * *// кольцо
* *value * * * * * = Value_ItRi_Addon_Health_01; * * * // 400
* *visual * * * * *= "ItRi_Prot_Total_01.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// Металл
* *on_equip * * * *= Equip_ItRi_Addon_Health_01; * * * // одеть
* *on_unequip * * *= UnEquip_ItRi_Addon_Health_01; * * // снять
* *wear * * * * * *= WEAR_EFFECT; * * * * * * * * * * *// эффект при ношении
* *effect * * * * *= "SPELLFX_ITEMGLIMMER";
* *description * * = "Кольцо Целителей";
* *TEXT[2] * * * * = NAME_Bonus_HP; * * * * * * * * * *// "Прибавка к жизни:"
* *COUNT[2] * * * *= HP_Ring_Solo_Bonus; * * * * * * * // 20
* *TEXT[3] * * * * = PRINT_Addon_KUMU_01; * * * * * * *// "Мы три брата из одного ящика."
* *TEXT[4] * * * * = PRINT_Addon_KUMU_02; * * * * * * *// "Вместе мы сильнее."
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 400
* *INV_ZBIAS * * * = INVCAM_ENTF_RING_STANDARD;
* *INV_ROTZ * * * *= INVCAM_Z_RING_STANDARD;
* *INV_ROTX * * * *= INVCAM_X_RING_STANDARD;
};

// Одеть
func void Equip_ItRi_Addon_Health_01()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_HP_ArtefaktValue();
* *// первое кольцо Целителей одето
* *HP_Ring_1_Equipped = TRUE;
* *// бонус одетых предметов из набора
* *NewValue = C_HP_ArtefaktValue();
* *// увеличение макс. жизни
* *self.attribute[ATR_HITPOINTS_MAX] = self.attribute[ATR_HITPOINTS_MAX] + (NewValue - OldValue);
};

// Снять
func void UnEquip_ItRi_Addon_Health_01()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_HP_ArtefaktValue();
* *// первое кольцо Целителей снято
* *HP_Ring_1_Equipped = FALSE;
* *// бонус одетых предметов из набора
* *NewValue = C_HP_ArtefaktValue();
* *// уменьшение макс. жизни
* *self.attribute[ATR_HITPOINTS_MAX] = self.attribute[ATR_HITPOINTS_MAX] + (NewValue - OldValue);
};

//--------------------------------------
// Кольцо Целителей (второе)
//--------------------------------------
INSTANCE ItRi_Addon_Health_02(C_Item)
{
* *name * * * * * *= NAME_Ring; * * * * * * * * * * * *// "Кольцо"
* *mainflag * * * *= ITEM_KAT_MAGIC; * * * * * * * * * // Кольца/Амулеты/Пояса
* *flags * * * * * = ITEM_RING; * * * * * * * * * * * *// кольцо
* *value * * * * * = Value_ItRi_Addon_Health_01; * * * // 400
* *visual * * * * *= "ItRi_Prot_Total_01.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// Металл
* *on_equip * * * *= Equip_ItRi_Addon_Health_02; * * * // одеть
* *on_unequip * * *= UnEquip_ItRi_Addon_Health_02; * * // снять
* *wear * * * * * *= WEAR_EFFECT; * * * * * * * * * * *// эффект при ношении
* *effect * * * * *= "SPELLFX_ITEMGLIMMER";
* *description * * = "Кольцо Целителей";
* *TEXT[2] * * * * = NAME_Bonus_HP; * * * * * * * * * *// "Прибавка к жизни:"
* *COUNT[2] * * * *= HP_Ring_Solo_Bonus; * * * * * * * // 20
* *TEXT[3] * * * * = PRINT_Addon_KUMU_01; * * * * * * *// "Мы три брата из одного ящика."
* *TEXT[4] * * * * = PRINT_Addon_KUMU_02; * * * * * * *// "Вместе мы сильнее."
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 400
* *INV_ZBIAS * * * = INVCAM_ENTF_RING_STANDARD;
* *INV_ROTZ * * * *= INVCAM_Z_RING_STANDARD;
* *INV_ROTX * * * *= INVCAM_X_RING_STANDARD;
};

// Одеть
func void Equip_ItRi_Addon_Health_02()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_HP_ArtefaktValue();
* *// второе кольцо Целителей одето
* *HP_Ring_2_Equipped = TRUE;
* *// бонус одетых предметов из набора
* *NewValue = C_HP_ArtefaktValue();
* *// увеличение макс. жизни
* *self.attribute[ATR_HITPOINTS_MAX] = self.attribute[ATR_HITPOINTS_MAX] + (NewValue - OldValue);
};

// Снять
func void UnEquip_ItRi_Addon_Health_02()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_HP_ArtefaktValue();
* *// второе кольцо Целителей снято
* *HP_Ring_2_Equipped = FALSE;
* *// бонус одетых предметов из набора
* *NewValue = C_HP_ArtefaktValue();
* *// уменьшение макс. жизни
* *self.attribute[ATR_HITPOINTS_MAX] = self.attribute[ATR_HITPOINTS_MAX] + (NewValue - OldValue);
};

//--------------------------------------
// Амулет Жрецов
//--------------------------------------
INSTANCE ItAm_Addon_MANA(C_Item)
{
* *name * * * * * *= NAME_Amulett; * * * * * * * * * * // "Амулет"
* *mainflag * * * *= ITEM_KAT_MAGIC; * * * * * * * * * // Кольца/Амулеты/Пояса
* *flags * * * * * = ITEM_AMULET; * * * * * * * * * * *// Амулет
* *value * * * * * = Value_ItAm_Addon_MANA; * * * * * *// 2000
* *visual * * * * *= "ItAm_Hp_01.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// Металл
* *on_equip * * * *= Equip_ItAm_Addon_MANA; * * * * * *// одеть
* *on_unequip * * *= UnEquip_ItAm_Addon_MANA; * * * * *// снять
* *wear * * * * * *= WEAR_EFFECT; * * * * * * * * * * *// эффект при ношении
* *effect * * * * *= "SPELLFX_ITEMGLIMMER";
* *description * * = "Амулет Жрецов";
* *TEXT[2] * * * * = NAME_Bonus_Mana; * * * * * * * * *// "Прибавка к мане:"
* *COUNT[2] * * * *= MA_Amulett_Solo_Bonus; * * * * * *// 10
* *TEXT[3] * * * * = PRINT_Addon_KUMU_01; * * * * * * *// "Мы три брата из одного ящика."
* *TEXT[4] * * * * = PRINT_Addon_KUMU_02; * * * * * * *// "Вместе мы сильнее."
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 2000
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
};

// Одеть
func void Equip_ItAm_Addon_MANA()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_MA_ArtefaktValue();
* *// амулет Жрецов одет
* *MA_Amulett_Equipped = TRUE;
* *// бонус одетых предметов из набора
* *NewValue = C_MA_ArtefaktValue();
* *// увеличение макс. маны
* *self.attribute[ATR_MANA_MAX] = self.attribute[ATR_MANA_MAX] + (NewValue - OldValue);
};

// Снять
func void UnEquip_ItAm_Addon_MANA()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_MA_ArtefaktValue();
* *// амулет Жрецов снят
* *MA_Amulett_Equipped = FALSE;
* *// бонус одетых предметов из набора
* *NewValue = C_MA_ArtefaktValue();
* *// уменьшение макс. маны
* *self.attribute[ATR_MANA_MAX] = self.attribute[ATR_MANA_MAX] + (NewValue - OldValue);
};

//--------------------------------------
// Кольцо Жрецов (первое)
//--------------------------------------
INSTANCE ItRi_Addon_MANA_01(C_Item)
{
* *name * * * * * *= NAME_Ring; * * * * * * * * * * * *// "Кольцо"
* *mainflag * * * *= ITEM_KAT_MAGIC; * * * * * * * * * // Кольца/Амулеты/Пояса
* *flags * * * * * = ITEM_RING; * * * * * * * * * * * *// кольцо
* *value * * * * * = Value_ItRi_Addon_MANA_01; * * * * // 1000
* *visual * * * * *= "ItRi_Prot_Total_01.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// Металл
* *on_equip * * * *= Equip_ItRi_Addon_MANA_01; * * * * // одеть
* *on_unequip * * *= UnEquip_ItRi_Addon_MANA_01; * * * // снять
* *wear * * * * * *= WEAR_EFFECT; * * * * * * * * * * *// эффект при ношении
* *effect * * * * *= "SPELLFX_ITEMGLIMMER";
* *description * * = "Кольцо Жрецов";
* *TEXT[2] * * * * = NAME_Bonus_Mana; * * * * * * * * *// "Прибавка к мане:"
* *COUNT[2] * * * *= MA_Ring_Solo_Bonus; * * * * * * * // 5
* *TEXT[3] * * * * = PRINT_Addon_KUMU_01; * * * * * * *// "Мы три брата из одного ящика."
* *TEXT[4] * * * * = PRINT_Addon_KUMU_02; * * * * * * *// "Вместе мы сильнее."
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 1000
* *INV_ZBIAS * * * = INVCAM_ENTF_RING_STANDARD;
* *INV_ROTZ * * * *= INVCAM_Z_RING_STANDARD;
* *INV_ROTX * * * *= INVCAM_X_RING_STANDARD;
};

// Одеть
func void Equip_ItRi_Addon_MANA_01()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_MA_ArtefaktValue();
* *// первое кольцо Жрецов одето
* *MA_Ring_1_Equipped = TRUE;
* *// бонус одетых предметов из набора
* *NewValue = C_MA_ArtefaktValue();
* *// увеличение макс. маны
* *self.attribute[ATR_MANA_MAX] = self.attribute[ATR_MANA_MAX] + (NewValue - OldValue);
};

// Снять
func void UnEquip_ItRi_Addon_MANA_01()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_MA_ArtefaktValue();
* *// первое кольцо Жрецов снято
* *MA_Ring_1_Equipped = FALSE;
* *// бонус одетых предметов из набора
* *NewValue = C_MA_ArtefaktValue();
* *// уменьшение макс. маны
* *self.attribute[ATR_MANA_MAX] = self.attribute[ATR_MANA_MAX] + (NewValue - OldValue);
};

//--------------------------------------
// Кольцо Жрецов (второе)
//--------------------------------------
INSTANCE ItRi_Addon_MANA_02(C_Item)
{
* *name * * * * * *= NAME_Ring; * * * * * * * * * * * *// "Кольцо"
* *mainflag * * * *= ITEM_KAT_MAGIC; * * * * * * * * * // Кольца/Амулеты/Пояса
* *flags * * * * * = ITEM_RING; * * * * * * * * * * * *// кольцо
* *value * * * * * = Value_ItRi_Addon_Mana_01; * * * * // 1000
* *visual * * * * *= "ItRi_Prot_Total_01.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// Металл
* *on_equip * * * *= Equip_ItRi_Addon_MANA_02; * * * * // одеть
* *on_unequip * * *= UnEquip_ItRi_Addon_MANA_02; * * * // снять
* *wear * * * * * *= WEAR_EFFECT; * * * * * * * * * * *// эффект при ношении
* *effect * * * * *= "SPELLFX_ITEMGLIMMER";
* *description * * = "Кольцо Жрецов";
* *TEXT[2] * * * * = NAME_Bonus_Mana; * * * * * * * * *// "Прибавка к мане:"
* *COUNT[2] * * * *= MA_Ring_Solo_Bonus; * * * * * * * // 5
* *TEXT[3] * * * * = PRINT_Addon_KUMU_01; * * * * * * *// "Мы три брата из одного ящика."
* *TEXT[4] * * * * = PRINT_Addon_KUMU_02; * * * * * * *// "Вместе мы сильнее."
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 1000
* *INV_ZBIAS * * * = INVCAM_ENTF_RING_STANDARD;
* *INV_ROTZ * * * *= INVCAM_Z_RING_STANDARD;
* *INV_ROTX * * * *= INVCAM_X_RING_STANDARD;
};

// Одеть
func void Equip_ItRi_Addon_Mana_02()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_MA_ArtefaktValue();
* *// второе кольцо Жрецов одето
* *MA_Ring_2_Equipped = TRUE;
* *// бонус одетых предметов из набора
* *NewValue = C_MA_ArtefaktValue();
* *// увеличение макс. маны
* *self.attribute[ATR_MANA_MAX] = self.attribute[ATR_MANA_MAX] + (NewValue - OldValue);
};

// Снять
func void UnEquip_ItRi_Addon_Mana_02()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_MA_ArtefaktValue();
* *// второе кольцо Жрецов снято
* *MA_Ring_2_Equipped = FALSE;
* *// бонус одетых предметов из набора
* *NewValue = C_MA_ArtefaktValue();
* *// уменьшение макс. маны
* *self.attribute[ATR_MANA_MAX] = self.attribute[ATR_MANA_MAX] + (NewValue - OldValue);
};

//--------------------------------------
// Амулет Воинов
//--------------------------------------
INSTANCE ItAm_Addon_STR(C_Item)
{
* *name * * * * * *= NAME_Amulett; * * * * * * * * * * // "Амулет"
* *mainflag * * * *= ITEM_KAT_MAGIC; * * * * * * * * * // Кольца/Амулеты/Пояса
* *flags * * * * * = ITEM_AMULET; * * * * * * * * * * *// Амулет
* *value * * * * * = Value_ItAm_Addon_STR; * * * * * * // 1000
* *visual * * * * *= "ItAm_Hp_01.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// Металл
* *on_equip * * * *= Equip_ItAm_Addon_STR; * * * * * * // одеть
* *on_unequip * * *= UnEquip_ItAm_Addon_STR; * * * * * // снять
* *wear * * * * * *= WEAR_EFFECT; * * * * * * * * * * *// эффект при ношении
* *effect * * * * *= "SPELLFX_ITEMGLIMMER";
* *description * * = "Амулет Воинов";
* *TEXT[2] * * * * = NAME_Prot_Edge; * * * * * * * * * // "Защита от оружия:"
* *COUNT[2] * * * *= STR_Amulett_Solo_Bonus; * * * * * // 10
* *TEXT[3] * * * * = PRINT_Addon_KUMU_01; * * * * * * *// "Мы три брата из одного ящика."
* *TEXT[4] * * * * = PRINT_Addon_KUMU_02; * * * * * * *// "Вместе мы сильнее."
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 1000
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
};

// Одеть
func void Equip_ItAm_Addon_STR()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_STR_ArtefaktValue();
* *// амулет Воинов одет
* *STR_Amulett_Equipped = TRUE;
* *// бонус одетых предметов из набора
* *NewValue = C_STR_ArtefaktValue();
* *// увеличение защиты от острого оружия
* *self.protection[PROT_EDGE] *+= (NewValue - OldValue);
* *// увеличение защиты от тупого оружия
* *self.protection[PROT_BLUNT] += (NewValue - OldValue);
};

// Снять
func void UnEquip_ItAm_Addon_STR()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_STR_ArtefaktValue();
* *// амулет Воинов снят
* *STR_Amulett_Equipped = FALSE;
* *// бонус одетых предметов из набора
* *NewValue = C_STR_ArtefaktValue();
* *// уменьшение защиты от острого оружия
* *self.protection[PROT_EDGE] *+= (NewValue - OldValue);
* *// уменьшение защиты от тупого оружия
* *self.protection[PROT_BLUNT] += (NewValue - OldValue);
};

//--------------------------------------
// Кольцо Воинов (первое)
//--------------------------------------
INSTANCE ItRi_Addon_STR_01(C_Item) *//Geschenk von Greg
{
* *name * * * * * *= NAME_Ring; * * * * * * * * * * * *// "Кольцо"
* *mainflag * * * *= ITEM_KAT_MAGIC; * * * * * * * * * // Кольца/Амулеты/Пояса
* *flags * * * * * = ITEM_RING; * * * * * * * * * * * *// кольцо
* *value * * * * * = Value_ItRi_Addon_STR_01; * * * * *// 500
* *visual * * * * *= "ItRi_Prot_Total_02.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// Металл
* *on_equip * * * *= Equip_ItRi_Addon_STR_01; * * * * *// одеть
* *on_unequip * * *= UnEquip_ItRi_Addon_STR_01; * * * *// снять
* *wear * * * * * *= WEAR_EFFECT; * * * * * * * * * * *// эффект при ношении
* *effect * * * * *= "SPELLFX_ITEMGLIMMER";
* *description * * = "Кольцо Воинов";
* *TEXT[2] * * * * = NAME_Prot_Edge; * * * * * * * * * // "Защита от оружия:"
* *COUNT[2] * * * *= STR_Ring_Solo_Bonus; * * * * * * *// 5
* *TEXT[3] * * * * = PRINT_Addon_KUMU_01; * * * * * * *// "Мы три брата из одного ящика."
* *TEXT[4] * * * * = PRINT_Addon_KUMU_02; * * * * * * *// "Вместе мы сильнее."
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 500
* *INV_ZBIAS * * * = INVCAM_ENTF_RING_STANDARD;
* *INV_ROTZ * * * *= INVCAM_Z_RING_STANDARD;
* *INV_ROTX * * * *= INVCAM_X_RING_STANDARD;
};

// Одеть
func void Equip_ItRi_Addon_STR_01()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_STR_ArtefaktValue();
* *// первое кольцо Воинов одето
* *STR_Ring_1_Equipped = TRUE;
* *// бонус одетых предметов из набора
* *NewValue = C_STR_ArtefaktValue();
* *// увеличение защиты от острого оружия
* *self.protection[PROT_EDGE] *+= (NewValue - OldValue);
* *// увеличение защиты от тупого оружия
* *self.protection[PROT_BLUNT] += (NewValue - OldValue);
};

// Снять
func void UnEquip_ItRi_Addon_STR_01()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_STR_ArtefaktValue();
* *// первое кольцо Воинов снято
* *STR_Ring_1_Equipped = FALSE;
* *// бонус одетых предметов из набора
* *NewValue = C_STR_ArtefaktValue();
* *// уменьшение защиты от острого оружия
* *self.protection[PROT_EDGE] *+= (NewValue - OldValue);
* *// уменьшение защиты от тупого оружия
* *self.protection[PROT_BLUNT] += (NewValue - OldValue);
};

...продолжение следует
Ответить с цитированием
Старый 01.06.2005, 10:23   #187
Vam

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

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

//--------------------------------------
// Кольцо Воинов (второе)
//--------------------------------------
INSTANCE ItRi_Addon_STR_02(C_Item)
{
* *name * * * * * *= NAME_Ring; * * * * * * * * * * * *// "Кольцо"
* *mainflag * * * *= ITEM_KAT_MAGIC; * * * * * * * * * // Кольца/Амулеты/Пояса
* *flags * * * * * = ITEM_RING; * * * * * * * * * * * *// кольцо
* *value * * * * * = Value_ItRi_Addon_STR_01; * * * * *// 500
* *visual * * * * *= "ItRi_Prot_Total_02.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// Металл
* *on_equip * * * *= Equip_ItRi_Addon_STR_02; * * * * *// одеть
* *on_unequip * * *= UnEquip_ItRi_Addon_STR_02; * * * *// снять
* *wear * * * * * *= WEAR_EFFECT; * * * * * * * * * * *// эффект при ношении
* *effect * * * * *= "SPELLFX_ITEMGLIMMER";
* *description * * = "Кольцо Воинов";
* *TEXT[2] * * * * = NAME_Prot_Edge; * * * * * * * * * // "Защита от оружия:"
* *COUNT[2] * * * *= STR_Ring_Solo_Bonus; * * * * * * *// 5
* *TEXT[3] * * * * = PRINT_Addon_KUMU_01; * * * * * * *// "Мы три брата из одного ящика."
* *TEXT[4] * * * * = PRINT_Addon_KUMU_02; * * * * * * *// "Вместе мы сильнее."
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 500
* *INV_ZBIAS * * * = INVCAM_ENTF_RING_STANDARD;
* *INV_ROTZ * * * *= INVCAM_Z_RING_STANDARD;
* *INV_ROTX * * * *= INVCAM_X_RING_STANDARD;
};

// Одеть
func void Equip_ItRi_Addon_STR_02()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_STR_ArtefaktValue();
* *// второе кольцо Воинов одето
* *STR_Ring_2_Equipped = TRUE;
* *// бонус одетых предметов из набора
* *NewValue = C_STR_ArtefaktValue();
* *// увеличение защиты от острого оружия
* *self.protection[PROT_EDGE] *+= (NewValue - OldValue);
* *// увеличение защиты от тупого оружия
* *self.protection[PROT_BLUNT] += (NewValue - OldValue);
};

// Снять
func void UnEquip_ItRi_Addon_STR_02()
{
* *var int OldValue;
* *var int NewValue;
* *// бонус ранее одетых предметов из набора
* *OldValue = C_STR_ArtefaktValue();
* *// второе кольцо Воинов снято
* *STR_Ring_2_Equipped = FALSE;
* *// бонус одетых предметов из набора
* *NewValue = C_STR_ArtefaktValue();
* *// уменьшение защиты от острого оружия
* *self.protection[PROT_EDGE] *+= (NewValue - OldValue);
* *// уменьшение защиты от тупого оружия
* *self.protection[PROT_BLUNT] += (NewValue - OldValue);



Добавление от 06/01/05, в 10:43:36
* *2. Броня аддона.

Файл IT_Addon_Armor.d

//*************************
// Броня аддона
//*************************

// стоимость брони
const int VALUE_ITAR_PIR_L_Addon * * * *= 1100; * * // Одежда пирата
const int VALUE_ITAR_PIR_M_Addon * * * *= 1300; * * // Доспехи пирата
const int VALUE_ITAR_PIR_H_Addon * * * *= 1500; * * // Одежда капитана
const int VALUE_ITAR_Thorus_Addon * * * = 1300; * * // Тяжелая кольчуга гардиста
const int VALUE_ITAR_Raven_Addon * * * *= 1300; * * // Кольчуга Равена
const int VALUE_Itar_OreBaron_Addon * * = 1300; * * // Суперброня барона
const int VALUE_ITAR_RANGER_Addon * * * = 1300; * * // Кольчуга "Кольца Воды"
const int VALUE_ITAR_KDW_L_Addon * * * *= 1300; * * // легкая KDW
const int VALUE_ITAR_Bloodwyn_Addon * * = 1300; * * // Кольчуга Блудвина

//--------------------------------------
// Одежда пирата
//--------------------------------------
INSTANCE ITAR_PIR_L_Addon(C_Item)
{
* *name * * * * * * * * * *= * "Одежда пирата";
* *mainflag * * * * * * * *= * ITEM_KAT_ARMOR; * * * * * * // Броня
* *flags * * * * * * * * * = * 0;
* *protection [PROT_EDGE] *= * 40;
* *protection [PROT_BLUNT] = * 40;
* *protection [PROT_POINT] = * 40;
* *protection [PROT_FIRE] *= * 0;
* *protection [PROT_MAGIC] = * 0;
* *value * * * * * * * * * = * VALUE_ITAR_PIR_L_Addon; * * // 1100
* *wear * * * * * * * * * *= * WEAR_TORSO;
* *visual * * * * * * * * *= * "ItAr_PIR_L_ADDON.3ds";
* *visual_change * * * * * = * "Armor_Pir_L_Addon.ASC";
* *visual_skin * * * * * * = * 0;
* *material * * * * * * * *= * MAT_LEATHER; * * * * * * * *// кожа
* *description * * * * * * = * name; * * * * * * * * * * * // "Одежда пирата"
* *TEXT[1] * * * * * * * * = * NAME_Prot_Edge; * * * * * * // "Защита от оружия:"
* *COUNT[1] * * * * * * * *= * protection[PROT_EDGE]; * * *// 40
* *TEXT[2] * * * * * * * * = * NAME_Prot_Point; * * * * * *// "Защита от стрел:"
* *COUNT[2] * * * * * * * *= * protection[PROT_POINT]; * * // 40
* *TEXT[3] * * * * * * * * = * NAME_Prot_Fire; * * * * * * // "Защита от огня:"
* *COUNT[3] * * * * * * * *= * protection[PROT_FIRE]; * * *// 0
* *TEXT[4] * * * * * * * * = * NAME_Prot_Magic; * * * * * *// "Защита от магии:"
* *COUNT[4] * * * * * * * *= * protection[PROT_MAGIC]; * * // 0
* *TEXT[5] * * * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * * * *= * value; * * * * * * * * * * *// 1100
};

//--------------------------------------
// Доспехи пирата
//--------------------------------------
INSTANCE ITAR_PIR_M_Addon(C_Item)
{
* *name * * * * * * * * * *= * "Доспехи пирата";
* *mainflag * * * * * * * *= * ITEM_KAT_ARMOR; * * * * * * // Броня
* *flags * * * * * * * * * = * 0;
* *protection [PROT_EDGE] *= * 55;
* *protection [PROT_BLUNT] = * 55;
* *protection [PROT_POINT] = * 55;
* *protection [PROT_FIRE] *= * 0;
* *protection [PROT_MAGIC] = * 0;
* *value * * * * * * * * * = * VALUE_ITAR_PIR_M_Addon; * * // 1300
* *wear * * * * * * * * * *= * WEAR_TORSO;
* *visual * * * * * * * * *= * "ItAr_PIR_M_ADDON.3ds";
* *visual_change * * * * * = * "Armor_PIR_M_ADDON.asc";
* *visual_skin * * * * * * = * 0;
* *material * * * * * * * *= * MAT_LEATHER; * * * * * * * *// кожа
* *description * * * * * * = * name; * * * * * * * * * * * // "Доспехи пирата"
* *TEXT[1] * * * * * * * * = * NAME_Prot_Edge; * * * * * * // "Защита от оружия:"
* *COUNT[1] * * * * * * * *= * protection[PROT_EDGE]; * * *// 55
* *TEXT[2] * * * * * * * * = * NAME_Prot_Point; * * * * * *// "Защита от стрел:"
* *COUNT[2] * * * * * * * *= * protection[PROT_POINT]; * * // 55
* *TEXT[3] * * * * * * * * = * NAME_Prot_Fire; * * * * * * // "Защита от огня:"
* *COUNT[3] * * * * * * * *= * protection[PROT_FIRE]; * * *// 0
* *TEXT[4] * * * * * * * * = * NAME_Prot_Magic; * * * * * *// "Защита от магии:"
* *COUNT[4] * * * * * * * *= * protection[PROT_MAGIC]; * * // 0
* *TEXT[5] * * * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * * * *= * value; * * * * * * * * * * *// 1300
};

//--------------------------------------
// Одежда капитана
//--------------------------------------
INSTANCE ITAR_PIR_H_Addon(C_Item)
{
* *name * * * * * * * * * *= * "Одежда капитана";
* *mainflag * * * * * * * *= * ITEM_KAT_ARMOR; * * * * * * // Броня
* *flags * * * * * * * * * = * 0;
* *protection [PROT_EDGE] *= * 60;
* *protection [PROT_BLUNT] = * 60;
* *protection [PROT_POINT] = * 60;
* *protection [PROT_FIRE] *= * 0;
* *protection [PROT_MAGIC] = * 0;
* *value * * * * * * * * * = * VALUE_ITAR_PIR_H_Addon; * * // 1500
* *wear * * * * * * * * * *= * WEAR_TORSO;
* *visual * * * * * * * * *= * "ItAr_PIR_H_ADDON.3ds";
* *visual_change * * * * * = * "Armor_PIR_H_ADDON.asc";
* *visual_skin * * * * * * = * 0;
* *material * * * * * * * *= * MAT_LEATHER; * * * * * * * *// кожа
* *description * * * * * * = * name; * * * * * * * * * * * // "Одежда капитана"
* *TEXT[1] * * * * * * * * = * NAME_Prot_Edge; * * * * * * // "Защита от оружия:"
* *COUNT[1] * * * * * * * *= * protection[PROT_EDGE]; * * *// 60
* *TEXT[2] * * * * * * * * = * NAME_Prot_Point; * * * * * *// "Защита от стрел:"
* *COUNT[2] * * * * * * * *= * protection[PROT_POINT]; * * // 60
* *TEXT[3] * * * * * * * * = * NAME_Prot_Fire; * * * * * * // "Защита от огня:"
* *COUNT[3] * * * * * * * *= * protection[PROT_FIRE]; * * *// 0
* *TEXT[4] * * * * * * * * = * NAME_Prot_Magic; * * * * * *// "Защита от магии:"
* *COUNT[4] * * * * * * * *= * protection[PROT_MAGIC]; * * // 0
* *TEXT[5] * * * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * * * *= * value; * * * * * * * * * * *// 1500
};

//--------------------------------------
// Тяжелая кольчуга гардиста
//--------------------------------------
INSTANCE ITAR_Thorus_Addon(C_Item)
{
* *name * * * * * * * * * *= * "Тяжелая кольчуга гардиста";
* *mainflag * * * * * * * *= * ITEM_KAT_ARMOR; * * * * * * // Броня
* *flags * * * * * * * * * = * 0;
* *protection [PROT_EDGE] *= * 70;
* *protection [PROT_BLUNT] = * 70;
* *protection [PROT_POINT] = * 70;
* *protection [PROT_FIRE] *= * 0;
* *protection [PROT_MAGIC] = * 0;
* *value * * * * * * * * * = * VALUE_ITAR_Thorus_Addon; * *// 1300
* *wear * * * * * * * * * *= * WEAR_TORSO;
* *visual * * * * * * * * *= * "ItAr_Thorus_ADDON.3ds";
* *visual_change * * * * * = * "Armor_Thorus_ADDON.asc";
* *visual_skin * * * * * * = * 0;
* *material * * * * * * * *= * MAT_LEATHER; * * * * * * * *// кожа
* *description * * * * * * = * "Кольчуга гвардии Равена";
* *TEXT[0] * * * * * * * * = * PRINT_Addon_BDTArmor; * * * // "Кто носит эту кольчугу, принадлежит к бандитам"
* *TEXT[1] * * * * * * * * = * NAME_Prot_Edge; * * * * * * // "Защита от оружия:"
* *COUNT[1] * * * * * * * *= * protection[PROT_EDGE]; * * *// 70
* *TEXT[2] * * * * * * * * = * NAME_Prot_Point; * * * * * *// "Защита от стрел:"
* *COUNT[2] * * * * * * * *= * protection[PROT_POINT]; * * // 70
* *TEXT[3] * * * * * * * * = * NAME_Prot_Fire; * * * * * * // "Защита от огня:"
* *COUNT[3] * * * * * * * *= * protection[PROT_FIRE]; * * *// 0
* *TEXT[4] * * * * * * * * = * NAME_Prot_Magic; * * * * * *// "Защита от магии:"
* *COUNT[4] * * * * * * * *= * protection[PROT_MAGIC]; * * // 0
* *TEXT[5] * * * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * * * *= * value; * * * * * * * * * * *// 1300
};

//--------------------------------------
// Кольчуга Равена
//--------------------------------------
INSTANCE ITAR_Raven_Addon(C_Item)
{
* *name * * * * * * * * * *= * "Кольчуга Равена";
* *mainflag * * * * * * * *= * ITEM_KAT_ARMOR; * * * * * * // Броня
* *flags * * * * * * * * * = * 0;
* *protection [PROT_EDGE] *= * 100;
* *protection [PROT_BLUNT] = * 100;
* *protection [PROT_POINT] = * 100;
* *protection [PROT_FIRE] *= * 100;
* *protection [PROT_MAGIC] = * 100;
* *value * * * * * * * * * = * VALUE_ITAR_Raven_Addon; * * // 1300
* *wear * * * * * * * * * *= * WEAR_TORSO;
* *visual * * * * * * * * *= * "ItAr_Raven_ADDON.3ds";
* *visual_change * * * * * = * "Armor_Raven_ADDON.asc";
* *visual_skin * * * * * * = * 0;
* *material * * * * * * * *= * MAT_LEATHER; * * * * * * * *// кожа
* *description * * * * * * = * name; * * * * * * * * * * * // "Кольчуга Равена"
* *TEXT[1] * * * * * * * * = * NAME_Prot_Edge; * * * * * * // "Защита от оружия:"
* *COUNT[1] * * * * * * * *= * protection[PROT_EDGE]; * * *// 100
* *TEXT[2] * * * * * * * * = * NAME_Prot_Point; * * * * * *// "Защита от стрел:"
* *COUNT[2] * * * * * * * *= * protection[PROT_POINT]; * * // 100
* *TEXT[3] * * * * * * * * = * NAME_Prot_Fire; * * * * * * // "Защита от огня:"
* *COUNT[3] * * * * * * * *= * protection[PROT_FIRE]; * * *// 100
* *TEXT[4] * * * * * * * * = * NAME_Prot_Magic; * * * * * *// "Защита от магии:"
* *COUNT[4] * * * * * * * *= * protection[PROT_MAGIC]; * * // 100
* *TEXT[5] * * * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * * * *= * value; * * * * * * * * * * *// 1300
};

//--------------------------------------
// Суперброня барона
//--------------------------------------
INSTANCE ITAR_OreBaron_Addon(C_Item)
{
* *name * * * * * * * * * *= * "Суперброня барона";
* *mainflag * * * * * * * *= * ITEM_KAT_ARMOR; * * * * * * // Броня
* *flags * * * * * * * * * = * 0;
* *protection [PROT_EDGE] *= * 70;
* *protection [PROT_BLUNT] = * 70;
* *protection [PROT_POINT] = * 70;
* *protection [PROT_FIRE] *= * 0;
* *protection [PROT_MAGIC] = * 0;
* *value * * * * * * * * * = * VALUE_ITAR_OreBaron_Addon; *// 1300
* *wear * * * * * * * * * *= * WEAR_TORSO;
* *visual * * * * * * * * *= * "ItAr_CHAOS_ADDON.3ds";
* *visual_change * * * * * = * "Armor_CHAOS_ADDON.asc";
* *visual_skin * * * * * * = * 0;
* *material * * * * * * * *= * MAT_LEATHER; * * * * * * * *// кожа
* *description * * * * * * = * name; * * * * * * * * * * * // "Суперброня барона"
* *TEXT[1] * * * * * * * * = * NAME_Prot_Edge; * * * * * * // "Защита от оружия:"
* *COUNT[1] * * * * * * * *= * protection[PROT_EDGE]; * * *// 70
* *TEXT[2] * * * * * * * * = * NAME_Prot_Point; * * * * * *// "Защита от стрел:"
* *COUNT[2] * * * * * * * *= * protection[PROT_POINT]; * * // 70
* *TEXT[3] * * * * * * * * = * NAME_Prot_Fire; * * * * * * // "Защита от огня:"
* *COUNT[3] * * * * * * * *= * protection[PROT_FIRE]; * * *// 0
* *TEXT[4] * * * * * * * * = * NAME_Prot_Magic; * * * * * *// "Защита от магии:"
* *COUNT[4] * * * * * * * *= * protection[PROT_MAGIC]; * * // 0
* *TEXT[5] * * * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * * * *= * value; * * * * * * * * * * *// 1300
};

//--------------------------------------
// Кольчуга 'Кольца Воды'
//--------------------------------------
INSTANCE ITAR_RANGER_Addon(C_Item)
{
* *name * * * * * * * * * *= * "Кольчуга 'Кольца Воды'";
* *mainflag * * * * * * * *= * ITEM_KAT_ARMOR; * * * * * * // Броня
* *flags * * * * * * * * * = * 0;
* *protection [PROT_EDGE] *= * 50;
* *protection [PROT_BLUNT] = * 50;
* *protection [PROT_POINT] = * 50;
* *protection [PROT_FIRE] *= * 0;
* *protection [PROT_MAGIC] = * 10;
* *value * * * * * * * * * = * VALUE_ITAR_Ranger_Addon; * *// 1300
* *wear * * * * * * * * * *= * WEAR_TORSO;
* *visual * * * * * * * * *= * "ItAr_Ranger_ADDON.3ds";
* *visual_change * * * * * = * "Armor_Ranger_ADDON.asc";
* *visual_skin * * * * * * = * 0;
* *material * * * * * * * *= * MAT_LEATHER; * * * * * * * *// кожа
* *description * * * * * * = * name; * * * * * * * * * * * // "Кольчуга 'Кольца Воды'"
* *TEXT[1] * * * * * * * * = * NAME_Prot_Edge; * * * * * * // "Защита от оружия:"
* *COUNT[1] * * * * * * * *= * protection[PROT_EDGE]; * * *// 50
* *TEXT[2] * * * * * * * * = * NAME_Prot_Point; * * * * * *// "Защита от стрел:"
* *COUNT[2] * * * * * * * *= * protection[PROT_POINT]; * * // 50
* *TEXT[3] * * * * * * * * = * NAME_Prot_Fire; * * * * * * // "Защита от огня:"
* *COUNT[3] * * * * * * * *= * protection[PROT_FIRE]; * * *// 0
* *TEXT[4] * * * * * * * * = * NAME_Prot_Magic; * * * * * *// "Защита от магии:"
* *COUNT[4] * * * * * * * *= * protection[PROT_MAGIC]; * * // 10
* *TEXT[5] * * * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * * * *= * value; * * * * * * * * * * *// 1300
};

//--------------------------------------
// разорванная кольчуга
//--------------------------------------
INSTANCE ITAR_Fake_RANGER(C_Item)
{
* *name * * * * * * * * * *= * "разорванная кольчуга";
* *mainflag * * * * * * * *= * ITEM_KAT_ARMOR; * * * * * * // Броня
* *flags * * * * * * * * * = * 0;
* *protection [PROT_EDGE] *= * 0;
* *protection [PROT_BLUNT] = * 0;
* *protection [PROT_POINT] = * 0;
* *protection [PROT_FIRE] *= * 0;
* *protection [PROT_MAGIC] = * 0;
* *value * * * * * * * * * = * VALUE_ITAR_Ranger_Addon; * *// 1300
* *wear * * * * * * * * * *= * WEAR_TORSO;
* *visual * * * * * * * * *= * "ItAr_Ranger_ADDON.3ds";
* *visual_change * * * * * = * "Armor_Ranger_ADDON.asc";
* *visual_skin * * * * * * = * 0;
* *material * * * * * * * *= * MAT_LEATHER; * * * * * * * *// кожа
* *description * * * * * * = * name; * * * * * * * * * * * // "разорванная кольчуга"
* *TEXT[5] * * * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * * * *= * value; * * * * * * * * * * *// 1300
};

//--------------------------------------
// легкая KDW
//--------------------------------------
INSTANCE ITAR_KDW_L_Addon(C_Item)
{
* *name * * * * * * * * * *= * "легкая KDW";
* *mainflag * * * * * * * *= * ITEM_KAT_ARMOR; * * * * * * // Броня
* *flags * * * * * * * * * = * 0;
* *protection [PROT_EDGE] *= * 50;
* *protection [PROT_BLUNT] = * 50;
* *protection [PROT_POINT] = * 50;
* *protection [PROT_FIRE] *= * 25;
* *protection [PROT_MAGIC] = * 25;
* *value * * * * * * * * * = * VALUE_ITAR_KDW_L_Addon; * * // 1300
* *wear * * * * * * * * * *= * WEAR_TORSO;
* *visual * * * * * * * * *= * "ItAr_KDW_L_ADDON.3ds";
* *visual_change * * * * * = * "Armor_KDW_L_ADDON.asc";
* *visual_skin * * * * * * = * 0;
* *material * * * * * * * *= * MAT_LEATHER; * * * * * * * *// кожа
* *description * * * * * * = * name; * * * * * * * * * * * // "легкая KDW"
* *TEXT[1] * * * * * * * * = * NAME_Prot_Edge; * * * * * * // "Защита от оружия:"
* *COUNT[1] * * * * * * * *= * protection[PROT_EDGE]; * * *// 50
* *TEXT[2] * * * * * * * * = * NAME_Prot_Point; * * * * * *// "Защита от стрел:"
* *COUNT[2] * * * * * * * *= * protection[PROT_POINT]; * * // 50
* *TEXT[3] * * * * * * * * = * NAME_Prot_Fire; * * * * * * // "Защита от огня:"
* *COUNT[3] * * * * * * * *= * protection[PROT_FIRE]; * * *// 25
* *TEXT[4] * * * * * * * * = * NAME_Prot_Magic; * * * * * *// "Защита от магии:"
* *COUNT[4] * * * * * * * *= * protection[PROT_MAGIC]; * * // 25
* *TEXT[5] * * * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * * * *= * value; * * * * * * * * * * *// 1300
};

//--------------------------------------
// Кольчуга Блудвина
//--------------------------------------
INSTANCE ITAR_Bloodwyn_Addon(C_Item)
{
* *name * * * * * * * * * *= * "Кольчуга Блудвина";
* *mainflag * * * * * * * *= * ITEM_KAT_ARMOR; * * * * * * // Броня
* *flags * * * * * * * * * = * 0;
* *protection [PROT_EDGE] *= * 70;
* *protection [PROT_BLUNT] = * 70;
* *protection [PROT_POINT] = * 70;
* *protection [PROT_FIRE] *= * 0;
* *protection [PROT_MAGIC] = * 0;
* *value * * * * * * * * * = * VALUE_ITAR_Bloodwyn_Addon; *// 1300
* *wear * * * * * * * * * *= * WEAR_TORSO;
* *visual * * * * * * * * *= * "ItAr_Bloodwyn_ADDON.3ds";
* *visual_change * * * * * = * "Armor_Bloodwyn_ADDON.asc";
* *visual_skin * * * * * * = * 0;
* *material * * * * * * * *= * MAT_LEATHER; * * * * * * * *// кожа
* *description * * * * * * = * name; * * * * * * * * * * * // "Кольчуга Блудвина"
* *TEXT[1] * * * * * * * * = * NAME_Prot_Edge; * * * * * * // "Защита от оружия:"
* *COUNT[1] * * * * * * * *= * protection[PROT_EDGE]; * * *// 70
* *TEXT[2] * * * * * * * * = * NAME_Prot_Point; * * * * * *// "Защита от стрел:"
* *COUNT[2] * * * * * * * *= * protection[PROT_POINT]; * * // 70
* *TEXT[3] * * * * * * * * = * NAME_Prot_Fire; * * * * * * // "Защита от огня:"
* *COUNT[3] * * * * * * * *= * protection[PROT_FIRE]; * * *// 0
* *TEXT[4] * * * * * * * * = * NAME_Prot_Magic; * * * * * *// "Защита от магии:"
* *COUNT[4] * * * * * * * *= * protection[PROT_MAGIC]; * * // 0
* *TEXT[5] * * * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * * * *= * value; * * * * * * * * * * *// 1300
};

//--------------------------------------
// древняя кольчуга
//--------------------------------------
INSTANCE ITAR_MayaZombie_Addon(C_Item)
{
* *name * * * * * * * * * *= * "древняя кольчуга";
* *mainflag * * * * * * * *= * ITEM_KAT_ARMOR; * * * * * * // Броня
* *flags * * * * * * * * * = * 0;
* *protection [PROT_EDGE] *= * 50;
* *protection [PROT_BLUNT] = * 50;
* *protection [PROT_POINT] = * 50;
* *protection [PROT_FIRE] *= * 50;
* *protection [PROT_MAGIC] = * 50;
* *value * * * * * * * * * = * 0; * * * * * * * * * * * * *// 0
* *wear * * * * * * * * * *= * WEAR_TORSO;
* *visual * * * * * * * * *= * "ItAr_Raven_ADDON.3ds";
* *visual_change * * * * * = * "Armor_MayaZombie_Addon.asc";
* *visual_skin * * * * * * = * 0;
* *material * * * * * * * *= * MAT_METAL; * * * * * * * * *// металл
* *description * * * * * * = * name; * * * * * * * * * * * // "древняя кольчуга"
* *TEXT[1] * * * * * * * * = * NAME_Prot_Edge; * * * * * * // "Защита от оружия:"
* *COUNT[1] * * * * * * * *= * protection[PROT_EDGE]; * * *// 50
* *TEXT[2] * * * * * * * * = * NAME_Prot_Point; * * * * * *// "Защита от стрел:"
* *COUNT[2] * * * * * * * *= * protection[PROT_POINT]; * * // 50
* *TEXT[3] * * * * * * * * = * NAME_Prot_Fire; * * * * * * // "Защита от огня:"
* *COUNT[3] * * * * * * * *= * protection[PROT_FIRE]; * * *// 50
* *TEXT[4] * * * * * * * * = * NAME_Prot_Magic; * * * * * *// "Защита от магии:"
* *COUNT[4] * * * * * * * *= * protection[PROT_MAGIC]; * * // 50
* *TEXT[5] * * * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * * * *= * value; * * * * * * * * * * *// 0
};

//--------------------------------------
// Магическая кольчуга
//--------------------------------------
INSTANCE ItAr_FireArmor_Addon(C_Item)
{
* *name * * * * * * * * * *= * "Магическая кольчуга";
* *mainflag * * * * * * * *= * ITEM_KAT_ARMOR; * * * * * * // Броня
* *flags * * * * * * * * * = * 0;
* *protection [PROT_EDGE] *= * 100;
* *protection [PROT_BLUNT] = * 100;
* *protection [PROT_POINT] = * 100;
* *protection [PROT_FIRE] *= * 50;
* *protection [PROT_MAGIC] = * 50;
* *value * * * * * * * * * = * VALUE_ITAR_XARDAS; * * * * *// 15000
* *wear * * * * * * * * * *= * WEAR_TORSO ¦ WEAR_EFFECT; * // эффект при ношении
* *effect * * * * * * * * *= * "SPELLFX_FIREARMOR";
* *visual * * * * * * * * *= * "ItAr_Xardas.3ds";
* *visual_change * * * * * = * "Armor_Xardas.asc";
* *visual_skin * * * * * * = * 0;
* *material * * * * * * * *= * MAT_LEATHER; * * * * * * * *// кожа
* *description * * * * * * = * name; * * * * * * * * * * * // "Магическая кольчуга"
* *TEXT[1] * * * * * * * * = * NAME_Prot_Edge; * * * * * * // "Защита от оружия:"
* *COUNT[1] * * * * * * * *= * protection[PROT_EDGE]; * * *// 100
* *TEXT[2] * * * * * * * * = * NAME_Prot_Point; * * * * * *// "Защита от стрел:"
* *COUNT[2] * * * * * * * *= * protection[PROT_POINT]; * * // 100
* *TEXT[3] * * * * * * * * = * NAME_Prot_Fire; * * * * * * // "Защита от огня:"
* *COUNT[3] * * * * * * * *= * protection[PROT_FIRE]; * * *// 50
* *TEXT[4] * * * * * * * * = * NAME_Prot_Magic; * * * * * *// "Защита от магии:"
* *COUNT[4] * * * * * * * *= * protection[PROT_MAGIC]; * * // 50
* *TEXT[5] * * * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * * * *= * value; * * * * * * * * * * *// 15000
};

Ответить с цитированием
Старый 02.06.2005, 11:17   #188
Vam

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

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

* *3. Коготь Белиара.

Файл IT_Addon_BeliarWeapons.d

//*************************
// Мечи Коготь Белиара
//*************************

// прототип одноручника
prototype BeliarWeaponPrototype_1H(C_Item)
{
* *name * * * * * * * *= NAME_ADDON_BELIARSWEAPON; * * // "Коготь Белиара"
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * * * *// оружие ближнего радиуса поражения
* *flags * * * * * * * = ITEM_SWD; * * * * * * * * * * // меч
* *material * * * * * *= MAT_METAL; * * * * * * * * * *// металл
* *damagetype * * * * *= DAM_EDGE; * * * * * * * * * * // острое оружие
* *range * * * * * * * = Range_Orkschlaechter; * * * * // 100
* *cond_atr[2] * * * * = ATR_STRENGTH; * * * * * * * * // требуется сила
* *cond_value[2] * * * = 0; * * * * * * * * * * * * * *// 0
* *visual * * * * * * *= "ItMw_BeliarWeapon_1H.3DS";
* *effect * * * * * * *= "SPELLFX_FIRESWORDBLACK";
* *description * * * * = name; * * * * * * * * * * * * // "Коготь Белиара"
* *TEXT[2] * * * * * * = NAME_OneHanded; * * * * * * * // "Одноручное"
* *TEXT[3] * * * * * * = NAME_Damage; * * * * * * * * *// "Повреждение:"
* *COUNT[3] * * * * * *= damageTotal; * * * * * * * * *// (Примечание: из прототипа можно убрать, нет инициализации)
* *TEXT[4] * * * * * * = NAME_ADDON_ONEHANDED_BELIAR; *// "Шанс дополнительного повреждения"
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * * * *// (Примечание: из прототипа можно убрать, нет инициализации)
};

// инициализация одноручника
instance ItMw_BeliarWeapon_1H_01(BeliarWeaponPrototype_1H)
{
* *value * * * * * * * = Value_BeliarW_1H_01; * * * * *// 600
* *damageTotal * * * * = Damage_BeliarW_1H_01; * * * * // 90
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_01; * * * *// 12
* *COUNT[5] * * * * * *= value;
};

// 1 апгрейт
instance ItMw_BeliarWeapon_1H_02(BeliarWeaponPrototype_1H)
{
* *value * * * * * * * = Value_BeliarW_1H_02; * * * * *// 650
* *damageTotal * * * * = Damage_BeliarW_1H_02; * * * * // 91
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_02; * * * *// 14
* *COUNT[5] * * * * * *= value;
};

// 2 апгрейт
instance ItMw_BeliarWeapon_1H_03(BeliarWeaponPrototype_1H)
{
* *value * * * * * * * = Value_BeliarW_1H_03; * * * * *// 725
* *damageTotal * * * * = Damage_BeliarW_1H_03; * * * * // 92
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_03; * * * *// 16
* *COUNT[5] * * * * * *= value;
};

// 3 апгрейт
instance ItMw_BeliarWeapon_1H_04(BeliarWeaponPrototype_1H)
{
* *value * * * * * * * = Value_BeliarW_1H_04; * * * * *// 875
* *damageTotal * * * * = Damage_BeliarW_1H_04; * * * * // 93
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_04; * * * *// 18
* *COUNT[5] * * * * * *= value;
};

// 4 апгрейт
instance ItMw_BeliarWeapon_1H_05(BeliarWeaponPrototype_1H)
{
* *value * * * * * * * = Value_BeliarW_1H_05; * * * * *// 950
* *damageTotal * * * * = Damage_BeliarW_1H_05; * * * * // 94
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_05; * * * *// 20
* *COUNT[5] * * * * * *= value;
};

// 5 апгрейт
instance ItMw_BeliarWeapon_1H_06(BeliarWeaponPrototype_1H)
{
* *value * * * * * * * = Value_BeliarW_1H_06; * * * * *// 1050
* *damageTotal * * * * = Damage_BeliarW_1H_06; * * * * // 95
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_06; * * * *// 22
* *COUNT[5] * * * * * *= value;
};

// 6 апгрейт
instance ItMw_BeliarWeapon_1H_07(BeliarWeaponPrototype_1H)
{
* *value * * * * * * * = Value_BeliarW_1H_07; * * * * *// 1150
* *damageTotal * * * * = Damage_BeliarW_1H_07; * * * * // 96
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_07; * * * *// 24
* *COUNT[5] * * * * * *= value;
};

// 7 апгрейт
instance ItMw_BeliarWeapon_1H_08(BeliarWeaponPrototype_1H)
{
* *value * * * * * * * = Value_BeliarW_1H_08; * * * * *// 1250
* *damageTotal * * * * = Damage_BeliarW_1H_08; * * * * // 97
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_08; * * * *// 26
* *COUNT[5] * * * * * *= value;
};

// 8 апгрейт
instance ItMw_BeliarWeapon_1H_09(BeliarWeaponPrototype_1H)
{
* *value * * * * * * * = Value_BeliarW_1H_09; * * * * *// 1375
* *damageTotal * * * * = Damage_BeliarW_1H_09; * * * * // 98
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_09; * * * *// 28
* *COUNT[5] * * * * * *= value;
};

// 9 апгрейт
instance ItMw_BeliarWeapon_1H_10(BeliarWeaponPrototype_1H)
{
* *value * * * * * * * = Value_BeliarW_1H_10; * * * * *// 1500
* *damageTotal * * * * = Damage_BeliarW_1H_10; * * * * // 99
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_10; * * * *// 30
* *COUNT[5] * * * * * *= value;
};

// 10 апгрейт
instance ItMw_BeliarWeapon_1H_11(BeliarWeaponPrototype_1H)
{
* *value * * * * * * * = Value_BeliarW_1H_11; * * * * *// 1650
* *damageTotal * * * * = Damage_BeliarW_1H_11; * * * * // 100
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_11; * * * *// 32
* *COUNT[5] * * * * * *= value;
};

// 11 апгрейт
instance ItMw_BeliarWeapon_1H_12(BeliarWeaponPrototype_1H)
{
* *value * * * * * * * = Value_BeliarW_1H_12; * * * * *// 1800
* *damageTotal * * * * = Damage_BeliarW_1H_12; * * * * // 101
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_12; * * * *// 34
* *COUNT[5] * * * * * *= value;
};

// 12 апгрейт
instance ItMw_BeliarWeapon_1H_13(BeliarWeaponPrototype_1H)
{
* *value * * * * * * * = Value_BeliarW_1H_13; * * * * *// 2000
* *damageTotal * * * * = Damage_BeliarW_1H_13; * * * * // 102
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_13; * * * *// 36
* *COUNT[5] * * * * * *= value;
};

// 13 апгрейт
instance ItMw_BeliarWeapon_1H_14(BeliarWeaponPrototype_1H)
{
* *value * * * * * * * = Value_BeliarW_1H_14; * * * * *// 2125
* *damageTotal * * * * = Damage_BeliarW_1H_14; * * * * // 103
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_14; * * * *// 38
* *COUNT[5] * * * * * *= value;
};

// 14 апгрейт
instance ItMw_BeliarWeapon_1H_15(BeliarWeaponPrototype_1H)
{
* *value * * * * * * * = Value_BeliarW_1H_15; * * * * *// 2300
* *damageTotal * * * * = Damage_BeliarW_1H_15; * * * * // 104
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_15; * * * *// 40
* *COUNT[5] * * * * * *= value;
};

// 15 апгрейт
instance ItMw_BeliarWeapon_1H_16(BeliarWeaponPrototype_1H)
{
* *value * * * * * * * = Value_BeliarW_1H_16; * * * * *// 2500
* *damageTotal * * * * = Damage_BeliarW_1H_16; * * * * // 105
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_16; * * * *// 42
* *COUNT[5] * * * * * *= value;
};

// 16 апгрейт
instance ItMw_BeliarWeapon_1H_17(BeliarWeaponPrototype_1H)
{
* *value * * * * * * * = Value_BeliarW_1H_17; * * * * *// 2700
* *damageTotal * * * * = Damage_BeliarW_1H_17; * * * * // 106
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_17; * * * *// 44
* *COUNT[5] * * * * * *= value;
};

// 17 апгрейт
instance ItMw_BeliarWeapon_1H_18(BeliarWeaponPrototype_1H)
{
* *value * * * * * * * = Value_BeliarW_1H_18; * * * * *// 2900
* *damageTotal * * * * = Damage_BeliarW_1H_18; * * * * // 107
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_18; * * * *// 46
* *COUNT[5] * * * * * *= value;
};

// 18 апгрейт
instance ItMw_BeliarWeapon_1H_19(BeliarWeaponPrototype_1H)
{
* *value * * * * * * * = Value_BeliarW_1H_19; * * * * *// 3100
* *damageTotal * * * * = Damage_BeliarW_1H_19; * * * * // 108
* *COUNT[5] * * * * * *= value;
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_19; * * * *// 48
* *COUNT[5] * * * * * *= value;
};

// 19 апгрейт
instance ItMw_BeliarWeapon_1H_20(BeliarWeaponPrototype_1H)
{
* *value * * * * * * * = Value_BeliarW_1H_20; * * * * *// 3300
* *damageTotal * * * * = Damage_BeliarW_1H_20; * * * * // 110
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_20; * * * *// 50
* *COUNT[5] * * * * * *= value;
};

// прототип двуручника
prototype BeliarWeaponPrototype_2H(C_Item)
{
* *name * * * * * * * *= NAME_ADDON_BELIARSWEAPON; * * // "Коготь Белиара"
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * * * *// оружие ближнего радиуса поражения
* *flags * * * * * * * = ITEM_2HD_SWD; * * * * * * * * // друручный меч
* *material * * * * * *= MAT_METAL; * * * * * * * * * *// металл
* *damagetype * * * * *= DAM_EDGE; * * * * * * * * * * // острое оружие
* *range * * * * * * * = Range_Drachenschneide; * * * *// 120
* *visual * * * * * * *= "ItMw_BeliarWeapon_2H.3DS";
* *effect * * * * * * *= "SPELLFX_FIRESWORDBLACK";
* *cond_atr[2] * * * * = ATR_STRENGTH; * * * * * * * * // требуется сила
* *cond_value[2] * * * = 0; * * * * * * * * * * * * * *// 0
* *description * * * * = name; * * * * * * * * * * * * // "Коготь Белиара"
* *TEXT[2] * * * * * * = NAME_TwoHanded; * * * * * * * // "Двуручное"
* *TEXT[3] * * * * * * = NAME_Damage; * * * * * * * * *// "Повреждение:"
* *COUNT[3] * * * * * *= damageTotal; * * * * * * * * *// (Примечание: из прототипа можно убрать, нет инициализации)
* *TEXT[4] * * * * * * = NAME_ADDON_TWOHANDED_BELIAR; *// "Шанс дополнительного повреждения"
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * * * *// (Примечание: из прототипа можно убрать, нет инициализации)
};

// двуручник Равена
instance ItMw_BeliarWeapon_Raven(BeliarWeaponPrototype_2H)
{
* *value * * * * * * * = Value_BeliarW_Raven; * * * * *// 500
* *damageTotal * * * * = Damage_BeliarW_Raven; * * * * // 50
* *cond_atr[2] * * * * = ATR_MANA_MAX; * * * * * * * * // требуется мана
* *cond_value[2] * * * = 666666; * * * * * * * * * * * // 666666
* *TEXT[3] * * * * * * = "";
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * * * // "Ценность:" (Примечание: из инстанции можно убрать, есть в прототипе)
* *COUNT[5] * * * * * *= value; * * * * * * * * * * * *// 500
};

// инициализация двуручника
instance ItMw_BeliarWeapon_2H_01(BeliarWeaponPrototype_2H)
{
* *value * * * * * * * = Value_BeliarW_2H_01; * * * * *// 600
* *damageTotal * * * * = Damage_BeliarW_2H_01; * * * * // 100
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_01; * * * *// 12
* *COUNT[5] * * * * * *= value;
};

// 1 апгрейт
instance ItMw_BeliarWeapon_2H_02(BeliarWeaponPrototype_2H) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
* *value * * * * * * * = Value_BeliarW_2H_02; * * * * *// 650 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *damageTotal * * * * = Damage_BeliarW_2H_02; * * * * // 101
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_02; * * * *// 14
* *COUNT[5] * * * * * *= value;
};

// 2 апгрейт
instance ItMw_BeliarWeapon_2H_03(BeliarWeaponPrototype_2H) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
* *value * * * * * * * = Value_BeliarW_2H_03; * * * * *// 725 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *damageTotal * * * * = Damage_BeliarW_2H_03; * * * * // 102
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_03; * * * *// 16
* *COUNT[5] * * * * * *= value;
};

// 3 апгрейт
instance ItMw_BeliarWeapon_2H_04(BeliarWeaponPrototype_2H) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
* *value * * * * * * * = Value_BeliarW_2H_04; * * * * *// 875 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *damageTotal * * * * = Damage_BeliarW_2H_04; * * * * // 103
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_04; * * * *// 18
* *COUNT[5] * * * * * *= value;
};

// 4 апгрейт
instance ItMw_BeliarWeapon_2H_05(BeliarWeaponPrototype_2H) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
* *value * * * * * * * = Value_BeliarW_2H_05; * * * * *// 950 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *damageTotal * * * * = Damage_BeliarW_2H_05; * * * * // 104
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_05; * * * *// 20
* *COUNT[5] * * * * * *= value;
};

// 5 апгрейт
instance ItMw_BeliarWeapon_2H_06(BeliarWeaponPrototype_2H) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
* *value * * * * * * * = Value_BeliarW_2H_06; * * * * *// 1050 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *damageTotal * * * * = Damage_BeliarW_2H_06; * * * * // 105
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_06; * * * *// 22
* *COUNT[5] * * * * * *= value;
};

// 6 апгрейт
instance ItMw_BeliarWeapon_2H_07(BeliarWeaponPrototype_2H) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
* *value * * * * * * * = Value_BeliarW_2H_07; * * * * *// 1150 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *damageTotal * * * * = Damage_BeliarW_2H_07; * * * * // 106
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_07; * * * *// 24
* *COUNT[5] * * * * * *= value;
};

// 7 апгрейт
instance ItMw_BeliarWeapon_2H_08(BeliarWeaponPrototype_2H) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
* *value * * * * * * * = Value_BeliarW_2H_08; * * * * *// 1250 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *damageTotal * * * * = Damage_BeliarW_2H_08; * * * * // 107
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_08; * * * *// 26
* *COUNT[5] * * * * * *= value;
};

// 8 апгрейт
instance ItMw_BeliarWeapon_2H_09(BeliarWeaponPrototype_2H) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
* *value * * * * * * * = Value_BeliarW_2H_09; * * * * *// 1375 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *damageTotal * * * * = Damage_BeliarW_2H_09; * * * * // 108
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_09; * * * *// 28
* *COUNT[5] * * * * * *= value;
};

// 9 апгрейт
instance ItMw_BeliarWeapon_2H_10(BeliarWeaponPrototype_2H) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
* *value * * * * * * * = Value_BeliarW_2H_10; * * * * *// 1500 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *damageTotal * * * * = Damage_BeliarW_2H_10; * * * * // 109
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_10; * * * *// 30
* *COUNT[5] * * * * * *= value;
};

// 10 апгрейт
instance ItMw_BeliarWeapon_2H_11(BeliarWeaponPrototype_2H) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
* *value * * * * * * * = Value_BeliarW_2H_11; * * * * *// 1650 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *damageTotal * * * * = Damage_BeliarW_2H_11; * * * * // 110
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_11; * * * *// 32
* *COUNT[5] * * * * * *= value;
};

// 11 апгрейт
instance ItMw_BeliarWeapon_2H_12(BeliarWeaponPrototype_2H) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
* *value * * * * * * * = Value_BeliarW_2H_12; * * * * *// 1800 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *damageTotal * * * * = Damage_BeliarW_2H_12; * * * * // 111
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_12; * * * *// 34
* *COUNT[5] * * * * * *= value;
};

// 12 апгрейт
instance ItMw_BeliarWeapon_2H_13(BeliarWeaponPrototype_2H) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
* *value * * * * * * * = Value_BeliarW_2H_13; * * * * *// 2000 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *damageTotal * * * * = Damage_BeliarW_2H_13; * * * * // 112
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_13; * * * *// 36
* *COUNT[5] * * * * * *= value;
};

// 13 апгрейт
instance ItMw_BeliarWeapon_2H_14(BeliarWeaponPrototype_2H) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
* *value * * * * * * * = Value_BeliarW_2H_14; * * * * *// 2125 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *damageTotal * * * * = Damage_BeliarW_2H_14; * * * * // 113
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_14; * * * *// 38
* *COUNT[5] * * * * * *= value;
};

// 14 апгрейт
instance ItMw_BeliarWeapon_2H_15(BeliarWeaponPrototype_2H) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
* *value * * * * * * * = Value_BeliarW_2H_15; * * * * *// 2300 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *damageTotal * * * * = Damage_BeliarW_2H_15; * * * * // 114
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_15; * * * *// 40
* *COUNT[5] * * * * * *= value;
};

// 15 апгрейт
instance ItMw_BeliarWeapon_2H_16(BeliarWeaponPrototype_2H) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
* *value * * * * * * * = Value_BeliarW_2H_16; * * * * *// 2500 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *damageTotal * * * * = Damage_BeliarW_2H_16; * * * * // 115
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_16; * * * *// 42
* *COUNT[5] * * * * * *= value;
};

// 16 апгрейт
instance ItMw_BeliarWeapon_2H_17(BeliarWeaponPrototype_2H) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
* *value * * * * * * * = Value_BeliarW_2H_17; * * * * *// 2700 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *damageTotal * * * * = Damage_BeliarW_2H_17; * * * * // 116
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_17; * * * *// 44
* *COUNT[5] * * * * * *= value;
};

// 17 апгрейт
instance ItMw_BeliarWeapon_2H_18(BeliarWeaponPrototype_2H) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
* *value * * * * * * * = Value_BeliarW_2H_18; * * * * *// 2900 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *damageTotal * * * * = Damage_BeliarW_2H_18; * * * * // 117
* *COUNT[5] * * * * * *= value;
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_18; * * * *// 46
};

// 18 апгрейт
instance ItMw_BeliarWeapon_2H_19(BeliarWeaponPrototype_2H) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
* *value * * * * * * * = Value_BeliarW_2H_19; * * * * *// 3100 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *damageTotal * * * * = Damage_BeliarW_2H_19; * * * * // 118
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_19; * * * *// 48
* *COUNT[5] * * * * * *= value;
};

// 19 апгрейт
instance ItMw_BeliarWeapon_2H_20(BeliarWeaponPrototype_2H) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
{
* *value * * * * * * * = Value_BeliarW_2H_20; * * * * *// 3300 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *damageTotal * * * * = Damage_BeliarW_2H_20; * * * * // 120
* *COUNT[3] * * * * * *= damageTotal;
* *COUNT[4] * * * * * *= BeliarDamageChance_20; * * * *// 50
* *COUNT[5] * * * * * *= value;
};

// Огненный меч (не используется)
instance ItMw_BeliarWeapon_Fire(BeliarWeaponPrototype_2H)
{
* *value * * * * * * * = Value_BeliarW_2H_20; * * * * *// 3300
* *damageTotal * * * * = Damage_BeliarW_2H_20; * * * * // 120
* *effect * * * * * * *= "SPELLFX_FIRESWORD";
* *COUNT[3] * * * * * *= damageTotal; * *
* *COUNT[5] * * * * * *= value;
};

Ответить с цитированием
Старый 03.06.2005, 08:24   #189
Vam

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

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

* *4. Пояса аддона.

Файл IT_Addon_Belts.d

//*************************
// Пояса аддона
//*************************

// Таблица соответствия брони и изображения пояса
/*
ItAr_Pal_M * * * ItMi_Belt_01.3DS
ItAr_Kdf_L * * * ItMi_Belt_02.3DS --> alle KDF/NOV Belts
ItAr_MIL_L * * * ItMi_Belt_03.3DS --> MIL_01 MIL_02
ItAr_Pal_H * * * ItMi_Belt_04.3DS
ItAr_Sld_L * * * ItMi_Belt_05.3DS --> SLD_01 SLD_02
ItAr_Bau_L * * * ItMi_Belt_06.3DS --> Leder
ItAr_Bdt_H * * * ItMi_Belt_07.3DS --> SLD_03
ItAr_Bdt_M * * * ItMi_Belt_08.3DS --> MC
ItAr_CorAngar * *ItMi_Belt_09.3DS
ItAr_Djg_H * * * ItMi_Belt_10.3DS
ItAr_MIL_M * * * ItMi_Belt_11.3DS --> MIL_03
*/

// стоимость
const int Value_ItBE_Addon_Leather_01 * = 250; * * *// Кожаный ремень
const int Value_ItBE_Addon_Leather_02 * = 250; * * *// (не используется)
const int Value_ItBE_Addon_SLD_01 * * * = 250; * * *// Пояс наемника
const int Value_ItBE_Addon_NOV_01 * * * = 250; * * *// Ремень готовности
const int Value_ItBE_Addon_MIL_01 * * * = 250; * * *// Пояс милиции
const int Value_ItBE_Addon_KDF_01 * * * = 250; * * *// Ремень огня
const int Value_ItBE_Addon_MC * * * * * = 250; * * *// Ремень из панцирей ползунов
const int Value_ItBE_Addon_STR_5 * * * *= 500; * * *// Ремень усиления
const int Value_ItBE_Addon_STR_10 * * * = 1000; * * // Ремень силы
const int Value_ItBE_Addon_DEX_5 * * * *= 500; * * *// Ремень проворности
const int Value_ItBE_Addon_DEX_10 * * * = 1000; * * // Ремень ловкости
const int Value_ItBE_Addon_Prot_Edge * *= 500; * * *// Ремень защиты
const int Value_ItBE_Addon_Prot_Point * = 500; * * *// Ремень отражения
const int Value_ItBE_Addon_Prot_Magic * = 500; * * *// Ремень магического отражения
const int Value_ItBE_Addon_Prot_Fire * *= 500; * * *// Ремень шагающего по огню
const int Value_ItBE_Addon_Prot_EdgPoi *= 1000; * * // Ремень защиты (Примечание: уже был, нужно переименовать)
const int Value_ItBE_Addon_Prot_Total * = 2000; * * // Защитный пояс

// бонусы
const int BA_Bonus01 * * * * * * * * * *= 5; * * * *// защита от любого оружия совместно с бронёй (доп. бонус)
const int BA_Bonus02 * * * * * * * * * *= 5; * * * *// защита от магии и огня совместно с бронёй (доп. бонус)
const int Belt_Prot_01 * * * * * * * * *= 5; * * * *// защита от любого оружия
const int BeltBonus_STR01 * * * * * * * = 5; * * * *// усиление
const int BeltBonus_STR02 * * * * * * * = 10; * * * // сила
const int BeltBonus_DEX01 * * * * * * * = 5; * * * *// проворство
const int BeltBonus_DEX02 * * * * * * * = 10; * * * // ловкость
const int BeltBonus_ProtEdge * * * * * *= 10; * * * // защита от оружия
const int BeltBonus_ProtPoint * * * * * = 10; * * * // защита от стрел
const int BeltBonus_ProtMagic * * * * * = 10; * * * // защита от магии
const int BeltBonus_ProtFire * * * * * *= 10; * * * // защита от огня
const int BeltBonus_ProtEdgPoi * * * * *= 7; * * * *// защита от любого оружия
const int BeltBonus_ProtTotal * * * * * = 7; * * * *// полная защита

//--------------------------------------
// Кожаный ремень
//--------------------------------------
INSTANCE ItBE_Addon_Leather_01(C_Item) * * * * * * * * *// Боспер(Глава 1)/Хакон(Глава 1)/Калед(Глава 1)/Орлан(Глава 1)
{
* *name * * * * * *= NAME_Addon_Belt; * * * * * * * * *// "Пояс"
* *mainflag * * * *= ITEM_KAT_MAGIC;
* *flags * * * * * = ITEM_BELT ¦ ITEM_MULTI;
* *value * * * * * = Value_ItBE_Addon_Leather_01; * * *// 250
* *visual * * * * *= "ItMI_Belt_06.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// металл
* *on_equip * * * *= Equip_ItBE_Addon_Leather_01;
* *on_unequip * * *= UnEquip_ItBE_Addon_Leather_01;
* *description * * = "Кожаный ремень";
* *TEXT[1] * * * * = NAME_Prot_Edge; * * * * * * * * * // "Защита от оружия:"
* *COUNT[1] * * * *= Belt_Prot_01; * * * * * * * * * * // 5
* *TEXT[2] * * * * = NAME_Prot_Point; * * * * * * * * *// "Защита от стрел:"
* *COUNT[2] * * * *= Belt_Prot_01; * * * * * * * * * * // 5
* *TEXT[3] * * * * = NAME_Addon_BeArLeather; * * * * * // "Вместе с кожаной кольчугой +"
* *COUNT[3] * * * *= BA_Bonus01; * * * * * * * * * * * // 5
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 250
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
* *inv_rotx * * * *= INVCAM_ENTF_MISC2_STANDARD;
};

// Одеть
func void Equip_ItBE_Addon_Leather_01()
{
* *self.protection[PROT_EDGE] *+= Belt_Prot_01; * * * *// защита от острого оружия += 5
* *self.protection[PROT_BLUNT] += Belt_Prot_01; * * * *// защита от тупого оружия += 5
* *self.protection[PROT_POINT] += Belt_Prot_01; * * * *// защита от стрел += 5
* *// если ГГ
* *if(Npc_IsPlayer(self))
* *{
* * * *// одет Кожаный ремень
* * * *Leather01_Equipped = TRUE; *
* * * *// если одеты Кожаные доспехи
* * * *if(LeatherArmor_Equipped == TRUE)
* * * *{
* * * * * *self.protection[PROT_EDGE] *+= BA_Bonus01; *// защита от острого оружия += 5
* * * * * *self.protection[PROT_BLUNT] += BA_Bonus01; *// защита от тупого оружия += 5
* * * * * *self.protection[PROT_POINT] += BA_Bonus01; *// защита от стрел += 5
* * * * * *self.protection[PROT_MAGIC] += BA_Bonus02; *// защита от магии += 5
* * * * * *self.protection[PROT_FIRE] *+= BA_Bonus02; *// защита от огня += 5
* * * *};
* *};
};

// Снять
func void UnEquip_ItBE_Addon_Leather_01()
{
* *self.protection[PROT_EDGE] *-= Belt_Prot_01; * * * *// защита от острого оружия -= 5
* *self.protection[PROT_BLUNT] -= Belt_Prot_01; * * * *// защита от тупого оружия -= 5
* *self.protection[PROT_POINT] -= Belt_Prot_01; * * * *// защита от стрел -= 5
* *// если ГГ
* *if(Npc_IsPlayer(self))
* *{
* * * *// снят Кожаный ремень
* * * *Leather01_Equipped = FALSE;
* * * *// если одеты Кожаные доспехи
* * * *if(LeatherArmor_Equipped == TRUE)
* * * *{
* * * * * *self.protection[PROT_EDGE] *-= BA_Bonus01; *// защита от острого оружия -= 5
* * * * * *self.protection[PROT_BLUNT] -= BA_Bonus01; *// защита от тупого оружия -= 5
* * * * * *self.protection[PROT_POINT] -= BA_Bonus01; *// защита от стрел -= 5
* * * * * *self.protection[PROT_MAGIC] -= BA_Bonus02; *// защита от магии -= 5
* * * * * *self.protection[PROT_FIRE] *-= BA_Bonus02; *// защита от огня -= 5
* * * *};
* *};
};

//--------------------------------------
// Пояс наемника
//--------------------------------------
INSTANCE ItBE_Addon_SLD_01(C_Item) * * * * * * * * * * *// Беннет(Глава 1)
{
* *name * * * * * *= NAME_Addon_Belt; * * * * * * * * *// "Пояс"
* *mainflag * * * *= ITEM_KAT_MAGIC;
* *flags * * * * * = ITEM_BELT ¦ ITEM_MULTI;
* *value * * * * * = Value_ItBE_Addon_SLD_01; * * * * *// 250
* *visual * * * * *= "ItMi_Belt_05.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// металл
* *on_equip * * * *= Equip_ItBE_Addon_SLD_01;
* *on_unequip * * *= UnEquip_ItBE_Addon_SLD_01;
* *description * * = "Пояс наемника";
* *TEXT[1] * * * * = NAME_Prot_Edge; * * * * * * * * * // "Защита от оружия:"
* *COUNT[1] * * * *= Belt_Prot_01; * * * * * * * * * * // 5
* *TEXT[2] * * * * = NAME_Prot_Point; * * * * * * * * *// "Защита от стрел:"
* *COUNT[2] * * * *= Belt_Prot_01; * * * * * * * * * * // 5
* *TEXT[3] * * * * = NAME_Addon_BeArSLD; * * * * * * * // "Вместе с кольчугой наемников +"
* *COUNT[3] * * * *= BA_Bonus01; * * * * * * * * * * * // 5
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 250
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
* *inv_rotx * * * *= INVCAM_ENTF_MISC2_STANDARD;
};

// Одеть
func void Equip_ItBE_Addon_SLD_01()
{
* *// одет Пояс наемника
* *SLD01_Equipped = TRUE;
* *self.protection[PROT_EDGE] *+= Belt_Prot_01; * * * *// защита от острого оружия += 5
* *self.protection[PROT_BLUNT] += Belt_Prot_01; * * * *// защита от тупого оружия += 5
* *self.protection[PROT_POINT] += Belt_Prot_01; * * * *// защита от стрел += 5
* *// если одеты Средние доспехи наемника
* *if(SLDArmor_Equipped == TRUE)
* *{
* * * *self.protection[PROT_EDGE] *+= BA_Bonus01; * * *// защита от острого оружия += 5
* * * *self.protection[PROT_BLUNT] += BA_Bonus01; * * *// защита от тупого оружия += 5
* * * *self.protection[PROT_POINT] += BA_Bonus01; * * *// защита от стрел += 5
* * * *self.protection[PROT_MAGIC] += BA_Bonus02; * * *// защита от магии += 5
* * * *self.protection[PROT_FIRE] *+= BA_Bonus02; * * *// защита от огня += 5
* *};
};

// Снять
func void UnEquip_ItBE_Addon_SLD_01()
{
* *// снят Пояс наемника
* *SLD01_Equipped = FALSE;
* *self.protection[PROT_EDGE] *-= Belt_Prot_01; * * * *// защита от острого оружия -= 5
* *self.protection[PROT_BLUNT] -= Belt_Prot_01; * * * *// защита от тупого оружия -= 5
* *self.protection[PROT_POINT] -= Belt_Prot_01; * * * *// защита от стрел -= 5
* *// если одеты Средние доспехи наемника
* *if(SLDArmor_Equipped == TRUE)
* *{
* * * *self.protection[PROT_EDGE] *-= BA_Bonus01; * * *// защита от острого оружия -= 5
* * * *self.protection[PROT_BLUNT] -= BA_Bonus01; * * *// защита от тупого оружия -= 5
* * * *self.protection[PROT_POINT] -= BA_Bonus01; * * *// защита от стрел -= 5
* * * *self.protection[PROT_MAGIC] -= BA_Bonus02; * * *// защита от магии -= 5
* * * *self.protection[PROT_FIRE] *-= BA_Bonus02; * * *// защита от огня -= 5
* *};
};

//--------------------------------------
// Ремень готовности
//--------------------------------------
INSTANCE ItBE_Addon_NOV_01(C_Item) * * * * * * * * * * *// Горакс(Глава 1)
{
* *name * * * * * *= NAME_Addon_BeltMage; * * * * * * *// "Волшебный пояс"
* *mainflag * * * *= ITEM_KAT_MAGIC;
* *flags * * * * * = ITEM_BELT ¦ ITEM_MULTI;
* *value * * * * * = Value_ItBE_Addon_NOV_01; * * * * *// 250
* *visual * * * * *= "ItMi_Belt_02.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// металл
* *on_equip * * * *= Equip_ItBE_Addon_NOV_01;
* *on_unequip * * *= UnEquip_ItBE_Addon_NOV_01;
* *description * * = "Ремень готовности";
* *TEXT[1] * * * * = NAME_Prot_Edge; * * * * * * * * * // "Защита от оружия:"
* *COUNT[1] * * * *= Belt_Prot_01; * * * * * * * * * * // 5
* *TEXT[2] * * * * = NAME_Prot_Point; * * * * * * * * *// "Защита от стрел:"
* *COUNT[2] * * * *= Belt_Prot_01; * * * * * * * * * * // 5
* *TEXT[3] * * * * = NAME_Addon_BeArNOV; * * * * * * * // "Вместе с робой послушника +"
* *COUNT[3] * * * *= BA_Bonus01; * * * * * * * * * * * // 5
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 250
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
* *inv_rotx * * * *= INVCAM_ENTF_MISC2_STANDARD;
};

// Одеть
func void Equip_ItBE_Addon_NOV_01()
{
* *// одет Ремень готовности
* *NOV01_Equipped = TRUE; *
* *self.protection[PROT_EDGE] *+= Belt_Prot_01; * * * *// защита от острого оружия += 5
* *self.protection[PROT_BLUNT] += Belt_Prot_01; * * * *// защита от тупого оружия += 5
* *self.protection[PROT_POINT] += Belt_Prot_01; * * * *// защита от стрел += 5
* *// если одета Роба послушника
* *if(NOVArmor_Equipped == TRUE)
* *{
* * * *self.protection[PROT_EDGE] *+= BA_Bonus01; * * *// защита от острого оружия += 5
* * * *self.protection[PROT_BLUNT] += BA_Bonus01; * * *// защита от тупого оружия += 5
* * * *self.protection[PROT_POINT] += BA_Bonus01; * * *// защита от стрел += 5
* * * *self.protection[PROT_MAGIC] += BA_Bonus02; * * *// защита от магии += 5
* * * *self.protection[PROT_FIRE] *+= BA_Bonus02; * * *// защита от огня += 5
* *};
};

// Снять
func void UnEquip_ItBE_Addon_NOV_01()
{
* *// снят Ремень готовности
* *NOV01_Equipped = FALSE;
* *self.protection[PROT_EDGE] *-= Belt_Prot_01; * * * *// защита от острого оружия -= 5
* *self.protection[PROT_BLUNT] -= Belt_Prot_01; * * * *// защита от тупого оружия -= 5
* *self.protection[PROT_POINT] -= Belt_Prot_01; * * * *// защита от стрел -= 5
* *// если одета Роба послушника
* *if(NOVArmor_Equipped == TRUE)
* *{
* * * *self.protection[PROT_EDGE] *-= BA_Bonus01; * * *// защита от острого оружия -= 5
* * * *self.protection[PROT_BLUNT] -= BA_Bonus01; * * *// защита от тупого оружия -= 5
* * * *self.protection[PROT_POINT] -= BA_Bonus01; * * *// защита от стрел -= 5
* * * *self.protection[PROT_MAGIC] -= BA_Bonus02; * * *// защита от магии -= 5
* * * *self.protection[PROT_FIRE] *-= BA_Bonus02; * * *// защита от огня -= 5
* *};
};

//--------------------------------------
// Пояс милиции
//--------------------------------------
INSTANCE ItBE_Addon_MIL_01(C_Item) * * * * * * * * * * *// Хакон(Глава 1)
{
* *name * * * * * *= NAME_Addon_Belt; * * * * * * * * *// "Пояс"
* *mainflag * * * *= ITEM_KAT_MAGIC;
* *flags * * * * * = ITEM_BELT ¦ ITEM_MULTI;
* *value * * * * * = Value_ItBE_Addon_MIL_01; * * * * *// 250
* *visual * * * * *= "ItMi_Belt_03.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// металл
* *on_equip * * * *= Equip_ItBE_Addon_MIL_01;
* *on_unequip * * *= UnEquip_ItBE_Addon_MIL_01;
* *description * * = "Пояс милиции";
* *TEXT[1] * * * * = NAME_Prot_Edge; * * * * * * * * * // "Защита от оружия:"
* *COUNT[1] * * * *= Belt_Prot_01; * * * * * * * * * * // 5
* *TEXT[2] * * * * = NAME_Prot_Point; * * * * * * * * *// "Защита от стрел:"
* *COUNT[2] * * * *= Belt_Prot_01; * * * * * * * * * * // 5
* *TEXT[3] * * * * = NAME_Addon_BeArMIL; * * * * * * * // "Вместе с кольчугой милиции +"
* *COUNT[3] * * * *= BA_Bonus01; * * * * * * * * * * * // 5
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 250
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
* *inv_rotx * * * *= INVCAM_ENTF_MISC2_STANDARD;
};

// Одеть
func void Equip_ItBE_Addon_MIL_01()
{
* *// одет Пояс милиции
* *MIL01_Equipped = TRUE;
* *self.protection[PROT_EDGE] *+= Belt_Prot_01; * * * *// защита от острого оружия += 5
* *self.protection[PROT_BLUNT] += Belt_Prot_01; * * * *// защита от тупого оружия += 5
* *self.protection[PROT_POINT] += Belt_Prot_01; * * * *// защита от стрел += 5
* *// если одеты Легкие доспехи ополчения
* *if(MILArmor_Equipped == TRUE)
* *{
* * * *self.protection[PROT_EDGE] *+= BA_Bonus01; * * *// защита от острого оружия += 5
* * * *self.protection[PROT_BLUNT] += BA_Bonus01; * * *// защита от тупого оружия += 5
* * * *self.protection[PROT_POINT] += BA_Bonus01; * * *// защита от стрел += 5
* * * *self.protection[PROT_MAGIC] += BA_Bonus02; * * *// защита от магии += 5
* * * *self.protection[PROT_FIRE] *+= BA_Bonus02; * * *// защита от огня += 5
* *};
};

// Снять
func void UnEquip_ItBE_Addon_MIL_01()
{
* *// снят Пояс милиции
* *MIL01_Equipped = FALSE;
* *self.protection[PROT_EDGE] *-= Belt_Prot_01; * * * *// защита от острого оружия -= 5
* *self.protection[PROT_BLUNT] -= Belt_Prot_01; * * * *// защита от тупого оружия -= 5
* *self.protection[PROT_POINT] -= Belt_Prot_01; * * * *// защита от стрел -= 5
* *// если одеты Легкие доспехи ополчения
* *if (MILArmor_Equipped == TRUE)
* *{
* * * *self.protection[PROT_EDGE] *-= BA_Bonus01; * * *// защита от острого оружия -= 5
* * * *self.protection[PROT_BLUNT] -= BA_Bonus01; * * *// защита от тупого оружия -= 5
* * * *self.protection[PROT_POINT] -= BA_Bonus01; * * *// защита от стрел -= 5
* * * *self.protection[PROT_MAGIC] -= BA_Bonus02; * * *// защита от магии -= 5
* * * *self.protection[PROT_FIRE] *-= BA_Bonus02; * * *// защита от огня -= 5
* *};
};

//--------------------------------------
// Ремень огня
//--------------------------------------
INSTANCE ItBE_Addon_KDF_01(C_Item) * * * * * * * * * * *// Горакс(Глава 1)
{
* *name * * * * * *= NAME_Addon_BeltMage; * * * * * * *// "Волшебный пояс"
* *mainflag * * * *= ITEM_KAT_MAGIC;
* *flags * * * * * = ITEM_BELT ¦ ITEM_MULTI;
* *value * * * * * = Value_ItBE_Addon_KDF_01; * * * * *// 250
* *visual * * * * *= "ItMi_Belt_02.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// металл
* *on_equip * * * *= Equip_ItBE_Addon_KDF_01;
* *on_unequip * * *= UnEquip_ItBE_Addon_KDF_01;
* *description * * = "Ремень огня";
* *TEXT[1] * * * * = NAME_Prot_Edge; * * * * * * * * * // "Защита от оружия:"
* *COUNT[1] * * * *= Belt_Prot_01; * * * * * * * * * * // 5
* *TEXT[2] * * * * = NAME_Prot_Point; * * * * * * * * *// "Защита от стрел:"
* *COUNT[2] * * * *= Belt_Prot_01; * * * * * * * * * * // 5
* *TEXT[3] * * * * = NAME_Addon_BeArKDF; * * * * * * * // "Вместе с робой мага +"
* *COUNT[3] * * * *= BA_Bonus01; * * * * * * * * * * * // 5
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 250
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
* *inv_rotx * * * *= INVCAM_ENTF_MISC2_STANDARD;
};

// Одеть
func void Equip_ItBE_Addon_KDF_01()
{
* *// одет Ремень огня
* *KDF01_Equipped = TRUE;
* *self.protection[PROT_EDGE] *+= Belt_Prot_01; * * * *// защита от острого оружия += 5
* *self.protection[PROT_BLUNT] += Belt_Prot_01; * * * *// защита от тупого оружия += 5
* *self.protection[PROT_POINT] += Belt_Prot_01; * * * *// защита от стрел += 5
* *// если одета Роба мага огня
* *if(KDFArmor_Equipped == TRUE)
* *{
* * * *self.protection[PROT_EDGE] *+= BA_Bonus01; * * *// защита от острого оружия += 5
* * * *self.protection[PROT_BLUNT] += BA_Bonus01; * * *// защита от тупого оружия += 5
* * * *self.protection[PROT_POINT] += BA_Bonus01; * * *// защита от стрел += 5
* * * *self.protection[PROT_MAGIC] += BA_Bonus02; * * *// защита от магии += 5
* * * *self.protection[PROT_FIRE] *+= BA_Bonus02; * * *// защита от огня += 5
* *};
};

// Снять
func void UnEquip_ItBE_Addon_KDF_01()
{
* *// снят Ремень огня
* *KDF01_Equipped = FALSE;
* *self.protection[PROT_EDGE] *-= Belt_Prot_01; * * * *// защита от острого оружия -= 5
* *self.protection[PROT_BLUNT] -= Belt_Prot_01; * * * *// защита от тупого оружия -= 5
* *self.protection[PROT_POINT] -= Belt_Prot_01; * * * *// защита от стрел -= 5
* *// если одета Роба мага огня
* *if(KDFArmor_Equipped == TRUE)
* *{
* * * *self.protection[PROT_EDGE] *-= BA_Bonus01; * * *// защита от острого оружия -= 5
* * * *self.protection[PROT_BLUNT] -= BA_Bonus01; * * *// защита от тупого оружия -= 5
* * * *self.protection[PROT_POINT] -= BA_Bonus01; * * *// защита от стрел -= 5
* * * *self.protection[PROT_MAGIC] -= BA_Bonus02; * * *// защита от магии -= 5
* * * *self.protection[PROT_FIRE] *-= BA_Bonus02; * * *// защита от огня -= 5
* *};
};

//--------------------------------------
// Ремень из панцирей ползунов
//--------------------------------------
INSTANCE ItBE_Addon_MC(C_Item) * * * * * * * * * * * * *// Беннет(Глава 3)
{
* *name * * * * * *= NAME_Addon_Belt; * * * * * * * * *// "Пояс"
* *mainflag * * * *= ITEM_KAT_MAGIC;
* *flags * * * * * = ITEM_BELT ¦ ITEM_MULTI;
* *value * * * * * = Value_ItBE_Addon_MC; * * * * * * *// 250
* *visual * * * * *= "ItMi_Belt_08.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// металл
* *on_equip * * * *= Equip_ItBE_Addon_MC;
* *on_unequip * * *= UnEquip_ItBE_Addon_MC;
* *description * * = "Ремень из панцирей ползунов";
* *TEXT[1] * * * * = NAME_Prot_Edge; * * * * * * * * * // "Защита от оружия:"
* *COUNT[1] * * * *= Belt_Prot_01; * * * * * * * * * * // 5
* *TEXT[2] * * * * = NAME_Prot_Point; * * * * * * * * *// "Защита от стрел:"
* *COUNT[2] * * * *= Belt_Prot_01; * * * * * * * * * * // 5
* *TEXT[3] * * * * = NAME_Addon_BeArMC; * * * * * * * *// "Вместе с кольчугой из ползунов +"
* *COUNT[3] * * * *= BA_Bonus01; * * * * * * * * * * * // 5
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 250
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
* *inv_rotx * * * *= INVCAM_ENTF_MISC2_STANDARD;
};

// Одеть
func void Equip_ItBE_Addon_MC()
{
* *// одет Ремень из панцирей ползунов
* *MC_Equipped = TRUE;
* *self.protection[PROT_EDGE] *+= Belt_Prot_01; * * * *// защита от острого оружия += 5
* *self.protection[PROT_BLUNT] += Belt_Prot_01; * * * *// защита от тупого оружия += 5
* *self.protection[PROT_POINT] += Belt_Prot_01; * * * *// защита от стрел += 5
* *// если одеты Доспехи из панцирей ползунов
* *if(MCArmor_Equipped == TRUE)
* *{
* * * *self.protection[PROT_EDGE] *+= BA_Bonus01; * * *// защита от острого оружия += 5
* * * *self.protection[PROT_BLUNT] += BA_Bonus01; * * *// защита от тупого оружия += 5
* * * *self.protection[PROT_POINT] += BA_Bonus01; * * *// защита от стрел += 5
* * * *self.protection[PROT_MAGIC] += BA_Bonus01; * * *// защита от магии += 5
* * * *self.protection[PROT_FIRE] *+= BA_Bonus01; * * *// защита от огня += 5
* *};
};

// Снять
func void UnEquip_ItBE_Addon_MC()
{
* *// снят Ремень из панцирей ползунов
* *MC_Equipped = FALSE;
* *self.protection[PROT_EDGE] *-= Belt_Prot_01; * * * *// защита от острого оружия -= 5
* *self.protection[PROT_BLUNT] -= Belt_Prot_01; * * * *// защита от тупого оружия -= 5
* *self.protection[PROT_POINT] -= Belt_Prot_01; * * * *// защита от стрел -= 5
* *// если одеты Доспехи из панцирей ползунов
* *if(MCArmor_Equipped == TRUE)
* *{
* * * *self.protection[PROT_EDGE] *-= BA_Bonus01; * * *// защита от острого оружия -= 5
* * * *self.protection[PROT_BLUNT] -= BA_Bonus01; * * *// защита от тупого оружия -= 5
* * * *self.protection[PROT_POINT] -= BA_Bonus01; * * *// защита от стрел -= 5
* * * *self.protection[PROT_MAGIC] -= BA_Bonus02; * * *// защита от магии -= 5
* * * *self.protection[PROT_FIRE] *-= BA_Bonus02; * * *// защита от огня -= 5
* *};
};

//--------------------------------------
// Ремень усиления
//--------------------------------------
INSTANCE ItBe_Addon_STR_5(C_Item) * * * * * * * * * * * // Ксардас(Глава 1)
{
* *name * * * * * *= NAME_Addon_Belt; * * * * * * * * *// "Пояс"
* *mainflag * * * *= ITEM_KAT_MAGIC;
* *flags * * * * * = ITEM_BELT ¦ ITEM_MULTI;
* *value * * * * * = Value_ItBE_Addon_STR_5; * * * * * // 500
* *visual * * * * *= "ItMi_Belt_08.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// металл
* *on_equip * * * *= Equip_ItBe_Addon_STR_5;
* *on_unequip * * *= UnEquip_ItBe_Addon_STR_5;
* *description * * = "Ремень усиления";
* *TEXT[2] * * * * = NAME_Bonus_Str; * * * * * * * * * // "Прибавка к силе:"
* *COUNT[2] * * * *= BeltBonus_STR01; * * * * * * * * *// 5
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 500
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
* *inv_rotx * * * *= INVCAM_ENTF_MISC2_STANDARD;
};

// Одеть
func void Equip_ItBe_Addon_STR_5()
{
* *Npc_ChangeAttribute(self,ATR_STRENGTH,+BeltBonus_ STR01); * *// сила += 5
};

// Снять
func void UnEquip_ItBe_Addon_STR_5()
{
* *Npc_ChangeAttribute(self,ATR_STRENGTH,-BeltBonus_STR01); * *// сила -= 5
};

//--------------------------------------
// Ремень силы
//--------------------------------------
INSTANCE ItBe_Addon_STR_10(C_Item) * * * * * * * * * * *// Йора(Глава 4)/Сенграт(Глава 4)
{
* *name * * * * * *= NAME_Addon_Belt; * * * * * * * * *// "Пояс"
* *mainflag * * * *= ITEM_KAT_MAGIC;
* *flags * * * * * = ITEM_BELT ¦ ITEM_MULTI;
* *value * * * * * = Value_ItBE_Addon_STR_10; * * * * *// 1000
* *visual * * * * *= "ItMi_Belt_05.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// металл
* *on_equip * * * *= Equip_ItBe_Addon_STR_10;
* *on_unequip * * *= UnEquip_ItBe_Addon_STR_10;
* *description * * = "Ремень силы";
* *TEXT[2] * * * * = NAME_Bonus_Str; * * * * * * * * * // "Прибавка к силе:"
* *COUNT[2] * * * *= BeltBonus_STR02; * * * * * * * * *// 10
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 1000
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
* *inv_rotx * * * *= INVCAM_ENTF_MISC2_STANDARD;
};

// Одеть
func void Equip_ItBe_Addon_STR_10()
{
* *Npc_ChangeAttribute(self,ATR_STRENGTH,+BeltBonus_ STR02); * *// сила += 10
};

// Снять
func void UnEquip_ItBe_Addon_STR_10()
{
* *Npc_ChangeAttribute(self,ATR_STRENGTH,-BeltBonus_STR02); * *// сила -= 10
};

... продолжение следует
Ответить с цитированием
Старый 03.06.2005, 08:28   #190
Vam

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

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

//--------------------------------------
// Ремень проворности
//--------------------------------------
INSTANCE ItBe_Addon_DEX_5(C_Item) * * * * * * * * * * * // Боспер(Глава 2)/Орлан(Глава 2)
{
* *name * * * * * *= NAME_Addon_Belt; * * * * * * * * *// "Пояс"
* *mainflag * * * *= ITEM_KAT_MAGIC;
* *flags * * * * * = ITEM_BELT ¦ ITEM_MULTI;
* *value * * * * * = Value_ItBE_Addon_DEX_5; * * * * * // 500
* *visual * * * * *= "ItMi_Belt_08.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// металл
* *on_equip * * * *= Equip_ItBe_Addon_DEX_5;
* *on_unequip * * *= UnEquip_ItBe_Addon_DEX_5;
* *description * * = "Ремень проворности";
* *TEXT[2] * * * * = NAME_Bonus_Dex; * * * * * * * * * // "Прибавка к ловкости:"
* *COUNT[2] * * * *= BeltBonus_DEX01; * * * * * * * * *// 5
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 500
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
* *inv_rotx * * * *= INVCAM_ENTF_MISC2_STANDARD;
};

// Одеть
func void Equip_ItBe_Addon_DEX_5()
{
* *Npc_ChangeAttribute(self,ATR_DEXTERITY,+BeltBonus _DEX01); * // ловкость += 5
};

// Снять
func void UnEquip_ItBe_Addon_DEX_5()
{
* *Npc_ChangeAttribute(self,ATR_DEXTERITY,-BeltBonus_DEX01); * // ловкость -= 5
};

//--------------------------------------
// Ремень ловкости
//--------------------------------------
INSTANCE ItBe_Addon_DEX_10(C_Item) * * * * * * * * * * *// Боспер(Глава 3)/Лютеро(Глава 3)
{
* *name * * * * * *= NAME_Addon_Belt; * * * * * * * * *// "Пояс"
* *mainflag * * * *= ITEM_KAT_MAGIC;
* *flags * * * * * = ITEM_BELT ¦ ITEM_MULTI;
* *value * * * * * = Value_ItBE_Addon_DEX_10; * * * * *// 1000
* *visual * * * * *= "ItMi_Belt_05.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// металл
* *on_equip * * * *= Equip_ItBe_Addon_DEX_10;
* *on_unequip * * *= UnEquip_ItBe_Addon_DEX_10;
* *description * * = "Ремень ловкости";
* *TEXT[2] * * * * = NAME_Bonus_Dex; * * * * * * * * * // "Прибавка к ловкости:"
* *COUNT[2] * * * *= BeltBonus_DEX02; * * * * * * * * *// 10
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 1000
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
* *inv_rotx * * * *= INVCAM_ENTF_MISC2_STANDARD;
* *
};

// Одеть
func void Equip_ItBe_Addon_DEX_10()
{
* *Npc_ChangeAttribute(self,ATR_DEXTERITY,+BeltBonus _DEX02); * // ловкость += 10
};

// Снять
func void UnEquip_ItBe_Addon_DEX_10()
{
* *Npc_ChangeAttribute(self,ATR_DEXTERITY,-BeltBonus_DEX02); * // ловкость -= 10
};

//--------------------------------------
// Ремень защиты
//--------------------------------------
INSTANCE ItBe_Addon_Prot_EDGE(C_Item) * * * * * * * * * // Хакон(Глава 4)/Калед(Глава 4)
{
* *name * * * * * *= NAME_Addon_Belt; * * * * * * * * *// "Пояс"
* *mainflag * * * *= ITEM_KAT_MAGIC;
* *flags * * * * * = ITEM_BELT ¦ ITEM_MULTI;
* *value * * * * * = Value_ItBE_Addon_Prot_EDGE; * * * // 500
* *visual * * * * *= "ItMi_Belt_02.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// металл
* *on_equip * * * *= Equip_ItBe_Addon_Prot_EDGE;
* *on_unequip * * *= UnEquip_ItBe_Addon_Prot_EDGE;
* *description * * = "Ремень защиты";
* *TEXT[2] * * * * = NAME_Prot_Edge; * * * * * * * * * // "Защита от оружия:"
* *COUNT[2] * * * *= BeltBonus_ProtEdge; * * * * * * * // 10
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 500
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
* *inv_rotx * * * *= INVCAM_ENTF_MISC2_STANDARD;
};

// Одеть
func void Equip_ItBe_Addon_Prot_Edge()
{
* *self.protection[PROT_EDGE] *+= BeltBonus_ProtEdge; *// защита от острого оружия += 10
* *self.protection[PROT_BLUNT] += BeltBonus_ProtEdge; *// защита от тупого оружия += 10
};

// Снять
func void UnEquip_ItBe_Addon_Prot_Edge()
{
* *self.protection[PROT_EDGE] *-= BeltBonus_ProtEdge; *// защита от острого оружия -= 10
* *self.protection[PROT_BLUNT] -= BeltBonus_ProtEdge; *// защита от тупого оружия -= 10
};

//--------------------------------------
// Ремень отражения
//--------------------------------------
INSTANCE ItBe_Addon_Prot_Point(C_Item) * * * * * * * * *// Хакон(Глава 3)/Калед(Глава 3)
{
* *name * * * * * *= NAME_Addon_Belt; * * * * * * * * *// "Пояс"
* *mainflag * * * *= ITEM_KAT_MAGIC;
* *flags * * * * * = ITEM_BELT ¦ ITEM_MULTI;
* *value * * * * * = Value_ItBE_Addon_Prot_Point; * * *// 500
* *visual * * * * *= "ItMi_Belt_02.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// металл
* *on_equip * * * *= Equip_ItBe_Addon_Prot_Point;
* *on_unequip * * *= UnEquip_ItBe_Addon_Prot_Point;
* *description * * = "Ремень отражения";
* *TEXT[2] * * * * = NAME_Prot_Point; * * * * * * * * *// "Защита от стрел:"
* *COUNT[2] * * * *= BeltBonus_ProtPoint; * * * * * * *// 10
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 500
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
* *inv_rotx * * * *= INVCAM_ENTF_MISC2_STANDARD;
};

// Одеть
func void Equip_ItBe_Addon_Prot_Point()
{
* *self.protection[PROT_POINT] += BeltBonus_ProtPoint; // защита от стрел += 10
};

// Снять
func void UnEquip_ItBe_Addon_Prot_Point()
{
* *self.protection[PROT_POINT] -= BeltBonus_ProtPoint; // защита от стрел -= 10
};

//--------------------------------------
// Ремень магического отражения
//--------------------------------------
INSTANCE ItBe_Addon_Prot_MAGIC(C_Item) * * * * * * * * *// Горакс(Глава 3)/Цурис(Глава 3)
{
* *name * * * * * *= NAME_Addon_Belt; * * * * * * * * *// "Пояс"
* *mainflag * * * *= ITEM_KAT_MAGIC;
* *flags * * * * * = ITEM_BELT ¦ ITEM_MULTI;
* *value * * * * * = Value_ItBE_Addon_Prot_MAGIC; * * *// 500
* *visual * * * * *= "ItMi_Belt_02.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// металл
* *on_equip * * * *= Equip_ItBe_Addon_Prot_MAGIC;
* *on_unequip * * *= UnEquip_ItBe_Addon_Prot_MAGIC;
* *description * * = "Ремень магического отражения";
* *TEXT[2] * * * * = NAME_Prot_MAGIC; * * * * * * * * *// "Защита от магии:"
* *COUNT[2] * * * *= BeltBonus_ProtMAGIC; * * * * * * *// 10
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 500
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
* *inv_rotx * * * *= INVCAM_ENTF_MISC2_STANDARD;
};

// Одеть
func void Equip_ItBe_Addon_Prot_MAGIC()
{
* *self.protection[PROT_MAGIC] += BeltBonus_ProtMAGIC; // защита от магии += 10
};

// Снять
func void UnEquip_ItBe_Addon_Prot_MAGIC()
{
* *self.protection[PROT_MAGIC] -= BeltBonus_ProtMAGIC; // защита от магии -= 10
};

//--------------------------------------
// Ремень шагающего по огню
//--------------------------------------
INSTANCE ItBe_Addon_Prot_FIRE(C_Item) * * * * * * * * * // Константино(Глава 3)/Сенграт(Глава 4)
{
* *name * * * * * *= NAME_Addon_Belt; * * * * * * * * *// "Пояс"
* *mainflag * * * *= ITEM_KAT_MAGIC;
* *flags * * * * * = ITEM_BELT ¦ ITEM_MULTI;
* *value * * * * * = Value_ItBE_Addon_Prot_FIRE; * * * // 500
* *visual * * * * *= "ItMi_Belt_02.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// металл
* *on_equip * * * *= Equip_ItBe_Addon_Prot_FIRE;
* *on_unequip * * *= UnEquip_ItBe_Addon_Prot_FIRE;
* *description * * = "Ремень шагающего по огню";
* *TEXT[2] * * * * = NAME_Prot_FIRE; * * * * * * * * * // "Защита от огня:"
* *COUNT[2] * * * *= BeltBonus_ProtFIRE; * * * * * * * // 10
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 500
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
* *inv_rotx * * * *= INVCAM_ENTF_MISC2_STANDARD;
};

// Одеть
func void Equip_ItBe_Addon_Prot_FIRE()
{
* *self.protection[PROT_FIRE] += BeltBonus_ProtFIRE; * // защита от огня += 10
};

// Снять
func void UnEquip_ItBe_Addon_Prot_FIRE()
{
* *self.protection[PROT_FIRE] -= BeltBonus_ProtFIRE; * // защита от огня -= 10
};

//--------------------------------------
// Ремень защиты
//--------------------------------------
INSTANCE ItBe_Addon_Prot_EdgPoi(C_Item) * * * * * * * * // Калед(Глава 4)/Орлан(Глава 3)/награда Гаррета(Глава 2)
{
* *name * * * * * *= NAME_Addon_Belt; * * * * * * * * *// "Пояс"
* *mainflag * * * *= ITEM_KAT_MAGIC;
* *flags * * * * * = ITEM_BELT ¦ ITEM_MISSION ¦ ITEM_MULTI;
* *value * * * * * = Value_ItBE_Addon_Prot_EdgPoi; * * // 1000
* *visual * * * * *= "ItMi_Belt_02.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// металл
* *on_equip * * * *= Equip_ItBe_Addon_Prot_EdgPoi;
* *on_unequip * * *= UnEquip_ItBe_Addon_Prot_EdgPoi;
* *description * * = "Ремень защиты";
* *TEXT[2] * * * * = NAME_Prot_Edge; * * * * * * * * * // "Защита от оружия:"
* *COUNT[2] * * * *= BeltBonus_ProtEdgPoi; * * * * * * // 7
* *TEXT[3] * * * * = NAME_Prot_Point; * * * * * * * * *// "Защита от стрел:"
* *COUNT[3] * * * *= BeltBonus_ProtEdgPoi; * * * * * * // 7
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 1000
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
* *inv_rotx * * * *= INVCAM_ENTF_MISC2_STANDARD;
};

// Одеть
func void Equip_ItBe_Addon_Prot_EdgPoi()
{
* *self.protection[PROT_EDGE] *+= BeltBonus_ProtEdgPoi; * *// защита от острого оружия += 7
* *self.protection[PROT_BLUNT] += BeltBonus_ProtEdgPoi; * *// защита от тупого оружия += 7
* *self.protection[PROT_POINT] += BeltBonus_ProtEdgPoi; * *// защита от стрел += 7
};

// Снять
func void UnEquip_ItBe_Addon_Prot_EdgPoi()
{
* *self.protection[PROT_EDGE] *-= BeltBonus_ProtEdgPoi; * *// защита от острого оружия -= 7
* *self.protection[PROT_BLUNT] -= BeltBonus_ProtEdgPoi; * *// защита от тупого оружия -= 7
* *self.protection[PROT_POINT] -= BeltBonus_ProtEdgPoi; * *// защита от стрел -= 7
};

//--------------------------------------
// Защитный пояс
//--------------------------------------
INSTANCE ItBe_Addon_Prot_TOTAL(C_Item) * * * * * * * * *// Хакон(Глава 4)
{
* *name * * * * * *= NAME_Addon_Belt; * * * * * * * * *// "Пояс"
* *mainflag * * * *= ITEM_KAT_MAGIC;
* *flags * * * * * = ITEM_BELT ¦ ITEM_MULTI;
* *value * * * * * = Value_ItBE_Addon_Prot_TOTAL; * * *// 2000
* *visual * * * * *= "ItMi_Belt_02.3ds";
* *visual_skin * * = 0;
* *material * * * *= MAT_METAL; * * * * * * * * * * * *// металл
* *on_equip * * * *= Equip_ItBe_Addon_Prot_TOTAL;
* *on_unequip * * *= UnEquip_ItBe_Addon_Prot_TOTAL;
* *description * * = "Защитный пояс";
* *TEXT[1] * * * * = NAME_Prot_Edge; * * * * * * * * * // "Защита от оружия:"
* *COUNT[1] * * * *= BeltBonus_ProtTOTAL; * * * * * * *// 7
* *TEXT[2] * * * * = NAME_Prot_Point; * * * * * * * * *// "Защита от стрел:"
* *COUNT[2] * * * *= BeltBonus_ProtTOTAL; * * * * * * *// 7
* *TEXT[3] * * * * = NAME_Prot_Magic; * * * * * * * * *// "Защита от магии:"
* *COUNT[3] * * * *= BeltBonus_ProtTOTAL; * * * * * * *// 7
* *TEXT[4] * * * * = NAME_Prot_Fire; * * * * * * * * * // "Защита от огня:"
* *COUNT[4] * * * *= BeltBonus_ProtTOTAL; * * * * * * *// 7
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * * * *// 2000
* *INV_ZBIAS * * * = INVCAM_ENTF_AMULETTE_STANDARD;
* *inv_rotx * * * *= INVCAM_ENTF_MISC2_STANDARD;
};

// Одеть
func void Equip_ItBe_Addon_Prot_TOTAL()
{
* *self.protection[PROT_EDGE] *+= BeltBonus_ProtTOTAL; // защита от острого оружия += 7
* *self.protection[PROT_BLUNT] += BeltBonus_ProtTOTAL; // защита от тупого оружия += 7
* *self.protection[PROT_POINT] += BeltBonus_ProtTOTAL; // защита от стрел += 7
* *self.protection[PROT_MAGIC] += BeltBonus_ProtTOTAL; // защита от магии += 7
* *self.protection[PROT_FIRE] *+= BeltBonus_ProtTOTAL; // защита от огня += 7
};

// Снять
func void UnEquip_ItBe_Addon_Prot_TOTAL()
{
* *self.protection[PROT_EDGE] *-= BeltBonus_ProtTOTAL; // защита от острого оружия -= 7
* *self.protection[PROT_BLUNT] -= BeltBonus_ProtTOTAL; // защита от тупого оружия -= 7
* *self.protection[PROT_POINT] -= BeltBonus_ProtTOTAL; // защита от стрел -= 7
* *self.protection[PROT_MAGIC] -= BeltBonus_ProtTOTAL; // защита от магии -= 7
* *self.protection[PROT_FIRE] *-= BeltBonus_ProtTOTAL; // защита от огня -= 7
};

Ответить с цитированием
Старый 06.06.2005, 12:00   #191
Vam

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

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

* *5. Пища аддона.

Файл IT_Addon_Food.d

//*************************
// Пища аддона
//*************************

// Белый ром
const int Value_Rum * * * * * * = 30; * * * // стоимость бутылки
const int Mana_Rum * * * * * * *= 10; * * * // бонус маны
// Моряцкий грог
const int Value_Grog * * * * * *= 10; * * * // стоимость бутылки
const int HP_Grog * * * * * * * = 1; * * * *// бонус жизни
// Быстрая селедка
const int Value_SchnellerHering = 30; * * * // стоимость
// Молоток Лу
const int Value_LousHammer * * *= 30; * * * // стоимость
const int Mana_LousHammer * * * = 1; * * * *// бонус маны
// Двойной Молоток Лу
const int Value_SchlafHammer * *= 60; * * * // стоимость
// Feuergeschnetzeltes (Примечание: название не переведено)
const int Value_FireStew * * * *= 180; * * *// стоимость
const int STR_FireStew * * * * *= 1; * * * *// бонус силы
const int HP_FireStew * * * * * = 5; * * * *// бонус жизни
// Мясной суп
const int STR_MeatSoup * * * * *= 1; * * * *// бонус силы
// Устрица
const int Value_Shellflesh * * *= 60; * * * // стоимость
const int HP_Shellflesh * * * * = 20; * * * // бонус жизни

//--------------------------------------
// Устрица
//--------------------------------------
INSTANCE ItFo_Addon_Shellflesh(C_Item)
{
* *name * * * * * *= "Устрица";
* *mainflag * * * *= ITEM_KAT_FOOD; * * * * * * * *// продукт питания
* *flags * * * * * = ITEM_MULTI; * * * * * * * * * // складируемый
* *value * * * * * = Value_Shellflesh; * * * * * * // 60
* *visual * * * * *= "ItAt_Meatbugflesh.3DS";
* *material * * * *= MAT_LEATHER; * * * * * * * * *// кожа
* *scemeName * * * = "FOODHUGE";
* *on_state[0] * * = Use_Shellflesh; * * * * * * * // использовать
* *description * * = name; * * * * * * * * * * * * // "Устрица"
* *TEXT[0] * * * * = "Сочное мясо устриц";
* *TEXT[1] * * * * = NAME_Bonus_HP; * * * * * * * *// "Прибавка к жизни:"
* *COUNT[1] * * * *= HP_Shellflesh; * * * * * * * *// 20
* *TEXT[2] * * * * = "Наслаждение в сыром виде";
* *TEXT[3] * * * * = "";
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * *// 60
};

// Использовать
func void Use_Shellflesh()
{
* *// увеличить текущую жизнь
* *Npc_ChangeAttribute(self,ATR_HITPOINTS,HP_Shellfl esh);
};

//--------------------------------------
// Ром
//--------------------------------------
INSTANCE ItFo_Addon_Rum(C_Item)
{
* *name * * * * * *= "Ром";
* *mainflag * * * *= ITEM_KAT_FOOD; * * * * * * * *// продукт питания
* *flags * * * * * = ITEM_MULTI; * * * * * * * * * // складируемый
* *value * * * * * = Value_Rum; * * * * * * * * * *// 30
* *visual * * * * *= "ItMi_Rum_02.3ds";
* *material * * * *= MAT_GLAS; * * * * * * * * * * // стекло
* *on_state[0] * * = UseRum; * * * * * * * * * * * // использовать
* *scemeName * * * = "POTIONFAST";
* *description * * = "Белый ром";
* *TEXT[1] * * * * = NAME_Bonus_Mana; * * * * * * *// Прибавка к мане:
* *COUNT[1] * * * *= Mana_Rum; * * * * * * * * * * // 10
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= Value_Rum; * * * * * * * * * *// 30
};

// Использовать
func void UseRum()
{
* *// увеличить текущую ману
* *Npc_ChangeAttribute(self,ATR_MANA,Mana_Rum);
};

//--------------------------------------
// Грог
//--------------------------------------
INSTANCE ItFo_Addon_Grog(C_Item)
{
* *name * * * * * *= "Грог";
* *mainflag * * * *= ITEM_KAT_FOOD; * * * * * * * *// продукт питания
* *flags * * * * * = ITEM_MULTI; * * * * * * * * * // складируемый
* *value * * * * * = Value_Grog; * * * * * * * * * // 10
* *visual * * * * *= "ItMi_Rum_02.3ds";
* *material * * * *= MAT_GLAS; * * * * * * * * * * // стекло
* *on_state[0] * * = UseGrog; * * * * * * * * * * *// использовать
* *scemeName * * * = "POTIONFAST";
* *description * * = "Настоящий моряцкий грог";
* *TEXT[1] * * * * = NAME_Bonus_HP; * * * * * * * *// "Прибавка к жизни:"
* *COUNT[1] * * * *= HP_Grog; * * * * * * * * * * *// 1
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= Value_Grog; * * * * * * * * * // 10
};

// Использовать
func void UseGrog()
{
* *// увеличить текущую жизнь
* *Npc_ChangeAttribute(self,ATR_HITPOINTS,HP_Grog);
}; *

var int Hammer_Once; * *// флаг первого использования Молотка Лу

//--------------------------------------
// Молоток Лу
//--------------------------------------
INSTANCE ItFo_Addon_LousHammer(C_Item)
{
* *name * * * * * *= "Молоток Лу";
* *mainflag * * * *= ITEM_KAT_FOOD; * * * * * * * *// продукт питания
* *flags * * * * * = ITEM_MULTI; * * * * * * * * * // складируемый
* *value * * * * * = Value_LousHammer; * * * * * * // 30
* *visual * * * * *= "ItMi_Rum_01.3ds";
* *material * * * *= MAT_GLAS; * * * * * * * * * * // стекло
* *on_state[0] * * = UseLouHammer; * * * * * * * * // использовать
* *scemeName * * * = "POTIONFAST";
* *description * * = "Молоток Лу";
* *TEXT[1] * * * * = "Действие * * * * ???"; * * * * * * *
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= Value_LousHammer; * * * * * * // 30
};

// Использовать
func void UseLouHammer()
{
* *// если Молоток Лу ранее не использовался
* *if(Hammer_Once == FALSE)
* *{
* * * *// макс. мана += 1
* * * *B_RaiseAttribute(self,ATR_MANA_MAX,Mana_LousHamme r);
* * * *// установить флаг использования
* * * *Hammer_Once = TRUE;
* *}; *
};

//--------------------------------------
// Двойной молоток
//--------------------------------------
INSTANCE ItFo_Addon_SchlafHammer(C_Item)
{
* *name * * * * * *= "Двойной молоток";
* *mainflag * * * *= ITEM_KAT_FOOD; * * * * * * * *// продукт питания
* *flags * * * * * = ITEM_MULTI; * * * * * * * * * // складируемый
* *value * * * * * = Value_SchlafHammer; * * * * * // 60
* *visual * * * * *= "ItMi_Rum_01.3ds";
* *material * * * *= MAT_GLAS; * * * * * * * * * * // стекло
* *on_state[0] * * = UseSchlafHammer; * * * * * * *// использовать
* *scemeName * * * = "POTIONFAST";
* *description * * = "Двойной молоток";
* *TEXT[1] * * * * = "Утомит самого крепкого пьяницу ...";
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= Value_SchlafHammer; * * * * * // 60
};

// Использовать
func void UseSchlafHammer()
{
* *// если жизнь > 2
* *if(self.attribute[ATR_HITPOINTS] > 2)
* *{
* * * *// уменьшить текущую жизнь в два раза
* * * *self.attribute[ATR_HITPOINTS] = (self.attribute[ATR_HITPOINTS]/2);
* *};
};
* *
//--------------------------------------
// Быстрая селедка
//--------------------------------------
INSTANCE ItFo_Addon_SchnellerHering(C_Item)
{
* *name * * * * * *= "Быстрая селедка";
* *mainflag * * * *= ITEM_KAT_FOOD; * * * * * * * *// продукт питания
* *flags * * * * * = ITEM_MULTI; * * * * * * * * * // складируемый
* *value * * * * * = Value_Schnellerhering; * * * *// 30
* *visual * * * * *= "ItMi_Rum_01.3ds";
* *material * * * *= MAT_GLAS; * * * * * * * * * * // стекло
* *on_state[0] * * = UseSchnellerHering; * * * * * // использовать
* *scemeName * * * = "POTIONFAST";
* *description * * = "Выглядит опасно!";
* *TEXT[1] * * * * = "Действие неизвестно"; * * * * * * * *
* *TEXT[2] * * * * = "Возможны побочные эффекты";
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= Value_SchnellerHering; * * * *// 30
};

// Использовать
func void UseSchnellerHering()
{
* *var C_NPC her;
* *// получить ссылку на ГГ
* *her = Hlp_GetNpc(PC_Hero);
* *// если ГГ
* *if(Hlp_GetInstanceID(self) == Hlp_GetInstanceID(her))
* *{
* * * *// ускорение на 2 минуты
* * * *Mdl_ApplyOverlayMDSTimed(self,"HUMANS_SPRINT.MDS" ,120000);
* *};
* *// ГГ узнал действие напитка
* *Player_KnowsSchnellerHering = TRUE;
}; *

//--------------------------------------
// Перечница
//--------------------------------------
INSTANCE ItFo_Addon_Pfeffer_01(C_Item)
{
* *name * * * * * *= "Перечница";
* *mainflag * * * *= ITEM_KAT_NONE; * * * * * * * *// прочее
* *flags * * * * * = ITEM_MULTI; * * * * * * * * * // складируемый
* *value * * * * * = 100; * * * * * * * * * * * * *// 100
* *visual * * * * *= "ItMi_Pocket.3ds";
* *material * * * *= MAT_LEATHER; * * * * * * * * *// кожа
* *description * * = "Красный слезный перец";
* *TEXT[0] * * * * = "из южных островов";
* *TEXT[1] * * * * = "";
* *TEXT[2] * * * * = "";
* *TEXT[3] * * * * = "VORSICHT SCHARF!"; * * * * * // (Примечание: не переведено)
* *TEXT[4] * * * * = "";
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= value; * * * * * * * * * * * *// 100
};

//--------------------------------------
// Feuergeschnetzeltes (не переведено)
//--------------------------------------
INSTANCE ItFo_Addon_FireStew (C_Item)
{ *
* *name * * * * * *= "Feuergeschnetzeltes";
* *mainflag * * * *= ITEM_KAT_FOOD; * * * * * * * *// продукт питания
* *flags * * * * * = ITEM_MULTI; * * * * * * * * * // складируемый
* *value * * * * * = Value_FireStew; * * * * * * * // 180
* *visual * * * * *= "ItFo_Stew.3ds";
* *material * * * *= MAT_WOOD; * * * * * * * * * * // дерево
* *scemeName * * * = "RICE";
* *on_state[0] * * = Use_FireStew; * * * * * * * * // использовать
* *description * * = name; * * * * * * * * * * * * // "Feuergeschnetzeltes"
* *TEXT[1] * * * * = NAME_Bonus_Str; * * * * * * * // "Прибавка к силе:"
* *COUNT[1] * * * *= STR_FireStew; * * * * * * * * // 1
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= Value_FireStew;
};

// Использовать
func void Use_FireStew()
{
* *// сила += 1
* *B_RaiseAttribute(self,ATR_STRENGTH,STR_FireStew);
* *// макс. жизнь += 5
* *Npc_ChangeAttribute(self,ATR_HITPOINTS_MAX,HP_Fir eStew);
* *// вывод на экран
* *PrintScreen("Увеличились сила и жизненная энергия!",-1,34,FONT_ScreenSmall,2);
};

//--------------------------------------
// Мясной суп
//--------------------------------------
INSTANCE ItFo_Addon_Meatsoup (C_Item)
{ *
* *name * * * * * *= "Мясной суп";
* *mainflag * * * *= ITEM_KAT_FOOD; * * * * * * * *// продукт питания
* *flags * * * * * = ITEM_MULTI; * * * * * * * * * // складируемый
* *value * * * * * = Value_FishSoup; * * * * * * * // 20
* *visual * * * * *= "ItFo_FishSoup.3ds";
* *material * * * *= MAT_WOOD; * * * * * * * * * * // дерево
* *scemeName * * * = "RICE";
* *on_state[0] * * = Use_MeatSoup; * * * * * * * * // использовать
* *description * * = "Дымящийся мясной суп";
* *TEXT[1] * * * * = NAME_Bonus_STR; * * * * * * * // "Прибавка к силе:"
* *COUNT[1] * * * *= STR_MeatSoup; * * * * * * * * // 1
* *TEXT[5] * * * * = NAME_Value; * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= Value_FishSoup; * * * * * * * // 20
};

// Использовать
func void Use_MeatSoup()
{
* *var string ConcatText;
* *// создать строку "Прибавка к силе:1"
* *ConcatText = ConcatStrings(NAME_Bonus_Str,IntToString(STR_MeatS oup));
* *// сила += 1
* *B_RaiseAttribute(self,ATR_STRENGTH,STR_MeatSoup);
* *// вывод на экран
* *PrintScreen(ConcatText,-1,34,FONT_ScreenSmall,2);
};

Ответить с цитированием
Старый 08.06.2005, 11:43   #192
Vam

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

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

* *6. Ключи аддона.

Файл IT_Addon_Keys.d

//*************************
// Ключи аддона
//*************************

//--------------------------------------
// Ключ от телепортала храма
//--------------------------------------
INSTANCE ITKE_PORTALTEMPELWALKTHROUGH_ADDON(C_Item)
{
* *name * * * * * * * *= * "Ключ";
* *mainflag * * * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * * * = * ITEM_MISSION;
* *value * * * * * * * = * Value_Key_01; * * * * * * * // 3
* *visual * * * * * * *= * "ItKe_Key_01.3ds";
* *material * * * * * *= * MAT_METAL; * * * * * * * * *// металл
* *description * * * * = * name; * * * * * * * * * * * // "Ключ"
* *TEXT[2] * * * * * * = * "Подходит к двери к";
* *TEXT[3] * * * * * * = * "телепортеру в храме портала";
* *TEXT[5] * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= * value; * * * * * * * * * * *// 3
};

//--------------------------------------
// Ключ от хибары Грега
//--------------------------------------
INSTANCE ITKE_Greg_ADDON_MIS(C_Item)
{
* *name * * * * * * * *= * NAME_Key; * * * * * * * * * // "Ключ"
* *mainflag * * * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * * * = * ITEM_MISSION;
* *value * * * * * * * = * Value_Key_01; * * * * * * * // 3
* *visual * * * * * * *= * "ItKe_Key_01.3ds";
* *material * * * * * *= * MAT_METAL; * * * * * * * * *// металл
* *description * * * * = * name; * * * * * * * * * * * // "Ключ"
* *TEXT[2] * * * * * * = * "Ключ к";
* *TEXT[3] * * * * * * = * "хибаре капитана";
* *TEXT[4] * * * * * * = * "Грег";
* *TEXT[5] * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= * value; * * * * * * * * * * *// 3
};

//--------------------------------------
// Ключ от пивной Лу
//--------------------------------------
INSTANCE ITKE_Addon_Tavern_01(C_Item)
{
* *name * * * * * * * *= * NAME_Key; * * * * * * * * * // "Ключ"
* *mainflag * * * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * * * = * ITEM_MISSION;
* *value * * * * * * * = * Value_Key_01; * * * * * * * // 3
* *visual * * * * * * *= * "ItKe_Key_02.3ds";
* *material * * * * * *= * MAT_METAL; * * * * * * * * *// металл
* *description * * * * = * "Ключ Лу";
* *TEXT[2] * * * * * * = * "Подходит к пивной";
* *TEXT[3] * * * * * * = * "в бандитском лагере";
* *TEXT[5] * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= * value; * * * * * * * * * * *// 3
};

//--------------------------------------
// Ключ от сундука Эстебана
//--------------------------------------
INSTANCE ITKE_Addon_Esteban_01(C_Item)
{
* *name * * * * * * * *= * NAME_Key; * * * * * * * * * // "Ключ"
* *mainflag * * * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * * * = * ITEM_MISSION;
* *value * * * * * * * = * Value_Key_01; * * * * * * * // 3
* *visual * * * * * * *= * "ItKe_Key_02.3ds";
* *material * * * * * *= * MAT_METAL; * * * * * * * * *// металл
* *description * * * * = * "Ключ Эстебана";
* *TEXT[2] * * * * * * = * "Подходит к сундуку";
* *TEXT[3] * * * * * * = * "в его тайнике";
* *TEXT[5] * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= * value; * * * * * * * * * * *// 3
};

//--------------------------------------
// Ключ Орлана от телепорта
//--------------------------------------
INSTANCE ITKE_ORLAN_TELEPORTSTATION(C_Item)
{
* *name * * * * * * * *= * NAME_Key; * * * * * * * * * // "Ключ"
* *mainflag * * * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * * * = * ITEM_MISSION;
* *value * * * * * * * = * Value_Key_01; * * * * * * * // 3
* *visual * * * * * * *= * "ItKe_Key_02.3ds";
* *material * * * * * *= * MAT_METAL; * * * * * * * * *// металл
* *description * * * * = * "Ключ Орлана";
* *TEXT[2] * * * * * * = * "Подходит к двери в пещеру";
* *TEXT[3] * * * * * * = * "южнее его таверны";
* *TEXT[5] * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= * value; * * * * * * * * * * *// 3
};

//--------------------------------------
// Ключ от Библиотеки Учёных
//--------------------------------------
INSTANCE ITKE_CANYONLIBRARY_HIERARCHY_BOOKS_ADDON(C_Item)
{
* *name * * * * * * * *= * NAME_Key; * * * * * * * * * // "Ключ"
* *mainflag * * * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * * * = * ITEM_MISSION;
* *value * * * * * * * = * Value_Key_01; * * * * * * * // 3
* *visual * * * * * * *= * "ItKe_Key_01.3ds";
* *material * * * * * *= * MAT_METAL; * * * * * * * * *// металл
* *description * * * * = * name; * * * * * * * * * * * // "Ключ"
* *TEXT[2] * * * * * * = * "был у шамана в лагере орков";
* *TEXT[3] * * * * * * = * "перед Библиотекой Ученых";
* *TEXT[5] * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= * value; * * * * * * * * * * *// 3
};

//--------------------------------------
// Ключ из Лагеря бандитов (от чего???)
//--------------------------------------
INSTANCE ITKE_ADDON_BUDDLER_01(C_Item)
{
* *name * * * * * * * *= * NAME_Key; * * * * * * * * * // "Ключ"
* *mainflag * * * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * * * = * ITEM_MISSION;
* *value * * * * * * * = * 0; * * * * * * * * * * * * *// 0
* *visual * * * * * * *= * "ItKe_Key_02.3ds";
* *material * * * * * *= * MAT_METAL; * * * * * * * * *// металл
* *description * * * * = * "Ключ";
* *TEXT[2] * * * * * * = * "Из лагеря бандитов";
* *TEXT[3] * * * * * * = * "";
* *TEXT[5] * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= * value; * * * * * * * * * * *// 0
};

//--------------------------------------
// Ключ Скиннера (от чего???)
//--------------------------------------
INSTANCE ITKE_ADDON_SKINNER(C_Item)
{
* *name * * * * * * * *= * NAME_Key; * * * * * * * * * // "Ключ"
* *mainflag * * * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * * * = * ITEM_MISSION;
* *value * * * * * * * = * 0; * * * * * * * * * * * * *// 0
* *visual * * * * * * *= * "ItKe_Key_02.3ds";
* *material * * * * * *= * MAT_METAL; * * * * * * * * *// металл
* *description * * * * = * "Ключ";
* *TEXT[2] * * * * * * = * "Ключ Скиннера";
* *TEXT[3] * * * * * * = * "";
* *TEXT[5] * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= * value; * * * * * * * * * * *// 0
};

//--------------------------------------
// Ключ Торуса от сундука
//--------------------------------------
INSTANCE ITKE_Addon_Thorus(C_Item)
{
* *name * * * * * * * *= * NAME_Key; * * * * * * * * * // "Ключ"
* *mainflag * * * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * * * = * ITEM_MISSION;
* *value * * * * * * * = * 0; * * * * * * * * * * * * *// 0
* *visual * * * * * * *= * "ItKe_Key_02.3ds";
* *material * * * * * *= * MAT_METAL; * * * * * * * * *// металл
* *description * * * * = * "Ключ Торуса";
* *TEXT[2] * * * * * * = * "Подходит к одному сундуку";
* *TEXT[3] * * * * * * = * "";
* *TEXT[5] * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= * value; * * * * * * * * * * *// 0
};


* *7. Напитки аддона.

Файл IT_Addon_Potions.d

//*************************
// Напитки аддона
//*************************

//--------------------------------------
// Напиток изменения духа (1)
//--------------------------------------
INSTANCE ItPo_Addon_Geist_01(C_Item)
{
* *name * * * * * *= * NAME_Trank; * * * * * * * * * * // "Напиток"
* *mainflag * * * *= * ITEM_KAT_POTIONS; * * * * * * * // напитки
* *flags * * * * * = * ITEM_MULTI; * * * * * * * * * * // складируемый
* *value * * * * * = * 300; * * * * * * * * * * * * * *// 300
* *visual * * * * *= * "ItPo_Perm_STR.3ds";
* *material * * * *= * MAT_GLAS; * * * * * * * * * * * // стекло
* *on_state[0] * * = * UseItPo_Geist_01; * * * * * * * // использовать
* *scemeName * * * = * "POTIONFAST";
* *wear * * * * * *= * WEAR_EFFECT;
* *effect * * * * *= * "SPELLFX_ITEMGLIMMER";
* *description * * = * "Напиток изменения духа";
* *TEXT[2] * * * * = * "Перед применением нужно СОХРАНИТЬСЯ!";
* *TEXT[3] * * * * = * "может повлиять на рассудок"; *
* *TEXT[4] * * * * = * "или убить";
* *TEXT[5] * * * * = * NAME_Value; * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= * Value_ManaEssenz; * * * * * * * // 25 (Примечание: стоимость не соответствует значению value)
};

func void UseItPo_Geist_01()
{
* *// жизнь -= 1000
* *self.attribute[ATR_HITPOINTS] = (self.attribute[ATR_HITPOINTS] - 1000);
};

//--------------------------------------
// Напиток изменения духа (2)
//--------------------------------------
INSTANCE ItPo_Addon_Geist_02(C_Item)
{
* *name * * * * * *= * NAME_Trank; * * * * * * * * * * // "Напиток"
* *mainflag * * * *= * ITEM_KAT_POTIONS; * * * * * * * // напитки
* *flags * * * * * = * ITEM_MULTI; * * * * * * * * * * // складируемый
* *value * * * * * = * 300; * * * * * * * * * * * * * *// 300
* *visual * * * * *= * "ItPo_Perm_STR.3ds";
* *material * * * *= * MAT_GLAS; * * * * * * * * * * * // стекло
* *on_state[0] * * = * UseItPo_Geist_02; * * * * * * * // использовать
* *scemeName * * * = * "POTIONFAST";
* *wear * * * * * *= * WEAR_EFFECT;
* *effect * * * * *= * "SPELLFX_ITEMGLIMMER";
* *description * * = * "Напиток изменения духа";
* *TEXT[2] * * * * = * "Перед применением нужно СОХРАНИТЬСЯ!";
* *TEXT[3] * * * * = * "может повлиять на рассудок"; *
* *TEXT[4] * * * * = * "или убить";
* *TEXT[5] * * * * = * NAME_Value; * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= * Value_ManaEssenz; * * * * * * * // 25 (Примечание: стоимость не соответствует значению value)
};

func void UseItPo_Geist_02()
{
* *// если ГГ
* *if(Npc_IsPlayer(self))
* *{
* * * *// получить экспу (50 * номер Главы * 5)
* * * *B_GivePlayerXP(XP_Ambient * 5);
* *};
};

//--------------------------------------
// Чистая жизненная энергия
//--------------------------------------
INSTANCE ItPo_Health_Addon_04(C_Item)
{
* *name * * * * * *= * NAME_Trank; * * * * * * * * * * // "Напиток"
* *mainflag * * * *= * ITEM_KAT_POTIONS; * * * * * * * // напитки
* *flags * * * * * = * ITEM_MULTI; * * * * * * * * * * // складируемый
* *value * * * * * = * Value_HpTrunk; * * * * * * * * *// 150
* *visual * * * * *= * "ItPo_Health_03.3ds";
* *material * * * *= * MAT_GLAS; * * * * * * * * * * * // стекло
* *on_state[0] * * = * UseItPo_Health_04; * * * * * * *// использовать
* *scemeName * * * = * "POTIONFAST";
* *wear * * * * * *= * WEAR_EFFECT;
* *effect * * * * *= * "SPELLFX_HEALTHPOTION";
* *description * * = * "Чистая жизненная энергия";
* *TEXT[2] * * * * = * "Полное восстановление";
* *TEXT[5] * * * * = * NAME_Value; * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= * Value_HpTrunk; * * * * * * * * *// 150
};

func void UseItPo_Health_04()
{
* *// текущая жизнь = макс. жизни
* *self.attribute[ATR_HITPOINTS] = *self.attribute[ATR_HITPOINTS_MAX];
};

//--------------------------------------
// Чистая мана
//--------------------------------------
INSTANCE ItPo_Mana_Addon_04(C_Item)
{
* *name * * * * * *= * NAME_Trank; * * * * * * * * * * // "Напиток"
* *mainflag * * * *= * ITEM_KAT_POTIONS; * * * * * * * // напитки
* *flags * * * * * = * ITEM_MULTI; * * * * * * * * * * // складируемый
* *value * * * * * = * Value_ManaTrunk; * * * * * * * *// 200
* *visual * * * * *= * "ItPo_Mana_03.3ds";
* *material * * * *= * MAT_GLAS; * * * * * * * * * * * // стекло
* *on_state[0] * * = * UseItPo_Mana_04; * * * * * * * *// использовать
* *scemeName * * * = * "POTIONFAST";
* *wear * * * * * *= * WEAR_EFFECT;
* *effect * * * * *= * "SPELLFX_MANAPOTION";
* *description * * = * "Чистая мана";
* *TEXT[2] * * * * = * "Полное восстановление маны";
* *TEXT[5] * * * * = * NAME_Value; * * * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= * Value_ManaTrunk; * * * * * * * *// 200
};

func void UseItPo_Mana_04()
{
* *// текущая мана = макс. мане
* *self.attribute[ATR_MANA] = self.attribute[ATR_MANA_MAX];
};

Ответить с цитированием
Старый 09.06.2005, 08:29   #193
Vam

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

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

* *8. Прочие предметы аддона.

Файл IT_Addon_Misk.d

//*************************
// Прочие предметы аддона
//*************************

// стоимость
const int Value_Goldnugget * * *= 18; * * * * * * * // Золотой слиток
const int Value_WhitePearl * * *= 120; * * * * * * *// Жемчужина
const int Value_Addon_Joint_01 *= 60; * * * * * * * // Зелёный послушник

//--------------------------------------
// Золотой слиток
//--------------------------------------
INSTANCE ItMi_GoldNugget_Addon(C_Item)
{
* *name * * * * * *= * "Золотой слиток";
* *mainflag * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * = * ITEM_MULTI;
* *value * * * * * = * Value_Goldnugget; * * * * * // 18
* *visual * * * * *= * "ItMi_GoldNugget_01.3ds";
* *material * * * *= * MAT_STONE; * * * * * * * * *// камень
* *description * * = * name; * * * * * * * * * * * // "Золотой слиток"
* *TEXT[5] * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= * value; * * * * * * * * * * *// 18
* *INV_ZBIAS * * * = * INVCAM_ENTF_MISC2_STANDARD;
* *
};

//--------------------------------------
// Жемчужина
//--------------------------------------
INSTANCE ItMi_Addon_WhitePearl (C_Item)
{
* *name * * * * * *= * "Жемчужина";
* *mainflag * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * = * ITEM_MULTI;
* *value * * * * * = * Value_WhitePearl; * * * * * // 120
* *visual * * * * *= * "ItMi_WhitePearl_01.3ds";
* *material * * * *= * MAT_STONE; * * * * * * * * *// камень;
* *description * * = * name; * * * * * * * * * * * // "Жемчужина"
* *TEXT[5] * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= * value; * * * * * * * * * * *// 120
* *INV_ZBIAS * * * = * INVCAM_ENTF_MISC_STANDARD;
};

//--------------------------------------
// Зеленый послушник
//--------------------------------------
INSTANCE ItMi_Addon_Joint_01(C_Item)
{
* *name * * * * * *= * "Зеленый послушник";
* *mainflag * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * = * ITEM_MULTI;
* *value * * * * * = * Value_Addon_Joint_01; * * * // 60
* *visual * * * * *= * "ItMi_Joint_US.3ds";
* *material * * * *= * MAT_LEATHER; * * * * * * * *// кожа
* *scemeName * * * = * "JOINT";
* *on_state[0] * * = * Use_Addon_Joint_01; * * * * // использовать
* *description * * = * name; * * * * * * * * * * * // "Зеленый послушник"
* *TEXT[5] * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= * value; * * * * * * * * * * *// 60
* *INV_ZBIAS * * * = * INVCAM_ENTF_RING_STANDARD;
};

// флаг первого примениения
var int FirstJoint;

// Использовать
func void Use_Addon_Joint_01()
{
* *// если ГГ
* *if(Npc_IsPlayer(self))
* *{
* * * *// если первое применение
* * * *if(FirstJoint == FALSE)
* * * *{
* * * * * *// установить флаг
* * * * * *FirstJoint = TRUE;
* * * * * *// експа += 5
* * * * * *B_GivePlayerXP(5);
* * * *};
* * * *// эффект обкуренности
* * * *Wld_PlayEffect("SLOW_TIME",self,self,0,0,0,FALSE) ;
* *};
};

//--------------------------------------
// Посылка Бельтрама
//--------------------------------------
INSTANCE ItMi_BaltramPaket(C_Item)
{
* *name * * * * * *= * "Посылка Бельтрама";
* *mainflag * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * = * ITEM_MISSION;
* *value * * * * * = * 200;
* *visual * * * * *= * "ItMi_Packet.3ds";
* *material * * * *= * *MAT_LEATHER; * * * * * * * // кожа
* *description * * = * name; * * * * * * * * * * * // "Посылка Бельтрама"
* *TEXT[2] * * * * = * "Тяжелый пакет";
* *TEXT[3] * * * * = * "полный хороших вещей";
* *TEXT[4] * * * * = * "от крестьянина Акила";
};

//--------------------------------------
// Пакет для Скипа
//--------------------------------------
INSTANCE ItMi_Packet_Baltram4Skip_Addon(C_Item)
{
* *name * * * * * *= * "Пакет для Скипа";
* *mainflag * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * = * ITEM_MISSION;
* *value * * * * * = * 200;
* *visual * * * * *= * "ItMi_Packet.3ds";
* *material * * * *= * *MAT_LEATHER; * * * * * * * // кожа
* *description * * = * name; * * * * * * * * * * * // "Пакет для Скипа";
* *TEXT[2] * * * * = * "Этот тяжелый пакет";
* *TEXT[3] * * * * = * "полный хороших вещей";
* *TEXT[4] * * * * = * "предназначен для пирата Скипа";
};

//--------------------------------------
// Золотая ваза Бромора
//--------------------------------------
INSTANCE ItMi_BromorsGeld_Addon(C_Item)
{
* *name * * * * * *= * "Золотая ваза Бромора";
* *mainflag * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * = * ITEM_MULTI ¦ ITEM_MISSION;
* *value * * * * * = * Value_Nugget; * * * * * * * // 200
* *visual * * * * *= * "ItMi_GoldChalice.3DS";
* *material * * * *= * MAT_METAL; * * * * * * * * *// металл
* *description * * = * name; * * * * * * * * * * * // "Золотая ваза Бромора"
* *TEXT[2] * * * * = * "Имя 'Бромор' нацарапано";
* *TEXT[3] * * * * = * "острым предметом";
* *TEXT[4] * * * * = * "на дне вазы";
* *TEXT[5] * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= * value; * * * * * * * * * * *// 200
};

//--------------------------------------
// Кожаный кошелек Кавалорна
//--------------------------------------
INSTANCE ItSe_ADDON_CavalornsBeutel(C_Item)
{
* *name * * * * * *= * "Кожаный кошелек Кавалорна";
* *mainflag * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * = * ITEM_MULTI ¦ ITEM_MISSION;
* *value * * * * * = * Value_Nugget; * * * * * * * // 200
* *visual * * * * *= * "ItMi_Pocket.3ds";
* *scemename * * * = * "MAPSEALED"; * *
* *material * * * *= * MAT_LEATHER; * * * * * * * *// кожа
* *on_state[0] * * = * Use_CavalornsBeutel; * * * *// использовать
* *description * * = * name; * * * * * * * * * * * // "Кожаный кошелек Кавалорна"
* *TEXT[0] * * * * = * "";
* *TEXT[1] * * * * = * "На узле висит табличка";
* *TEXT[2] * * * * = * "с именем 'Кавалорн'";
* *TEXT[3] * * * * = * "в нем находится 1 слиток руды";
* *TEXT[4] * * * * = * "";
* *TEXT[5] * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= * value; * * * * * * * * * * *// 200
};

// Использовать
func void Use_CavalornsBeutel()
{
* *// получить слиток руды
* *CreateInvItems(hero,ItMi_Nugget,1);
* *// вывод на экран "Глыба руды найдена"
* *Print(PRINT_FoundOreNugget);
* *// кошелек Ковалорна открыт
* *SC_OpenedCavalornsBeutel = TRUE;
* *// создать в журнале миссию "Старая хибара Кавалорна"
* *Log_CreateTopic(TOPIC_Addon_CavalornTheHut,LOG_MI SSION);
* *// установить статус миссии - выполняется
* *Log_SetTopicStatus(TOPIC_Addon_CavalornTheHut,LOG _RUNNING);
* *// сделать запись в журнале
* *B_LogEntry(TOPIC_Addon_CavalornTheHut,"У хижины Кавалорна в рудной долине я нашел кошелек со слитком руды. Кавалорн, старый разбойник, наверняка забыл его там.");
};

//--------------------------------------
// Череп
//--------------------------------------
instance ItMi_Skull(C_Item)
{
* *name * * * * * *= * "Череп";
* *mainflag * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * = * ITEM_MISSION;
* *value * * * * * = * 10;
* *visual * * * * *= * "DT_SKELETON_V01_HEAD.3ds";
* *material * * * *= * MAT_LEATHER; * * * * * * * *// кожа
* *description * * = * name; * * * * * * * * * * * // "Череп"
};

//************************************************** **********************
// Музыкальные инструменты InExtremo
//--------------------------------------
// Виолончель
//--------------------------------------
INSTANCE ItMi_IECello(C_Item)
{
* *name * * * * * *= * "Виолончель";
* *mainflag * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * = * ITEM_MULTI;
* *value * * * * * = * 1;
* *visual * * * * *= * "Itmi_IE_Cello.3ds";
* *material * * * *= * MAT_WOOD; * * * * * * * * * // дерево
* *scemeName * * * = * "CELLO";
* *on_state[0] * * = * Use_Cello; * * * * * * * * *// использовать
* *description * * = * name; * * * * * * * * * * * // "Виолончель"
};

// Использовать
func void Use_Cello()
{
};

//--------------------------------------
// CelloBow (не переведено)
//--------------------------------------
INSTANCE ItMi_IECelloBow(C_Item)
{
* *name * * * * * *= * "CelloBow";
* *mainflag * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * = * ITEM_MULTI;
* *value * * * * * = * 1;
* *visual * * * * *= * "Itmi_IE_CelloBow.3ds";
* *material * * * *= * MAT_WOOD; * * * * * * * * * // дерево
* *description * * = * name; * * * * * * * * * * * // "CelloBow"
};

//--------------------------------------
// Drum (не переведено)
//--------------------------------------
INSTANCE ItMi_IEDrum(C_Item)
{
* *name * * * * * *= * "Drum";
* *mainflag * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * = * ITEM_MULTI;
* *value * * * * * = * 1;
* *visual * * * * *= * "Itmi_IE_Drum.3ds";
* *material * * * *= * MAT_WOOD; * * * * * * * * * // дерево
* *scemeName * * * = * "PAUKE";
* *on_state[0] * * = * Use_Drum; * * * * * * * * * // использовать
* *description * * = * name; * * * * * * * * * * * // "Drum"
};

// Использовать
func void Use_Drum()
{
};

//--------------------------------------
// Drumscheit (не переведено)
//--------------------------------------
INSTANCE ItMi_IEDrumScheit(C_Item)
{
* *name * * * * * *= * "Drumscheit";
* *mainflag * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * = * ITEM_MULTI;
* *value * * * * * = * 1;
* *visual * * * * *= * "Itmi_IE_Drumscheit.3ds";
* *material * * * *= * MAT_WOOD; * * * * * * * * * // дерево
* *scemeName * * * = * "DRUMSCHEIT";
* *on_state[0] * * = * Use_Drumscheit; * * * * * * // использовать
* *description * * = * name; * * * * * * * * * * * // "Drumscheit"
};

// Использовать
func void Use_Drumscheit()
{
};

//--------------------------------------
// DrumStick (не переведено)
//--------------------------------------
INSTANCE ItMi_IEDrumStick(C_Item)
{
* *name * * * * * *= * "DrumStick";
* *mainflag * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * = * ITEM_MULTI;
* *value * * * * * = * 1;
* *visual * * * * *= * "Itmi_IE_DrumStick.3ds";
* *material * * * *= * MAT_WOOD; * * * * * * * * * // дерево
* *description * * = * name; * * * * * * * * * * * // "DrumStick"
};

//--------------------------------------
// Голубая волынка
//--------------------------------------
INSTANCE ItMi_IEDudelBlau(C_Item)
{
* *name * * * * * *= * "Голубая волынка";
* *mainflag * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * = * ITEM_MULTI;
* *value * * * * * = * 1;
* *visual * * * * *= * "Itmi_IE_DudelBlau.3ds";
* *material * * * *= * MAT_WOOD; * * * * * * * * * // дерево
* *scemeName * * * = * "DUDEL";
* *on_state[0] * * = * Use_Dudel; * * * * * * * * *// использовать
* *description * * = * name; * * * * * * * * * * * // "Голубая волынка"
};

// Использовать
func void Use_Dudel()
{
};

//--------------------------------------
// Желтая волынка
//--------------------------------------
INSTANCE ItMi_IEDudelGelb(C_Item)
{
* *name * * * * * *= * "Желтая волынка";
* *mainflag * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * = * ITEM_MULTI;
* *value * * * * * = * 1;
* *visual * * * * *= * "Itmi_IE_DudelGelb.3ds";
* *material * * * *= * MAT_WOOD; * * * * * * * * * // дерево
* *scemeName * * * = * "DUDEL";
* *on_state[0] * * = * Use_Dudel; * * * * * * * * *// использовать
* *description * * = * name; * * * * * * * * * * * // "Желтая волынка"
};

//--------------------------------------
// Арфа
//--------------------------------------
INSTANCE ItMi_IEHarfe(C_Item)
{
* *name * * * * * *= * "Арфа";
* *mainflag * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * = * ITEM_MULTI;
* *value * * * * * = * 1;
* *visual * * * * *= * "Itmi_IE_Harfe.3ds";
* *material * * * *= * MAT_WOOD; * * * * * * * * * // дерево
* *scemeName * * * = * "HARFE";
* *on_state[0] * * = * Use_Harfe; * * * * * * * * *// использовать
* *description * * = * name; * * * * * * * * * * * // "Арфа"
};

// Использовать
func void Use_Harfe()
{
};

//--------------------------------------
// Лютня
//--------------------------------------
INSTANCE ItMi_IELaute(C_Item)
{
* *name * * * * * *= * "Лютня";
* *mainflag * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * = * ITEM_MULTI;
* *value * * * * * = * 1;
* *visual * * * * *= * "Itmi_IE_Laute.3ds";
* *material * * * *= * MAT_WOOD; * * * * * * * * * // дерево
* *scemeName * * * = * "IELAUTE";
* *on_state[0] * * = * Use_Laute; * * * * * * * * *// использовать
* *description * * = * name; * * * * * * * * * * * // "Лютня"
};

// Использовать
func void Use_Laute()
{
};
//************************************************** **********************

//--------------------------------------
// Звенящий пакет
//--------------------------------------
INSTANCE ItMi_Addon_Lennar_Paket(C_Item)
{
* *name * * * * * *= * "Звенящий пакет";
* *mainflag * * * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * * * = * ITEM_MISSION;
* *value * * * * * = * 300; * * * * * * * * * * * *// 300
* *visual * * * * *= * "ItMi_Packet.3ds";
* *scemename * * * = * "MAPSEALED"; * *
* *on_state[0] * * = * Use_LennarPaket; * * * * * *// использовать
* *material * * * *= * MAT_LEATHER; * * * * * * * *// кожа
* *description * * = * name; * * * * * * * * * * * // "Звенящий пакет"
* *TEXT[2] * * * * = * "внутри находятся отмычки";
* *TEXT[3] * * * * = * "";
* *TEXT[4] * * * * = * "Много отмычек";
* *TEXT[5] * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * *= * value; * * * * * * * * * * *// 300
};

// Использовать
func void Use_LennarPaket()
{
* *// получить 12 отмычек
* *B_PlayerFindItem(ItKE_lockpick,Lennar_picklock_am ount);
* *Snd_Play("Geldbeutel");
* *// пакет Ленара открыт
* *LennarPaket_Open = TRUE;
};
* *
//--------------------------------------
// Черная руда
//--------------------------------------
instance ItMi_Zeitspalt_Addon(C_Item)
{
* *name * * * * * *= * "Черная руда";
* *mainflag * * * *= * ITEM_KAT_POTIONS; * * * * * * * // напитки
* *flags * * * * * = * ITEM_MULTI;
* *value * * * * * = * 0;
* *visual * * * * *= * "ItMi_Zeitspalt_Addon.3DS";
* *scemename * * * = * "MAPSEALED"; * *
* *on_state[0] * * = * Use_Zeitspalt_Addon; * * * * * *// использовать
* *material * * * *= * MAT_STONE; * * * * * * * * * * *// камень
* *wear * * * * * *= * WEAR_EFFECT;
* *effect * * * * *= * "SPELLFX_WEAKGLIMMER";
* *description * * = * name; * * * * * * * * * * * * * // Черная руда
* *TEXT[3] * * * * = * "Действие неизвестно";
* *INV_ZBIAS * * * = * INVCAM_ENTF_MISC_STANDARD;
};

// Использовать
func void Use_Zeitspalt_Addon()
{
* *// если ГГ
* *if(Npc_IsPlayer(self))
* *{
* * * *Wld_PlayEffect("spellFX_BELIARSRAGE",self,self,0, 0,0,FALSE);
* * * *// выключить эффект замедления времени
* * * *Wld_StopEffect("SLOW_MOTION");
* * * *// включить эффект замедления времени
* * * *Wld_PlayEffect("SLOW_MOTION",self,self,0,0,0,FALS E);
* *};
};

Ответить с цитированием
Старый 10.06.2005, 16:06   #194
Vam

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

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

* *9. Руны аддона.

Файл IT_Addon_Runes.d

//*************************
// Руны аддона
//*************************

// стоимость
const int Value_Ru_Icelance * * * * = 1000; * * * * * * // Ледяное копье
const int Value_Ru_Whirlwind * * * *= 1000; * * * * * * // Смерч
const int Value_Ru_Thunderstorm * * = 1500; * * * * * * // Шторм
const int Value_Ru_Geyser * * * * * = 1500; * * * * * * // Гейзер
const int Value_Ru_Waterfist * * * *= 2000; * * * * * * // Кулак воды
const int Value_Ru_Greententacle * *= 2500; * * * * * * // Зеленые щупальца
const int Value_Ru_Swarm * * * * * *= 1500; * * * * * * // Рой
const int Value_Ru_Energyball * * * = 3500; * * * * * * // Ярость Белиара
const int Value_Ru_SuckEnergy * * * = 3500; * * * * * * // Украсть энергию
const int Value_Ru_Skull * * * * * *= 2000; * * * * * * // Крик мертвых
const int Value_Ru_SummonGuardian * = 2000; * * * * * * // Создать стража
const int Value_Ru_SummonZombie * * = 2000; * * * * * * // Создать зомби
const int Value_Ru_Beliar * * * * * = 100; * * * * * * *// (не используется)
const int Value_Ru_Water * * * * * *= 200; * * * * * * *// (не используется)

//--------------------------------------
// Шторм
//--------------------------------------
INSTANCE ItRu_Thunderstorm(C_Item)
{
* *name * * * * * * * *= * NAME_Rune; * * * * * * * * *// "Руна"
* *mainflag * * * * * *= * ITEM_KAT_RUNE; * * * * * * *// руны
* *flags * * * * * * * = * 0;
* *value * * * * * * * = * Value_Ru_Thunderstorm; * * *// 1500
* *visual * * * * * * *= * "ItRu_Water05.3DS";
* *material * * * * * *= * MAT_STONE; * * * * * * * * *// камень
* *spell * * * * * * * = * SPL_Thunderstorm; * * * * * // заклинание Шторм
* *mag_circle * * * * *= * 3;
* *wear * * * * * * * *= * WEAR_EFFECT;
* *effect * * * * * * *= * "SPELLFX_WEAKGLIMMER_BLUE";
* *description * * * * = * NAME_SPL_Thunderstorm; * * *// "Шторм"
* *TEXT * *[0] * * * * = * NAME_Mag_Circle; * * * * * *// "Круг:"
* *COUNT * [0] * * * * = * mag_circle; * * * * * * * * // 3
* *TEXT * *[1] * * * * = * NAME_Manakosten; * * * * * *// "Стоимость маны:"
* *COUNT * [1] * * * * = * SPL_Cost_Thunderstorm; * * *// 100
* *TEXT * *[2] * * * * = * NAME_Damage; * * * * * * * *// "Повреждение:"
* *COUNT * [2] * * * * = * SPL_DAMAGE_Thunderstorm; * *// 250
* *TEXT * *[5] * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT * [5] * * * * = * value; * * * * * * * * * * *// 1500
};

//--------------------------------------
// Смерч
//--------------------------------------
INSTANCE ItRu_Whirlwind(C_Item)
{
* *name * * * * * * * *= * NAME_Rune; * * * * * * * * *// "Руна"
* *mainflag * * * * * *= * ITEM_KAT_RUNE; * * * * * * *// руны
* *flags * * * * * * * = * 0;
* *value * * * * * * * = * Value_Ru_Whirlwind; * * * * // 1000
* *visual * * * * * * *= * "ItRu_Water02.3DS";
* *material * * * * * *= * MAT_STONE; * * * * * * * * *// камень
* *spell * * * * * * * = * SPL_Whirlwind; * * * * * * *// заклинание Смерч
* *mag_circle * * * * *= * 2;
* *wear * * * * * * * *= * WEAR_EFFECT;
* *effect * * * * * * *= * "SPELLFX_WEAKGLIMMER_BLUE";
* *description * * * * = * NAME_SPL_Whirlwind; * * * * // "Смерч"
* *TEXT * *[0] * * * * = * NAME_Mag_Circle; * * * * * *// "Круг:"
* *COUNT * [0] * * * * = * mag_circle; * * * * * * * * // 2
* *TEXT * *[1] * * * * = * NAME_Manakosten; * * * * * *// "Стоимость маны:"
* *COUNT * [1] * * * * = * SPL_Cost_Whirlwind; * * * * // 30
* *TEXT * *[2] * * * * = * NAME_Sec_Duration; * * * * *// "Длительность (секунды):"
* *COUNT * [2] * * * * = * SPL_TIME_WHIRLWIND; * * * * // 10
* *TEXT * *[5] * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT * [5] * * * * = * value; * * * * * * * * * * *// 1000
};

//--------------------------------------
// Гейзер
//--------------------------------------
INSTANCE ItRu_Geyser(C_Item)
{
* *name * * * * * * * *= * NAME_Rune; * * * * * * * * *// "Руна"
* *mainflag * * * * * *= * ITEM_KAT_RUNE; * * * * * * *// руны
* *flags * * * * * * * = * 0;
* *value * * * * * * * = * Value_Ru_Geyser; * * * * * *// 1500
* *visual * * * * * * *= * "ItRu_Water01.3DS";
* *material * * * * * *= * MAT_STONE; * * * * * * * * *// камень
* *spell * * * * * * * = * SPL_Geyser; * * * * * * * * // заклинание Гейзер
* *mag_circle * * * * *= * 3;
* *wear * * * * * * * *= * WEAR_EFFECT;
* *effect * * * * * * *= * "SPELLFX_WEAKGLIMMER_BLUE";
* *description * * * * = * NAME_SPL_Geyser; * * * * * *// "Гейзер"
* *TEXT * *[0] * * * * = * NAME_Mag_Circle; * * * * * *// "Круг:"
* *COUNT * [0] * * * * = * mag_circle; * * * * * * * * // 3
* *TEXT * *[1] * * * * = * NAME_Manakosten; * * * * * *// "Стоимость маны:"
* *COUNT * [1] * * * * = * SPL_Cost_Geyser; * * * * * *// 75
* *TEXT * *[2] * * * * = * NAME_Damage; * * * * * * * *// "Повреждение:"
* *COUNT * [2] * * * * = * SPL_DAMAGE_Geyser; * * * * *// 150
* *TEXT * *[5] * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT * [5] * * * * = * value; * * * * * * * * * * *// 1500
};

//--------------------------------------
// Кулак воды
//--------------------------------------
INSTANCE ItRu_Waterfist(C_Item)
{
* *name * * * * * * * *= * NAME_Rune; * * * * * * * * *// "Руна"
* *mainflag * * * * * *= * ITEM_KAT_RUNE; * * * * * * *// руны
* *flags * * * * * * * = * 0;
* *value * * * * * * * = * Value_Ru_Waterfist; * * * * // 2000
* *visual * * * * * * *= * "ItRu_Water03.3DS";
* *material * * * * * *= * MAT_STONE; * * * * * * * * *// камень
* *spell * * * * * * * = * SPL_Waterfist; * * * * * * *// заклинание Кулак воды
* *mag_circle * * * * *= * 4;
* *wear * * * * * * * *= * WEAR_EFFECT;
* *effect * * * * * * *= * "SPELLFX_WEAKGLIMMER_BLUE";
* *description * * * * = * NAME_SPL_Waterfist; * * * * // "Кулак воды"
* *TEXT * *[0] * * * * = * NAME_Mag_Circle; * * * * * *// "Круг:"
* *COUNT * [0] * * * * = * mag_circle; * * * * * * * * // 4
* *TEXT * *[1] * * * * = * NAME_Manakosten; * * * * * *// "Стоимость маны:"
* *COUNT * [1] * * * * = * SPL_Cost_Waterfist; * * * * // 25
* *TEXT * *[2] * * * * = * NAME_Damage; * * * * * * * *// "Повреждение:"
* *COUNT * [2] * * * * = * SPL_DAMAGE_Waterfist; * * * // 125
* *TEXT * *[5] * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT * [5] * * * * = * value; * * * * * * * * * * *// 2000
};

//--------------------------------------
// Ледяное копье
//--------------------------------------
INSTANCE ItRu_Icelance(C_Item)
{
* *name * * * * * * * *= * NAME_Rune; * * * * * * * * *// "Руна"
* *mainflag * * * * * *= * ITEM_KAT_RUNE; * * * * * * *// руны
* *flags * * * * * * * = * 0;
* *value * * * * * * * = * Value_Ru_Icelance; * * * * *// 1000
* *visual * * * * * * *= * "ItRu_Water04.3DS";
* *material * * * * * *= * MAT_STONE; * * * * * * * * *// камень
* *spell * * * * * * * = * SPL_Icelance; * * * * * * * // заклинание Ледяное копье
* *mag_circle * * * * *= * 2;
* *wear * * * * * * * *= * WEAR_EFFECT;
* *effect * * * * * * *= * "SPELLFX_WEAKGLIMMER_BLUE";
* *description * * * * = * NAME_SPL_Icelance; * * * * *// "Ледяное копье"
* *TEXT * *[0] * * * * = * NAME_Mag_Circle; * * * * * *// "Круг:"
* *COUNT * [0] * * * * = * mag_circle; * * * * * * * * // 2
* *TEXT * *[1] * * * * = * NAME_Manakosten; * * * * * *// "Стоимость маны:"
* *COUNT * [1] * * * * = * SPL_Cost_Icelance; * * * * *// 20
* *TEXT * *[2] * * * * = * NAME_Damage; * * * * * * * *// "Повреждение:"
* *COUNT * [2] * * * * = * SPL_DAMAGE_Icelance; * * * *// 100
* *TEXT * *[5] * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT * [5] * * * * = * value; * * * * * * * * * * *// 1000
};

//--------------------------------------
// Ярость Белиара
//--------------------------------------
INSTANCE ItRu_BeliarsRage(C_Item)
{
* *name * * * * * * * *= * NAME_Rune; * * * * * * * * *// "Руна"
* *mainflag * * * * * *= * ITEM_KAT_RUNE; * * * * * * *// руны
* *flags * * * * * * * = * 0;
* *value * * * * * * * = * Value_Ru_Energyball; * * * *// 3500
* *visual * * * * * * *= * "ItRu_Beliar04.3DS";
* *material * * * * * *= * MAT_STONE; * * * * * * * * *// камень
* *spell * * * * * * * = * SPL_Energyball; * * * * * * // заклинание Шар энергии
* *mag_circle * * * * *= * 3;
* *wear * * * * * * * *= * WEAR_EFFECT;
* *effect * * * * * * *= * "SPELLFX_WEAKGLIMMER_RED";
* *description * * * * = * NAME_SPL_BeliarsRage; * * * // "Ярость Белиара"
* *TEXT * *[0] * * * * = * NAME_Mag_Circle; * * * * * *// "Круг:"
* *COUNT * [0] * * * * = * mag_circle; * * * * * * * * // 3
* *TEXT * *[1] * * * * = * NAME_Manakosten; * * * * * *// "Стоимость маны:"
* *COUNT * [1] * * * * = * SPL_Cost_Energyball; * * * *// 100
* *TEXT * *[2] * * * * = * NAME_Damage; * * * * * * * *// "Повреждение:"
* *COUNT * [2] * * * * = * SPL_DAMAGE_Energyball; * * *// 200
* *TEXT * *[5] * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT * [5] * * * * = * value; * * * * * * * * * * *// 3500
};

//--------------------------------------
// Украсть энергию
//--------------------------------------
INSTANCE ItRu_SuckEnergy(C_Item)
{
* *name * * * * * * * *= * NAME_Rune; * * * * * * * * *// "Руна"
* *mainflag * * * * * *= * ITEM_KAT_RUNE; * * * * * * *// руны
* *flags * * * * * * * = * 0;
* *value * * * * * * * = * Value_Ru_SuckEnergy; * * * *// 3500
* *visual * * * * * * *= * "ItRu_Beliar01.3DS";
* *material * * * * * *= * MAT_STONE; * * * * * * * * *// камень
* *spell * * * * * * * = * SPL_SuckEnergy; * * * * * * // заклинание Украсть энергию
* *mag_circle * * * * *= * 2;
* *wear * * * * * * * *= * WEAR_EFFECT;
* *effect * * * * * * *= * "SPELLFX_WEAKGLIMMER_RED";
* *description * * * * = * NAME_SPL_SuckEnergy; * * * *// "Украсть энергию"
* *TEXT * *[0] * * * * = * NAME_Mag_Circle; * * * * * *// "Круг:"
* *COUNT * [0] * * * * = * mag_circle; * * * * * * * * // 2
* *TEXT * *[1] * * * * = * NAME_Manakosten; * * * * * *// "Стоимость маны:"
* *COUNT * [1] * * * * = * SPL_Cost_SuckEnergy; * * * *// 30
* *TEXT * *[2] * * * * = * NAME_Damage; * * * * * * * *// "Повреждение:"
* *COUNT * [2] * * * * = * SPL_SuckEnergy_Damage; * * *// 100
* *TEXT * *[3] * * * * = * NAME_Sec_Duration; * * * * *// "Длительность (секунды):"
* *COUNT * [3] * * * * = * SPL_TIME_SuckEnergy; * * * *// 9
* *TEXT * *[5] * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT * [5] * * * * = * value; * * * * * * * * * * *// 3500
};

//--------------------------------------
// Зеленые щупальца
//--------------------------------------
INSTANCE ItRu_GreenTentacle(C_Item)
{
* *name * * * * * * * *= * NAME_Rune; * * * * * * * * *// "Руна"
* *mainflag * * * * * *= * ITEM_KAT_RUNE; * * * * * * *// руны
* *flags * * * * * * * = * 0;
* *value * * * * * * * = * Value_Ru_Greententacle; * * // 2500
* *visual * * * * * * *= * "ItRu_Beliar03.3DS";
* *material * * * * * *= * MAT_STONE; * * * * * * * * *// камень
* *spell * * * * * * * = * SPL_Greententacle; * * * * *// заклинание Зеленые щупальца
* *mag_circle * * * * *= * 1;
* *wear * * * * * * * *= * WEAR_EFFECT;
* *effect * * * * * * *= * "SPELLFX_WEAKGLIMMER_RED";
* *description * * * * = * NAME_SPL_GreenTentacle; * * // "Зеленые щупальца"
* *TEXT * *[0] * * * * = * NAME_Mag_Circle; * * * * * *// "Круг:"
* *COUNT * [0] * * * * = * mag_circle; * * * * * * * * // 1
* *TEXT * *[1] * * * * = * NAME_Manakosten; * * * * * *// "Стоимость маны:"
* *COUNT * [1] * * * * = * SPL_Cost_Greententacle; * * // 50
* *TEXT * *[2] * * * * = * NAME_Sec_Duration; * * * * *// "Длительность (секунды):"
* *COUNT * [2] * * * * = * SPL_TIME_Greententacle; * * // 20
* *TEXT * *[5] * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT * [5] * * * * = * value; * * * * * * * * * * *// 2500
};

//--------------------------------------
// Рой
//--------------------------------------
INSTANCE ItRu_Swarm(C_Item)
{
* *name * * * * * * * *= * NAME_Rune; * * * * * * * * *// "Руна"
* *mainflag * * * * * *= * ITEM_KAT_RUNE; * * * * * * *// руны
* *flags * * * * * * * = * 0;
* *value * * * * * * * = * Value_Ru_Swarm; * * * * * * // 1500
* *visual * * * * * * *= * "ItRu_Beliar02.3DS";
* *material * * * * * *= * MAT_STONE; * * * * * * * * *// камень
* *spell * * * * * * * = * SPL_Swarm; * * * * * * * * *// заклинание Рой
* *mag_circle * * * * *= * 4;
* *wear * * * * * * * *= * WEAR_EFFECT;
* *effect * * * * * * *= * "SPELLFX_WEAKGLIMMER_RED";
* *description * * * * = * NAME_SPL_Swarm; * * * * * * // "Рой"
* *TEXT * *[0] * * * * = * NAME_Mag_Circle; * * * * * *// "Круг:"
* *COUNT * [0] * * * * = * mag_circle; * * * * * * * * // 4
* *TEXT * *[1] * * * * = * NAME_Manakosten; * * * * * *// "Стоимость маны:"
* *COUNT * [1] * * * * = * SPL_Cost_Swarm; * * * * * * // 20
* *TEXT * *[2] * * * * = * NAME_Damage; * * * * * * * *// "Повреждение:"
* *COUNT * [2] * * * * = * SPL_Swarm_Damage; * * * * * // 80
* *TEXT * *[3] * * * * = * NAME_Sec_Duration; * * * * *// "Длительность (секунды):"
* *COUNT * [3] * * * * = * SPL_TIME_Swarm; * * * * * * // 6
* *TEXT * *[5] * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT * [5] * * * * = * value; * * * * * * * * * * *// 1500
};

//--------------------------------------
// Крик мертвых
//--------------------------------------
INSTANCE ItRu_Skull(C_Item)
{
* *name * * * * * * * *= * NAME_Rune; * * * * * * * * *// "Руна"
* *mainflag * * * * * *= * ITEM_KAT_RUNE; * * * * * * *// руны
* *flags * * * * * * * = * 0;
* *value * * * * * * * = * Value_Ru_Skull; * * * * * * // 2000
* *visual * * * * * * *= * "ItRu_Beliar05.3DS";
* *material * * * * * *= * MAT_STONE; * * * * * * * * *// камень
* *spell * * * * * * * = * SPL_Skull; * * * * * * * * *// заклинание Крик мертвых
* *mag_circle * * * * *= * 5;
* *wear * * * * * * * *= * WEAR_EFFECT;
* *effect * * * * * * *= * "SPELLFX_WEAKGLIMMER_RED";
* *description * * * * = * NAME_SPL_Skull; * * * * * * // "Крик мертвых"
* *TEXT * *[0] * * * * = * NAME_Mag_Circle; * * * * * *// "Круг:"
* *COUNT * [0] * * * * = * mag_circle; * * * * * * * * // 5
* *TEXT * *[1] * * * * = * NAME_MinManakosten; * * * * // "Стоимость маны (мин):"
* *COUNT * [1] * * * * = * SPL_Cost_Skull; * * * * * * // 250
* *TEXT * *[2] * * * * = * NAME_Addon_NeedsAllMana; * *// "Потребляет всю ману."
* *TEXT * *[4] * * * * = * NAME_Damage; * * * * * * * *// "Повреждение:"
* *COUNT * [4] * * * * = * SPL_Damage_Skull; * * * * * // 666
* *TEXT * *[5] * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT * [5] * * * * = * value; * * * * * * * * * * *// 2000
};

//--------------------------------------
// Создать зомби
//--------------------------------------
INSTANCE ItRu_SummonZombie(C_Item)
{
* *name * * * * * * * *= * NAME_Rune; * * * * * * * * *// "Руна"
* *mainflag * * * * * *= * ITEM_KAT_RUNE; * * * * * * *// руны
* *flags * * * * * * * = * 0;
* *value * * * * * * * = * Value_Ru_SummonZombie; * * *// 2000
* *visual * * * * * * *= * "ItRu_Beliar07.3DS";
* *material * * * * * *= * MAT_STONE; * * * * * * * * *// камень
* *spell * * * * * * * = * SPL_SummonZombie; * * * * * // заклинание Создать зомби
* *mag_circle * * * * *= * 4;
* *wear * * * * * * * *= * WEAR_EFFECT;
* *effect * * * * * * *= * "SPELLFX_WEAKGLIMMER_RED";
* *description * * * * = * NAME_SPL_SummonZombie; * * *// "Создать зомби"
* *TEXT * *[0] * * * * = * NAME_Mag_Circle; * * * * * *// "Круг:"
* *COUNT * [0] * * * * = * mag_circle; * * * * * * * * // 4
* *TEXT * *[1] * * * * = * NAME_Manakosten; * * * * * *// "Стоимость маны:"
* *COUNT * [1] * * * * = * SPL_Cost_SummonZombie; * * *// 80
* *TEXT * *[5] * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT * [5] * * * * = * value; * * * * * * * * * * *// 2000
};

//--------------------------------------
// Создать стража
//--------------------------------------
INSTANCE ItRu_SummonGuardian(C_Item)
{
* *name * * * * * * * *= * NAME_Rune; * * * * * * * * *// "Руна"
* *mainflag * * * * * *= * ITEM_KAT_RUNE; * * * * * * *// руны
* *flags * * * * * * * = * 0;
* *value * * * * * * * = * Value_Ru_SummonGuardian; * *// 2000
* *visual * * * * * * *= * "ItRu_Beliar06.3DS";
* *material * * * * * *= * MAT_STONE; * * * * * * * * *// камень
* *spell * * * * * * * = * SPL_SummonGuardian; * * * * // заклинание Создать стража
* *mag_circle * * * * *= * 3;
* *wear * * * * * * * *= * WEAR_EFFECT;
* *effect * * * * * * *= * "SPELLFX_WEAKGLIMMER_RED";
* *description * * * * = * NAME_SPL_SummonGuardian; * *// "Создать стража"
* *TEXT * *[0] * * * * = * NAME_Mag_Circle; * * * * * *// "Круг:"
* *COUNT * [0] * * * * = * mag_circle; * * * * * * * * // 3
* *TEXT * *[1] * * * * = * NAME_Manakosten; * * * * * *// "Стоимость маны:"
* *COUNT * [1] * * * * = * SPL_Cost_SummonGuardian; * *// 60
* *TEXT * *[5] * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT * [5] * * * * = * value; * * * * * * * * * * *// 2000
};


* *10. Свитки заклинаний аддона.

Файл IT_Addon_Scrolls.d

//*************************
// Свитки заклинаний аддона
//*************************

// стоимость
const int Value_Sc_Water * * * * * *= 1; * * * * * *// (не используется)
const int Value_Sc_IceLance * * * * = 100; * * * * *// Ледяное копьё
const int Value_Sc_Whirlwind * * * *= 200; * * * * *// Смерч
const int Value_Sc_Geyser * * * * * = 100; * * * * *// Гейзер
const int Value_Sc_Thunderstorm * * = 200; * * * * *// Шторм
const int Value_Sc_Waterfist * * * *= 100; * * * * *// Кулак воды

//--------------------------------------
// Гейзер
//--------------------------------------
INSTANCE ItSc_Geyser(C_Item)
{
* *name * * * * * * * *= * NAME_Spruchrolle; * * * // "Свиток заклинания"
* *mainflag * * * * * *= * ITEM_KAT_RUNE; * * * * *// руны
* *flags * * * * * * * = * ITEM_MULTI;
* *value * * * * * * * = * Value_Sc_Geyser; * * * *// 100
* *visual * * * * * * *= * "ItSc_Water01.3DS";
* *material * * * * * *= * MAT_LEATHER; * * * * * *// кожа
* *spell * * * * * * * = * SPL_Geyser; * * * * * * // заклинание Гейзер
* *cond_atr[2] * * * * = * ATR_MANA_MAX; * * * * * // требуется макс.мана
* *cond_value[2] * * * = * SPL_Cost_Scroll; * * * *// 5
* *wear * * * * * * * *= * WEAR_EFFECT;
* *effect * * * * * * *= * "SPELLFX_WEAKGLIMMER";
* *description * * * * = * NAME_SPL_Geyser; * * * *// "Гейзер"
* *TEXT * *[0] * * * * = * Name_MageScroll; * * * *// "Свиток заклинания"
* *TEXT * *[1] * * * * = * NAME_Mana_needed; * * * // "Необходимо маны:"
* *COUNT * [1] * * * * = * SPL_Cost_Scroll; * * * *// 5
* *TEXT * *[2] * * * * = * NAME_Damage; * * * * * *// "Повреждение:"
* *COUNT * [2] * * * * = * SPL_DAMAGE_Geyser; * * *// 150
* *TEXT * *[5] * * * * = * NAME_Value; * * * * * * // "Ценность:"
* *COUNT * [5] * * * * = * value; * * * * * * * * *// 100
};

//--------------------------------------
// Ледяное копье
//--------------------------------------
INSTANCE ItSc_Icelance(C_Item)
{
* *name * * * * * * * *= * NAME_Spruchrolle; * * * // "Свиток заклинания"
* *mainflag * * * * * *= * ITEM_KAT_RUNE; * * * * *// руны
* *flags * * * * * * * = * ITEM_MULTI;
* *value * * * * * * * = * Value_Sc_Icelance; * * *// 100
* *visual * * * * * * *= * "ItSc_Water04.3DS";
* *material * * * * * *= * MAT_LEATHER; * * * * * *// кожа
* *spell * * * * * * * = * SPL_Icelance; * * * * * // заклинание Ледяное копье
* *cond_atr[2] * * * * = * ATR_MANA_MAX; * * * * * // требуется макс.мана
* *cond_value[2] * * * = * SPL_Cost_Scroll; * * * *// 5
* *wear * * * * * * * *= * WEAR_EFFECT;
* *effect * * * * * * *= * "SPELLFX_WEAKGLIMMER";
* *description * * * * = * NAME_SPL_Icelance; * * *// "Ледяное копье"
* *TEXT * *[0] * * * * = * Name_MageScroll ; * * * // "Свиток заклинания"
* *TEXT * *[1] * * * * = * NAME_Mana_needed; * * * // "Необходимо маны:"
* *COUNT * [1] * * * * = * SPL_Cost_Scroll; * * * *// 5
* *TEXT * *[2] * * * * = * NAME_Damage; * * * * * *// "Повреждение:"
* *COUNT * [2] * * * * = * SPL_DAMAGE_Icelance; * *// 100
* *TEXT * *[5] * * * * = * NAME_Value; * * * * * * // "Ценность:"
* *COUNT * [5] * * * * = * value; * * * * * * * * *// 100
};

//--------------------------------------
// Кулак воды
//--------------------------------------
INSTANCE ItSc_Waterfist(C_Item)
{
* *name * * * * * * * *= * NAME_Spruchrolle; * * * // "Свиток заклинания"
* *mainflag * * * * * *= * ITEM_KAT_RUNE; * * * * *// руны
* *flags * * * * * * * = * ITEM_MULTI;
* *value * * * * * * * = * Value_Sc_Waterfist; * * // 100
* *visual * * * * * * *= * "ItSc_Water03.3DS";
* *material * * * * * *= * MAT_LEATHER; * * * * * *// кожа
* *spell * * * * * * * = * SPL_Waterfist; * * * * *// заклинание Кулак воды
* *cond_atr[2] * * * * = * ATR_MANA_MAX; * * * * * // требуется макс.мана
* *cond_value[2] * * * = * SPL_Cost_Scroll; * * * *// 5
* *wear * * * * * * * *= * WEAR_EFFECT;
* *effect * * * * * * *= * "SPELLFX_WEAKGLIMMER";
* *description * * * * = * NAME_SPL_Waterfist; * * // "Кулак воды"
* *TEXT * *[0] * * * * = * Name_MageScroll ; * * * // "Свиток заклинания"
* *TEXT * *[1] * * * * = * NAME_Mana_needed; * * * // "Необходимо маны:"
* *COUNT * [1] * * * * = * SPL_Cost_Scroll; * * * *// 5
* *TEXT * *[2] * * * * = * NAME_Damage; * * * * * *// "Повреждение:"
* *COUNT * [2] * * * * = * SPL_DAMAGE_Waterfist; * // 125
* *TEXT * *[5] * * * * = * NAME_Value; * * * * * * // "Ценность:"
* *COUNT * [5] * * * * = * value; * * * * * * * * *// 100
};

//--------------------------------------
// Шторм
//--------------------------------------
INSTANCE ItSc_Thunderstorm(C_Item)
{
* *name * * * * * * * *= * NAME_Spruchrolle; * * * // "Свиток заклинания"
* *mainflag * * * * * *= * ITEM_KAT_RUNE; * * * * *// руны
* *flags * * * * * * * = * ITEM_MULTI;
* *value * * * * * * * = * Value_Sc_Thunderstorm; *// 200
* *visual * * * * * * *= * "ItSc_Water05.3DS";
* *material * * * * * *= * MAT_LEATHER; * * * * * *// кожа
* *spell * * * * * * * = * SPL_Thunderstorm; * * * // заклинание Шторм
* *cond_atr[2] * * * * = * ATR_MANA_MAX; * * * * * // требуется макс.мана
* *cond_value[2] * * * = * SPL_Cost_Scroll; * * * *// 5
* *wear * * * * * * * *= * WEAR_EFFECT;
* *effect * * * * * * *= * "SPELLFX_WEAKGLIMMER";
* *description * * * * = * NAME_SPL_Thunderstorm; *// "Шторм"
* *TEXT * *[0] * * * * = * Name_MageScroll ; * * * // "Свиток заклинания"
* *TEXT * *[1] * * * * = * NAME_Mana_needed; * * * // "Необходимо маны:"
* *COUNT * [1] * * * * = * SPL_Cost_Scroll; * * * *// 5
* *TEXT * *[2] * * * * = * NAME_Damage; * * * * * *// "Повреждение:"
* *COUNT * [2] * * * * = * SPL_DAMAGE_Thunderstorm;// 250
* *TEXT * *[5] * * * * = * NAME_Value; * * * * * * // "Ценность:"
* *COUNT * [5] * * * * = * value; * * * * * * * * *// 200
};

//--------------------------------------
// Смерч
//--------------------------------------
INSTANCE ItSc_Whirlwind(C_Item)
{
* *name * * * * * * * *= * NAME_Spruchrolle; * * * // "Свиток заклинания"
* *mainflag * * * * * *= * ITEM_KAT_RUNE; * * * * *// руны
* *flags * * * * * * * = * ITEM_MULTI;
* *value * * * * * * * = * Value_Sc_Whirlwind; * * // 200
* *visual * * * * * * *= * "ItSc_Water02.3DS";
* *material * * * * * *= * MAT_LEATHER; * * * * * *// кожа
* *spell * * * * * * * = * SPL_Whirlwind; * * * * *// заклинание Смерч
* *cond_atr[2] * * * * = * ATR_MANA_MAX; * * * * * // требуется макс.мана
* *cond_value[2] * * * = * SPL_Cost_Scroll; * * * *// 5
* *wear * * * * * * * *= * WEAR_EFFECT;
* *effect * * * * * * *= * "SPELLFX_WEAKGLIMMER";
* *description * * * * = * NAME_SPL_Whirlwind; * * // "Смерч"
* *TEXT * *[0] * * * * = * Name_MageScroll ; * * * // "Свиток заклинания"
* *TEXT * *[1] * * * * = * NAME_Mana_needed; * * * // "Необходимо маны:"
* *COUNT * [1] * * * * = * SPL_Cost_Scroll; * * * *// 5
* *TEXT * *[2] * * * * = * NAME_Sec_Duration; * * *// "Длительность (секунды):"
* *COUNT * [2] * * * * = * SPL_TIME_WHIRLWIND; * * // 10
* *TEXT * *[5] * * * * = * NAME_Value; * * * * * * // "Ценность:"
* *COUNT * [5] * * * * = * value; * * * * * * * * *// 200
};

Ответить с цитированием
Старый 14.06.2005, 08:31   #195
Vam

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

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

* *11. Секретные книги аддона.

Файл IT_Addon_SecretBooks.d

//*************************
// Секретные книги аддона
//*************************

// коэффициенты стоимости "Книг знаний"
const int BookLp2 * * * = 2; * * * * * * * * * *// книга 1
const int BookLp3 * * * = 3; * * * * * * * * * *// книга 2
const int BookLp5 * * * = 5; * * * * * * * * * *// книга 3
const int BookLp8 * * * = 8; * * * * * * * * * *// книга 4
// коэффициенты стоимости книг "Собранный опыт"
const int BookXP250 * * = 250; * * * * * * * * *// книга 1
const int BookXP500 * * = 500; * * * * * * * * *// книга 2
const int BookXP1000 * *= 1000; * * * * * * * * // книга 3
// базовый коэффициент стоимости "Книг знаний"
const int LPMultiplier *= 1000;
// базовый коэффициент стоимости книг "Собранный опыт"
const int XPMultiplier *= 5;

//--------------------------------------
// Функция использования "Книг знаний"
//--------------------------------------
// Аргумент: constanze - приобретаемые очки обучения
func void UseLPBook(var int constanze)
{
* *// Примечание: первые две строки можно удалить, не используются
* *var int Wert;
* *Wert = constanze;
* *// если НПС ГГ
* *if(Npc_IsPlayer(self))
* *{
* * * *// ГГ говорит сам себе (SVM фраза) "Понимаю."
* * * *B_Say_Overlay(self,self,"$VERSTEHE");
* * * *// музыка повышения уровня
* * * *Snd_Play("Levelup");
* * * *// увеличить очки обучения
* * * *self.lp = self.lp + constanze;
* * * *var string ConcatText;
* * * *// создать строку "Оч. обучения + " + constanze
* * * *ConcatText = ConcatStrings(PRINT_LearnLP,IntToString(constanze) );
* * * *// вывести на экран
* * * *Print(ConcatText);
* *};
};

//--------------------------------------
// Функция использования книг "Собранный опыт"
//--------------------------------------
// Аргумент: constanze - приобретаемая экспа
func void UseXPBook(var int constanze)
{
* *// Примечание: первые две строки можно удалить, не используются
* *var int Wert;
* *Wert = constanze;
* *// если НПС ГГ
* *if(Npc_IsPlayer(self))
* *{
* * * *// ГГ говорит сам себе (SVM фраза) "Понимаю."
* * * *B_Say_Overlay(self,self,"$VERSTEHE");
* * * *// музыка повышения уровня
* * * *Snd_Play("Levelup");
* * * *// увеличить експу
* * * *self.exp = self.exp + constanze;
* * * *var string ConcatText;
* * * *// создать строку "Опыт + " + constanze
* * * *ConcatText = ConcatStrings(PRINT_XPGained,IntToString(constanze ));
* * * *// вывести на экран
* * * *Print(ConcatText);
* *};
};
* *
//--------------------------------------
// Прототип книг "Собранный опыт"
//--------------------------------------
PROTOTYPE ItWr_Addon_XPBook(C_ITEM)
{
* *name * * * * * * * *= * "Собранный опыт";
* *mainflag * * * * * *= * ITEM_KAT_DOCS; * * * * * * *// документ
* *flags * * * * * * * = * ITEM_MISSION;
* *visual * * * * * * *= * "ItWr_Book_02_01.3ds"; * * * * * * * * * * *
* *material * * * * * *= * MAT_LEATHER; * * * * * * * *// кожа
* *scemeName * * * * * = * "MAPSEALED";
* *description * * * * = * name; * * * * * * * * * * * // "Собранный опыт"
* *TEXT[0] * * * * * * = * PRINT_XPGained; * * * * * * // "Опыт + "
* *TEXT[5] * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
}; *

//--------------------------------------
// Собранный опыт (книга 1)
//--------------------------------------
INSTANCE ItWr_Addon_BookXP250(ItWr_Addon_XPBook)
{
* *value * * * * * * * = * (BookXP250 * XPMultiplier); // 1250
* *on_state[0] * * * * = * UseBookXP250; * * * * * * * // использовать
* *COUNT[0] * * * * * *= * BookXP250; * * * * * * * * *// 250
* *COUNT[5] * * * * * *= * value; * * * * * * * * * * *// 1250
};

// Получить за прочтение 250 экспы
func void UseBookXP250()
{
* *UseXPBook(BookXP250);
};

//--------------------------------------
// Собранный опыт (книга 2)
//--------------------------------------
INSTANCE ItWr_Addon_BookXP500(ItWr_Addon_XPBook)
{
* *value * * * * * * * = * (BookXP500 * XPMultiplier); // 2500
* *on_state[0] * * * * = * UseBookXP500; * * * * * * * // использовать
* *COUNT[0] * * * * * *= * BookXP500; * * * * * * * * *// 500
* *COUNT[5] * * * * * *= * value; * * * * * * * * * * *// 2500
};

// Получить за прочтение 500 экспы
func void UseBookXP500()
{
* *UseXPBook(BookXP500);
};

//--------------------------------------
// Собранный опыт (книга 3)
//--------------------------------------
INSTANCE ItWr_Addon_BookXP1000(ItWr_Addon_XPBook)
{
* *value * * * * * * * = * (BookXP1000 * XPMultiplier);// 5000
* *on_state[0] * * * * = * UseBookXP1000; * * * * * * *// использовать
* *COUNT[0] * * * * * *= * BookXP1000; * * * * * * * * // 1000
* *COUNT[5] * * * * * *= * value; * * * * * * * * * * *// 5000
};

// Получить за прочтение 1000 экспы
func void UseBookXP1000()
{
* *UseXPBook(BookXP1000);
};

//--------------------------------------
// Прототип "Книг знаний"
//--------------------------------------
PROTOTYPE ItWr_Addon_LPBook(C_ITEM)
{
* *name * * * * * * * *= * "Книга знаний";
* *mainflag * * * * * *= * ITEM_KAT_DOCS; * * * * * * *// документ
* *flags * * * * * * * = * ITEM_MISSION;
* *visual * * * * * * *= * "ItWr_Book_02_02.3ds"; * * * * * * * * * * *
* *material * * * * * *= * MAT_LEATHER; * * * * * * * *// кожа
* *scemeName * * * * * = * "MAPSEALED";
* *description * * * * = * name; * * * * * * * * * * * // "Книга знаний"
* *TEXT[0] * * * * * * = * PRINT_LearnLP; * * * * * * *// "Оч. обучения + "
* *TEXT[5] * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
};

//--------------------------------------
// Книга знаний (1)
//--------------------------------------
INSTANCE ItWr_Addon_BookLP2(ItWr_Addon_LPBook)
{
* *value * * * * * * * = * (BookLp2 * LPMultiplier); * // 2000
* *on_state[0] * * * * = * UseBookLp2; * * * * * * * * // использовать
* *COUNT[0] * * * * * *= * BookLp2; * * * * * * * * * *// 2
* *COUNT[5] * * * * * *= * value; * * * * * * * * * * *// 2000
};

// Получить за прочтение 2 очка обучения
func void UseBookLp2()
{
* *UseLPBook(BookLp2);
};

//--------------------------------------
// Книга знаний (2)
//--------------------------------------
INSTANCE ItWr_Addon_BookLP3(ItWr_Addon_LPBook)
{
* *value * * * * * * * = * (BookLp3 * LPMultiplier); * // 3000
* *on_state[0] * * * * = * UseBookLp3; * * * * * * * * // использовать
* *COUNT[0] * * * * * *= * BookLp3; * * * * * * * * * *// 3
* *COUNT[5] * * * * * *= * value; * * * * * * * * * * *// 3000
};

// Получить за прочтение 3 очка обучения
func void UseBookLp3()
{
* *UseLPBook(BookLp3);
};

//--------------------------------------
// Книга знаний (3)
//--------------------------------------
INSTANCE ItWr_Addon_BookLP5(ItWr_Addon_LPBook)
{
* *value * * * * * * * = * (BookLp5 * LPMultiplier); * // 5000
* *on_state[0] * * * * = * UseBookLp5; * * * * * * * * // использовать
* *COUNT[0] * * * * * *= * BookLp5; * * * * * * * * * *// 5
* *COUNT[5] * * * * * *= * value; * * * * * * * * * * *// 5000
};

// Получить за прочтение 5 очков обучения
func void UseBookLp5()
{
* *UseLPBook(BookLp5);
};

//--------------------------------------
// Книга знаний (4)
//--------------------------------------
INSTANCE ItWr_Addon_BookLP8(ItWr_Addon_LPBook)
{
* *value * * * * * * * = * (BookLp8 * LPMultiplier); * // 8000
* *on_state[0] * * * * = * UseBookLp8; * * * * * * * * // использовать
* *COUNT[0] * * * * * *= * BookLp8; * * * * * * * * * *// 8
* *COUNT[5] * * * * * *= * value; * * * * * * * * * * *// 8000
};

// Получить за прочтение 8 очков обучения
func void UseBookLp8()
{
* *UseLPBook(BookLp8 );
};


* *12. Моллюски аддона.

Файл IT_Addon_Shells.d

//*************************
// Моллюски аддона
//*************************

// стоимость
const int Value_Shell_01 * * * * * *= *30; * * *// Гребешок
const int Value_Shell_02 * * * * * *= *60; * * *// Креветка
// кол-во вскрытых моллюсков
var int Shell_Opener;

// Функция вскрытия моллюска
func void B_OpenShell()
{
* *var int shellomizer;
* *// случайное число
* *shellomizer = Hlp_Random(100);
* *// кол-во открытых моллюсков++
* *Shell_Opener = (Shell_Opener + 1);
* *// если открыт 1 моллюск
* *if(Shell_Opener == 1)
* *{
* * * *// найти Жемчужину
* * * *B_PlayerFindItem(ItMi_Addon_WhitePearl,1);
* *}
* *// если открыт 25 моллюск
* *else if(Shell_Opener == 25)
* *{
* * * *// найти Черный жемчуг
* * * *B_PlayerFindItem(ItMi_DarkPearl,1);
* * * *
* *}
* *else // обнаружить с определенной вероятностью
* *{
* * * *if(shellomizer >= 80)
* * * *{
* * * * * *// найти Жемчужину
* * * * * *B_PlayerFindItem(ItMi_Addon_WhitePearl,1);
* * * *}
* * * *else if(shellomizer >= 55)
* * * *{
* * * * * *// найти Устрицу
* * * * * *B_PlayerFindItem(ItFo_Addon_Shellflesh,1);
* * * *}
* * * *else if(shellomizer >= 50)
* * * *{
* * * * * *// найти Аквамарин
* * * * * *B_PlayerFindItem(ItMi_Aquamarine,1);
* * * *}
* * * *else if(shellomizer >= 40)
* * * *{
* * * * * *// найти Кварц
* * * * * *B_PlayerFindItem(ItMi_Quartz,1);
* * * *}
* * * *else if(shellomizer >= 35)
* * * *{
* * * * * *// найти Горный хрусталь
* * * * * *B_PlayerFindItem(ItMi_Rockcrystal,1);
* * * *}
* * * *else if(shellomizer >= 25)
* * * *{
* * * * * *// найти Серу
* * * * * *B_PlayerFindItem(ItMi_Sulfur,1);
* * * *}
* * * *else // с вероятностью 0.25
* * * *{
* * * * * *// произнести SVM фразу "нечего унести ..."
* * * * * *B_Say_Overlay(self,self,"$NOTHINGTOGET02");
* * * * * *// вывести на экран текст "Нечего унести..."
* * * * * *AI_PrintScreen(PRINT_NOTHINGTOGET02,-1,YPOS_ItemGiven,FONT_ScreenSmall,2);
* * * *};
* *};
};

//--------------------------------------
// Гребешок
//--------------------------------------
INSTANCE ItMi_Addon_Shell_01(C_Item)
{
* *name * * * *= * "Гребешок";
* *mainflag * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * = * ITEM_MULTI;
* *value * * * = * Value_Shell_01; * * * * * * // 30
* *visual * * *= * "ItMi_Shell_01.3ds";
* *material * *= * MAT_STONE; * * * * * * * * *// камень
* *scemeName * = * "MAPSEALED";
* *on_state[0] = * Use_Shell_01; * * * * * * * // использовать
* *description = * name; * * * * * * * * * * * // "Гребешок"
* *TEXT[5] * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * *= * value; * * * * * * * * * * *// 30
* *INV_ZBIAS * = INVCAM_ENTF_MISC2_STANDARD; *
};

// Открыть Гребешок
func void Use_Shell_01()
{
* *B_OpenShell();
};

//--------------------------------------
// Креветка
//--------------------------------------
INSTANCE ItMi_Addon_Shell_02(C_Item)
{
* *name * * * *= * "Креветка";
* *mainflag * *= * ITEM_KAT_NONE; * * * * * * *// прочее
* *flags * * * = * ITEM_MULTI;
* *value * * * = * Value_Shell_02; * * * * * * // 60
* *visual * * *= * "ItMi_Shell_02.3ds";
* *material * *= * MAT_STONE; * * * * * * * * *// камень
* *scemeName * = * "MAPSEALED";
* *on_state[0] = * Use_Shell_02; * * * * * * * // использовать
* *description = * name; * * * * * * * * * * * // "Креветка"
* *TEXT[5] * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * *= * value; * * * * * * * * * * *// 60
* *INV_ZBIAS * = INVCAM_ENTF_MISC2_STANDARD; *
};

// Открыть Креветку
func void Use_Shell_02()
{
* *B_OpenShell();
};

Ответить с цитированием
Старый 15.06.2005, 08:47   #196
Vam

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

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

* *13. Скрижали аддона.

Файл IT_Addon_StonePlates.d

//*************************
// Скрижали аддона
//*************************

// бонусы
const int STR_StPlLevel1 * * * *= * 2; * * *// Скрижаль Силы I
const int STR_StPlLevel2 * * * *= * 4; * * *// Скрижаль Силы II
const int STR_StPlLevel3 * * * *= * 6; * * *// Скрижаль Силы III
const int DEX_StPlLevel1 * * * *= * 2; * * *// Скрижаль Ловкости I
const int DEX_StPlLevel2 * * * *= * 4; * * *// Скрижаль Ловкости II
const int DEX_StPlLevel3 * * * *= * 6; * * *// Скрижаль Ловкости III
const int HPMax_StPlLevel1 * * *= * 5; * * *// Скрижаль Жизни I
const int HPMax_StPlLevel2 * * *= * 10; * * // Скрижаль Жизни II
const int HPMax_StPlLevel3 * * *= * 15; * * // Скрижаль Жизни III
const int ManaMax_StPlLevel1 * *= * 2; * * *// Скрижаль Магии I
const int ManaMax_StPlLevel2 * *= * 4; * * *// Скрижаль Магии II
const int ManaMax_StPlLevel3 * *= * 6; * * *// Скрижаль Магии III
const int OneH_StPlLevel1 * * * = * 2; * * *// Скрижаль Одноручника I
const int OneH_StPlLevel2 * * * = * 4; * * *// Скрижаль Одноручника II
const int OneH_StPlLevel3 * * * = * 6; * * *// Скрижаль Одноручника III
const int TwoH_StPlLevel1 * * * = * 2; * * *// Скрижаль Двуручника I
const int TwoH_StPlLevel2 * * * = * 4; * * *// Скрижаль Двуручника II
const int TwoH_StPlLevel3 * * * = * 6; * * *// Скрижаль Двуручника III
const int Bow_StPlLevel1 * * * *= * 2; * * *// Скрижаль Лучника I
const int Bow_StPlLevel2 * * * *= * 4; * * *// Скрижаль Лучника II
const int Bow_StPlLevel3 * * * *= * 6; * * *// Скрижаль Лучника III
const int CrsBow_StPlLevel1 * * = * 2; * * *// Скрижаль Арбалетчика I
const int CrsBow_StPlLevel2 * * = * 4; * * *// Скрижаль Арбалетчика II
const int CrsBow_StPlLevel3 * * = * 6; * * *// Скрижаль Арбалетчика III
// стоимость скрижалей
const int Value_StonePlateMagic = 100;
// стоимость древних каменных плиток
const int value_StonePlateCommon * *= 5;
* * * * *
var int StoneplateItem; * * * * * * * * * * // тип скрижали
var int StoneplateLevel; * * * * * * * * * *// уровень скрижали
// типы скрижалей
const int StrStonePlate * * * * = 2; * * * *// сила
const int DexStonePlate * * * * = 3; * * * *// ловкость
const int HitPointStonePlate * *= 4; * * * *// жизнь
const int ManaStonePlate * * * *= 5; * * * *// магия
const int OneHStonePlate * * * *= 6; * * * *// одноручник
const int TwoHStonePlate * * * *= 7; * * * *// двуручник
const int BowStonePlate * * * * = 8; * * * *// лук
const int CrsBowStonePlate * * *= 9; * * * *// арбалет

const string StPl_MagicAuraText = "Каменную плитку окружает магическая аура.";
const string StPl_StandardText *= ""; * * * // (не используется)

//--------------------------------------
// Сможет ли ГГ прочесть скрижаль?
//--------------------------------------
// Возвращаемое значение: FALSE - нет, TRUE - да
func int C_SCHasStPlSkill()
{
* *// если ГГ не владеет первым уровнем иностранного языка
* *if(PLAYER_TALENT_FOREIGNLANGUAGE[LANGUAGE_1] == FALSE)
* *{
* * * *return FALSE;
* *};
* *// если скрижаль уровня 1
* *if(StoneplateLevel == 1)
* *{
* * * *// если ГГ владеет первым уровнем иностранного языка
* * * *if(PLAYER_TALENT_FOREIGNLANGUAGE[LANGUAGE_1] == TRUE)
* * * *{
* * * * * *return TRUE;
* * * *};
* *}
* *// если скрижаль уровня 2
* *else if(StoneplateLevel == 2)
* *{
* * * *// если ГГ владеет вторым уровнем иностранного языка
* * * *if(PLAYER_TALENT_FOREIGNLANGUAGE[LANGUAGE_2] == TRUE)
* * * *{
* * * * * *return TRUE;
* * * *};
* *}
* *// если скрижаль уровня 3
* *else if(StoneplateLevel == 3)
* *{
* * * *// если ГГ владеет третьим уровнем иностранного языка
* * * *if(PLAYER_TALENT_FOREIGNLANGUAGE[LANGUAGE_3] == TRUE)
* * * *{
* * * * * *return TRUE;
* * * *};
* *};
* *return FALSE; * * * // Примечание: добавлено мной для правильности
};

//--------------------------------------
// Использовать скрижаль
//--------------------------------------
func void Use_StonePlate()
{
* *var string concatText;
* *// если ГГ не может прочесть скрижаль
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *// ГГ говорит сам себе (SVM фраза) "Этого я не могу прочитать!"
* * * *B_Say(self,self,"$CANTREADTHIS");
* *} *
* *else
* *{
* * * *// если скрижаль Силы
* * * *if(StoneplateItem == StrStonePlate)
* * * *{
* * * * * *// "Сила + "
* * * * * *concatText = PRINT_LearnSTR;
* * * * * *// если скрижаль 1
* * * * * *if(StoneplateLevel == 1)
* * * * * *{
* * * * * * * *// сила ГГ += 2
* * * * * * * *B_RaiseAttribute(self,ATR_STRENGTH,STR_StPlLevel1 );
* * * * * * * *// "Сила + 2"
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(STR_StPlLevel 1));
* * * * * * * *// ГГ говорит сам себе (SVM фраза) "АКХАНТАР!"
* * * * * * * *// Примечание: Ошибка здесь и далее - перед STONEPLATE_ отсутствует знак $
* * * * * * * *B_Say(self,self,"STONEPLATE_1");
* * * * * *}
* * * * * *// если скрижаль 2
* * * * * *else if(StoneplateLevel == 2)
* * * * * *{
* * * * * * * *// сила ГГ += 4
* * * * * * * *B_RaiseAttribute(self,ATR_STRENGTH,STR_StPlLevel2 );
* * * * * * * *// "Сила + 4"
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(STR_StPlLevel 2));
* * * * * * * *// ГГ говорит сам себе (SVM фраза) "ЙХЕРХЕДРА!"
* * * * * * * *B_Say(self,self,"STONEPLATE_2");
* * * * * *}
* * * * * *// если скрижаль 3
* * * * * *else if(StoneplateLevel == 3)
* * * * * *{
* * * * * * * *// сила ГГ += 6
* * * * * * * *B_RaiseAttribute(self,ATR_STRENGTH,STR_StPlLevel3 );
* * * * * * * *// "Сила + 6"
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(STR_StPlLevel 3));
* * * * * * * *// ГГ говорит сам себе (SVM фраза) "УРИЦИЕЛЬ РАТИС!"
* * * * * * * *B_Say(self,self,"STONEPLATE_3");
* * * * * *};
* * * *}
* * * *// если скрижаль Ловкости (аналогично Силе)
* * * *else if(StoneplateItem == DexStonePlate)
* * * *{
* * * * * *// "Ловкость + "
* * * * * *concatText = PRINT_LearnDEX;
* * * * * *if(StoneplateLevel == 1)
* * * * * *{
* * * * * * * *B_RaiseAttribute(self,ATR_DEXTERITY,DEX_StPlLevel 1);
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(DEX_StPlLevel 1));
* * * * * * * *B_Say(self,self,"STONEPLATE_1");
* * * * * *}
* * * * * *else if(StoneplateLevel == 2)
* * * * * *{
* * * * * * * *B_RaiseAttribute(self,ATR_DEXTERITY,DEX_StPlLevel 2);
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(DEX_StPlLevel 2));
* * * * * * * *B_Say(self,self,"STONEPLATE_2");
* * * * * *}
* * * * * *else if(StoneplateLevel == 3)
* * * * * *{
* * * * * * * *B_RaiseAttribute(self,ATR_DEXTERITY,DEX_StPlLevel 3);
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(DEX_StPlLevel 3));
* * * * * * * *B_Say(self,self,"STONEPLATE_3");
* * * * * *};
* * * *}
* * * *// если скрижаль Жизни (аналогично Силе)
* * * *else if(StoneplateItem == HitPointStonePlate)
* * * *{
* * * * * *// "Жизнь + "
* * * * * *concatText = PRINT_Learnhitpoints_MAX;
* * * * * *if(StoneplateLevel == 1)
* * * * * *{
* * * * * * * *B_RaiseAttribute(self,ATR_HITPOINTS_MAX,HPMax_StP lLevel1);
* * * * * * * *// текужая жизнь += 5
* * * * * * * *Npc_ChangeAttribute(self,ATR_HITPOINTS,HPMax_StPl Level1);
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(HPMax_StPlLev el1));
* * * * * * * *B_Say(self,self,"STONEPLATE_1");
* * * * * *}
* * * * * *else if(StoneplateLevel == 2)
* * * * * *{
* * * * * * * *B_RaiseAttribute(self,ATR_HITPOINTS_MAX,HPMax_StP lLevel2);
* * * * * * * *Npc_ChangeAttribute(self,ATR_HITPOINTS,HPMax_StPl Level2);
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(HPMax_StPlLev el2));
* * * * * * * *B_Say(self,self,"STONEPLATE_2");
* * * * * *}
* * * * * *else if(StoneplateLevel == 3)
* * * * * *{
* * * * * * * *B_RaiseAttribute(self,ATR_HITPOINTS_MAX,HPMax_StP lLevel3);
* * * * * * * *Npc_ChangeAttribute(self,ATR_HITPOINTS,HPMax_StPl Level3);
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(HPMax_StPlLev el3));
* * * * * * * *B_Say(self,self,"STONEPLATE_3");
* * * * * *};
* * * *}
* * * *// если скрижаль Магии (аналогично Жизни)
* * * *else if(StoneplateItem == ManaStonePlate)
* * * *{
* * * * * *// "Мана + "
* * * * * *concatText = PRINT_LearnMANA_MAX;
* * * * * *if(StoneplateLevel == 1)
* * * * * *{
* * * * * * * *B_RaiseAttribute(self,ATR_MANA_MAX,ManaMax_StPlLe vel1);
* * * * * * * *Npc_ChangeAttribute(self,ATR_MANA,ManaMax_StPlLev el1);
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(ManaMax_StPlL evel1));
* * * * * * * *B_Say(self,self,"STONEPLATE_1");
* * * * * *}
* * * * * *else if(StoneplateLevel == 2)
* * * * * *{
* * * * * * * *B_RaiseAttribute(self,ATR_MANA_MAX,ManaMax_StPlLe vel2);
* * * * * * * *Npc_ChangeAttribute(self,ATR_MANA,ManaMax_StPlLev el2);
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(ManaMax_StPlL evel2));
* * * * * * * *B_Say(self,self,"STONEPLATE_2");
* * * * * *}
* * * * * *else if(StoneplateLevel == 3)
* * * * * *{
* * * * * * * *B_RaiseAttribute(self,ATR_MANA_MAX,ManaMax_StPlLe vel3);
* * * * * * * *Npc_ChangeAttribute(self,ATR_MANA,ManaMax_StPlLev el3);
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(ManaMax_StPlL evel3));
* * * * * * * *B_Say(self,self,"STONEPLATE_3");
* * * * * *};
* * * *}
* * * *// если скрижаль Одноручника
* * * *else if(StoneplateItem == OneHStonePlate)
* * * *{
* * * * * *// "Улучшить: Одноручное оружие"
* * * * * *concatText = PRINT_Learn1H;
* * * * * *if(StoneplateLevel == 1)
* * * * * *{
* * * * * * * *// одноручние ГГ += 2
* * * * * * * *B_RaiseFightTalent(self,NPC_TALENT_1H,OneH_StPlLe vel1);
* * * * * * * *// "Улучшить: Одноручное оружие +"
* * * * * * * *concatText = ConcatStrings(concatText,"+ ");
* * * * * * * *// "Улучшить: Одноручное оружие + 2"
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(OneH_StPlLeve l1));
* * * * * * * *B_Say(self,self,"STONEPLATE_1");
* * * * * *}
* * * * * *else if(StoneplateLevel == 2)
* * * * * *{
* * * * * * * *B_RaiseFightTalent(self,NPC_TALENT_1H,OneH_StPlLe vel2);
* * * * * * * *concatText = ConcatStrings(concatText,"+ ");
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(OneH_StPlLeve l2));
* * * * * * * *B_Say(self,self,"STONEPLATE_2");
* * * * * *}
* * * * * *else if(StoneplateLevel == 3)
* * * * * *{
* * * * * * * *B_RaiseFightTalent(self,NPC_TALENT_1H,OneH_StPlLe vel3);
* * * * * * * *concatText = ConcatStrings(concatText,"+ ");
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(OneH_StPlLeve l3));
* * * * * * * *B_Say(self,self,"STONEPLATE_3");
* * * * * *};
* * * *}
* * * *// если скрижаль Двуручника (аналогично Одноручнику)
* * * *else if(StoneplateItem == TwoHStonePlate)
* * * *{
* * * * * *// "Улучшить: Двуручное оружие"
* * * * * *concatText = PRINT_Learn2H;
* * * * * *if(StoneplateLevel == 1)
* * * * * *{
* * * * * * * *B_RaiseFightTalent(self,NPC_TALENT_2H,TwoH_StPlLe vel1);
* * * * * * * *concatText = ConcatStrings(concatText,"+ ");
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(TwoH_StPlLeve l1));
* * * * * * * *B_Say(self,self,"STONEPLATE_1");
* * * * * *}
* * * * * *else if(StoneplateLevel == 2)
* * * * * *{
* * * * * * * *B_RaiseFightTalent(self,NPC_TALENT_2H,TwoH_StPlLe vel2);
* * * * * * * *concatText = ConcatStrings(concatText,"+ ");
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(TwoH_StPlLeve l2));
* * * * * * * *B_Say(self,self,"STONEPLATE_2");
* * * * * *}
* * * * * *else if(StoneplateLevel == 3)
* * * * * *{
* * * * * * * *B_RaiseFightTalent(self,NPC_TALENT_2H,TwoH_StPlLe vel3);
* * * * * * * *concatText = ConcatStrings(concatText,"+ ");
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(TwoH_StPlLeve l3));
* * * * * * * *B_Say(self,self,"STONEPLATE_3");
* * * * * *};
* * * *}
* * * *// если скрижаль Лучника (аналогично Одноручнику)
* * * *else if(StoneplateItem == BowStonePlate)
* * * *{
* * * * * *// "Улучшить: Лук"
* * * * * *concatText = PRINT_LearnBow;
* * * * * *if(StoneplateLevel == 1)
* * * * * *{
* * * * * * * *B_RaiseFightTalent(self,NPC_TALENT_BOW,Bow_StPlLe vel1);
* * * * * * * *concatText = ConcatStrings(concatText,"+ ");
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(Bow_StPlLevel 1));
* * * * * * * *B_Say(self,self,"STONEPLATE_1");
* * * * * *}
* * * * * *else if(StoneplateLevel == 2)
* * * * * *{
* * * * * * * *B_RaiseFightTalent(self,NPC_TALENT_BOW,Bow_StPlLe vel2);
* * * * * * * *concatText = ConcatStrings(concatText,"+ ");
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(Bow_StPlLevel 2));
* * * * * * * *B_Say(self,self,"STONEPLATE_2");
* * * * * *}
* * * * * *else if(StoneplateLevel == 3)
* * * * * *{
* * * * * * * *B_RaiseFightTalent(self,NPC_TALENT_BOW,Bow_StPlLe vel3);
* * * * * * * *concatText = ConcatStrings(concatText,"+ ");
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(Bow_StPlLevel 3));
* * * * * * * *B_Say(self,self,"STONEPLATE_3");
* * * * * *};
* * * *}
* * * *// если скрижаль Арбалетчика (аналогично Одноручнику)
* * * *else if(StoneplateItem == CrsBowStonePlate)
* * * *{
* * * * * *// "Улучшить: Арбалет"
* * * * * *concatText = PRINT_LearnCrossbow;
* * * * * *if(StoneplateLevel == 1)
* * * * * *{
* * * * * * * *B_RaiseFightTalent(self,NPC_TALENT_CROSSBOW,CrsBo w_StPlLevel1);
* * * * * * * *concatText = ConcatStrings(concatText,"+ ");
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(CrsBow_StPlLe vel1));
* * * * * * * *B_Say(self,self,"STONEPLATE_1");
* * * * * *}
* * * * * *else if(StoneplateLevel == 2)
* * * * * *{
* * * * * * * *B_RaiseFightTalent(self,NPC_TALENT_CROSSBOW,CrsBo w_StPlLevel2);
* * * * * * * *concatText = ConcatStrings(concatText,"+ ");
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(CrsBow_StPlLe vel2));
* * * * * * * *B_Say(self,self,"STONEPLATE_2");
* * * * * *}
* * * * * *else if(StoneplateLevel == 3)
* * * * * *{
* * * * * * * *B_RaiseFightTalent(self,NPC_TALENT_CROSSBOW,CrsBo w_StPlLevel3);
* * * * * * * *concatText = ConcatStrings(concatText,"+ ");
* * * * * * * *concatText = ConcatStrings(concatText,IntToString(CrsBow_StPlLe vel3));
* * * * * * * *B_Say(self,self,"STONEPLATE_3");
* * * * * *};
* * * *};
* * * *// вывод текста на экран
* * * *PrintScreen(concatText,-1,-1,FONT_Screen,2);
* * * *// проиграть эффект и музыку
* * * *Wld_PlayEffect("spellFX_LIGHTSTAR_ORANGE",hero,he ro,0,0,0,FALSE)
;
* * * *Snd_Play("SFX_HealObsession");
* *};
* *// сброс типа
* *StoneplateItem = 0;
* *// сброс уровня
* *StoneplateLevel = 0;
};

//--------------------------------------
// Прототип скрижалей
//--------------------------------------
PROTOTYPE Prototype_StonePlate(C_ITEM)
{ *
* *name * * * * * * * *= * "Скрижаль";
* *mainflag * * * * * *= * ITEM_KAT_DOCS; * * * * * * *// документы
* *flags * * * * * * * = * ITEM_MISSION ¦ ITEM_MULTI;
* *value * * * * * * * = * Value_StonePlateMagic; * * *// 100
* *visual * * * * * * *= * "ItMi_StonePlate_PowerUp_01.3DS"; * *
* *material * * * * * *= * MAT_STONE; * * * * * * * * *// камень
* *scemeName * * * * * = * "MAPSEALED";
* *wear * * * * * * * *= * WEAR_EFFECT;
* *effect * * * * * * *= * "SPELLFX_WEAKGLIMMER";
* *inv_rotx * * * * * *= * -90;
* *inv_roty * * * * * *= * 0;
* *inv_rotz * * * * * *= * 0;
* *Text[2] * * * * * * = * StPl_MagicAuraText; * * * * // "Каменную плитку окружает магическая аура."
* *TEXT[5] * * * * * * = * NAME_Value; * * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= * value; * * * * * * * * * * *// 100
};

//--------------------------------------
// Скрижаль Силы I
//--------------------------------------
instance ItWr_StrStonePlate1_Addon(Prototype_StonePlate)
{
* *description * * * * = * "Скрижаль Силы I";
* *on_state[0] * * * * = * Use_StrStonePlate1;
* *visual * * * * * * *= * "ItMi_StonePlate_PowerUp_01.3DS"; * *
};

// Использовать
func void Use_StrStonePlate1()
{
* *// скрижаль силы
* *StoneplateItem = StrStonePlate;
* *// уровень 1
* *StoneplateLevel = 1;
* *// если ГГ не может прочитать скрижаль
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *// оставить её в инвентаре
* * * *CreateInvItem(hero,ItWr_StrStonePlate1_Addon);
* *};
* *// использовать скрижаль
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Силы II
//--------------------------------------
instance ItWr_StrStonePlate2_Addon(Prototype_StonePlate)
{
* *description * * * * = * "Скрижаль Силы II";
* *on_state[0] * * * * = * Use_StrStonePlate2;
* *visual * * * * * * *= * "ItMi_StonePlate_PowerUp_01.3DS"; * *
};

// Использовать
func void Use_StrStonePlate2()
{
* *StoneplateItem = StrStonePlate;
* *StoneplateLevel = 2;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_StrStonePlate2_Addon);
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Силы III
//--------------------------------------
instance ItWr_StrStonePlate3_Addon(Prototype_StonePlate)
{
* *description * * * * = * "Скрижаль Силы III";
* *on_state[0] * * * * = * Use_StrStonePlate3;
* *visual * * * * * * *= * "ItMi_StonePlate_PowerUp_01.3DS"; * *
};

// Использовать
func void Use_StrStonePlate3()
{
* *StoneplateItem = StrStonePlate;
* *StoneplateLevel = 3;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_StrStonePlate3_Addon);
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Ловкости I
//--------------------------------------
instance ItWr_DexStonePlate1_Addon(Prototype_StonePlate)
{
* *description = "Скрижаль Ловкости I";
* *on_state[0] = Use_DexStonePlate1;
* *visual = "ItMi_StonePlate_PowerUp_02.3DS";
};

func void Use_DexStonePlate1()
{
* *StoneplateItem = DexStonePlate;
* *StoneplateLevel = 1;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_DexStonePlate1_Addon);
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Ловкости II
//--------------------------------------
instance ItWr_DexStonePlate2_Addon(Prototype_StonePlate)
{
* *description = "Скрижаль Ловкости II";
* *on_state[0] = Use_DexStonePlate2;
* *visual = "ItMi_StonePlate_PowerUp_02.3DS";
};

func void Use_DexStonePlate2()
{
* *StoneplateItem = DexStonePlate;
* *StoneplateLevel = 2;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_DexStonePlate2_Addon);
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Ловкости III
//--------------------------------------
instance ItWr_DexStonePlate3_Addon(Prototype_StonePlate)
{
* *description = "Скрижаль Ловкости III";
* *on_state[0] = Use_DexStonePlate3;
* *visual = "ItMi_StonePlate_PowerUp_02.3DS";
};

func void Use_DexStonePlate3()
{
* *StoneplateItem = DexStonePlate;
* *StoneplateLevel = 3;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_DexStonePlate3_Addon);
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Жизни I
//--------------------------------------
instance ItWr_HitPointStonePlate1_Addon(Prototype_StonePlat e)
{
* *description = "Скрижаль Жизни I";
* *on_state[0] = Use_HitPointStonePlate1;
* *visual = "ItMi_StonePlate_PowerUp_03.3DS";
};

func void Use_HitPointStonePlate1()
{
* *StoneplateItem = HitPointStonePlate;
* *StoneplateLevel = 1;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_HitPointStonePlate1_Addon );
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Жизни II
//--------------------------------------
instance ItWr_HitPointStonePlate2_Addon(Prototype_StonePlat e)
{
* *description = "Скрижаль Жизни II";
* *on_state[0] = Use_HitPointStonePlate2;
* *visual = "ItMi_StonePlate_PowerUp_03.3DS";
};

func void Use_HitPointStonePlate2()
{
* *StoneplateItem = HitPointStonePlate;
* *StoneplateLevel = 2;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_HitPointStonePlate2_Addon );
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Жизни III
//--------------------------------------
instance ItWr_HitPointStonePlate3_Addon(Prototype_StonePlat e)
{
* *description = "Скрижаль Жизни III";
* *on_state[0] = Use_HitPointStonePlate3;
* *visual = "ItMi_StonePlate_PowerUp_03.3DS";
};

func void Use_HitPointStonePlate3()
{
* *StoneplateItem = HitPointStonePlate;
* *StoneplateLevel = 3;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_HitPointStonePlate3_Addon );
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Магии I
//--------------------------------------
instance ItWr_ManaStonePlate1_Addon(Prototype_StonePlate)
{
* *description = "Скрижаль Магии I";
* *on_state[0] = Use_ManaStonePlate1;
* *visual = "ItMi_StonePlate_PowerUp_03.3DS";
};

func void Use_ManaStonePlate1()
{
* *StoneplateItem = ManaStonePlate;
* *StoneplateLevel = 1;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_ManaStonePlate1_Addon);
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Магии II
//--------------------------------------
instance ItWr_ManaStonePlate2_Addon(Prototype_StonePlate)
{
* *description = "Скрижаль Магии II";
* *on_state[0] = Use_ManaStonePlate2;
* *visual = "ItMi_StonePlate_PowerUp_03.3DS";
};

func void Use_ManaStonePlate2()
{
* *StoneplateItem = ManaStonePlate;
* *StoneplateLevel = 2;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_ManaStonePlate2_Addon);
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Магии III
//--------------------------------------
instance ItWr_ManaStonePlate3_Addon(Prototype_StonePlate)
{
* *description = "Скрижаль Магии III";
* *on_state[0] = Use_ManaStonePlate3;
* *visual = "ItMi_StonePlate_PowerUp_03.3DS";
};

func void Use_ManaStonePlate3()
{
* *StoneplateItem = ManaStonePlate;
* *StoneplateLevel = 3;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_ManaStonePlate3_Addon);
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Одноручника I
//--------------------------------------
instance ItWr_OneHStonePlate1_Addon(Prototype_StonePlate)
{
* *description = "Скрижаль Одноручника I";
* *on_state[0] = Use_OneHStonePlate1;
* *visual = "ItMi_StonePlate_PowerUp_04.3DS";
};

func void Use_OneHStonePlate1()
{
* *StoneplateItem = OneHStonePlate;
* *StoneplateLevel = 1;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_OneHStonePlate1_Addon);
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Одноручника II
//--------------------------------------
instance ItWr_OneHStonePlate2_Addon(Prototype_StonePlate)
{
* *description = "Скрижаль Одноручника II";
* *on_state[0] = Use_OneHStonePlate2;
* *visual = "ItMi_StonePlate_PowerUp_04.3DS";
};

func void Use_OneHStonePlate2()
{
* *StoneplateItem = OneHStonePlate;
* *StoneplateLevel = 2;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_OneHStonePlate2_Addon);
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Одноручника III
//--------------------------------------
instance ItWr_OneHStonePlate3_Addon(Prototype_StonePlate)
{
* *description = "Скрижаль Одноручника III";
* *on_state[0] = Use_OneHStonePlate3;
* *visual = "ItMi_StonePlate_PowerUp_04.3DS";
};

func void Use_OneHStonePlate3()
{
* *StoneplateItem = OneHStonePlate;
* *StoneplateLevel = 3;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_OneHStonePlate3_Addon);
* *};
* *Use_StonePlate();
};

...продолжение следует
Ответить с цитированием
Старый 15.06.2005, 08:51   #197
Vam

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

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

//--------------------------------------
// Скрижаль Двуручника I
//--------------------------------------
instance ItWr_TwoHStonePlate1_Addon(Prototype_StonePlate)
{
* *description = "Скрижаль Двуручника I";
* *on_state[0] = Use_TwoHStonePlate1;
* *visual = "ItMi_StonePlate_PowerUp_05.3DS";
};

func void Use_TwoHStonePlate1()
{
* *StoneplateItem = TwoHStonePlate;
* *StoneplateLevel = 1;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_TwoHStonePlate1_Addon);
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Двуручника II
//--------------------------------------
instance ItWr_TwoHStonePlate2_Addon(Prototype_StonePlate)
{
* *description = "Скрижаль Двуручника II";
* *on_state[0] = Use_TwoHStonePlate2;
* *visual = "ItMi_StonePlate_PowerUp_05.3DS";
};

func void Use_TwoHStonePlate2()
{
* *StoneplateItem = TwoHStonePlate;
* *StoneplateLevel = 2;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_TwoHStonePlate2_Addon);
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Двуручника III
//--------------------------------------
instance ItWr_TwoHStonePlate3_Addon(Prototype_StonePlate)
{
* *description = "Скрижаль Двуручника III";
* *on_state[0] = Use_TwoHStonePlate3;
* *visual = "ItMi_StonePlate_PowerUp_05.3DS";
};

func void Use_TwoHStonePlate3()
{
* *StoneplateItem = TwoHStonePlate;
* *StoneplateLevel = 3;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_TwoHStonePlate3_Addon);
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Лучника I
//--------------------------------------
instance ItWr_BowStonePlate1_Addon(Prototype_StonePlate)
{
* *description = "Скрижаль Лучника I";
* *on_state[0] = Use_BowStonePlate1;
* *visual = "ItMi_StonePlate_PowerUp_03.3DS";
};

func void Use_BowStonePlate1()
{
* *StoneplateItem = BowStonePlate;
* *StoneplateLevel = 1;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_BowStonePlate1_Addon);
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Лучника II
//--------------------------------------
instance ItWr_BowStonePlate2_Addon(Prototype_StonePlate)
{
* *description = "Скрижаль Лучника II";
* *on_state[0] = Use_BowStonePlate2;
* *visual = "ItMi_StonePlate_PowerUp_03.3DS";
};

func void Use_BowStonePlate2()
{
* *StoneplateItem = BowStonePlate;
* *StoneplateLevel = 2;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_BowStonePlate2_Addon);
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Лучника III
//--------------------------------------
instance ItWr_BowStonePlate3_Addon(Prototype_StonePlate)
{
* *description = "Скрижаль Лучника III";
* *on_state[0] = Use_BowStonePlate3;
* *visual = "ItMi_StonePlate_PowerUp_03.3DS";
};

func void Use_BowStonePlate3()
{
* *StoneplateItem = BowStonePlate;
* *StoneplateLevel = 3;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_BowStonePlate3_Addon);
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Арбалетчика I
//--------------------------------------
instance ItWr_CrsBowStonePlate1_Addon(Prototype_StonePlate)
{
* *description = "Скрижаль Арбалетчика I";
* *on_state[0] = Use_CrsBowStonePlate1;
* *visual = "ItMi_StonePlate_PowerUp_04.3DS";
};

func void Use_CrsBowStonePlate1()
{
* *StoneplateItem = CrsBowStonePlate;
* *StoneplateLevel = 1;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_CrsBowStonePlate1_Addon);
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Арбалетчика II
//--------------------------------------
instance ItWr_CrsBowStonePlate2_Addon(Prototype_StonePlate)
{
* *description = "Скрижаль Арбалетчика II";
* *on_state[0] = Use_CrsBowStonePlate2;
* *visual = "ItMi_StonePlate_PowerUp_04.3DS";
};

func void Use_CrsBowStonePlate2()
{
* *StoneplateItem = CrsBowStonePlate;
* *StoneplateLevel = 2;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_CrsBowStonePlate2_Addon);
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Скрижаль Арбалетчика III
//--------------------------------------
instance ItWr_CrsBowStonePlate3_Addon(Prototype_StonePlate)
{
* *description = "Скрижаль Арбалетчика III";
* *on_state[0] = Use_CrsBowStonePlate3;
* *visual = "ItMi_StonePlate_PowerUp_04.3DS";
};

func void Use_CrsBowStonePlate3()
{
* *StoneplateItem = CrsBowStonePlate;
* *StoneplateLevel = 3;
* *if(C_SCHasStPlSkill() == FALSE)
* *{
* * * *CreateInvItem(hero,ItWr_CrsBowStonePlate3_Addon);
* *};
* *Use_StonePlate();
};

//--------------------------------------
// Имеет ли ГГ какую-либо скрижаль?
//--------------------------------------
// Возвращаемое значение: FALSE - нет, TRUE - да
func int C_ScHasMagicStonePlate()
{
* *if (Npc_HasItems(hero,ItWr_StrStonePlate1_Addon)) * * * // силы
* *¦¦ (Npc_HasItems(hero,ItWr_StrStonePlate2_Addon))
* *¦¦ (Npc_HasItems(hero,ItWr_StrStonePlate3_Addon))
* *¦¦ (Npc_HasItems(hero,ItWr_DexStonePlate1_Addon)) * * * // ловкости
* *¦¦ (Npc_HasItems(hero,ItWr_DexStonePlate2_Addon))
* *¦¦ (Npc_HasItems(hero,ItWr_DexStonePlate3_Addon))
* *¦¦ (Npc_HasItems(hero,ItWr_HitPointStonePlate1_Addon) ) *// жизни
* *¦¦ (Npc_HasItems(hero,ItWr_HitPointStonePlate2_Addon) )
* *¦¦ (Npc_HasItems(hero,ItWr_HitPointStonePlate3_Addon) )
* *¦¦ (Npc_HasItems(hero,ItWr_ManaStonePlate1_Addon)) * * *// магии
* *¦¦ (Npc_HasItems(hero,ItWr_ManaStonePlate2_Addon))
* *¦¦ (Npc_HasItems(hero,ItWr_ManaStonePlate3_Addon))
* *¦¦ (Npc_HasItems(hero,ItWr_OneHStonePlate1_Addon)) * * *// одноручника
* *¦¦ (Npc_HasItems(hero,ItWr_OneHStonePlate2_Addon))
* *¦¦ (Npc_HasItems(hero,ItWr_OneHStonePlate3_Addon))
* *¦¦ (Npc_HasItems(hero,ItWr_TwoHStonePlate1_Addon)) * * *// двуручника
* *¦¦ (Npc_HasItems(hero,ItWr_TwoHStonePlate2_Addon))
* *¦¦ (Npc_HasItems(hero,ItWr_TwoHStonePlate3_Addon))
* *¦¦ (Npc_HasItems(hero,ItWr_BowStonePlate1_Addon)) * * * // лучника
* *¦¦ (Npc_HasItems(hero,ItWr_BowStonePlate2_Addon))
* *¦¦ (Npc_HasItems(hero,ItWr_BowStonePlate3_Addon))
* *¦¦ (Npc_HasItems(hero,ItWr_CrsBowStonePlate1_Addon)) * *// арбалетчика
* *¦¦ (Npc_HasItems(hero,ItWr_CrsBowStonePlate2_Addon))
* *¦¦ (Npc_HasItems(hero,ItWr_CrsBowStonePlate3_Addon))
* *{
* * * *return TRUE;
* *};
* *return FALSE;
};

Ответить с цитированием
Старый 16.06.2005, 09:51   #198
Vam

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

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

* *13. Оружие аддона.

Файл IT_Addon_Weapons.d

//*************************
// Оружие аддона
//*************************

//--------------------------------------
// Волчий нож
//--------------------------------------
INSTANCE ItMW_Addon_Knife01(C_Item)
{ *
* *name * * * * * * * *= "Волчий нож";
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * *// ближнее поражение
* *flags * * * * * * * = ITEM_SWD; * * * * * * * * // меч
* *material * * * * * *= MAT_METAL; * * * * * * * *// металл
* *value * * * * * * * = Value_Wolfsmesser; * * * *// 350
* *damageTotal * * * * = Damage_Wolfsmesser; * * * // 30
* *damagetype * * * * *= DAM_EDGE; * * * * * * * * // порез
* *range * * * * * * * = Range_Wolfsmesser; * * * *// 30
* *on_equip * * * * * *= Equip_1H_03; * * * * * * *// одеть
* *on_unequip * * * * *= UnEquip_1H_03; * * * * * *// снять
* *cond_atr[2] * * * * = ATR_STRENGTH; * * * * * * // сила
* *cond_value[2] * * * = Condition_Wolfsmesser; * *// 10
* *visual * * * * * * *= "ItMw_012_1h_Knife_02.3DS";
* *description * * * * = name; * * * * * * * * * * // "Волчий нож"
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 30
* *TEXT[3] * * * * * * = NAME_Str_needed; * * * * *// "Необходимо силы:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 10
* *TEXT[4] * * * * * * = NAME_ADDON_BONUS_1H; * * *// "Бонус к одноручному умению"
* *COUNT[4] * * * * * *= Waffenbonus_03; * * * * * // 3
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 350
};

//--------------------------------------
// Magierstab (не переведено)
//--------------------------------------
INSTANCE ItMW_Addon_Stab01(C_Item)
{ *
* *name * * * * * * * *= "Magierstab";
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * *// ближнее поражение
* *flags * * * * * * * = ITEM_2HD_AXE; * * * * * * // двуручный топор
* *material * * * * * *= MAT_WOOD; * * * * * * * * // дерево
* *value * * * * * * * = Value_Stab01; * * * * * * // 900
* *damageTotal * * * * = Damage_Stab01; * * * * * *// 60
* *damagetype * * * * *= DAM_BLUNT; * * * * * * * *// пролом
* *range * * * * * * * = RANGE_Stab01; * * * * * * // 120
* *on_equip * * * * * *= Equip_2H_03; * * * * * * *// одеть
* *on_unequip * * * * *= UnEquip_2H_03; * * * * * *// снять
* *cond_atr[2] * * * * = ATR_STRENGTH; * * * * * * // сила
* *cond_value[2] * * * = Condition_Stab01; * * * * // 30
* *visual * * * * * * *= "ItMW_MageStaff_Good_2H_01.3DS";
* *effect * * * * * * *= "SPELLFX_MAGESTAFF1";
* *description * * * * = "Посох мага огня"; * *
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 60
* *TEXT[3] * * * * * * = NAME_Str_needed; * * * * *// "Необходимо силы:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 30
* *TEXT[4] * * * * * * = NAME_ADDON_BONUS_2H; * * *// "Бонус к двуручному умению"
* *COUNT[4] * * * * * *= Waffenbonus_03; * * * * * // 3
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 900
};

//--------------------------------------
// Zauberstab (не переведено)
//--------------------------------------
INSTANCE ItMW_Addon_Stab02(C_Item)
{ *
* *name * * * * * * * *= "Zauberstab"; *
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * *// ближнее поражение
* *flags * * * * * * * = ITEM_2HD_AXE; * * * * * * // двуручный топор
* *material * * * * * *= MAT_WOOD; * * * * * * * * // дерево
* *value * * * * * * * = Value_Stab02; * * * * * * // 850
* *damageTotal * * * * = Damage_Stab02; * * * * * *// 55
* *damagetype * * * * *= DAM_BLUNT; * * * * * * * *// пролом
* *range * * * * * * * = RANGE_Stab02; * * * * * * // 110
* *on_equip * * * * * *= Equip_Zauberstab; * * * * // одеть
* *on_unequip * * * * *= UnEquip_Zauberstab; * * * // снять
* *cond_atr[2] * * * * = ATR_MANA_MAX; * * * * * * // мана
* *cond_value[2] * * * = Condition_Stab02; * * * * // 25
* *visual * * * * * * *= "ItMW_MageStaff_Good_2H_02.3DS";
* *effect * * * * * * *= "SPELLFX_MAGESTAFF2";
* *description * * * * = name; * * * * * * * * * * // "Zauberstab"
* *TEXT[0] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[0] * * * * * *= damageTotal; * * * * * * *// 55
* *TEXT[2] * * * * * * = NAME_Bonus_Mana; * * * * *// "Прибавка к мане:"
* *COUNT[2] * * * * * *= 20; * * * * * * * * * * * // 20
* *TEXT[3] * * * * * * = NAME_Mana_needed; * * * * // "Необходимо маны:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 25
* *TEXT[4] * * * * * * = NAME_TwoHanded; * * * * * // "Двуручное"
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 850
};

// Одеть
func void Equip_Zauberstab()
{
* *// если ГГ
* *if(Npc_IsPlayer(self))
* *{
* * * *// макс. мана += 20
* * * *Npc_ChangeAttribute(self,ATR_MANA_MAX,20);
* * * *// мана += 20
* * * *Npc_ChangeAttribute(self,ATR_MANA,20);
* *};
};

// Снять
func void UnEquip_Zauberstab()
{
* *// если ГГ
* *if(Npc_IsPlayer(self))
* *{
* * * *// макс. мана -= 20
* * * *Npc_ChangeAttribute(self,ATR_MANA_MAX,-20);
* * * *// если мана >= 20
* * * *if(self.attribute[ATR_MANA] >= 20)
* * * *{
* * * * * *// мана -= 20
* * * * * *Npc_ChangeAttribute(self,ATR_MANA,-20);
* * * *}
* * * *else
* * * *{
* * * * * *// мана = 0
* * * * * *self.attribute[ATR_MANA] = 0;
* * * *};
* *};
};

//--------------------------------------
// Wasserstab (не переведено)
//--------------------------------------
INSTANCE ItMW_Addon_Stab03(C_Item)
{ *
* *name * * * * * * * *= "Wasserstab"; *
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * *// ближнее поражение
* *flags * * * * * * * = ITEM_2HD_AXE; * * * * * * // двуручный топор
* *material * * * * * *= MAT_WOOD; * * * * * * * * // дерево
* *value * * * * * * * = Value_Stab03; * * * * * * // 950
* *damageTotal * * * * = Damage_Stab03; * * * * * *// 65
* *damagetype * * * * *= DAM_BLUNT; * * * * * * * *// пролом
* *range * * * * * * * = RANGE_Stab03; * * * * * * // 120
* *on_equip * * * * * *= Equip_2H_04; * * * * * * *// одеть
* *on_unequip * * * * *= UnEquip_2H_04; * * * * * *// снять
* *cond_atr[2] * * * * = ATR_STRENGTH; * * * * * * // сила
* *cond_value[2] * * * = Condition_Stab03; * * * * // 35
* *visual * * * * * * *= "ItMW_MageStaff_Blades_2H_01.3DS";
* *effect * * * * * * *= "SPELLFX_MAGESTAFF3";
* *description * * * * = "Посох мага воды";
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 65
* *TEXT[3] * * * * * * = NAME_Str_needed; * * * * *// "Необходимо силы:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 35
* *TEXT[4] * * * * * * = NAME_ADDON_BONUS_2H; * * *// "Бонус к двуручному умению"
* *COUNT[4] * * * * * *= Waffenbonus_04; * * * * * // 4
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 950
};

//--------------------------------------
// Посох Ультара
//--------------------------------------
INSTANCE ItMW_Addon_Stab04(C_Item)
{ *
* *name * * * * * * * *= "Посох Ультара"; *
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * *// ближнее поражение
* *flags * * * * * * * = ITEM_2HD_AXE; * * * * * * // двуручный топор
* *material * * * * * *= MAT_WOOD; * * * * * * * * // дерево
* *value * * * * * * * = Value_Stab04; * * * * * * // 1000
* *damageTotal * * * * = Damage_Stab04; * * * * * *// 70
* *damagetype * * * * *= DAM_BLUNT; * * * * * * * *// пролом
* *range * * * * * * * = RANGE_Stab04; * * * * * * // 130
* *on_equip * * * * * *= Equip_2H_04; * * * * * * *// одеть
* *on_unequip * * * * *= UnEquip_2H_04; * * * * * *// снять
* *cond_atr[2] * * * * = ATR_STRENGTH; * * * * * * // сила
* *cond_value[2] * * * = Condition_Stab04; * * * * // 40
* *visual * * * * * * *= "ItMW_MageStaff_Good_2H_02.3DS";
* *effect * * * * * * *= "SPELLFX_MAGESTAFF4";
* *description * * * * = "Ультар заколдовал этот посох";
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 70
* *TEXT[3] * * * * * * = NAME_Str_needed; * * * * *// "Необходимо силы:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 40
* *TEXT[4] * * * * * * = NAME_ADDON_BONUS_2H; * * *// "Бонус к двуручному умению"
* *COUNT[4] * * * * * *= Waffenbonus_04; * * * * * // 4
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 1000
};

//--------------------------------------
// Тайфун
//--------------------------------------
INSTANCE ItMW_Addon_Stab05(C_Item)
{ *
* *name * * * * * * * *= "Тайфун";
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * *// ближнее поражение
* *flags * * * * * * * = ITEM_2HD_AXE; * * * * * * // двуручный топор
* *material * * * * * *= MAT_WOOD; * * * * * * * * // дерево
* *value * * * * * * * = Value_Stab05; * * * * * * // 1050
* *damageTotal * * * * = Damage_Stab05; * * * * * *// 75
* *damagetype * * * * *= DAM_BLUNT; * * * * * * * *// пролом
* *range * * * * * * * = RANGE_Stab05; * * * * * * // 130
* *on_equip * * * * * *= Equip_2H_05; * * * * * * *// одеть
* *on_unequip * * * * *= UnEquip_2H_05; * * * * * *// снять
* *cond_atr[2] * * * * = ATR_STRENGTH; * * * * * * // сила
* *cond_value[2] * * * = Condition_Stab05; * * * * // 45
* *visual * * * * * * *= "ItMW_MageStaff_Blades_2H_01.3DS";
* *effect * * * * * * *= "SPELLFX_MAGESTAFF5";
* *description * * * * = name; * * * * * * * * * * // "Тайфун"
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 75
* *TEXT[3] * * * * * * = NAME_Str_needed; * * * * *// "Необходимо силы:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 45
* *TEXT[4] * * * * * * = NAME_ADDON_BONUS_2H; * * *// "Бонус к двуручному умению"
* *COUNT[4] * * * * * *= Waffenbonus_05; * * * * * // 5
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 1050
};

//--------------------------------------
// Мачете
//--------------------------------------
INSTANCE ItMW_Addon_Hacker_1h_01(C_Item)
{ *
* *name * * * * * * * *= "Мачете";
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * *// ближнее поражение
* *flags * * * * * * * = ITEM_SWD; * * * * * * * * // меч
* *material * * * * * *= MAT_METAL; * * * * * * * *// металл
* *value * * * * * * * = Value_Machete; * * * * * *// 1100
* *damageTotal * * * * = Damage_Machete; * * * * * // 100
* *damagetype * * * * *= DAM_EDGE; * * * * * * * * // порез
* *range * * * * * * * = Range_Machete; * * * * * *// 75
* *on_equip * * * * * *= Equip_1H_03; * * * * * * *// одеть
* *on_unequip * * * * *= UnEquip_1H_03; * * * * * *// снять
* *cond_atr[2] * * * * = ATR_STRENGTH; * * * * * * // сила
* *cond_value[2] * * * = Condition_Machete; * * * *// 90
* *visual * * * * * * *= "ItMw_1H_Machete_02.3DS";
* *description * * * * = name; * * * * * * * * * * // "Мачете"
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 100
* *TEXT[3] * * * * * * = NAME_Str_needed; * * * * *// "Необходимо силы:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 90
* *TEXT[4] * * * * * * = NAME_ADDON_BONUS_1H; * * *// "Бонус к одноручному умению"
* *COUNT[4] * * * * * *= Waffenbonus_03; * * * * * // 3
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 1100
};

//--------------------------------------
// Старое мачете
//--------------------------------------
INSTANCE ItMW_Addon_Hacker_1h_02(C_Item)
{ *
* *name * * * * * * * *= "Старое мачете";
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * *// ближнее поражение
* *flags * * * * * * * = ITEM_SWD; * * * * * * * * // меч
* *material * * * * * *= MAT_METAL; * * * * * * * *// металл
* *value * * * * * * * = Value_AltMachete; * * * * // 600
* *damageTotal * * * * = Damage_AltMachete; * * * *// 60
* *damagetype * * * * *= DAM_EDGE; * * * * * * * * // порез
* *range * * * * * * * = Range_AltMachete; * * * * // 70
* *on_equip * * * * * *= Equip_1H_02; * * * * * * *// одеть
* *on_unequip * * * * *= UnEquip_1H_02; * * * * * *// снять
* *cond_atr[2] * * * * = ATR_STRENGTH; * * * * * * // сила
* *cond_value[2] * * * = Condition_AltMachete; * * // 60
* *visual * * * * * * *= "ItMw_1H_Machete_01.3DS";
* *description * * * * = name; * * * * * * * * * * // "Старое мачете"
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 60
* *TEXT[3] * * * * * * = NAME_Str_needed; * * * * *// "Необходимо силы:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 60
* *TEXT[4] * * * * * * = NAME_ADDON_BONUS_1H; * * *// "Бонус к одноручному умению"
* *COUNT[4] * * * * * *= Waffenbonus_02; * * * * * // 2
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 600
};

//--------------------------------------
// Огромное мачете
//--------------------------------------
INSTANCE ItMW_Addon_Hacker_2h_01(C_Item)
{ *
* *name * * * * * * * *= "Огромное мачете";
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * *// ближнее поражение
* *flags * * * * * * * = ITEM_2HD_SWD; * * * * * * // друручный меч
* *material * * * * * *= MAT_METAL; * * * * * * * *// металл
* *value * * * * * * * = Value_Hacker; * * * * * * // 1100
* *damageTotal * * * * = Damage_Hacker; * * * * * *// 105
* *damagetype * * * * *= DAM_EDGE; * * * * * * * * // порез
* *range * * * * * * * = Range_Hacker; * * * * * * // 105
* *on_equip * * * * * *= Equip_2H_03; * * * * * * *// одеть
* *on_unequip * * * * *= UnEquip_2H_03; * * * * * *// снять
* *cond_atr[2] * * * * = ATR_STRENGTH; * * * * * * // сила
* *cond_value[2] * * * = Condition_Hacker; * * * * // 100
* *visual * * * * * * *= "ItMw_2H_Machete_02.3DS";
* *description * * * * = name; * * * * * * * * * * // "Огромное мачете"
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 105
* *TEXT[3] * * * * * * = NAME_Str_needed; * * * * *// "Необходимо силы:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 100
* *TEXT[4] * * * * * * = NAME_ADDON_BONUS_2H; * * *// "Бонус к двуручному умению"
* *COUNT[4] * * * * * *= Waffenbonus_03; * * * * * // 3
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 1100
};

//--------------------------------------
// Старое огромное мачете
//--------------------------------------
INSTANCE ItMW_Addon_Hacker_2h_02(C_Item)
{ *
* *name * * * * * * * *= "Старое огромное мачете";
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * *// ближнее поражение
* *flags * * * * * * * = ITEM_2HD_SWD; * * * * * * // друручный меч
* *material * * * * * *= MAT_METAL; * * * * * * * *// металл
* *value * * * * * * * = Value_AltHacker; * * * * *// 700
* *damageTotal * * * * = Damage_AltHacker; * * * * // 70
* *damagetype * * * * *= DAM_EDGE; * * * * * * * * // порез
* *range * * * * * * * = Range_AltHacker; * * * * *// 95
* *on_equip * * * * * *= Equip_2H_02; * * * * * * *// одеть
* *on_unequip * * * * *= UnEquip_2H_02; * * * * * *// снять
* *cond_atr[2] * * * * = ATR_STRENGTH; * * * * * * // сила
* *cond_value[2] * * * = Condition_AltHacker; * * *// 70
* *visual * * * * * * *= "ItMw_2H_Machete_01.3DS";
* *description * * * * = name; * * * * * * * * * * // "Старое огромное мачете"
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 70
* *TEXT[3] * * * * * * = NAME_Str_needed; * * * * *// "Необходимо силы:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 70
* *TEXT[4] * * * * * * = NAME_ADDON_BONUS_2H; * * *// "Бонус к двуручному умению"
* *COUNT[4] * * * * * *= Waffenbonus_02; * * * * * // 2
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 700
};

//--------------------------------------
// Слуга ветра
//--------------------------------------
INSTANCE ItMW_Addon_Keule_1h_01(C_Item)
{ *
* *name * * * * * * * *= "Слуга ветра"; *
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * *// ближнее поражение
* *flags * * * * * * * = ITEM_AXE; * * * * * * * * // топор
* *material * * * * * *= MAT_WOOD; * * * * * * * * // дерево
* *value * * * * * * * = Value_Windknecht; * * * * // 25
* *damageTotal * * * * = Damage_Windknecht; * * * *// 15
* *damagetype * * * * *= DAM_BLUNT; * * * * * * * *// пролом
* *range * * * * * * * = RANGE_Windknecht; * * * * // 65
* *on_equip * * * * * *= UnEquip_1H_10; * * * * * *// одеть
* *on_unequip * * * * *= Equip_1H_10; * * * * * * *// снять
* *cond_atr[2] * * * * = ATR_STRENGTH; * * * * * * // сила
* *cond_value[2] * * * = Condition_Windknecht; * * // 25
* *visual * * * * * * *= "ItMW_Club_1H_01.3DS";
* *description * * * * = name; * * * * * * * * * * // "Слуга ветра"
* *TEXT[0] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[0] * * * * * *= damageTotal; * * * * * * *// 15
* *TEXT[2] * * * * * * = NAME_ADDON_MALUS_1H; * * *// "Штраф на одноручное умение"
* *COUNT[2] * * * * * *= Waffenbonus_10; * * * * * // 10
* *TEXT[3] * * * * * * = NAME_Str_needed; * * * * *// "Необходимо силы:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 25
* *TEXT[4] * * * * * * = NAME_OneHanded; * * * * * // "Одноручное"
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 25
};

//--------------------------------------
// Слуга шторма
//--------------------------------------
INSTANCE ItMW_Addon_Keule_2h_01(C_Item)
{ *
* *name * * * * * * * *= "Слуга шторма";
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * *// ближнее поражение
* *flags * * * * * * * = ITEM_2HD_AXE; * * * * * * // двуручный топор
* *material * * * * * *= MAT_WOOD; * * * * * * * * // дерево
* *value * * * * * * * = Value_Sturmknecht; * * * *// 1150
* *damageTotal * * * * = Damage_Sturmknecht; * * * // 115
* *damagetype * * * * *= DAM_BLUNT; * * * * * * * *// пролом
* *range * * * * * * * = RANGE_Sturmknecht; * * * *// 130
* *on_equip * * * * * *= UnEquip_2H_10; * * * * * *// одеть
* *on_unequip * * * * *= Equip_2H_10; * * * * * * *// снять
* *cond_atr[2] * * * * = ATR_STRENGTH; * * * * * * // сила
* *cond_value[2] * * * = Condition_Sturmknecht; * *// 115
* *visual * * * * * * *= "ItMW_Club_2H_01.3DS";
* *description * * * * = name; * * * * * * * * * * // "Слуга шторма"
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 115
* *TEXT[3] * * * * * * = NAME_Str_needed; * * * * *// "Необходимо силы:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 115
* *TEXT[4] * * * * * * = NAME_ADDON_MALUS_2H; * * *// "Штраф на двуручное умение"
* *COUNT[4] * * * * * *= Waffenbonus_10; * * * * * // 10
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 1150
};

//--------------------------------------
// Хороший кинжал
//--------------------------------------
INSTANCE ItMw_FrancisDagger_Mis(C_Item)
{ *
* *name * * * * * * * *= "Хороший кинжал"; *
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * *// ближнее поражение
* *flags * * * * * * * = ITEM_SWD ¦ ITEM_MISSION; *// квестовый меч
* *material * * * * * *= MAT_METAL; * * * * * * * *// металл
* *value * * * * * * * = 0; * * * * * * * * * * * *// 0
* *damageTotal * * * * = Damage_VLKDolch; * * * * *// 5
* *damagetype * * * * *= DAM_EDGE; * * * * * * * * // порез
* *range * * * * * * * = RANGE_VLKDolch; * * * * * // 50
* *on_equip * * * * * *= Equip_1H_05; * * * * * * *// одеть
* *on_unequip * * * * *= UnEquip_1H_05; * * * * * *// снять
* *cond_atr[2] * * * * = ATR_STRENGTH; * * * * * * // сила
* *cond_value[2] * * * = Condition_VLKDolch; * * * // 5
* *visual * * * * * * *= "Itmw_005_1h_dagger_01.3DS";
* *description * * * * = name; * * * * * * * * * * // "Хороший кинжал"
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 5
* *TEXT[3] * * * * * * = NAME_Str_needed; * * * * *// "Необходимо силы:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 5
* *TEXT[4] * * * * * * = NAME_ADDON_BONUS_1H; * * *// "Бонус к одноручному умению"
* *COUNT[4] * * * * * *= Waffenbonus_05; * * * * * // 5
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 0
};

//--------------------------------------
// Боевой посох 'Кольца Воды'
//--------------------------------------
INSTANCE ItMw_RangerStaff_Addon(C_Item)
{ *
* *name * * * * * * * *= "Боевой посох 'Кольца Воды'"; *
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * *// ближнее поражение
* *flags * * * * * * * = ITEM_2HD_AXE; * * * * * * // двуручный топор
* *material * * * * * *= MAT_WOOD; * * * * * * * * // дерево
* *value * * * * * * * = Value_RangerStaff; * * * *// 900
* *damageTotal * * * * = Damage_RangerStaff; * * * // 60
* *damagetype * * * * *= DAM_BLUNT; * * * * * * * *// пролом
* *range * * * * * * * = RANGE_RangerStaff; * * * *// 130
* *cond_atr[2] * * * * = ATR_STRENGTH; * * * * * * // сила
* *cond_value[2] * * * = Condition_RangerStaff; * *// 30
* *visual * * * * * * *= "ItMw_020_2h_Nov_Staff_01.3DS";
* *description * * * * = name; * * * * * * * * * * // "Боевой посох 'Кольца Воды'"
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 60
* *TEXT[3] * * * * * * = NAME_Str_needed; * * * * *// "Необходимо силы:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 30
* *TEXT[4] * * * * * * = NAME_TwoHanded; * * * * * // "Двуручное"
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 900
};

//--------------------------------------
// Plankenbrecher (не переведено)
//--------------------------------------
INSTANCE ItMw_Addon_PIR2hAxe(C_Item)
{ *
* *name * * * * * * * *= "Plankenbrecher"; *
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * *// ближнее поражение
* *flags * * * * * * * = ITEM_2HD_AXE; * * * * * * // двуручный топор
* *material * * * * * *= MAT_METAL; * * * * * * * *// металл
* *value * * * * * * * = Value_PIR2hAxe; * * * * * // 700
* *damageTotal * * * * = Damage_PIR2hAxe; * * * * *// 70
* *damagetype * * * * *= DAM_EDGE; * * * * * * * * // порез
* *range * * * * * * * = Range_PIR2hAxe; * * * * * // 80
* *cond_atr[2] * * * * = ATR_STRENGTH; * * * * * * // сила
* *cond_value[2] * * * = Condition_PIR2hAxe; * * * // 70
* *visual * * * * * * *= "ItMw_070_2h_axe_heavy_03.3DS";
* *description * * * * = name; * * * * * * * * * * // "Plankenbrecher"
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 70
* *TEXT[3] * * * * * * = NAME_Str_needed; * * * * *// "Необходимо силы:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 70
* *TEXT[4] * * * * * * = NAME_TwoHanded; * * * * * // "Двуручное"
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 700
};


...продолжение следует
Ответить с цитированием
Старый 16.06.2005, 09:53   #199
Vam

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

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

//--------------------------------------
// Enterschwert (не переведено)
//--------------------------------------
INSTANCE ItMw_Addon_PIR2hSword(C_Item)
{ *
* *name * * * * * * * *= "Enterschwert"; *
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * *// ближнее поражение
* *flags * * * * * * * = ITEM_2HD_SWD; * * * * * * // друручный меч
* *material * * * * * *= MAT_METAL; * * * * * * * *// металл
* *value * * * * * * * = Value_PIR2hSword; * * * * // 700
* *damageTotal * * * * = Damage_PIR2hSword; * * * *// 70
* *damagetype * * * * *= DAM_EDGE; * * * * * * * * // порез
* *range * * * * * * * = Range_PIR2hAxe; * * * * * // 120
* *cond_atr[2] * * * * = ATR_STRENGTH; * * * * * * // сила
* *cond_value[2] * * * = Condition_PIR2hSword; * * // 70
* *visual * * * * * * *= "ItMw_070_2h_sword_09.3DS";
* *description * * * * = name; * * * * * * * * * * // "Enterschwert"
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 70
* *TEXT[3] * * * * * * = NAME_Str_needed; * * * * *// "Необходимо силы:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 70
* *TEXT[4] * * * * * * = NAME_TwoHanded; * * * * * // "Двуручное"
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 700
};

//--------------------------------------
// Enteraxt (не переведено)
//--------------------------------------
INSTANCE ItMw_Addon_PIR1hAxe(C_Item)
{ *
* *name * * * * * * * *= "Enteraxt"; *
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * *// ближнее поражение
* *flags * * * * * * * = ITEM_AXE; * * * * * * * * // топор
* *material * * * * * *= MAT_METAL; * * * * * * * *// металл
* *value * * * * * * * = Value_PIR1hAxe; * * * * * // 600
* *damageTotal * * * * = Damage_PIR1hAxe; * * * * *// 60
* *damagetype * * * * *= DAM_EDGE; * * * * * * * * // порез
* *range * * * * * * * = Range_PIR1hAxe; * * * * * // 60
* *cond_atr[2] * * * * = ATR_STRENGTH; * * * * * * // сила
* *cond_value[2] * * * = Condition_PIR1hAxe; * * * // 60
* *visual * * * * * * *= "ItMw_030_1h_axe_01.3DS";
* *description * * * * = name; * * * * * * * * * * // "Enteraxt"
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 60
* *TEXT[3] * * * * * * = NAME_Str_needed; * * * * *// "Необходимо силы:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 60
* *TEXT[4] * * * * * * = NAME_OneHanded; * * * * * // "Одноручное"
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 600
};

//--------------------------------------
// Entermesser (не переведено)
//--------------------------------------
INSTANCE ItMw_Addon_PIR1hSword(C_Item)
{ *
* *name * * * * * * * *= "Entermesser"; *
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * *// ближнее поражение
* *flags * * * * * * * = ITEM_SWD; * * * * * * * * // меч
* *material * * * * * *= MAT_METAL; * * * * * * * *// металл
* *value * * * * * * * = Value_PIR1hSword; * * * * // 600
* *damageTotal * * * * = Damage_PIR1hSword; * * * *// 60
* *damagetype * * * * *= DAM_EDGE; * * * * * * * * // порез
* *range * * * * * * * = Range_PIR1hSword; * * * * // 70
* *cond_atr[2] * * * * = ATR_STRENGTH; * * * * * * // сила
* *cond_value[2] * * * = Condition_PIR1hSword; * * // 60
* *visual * * * * * * *= "ItMw_030_1h_sword_03.3DS";
* *description * * * * = name; * * * * * * * * * * // "Entermesser"
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 60
* *TEXT[3] * * * * * * = NAME_Str_needed; * * * * *// "Необходимо силы:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 60
* *TEXT[4] * * * * * * = NAME_OneHanded; * * * * * // "Одноручное"
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 600
};

//--------------------------------------
// Шпаги бандитов
//--------------------------------------
INSTANCE ItMw_Addon_BanditTrader(C_Item)
{ *
* *name * * * * * * * *= "Шпаги бандитов";
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * *// ближнее поражение
* *flags * * * * * * * = ITEM_SWD; * * * * * * * * // меч
* *material * * * * * *= MAT_METAL; * * * * * * * *// металл
* *value * * * * * * * = Value_BanditTrader; * * * // 250
* *damageTotal * * * * = Damage_VLKSchwert; * * * *// 40
* *damagetype * * * * *= DAM_EDGE; * * * * * * * * // порез
* *range * * * * * * * = RANGE_VLKSchwert; * * * * // 70
* *cond_atr[2] * * * * = ATR_DEXTERITY; * * * * * *// ловкость
* *cond_value[2] * * * = Condition_VLKSchwert; * * // 20
* *visual * * * * * * *= "ItMw_018_1h_SwordCane_01.3ds";
* *description * * * * = name; * * * * * * * * * * // "Шпаги бандитов"
* *TEXT[1] * * * * * * = "Der Buchstabe 'F.' ist in den Knauf geritzt.";
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 40
* *TEXT[3] * * * * * * = NAME_Dex_needed; * * * * *// "Необходимо ловкости:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 20
* *TEXT[4] * * * * * * = NAME_OneHanded; * * * * * // "Одноручное"
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 250
};

//--------------------------------------
// Бэтти
//--------------------------------------
INSTANCE ItMw_Addon_Betty(C_Item)
{ *
* *name * * * * * * * *= "Бэтти";
* *mainflag * * * * * *= ITEM_KAT_NF; * * * * * * *// ближнее поражение
* *flags * * * * * * * = ITEM_AXE ¦ ITEM_MISSION; *// квестовый топор
* *material * * * * * *= MAT_METAL; * * * * * * * *// металл
* *value * * * * * * * = Value_Betty; * * * * * * *// 1300
* *damageTotal * * * * = Damage_Betty; * * * * * * // 130
* *damagetype * * * * *= DAM_EDGE; * * * * * * * * // порез
* *range * * * * * * * = Range_ElBastardo; * * * * // 100
* *cond_atr[2] * * * * = ATR_DEXTERITY; * * * * * *// ловкость
* *cond_value[2] * * * = Condition_ElBastardo; * * // 110
* *visual * * * * * * *= "ItMw_065_1h_sword_bastard_03.3DS";
* *description * * * * = name; * * * * * * * * * * // "Бэтти"
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 130
* *TEXT[3] * * * * * * = NAME_Dex_needed; * * * * *// "Необходимо ловкости:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 110
* *TEXT[4] * * * * * * = NAME_OneHanded; * * * * * // "Одноручное"
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 1300
};

//--------------------------------------
// Магическая стрела
//--------------------------------------
INSTANCE ItRw_Addon_MagicArrow(C_Item)
{
* *name * * * * * * * *= "Магическая стрела";
* *mainflag * * * * * *= ITEM_KAT_MUN; * * * * * * // боеприпас
* *flags * * * * * * * = ITEM_BOW ¦ ITEM_MULTI; * *// лук + складируемый
* *wear * * * * * * * *= WEAR_EFFECT;
* *effect * * * * * * *= "SPELLFX_ARROW";
* *value * * * * * * * = Value_Pfeil; * * * * * * *// 1
* *visual * * * * * * *= "ItRw_Arrow.3ds";
* *material * * * * * *= MAT_WOOD; * * * * * * * * // дерево
* *description * * * * = name; * * * * * * * * * * // "Магическая стрела"
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 1
};

//--------------------------------------
// Огненная стрела
//--------------------------------------
INSTANCE ItRw_Addon_FireArrow(C_Item)
{
* *name * * * * * * * *= "Огненная стрела";
* *mainflag * * * * * *= ITEM_KAT_MUN; * * * * * * // боеприпас
* *flags * * * * * * * = ITEM_BOW ¦ ITEM_MULTI; * *// лук + складируемый
* *wear * * * * * * * *= WEAR_EFFECT;
* *effect * * * * * * *= "SPELLFX_FIREARROW";
* *value * * * * * * * = Value_Pfeil; * * * * * * *// 1
* *visual * * * * * * *= "ItRw_Arrow.3ds";
* *material * * * * * *= MAT_WOOD; * * * * * * * * // дерево
* *description * * * * = name; * * * * * * * * * * // "Огненная стрела"
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 1
};

//--------------------------------------
// Магический лук
//--------------------------------------
INSTANCE ItRw_Addon_MagicBow(C_Item)
{
* *name * * * * * * * *= "Магический лук";
* *mainflag * * * * * *= ITEM_KAT_FF; * * * * * * *// дальнее поражение
* *flags * * * * * * * = ITEM_BOW; * * * * * * * * // лук
* *material * * * * * *= MAT_WOOD; * * * * * * * * // дерево
* *value * * * * * * * = Value_MagicBow; * * * * * // 2000
* *damageTotal * * * * = Damage_MagicBow; * * * * *// 100
* *damagetype * * * * *= DAM_MAGIC; * * * * * * * *// магия
* *munition * * * * * *= ItRw_Addon_MagicArrow; * *// Магическая стрела
* *wear * * * * * * * *= WEAR_EFFECT;
* *effect * * * * * * *= "SPELLFX_BOW";
* *cond_atr[2] * * * * = ATR_DEXTERITY; * * * * * *// ловкость
* *cond_value[2] * * * = Condition_MagicBow; * * * // 50
* *visual * * * * * * *= "ItRw_Bow_H_04.mms";
* *description * * * * = name; * * * * * * * * * * // "Магический лук"
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 100
* *TEXT[3] * * * * * * = NAME_Dex_needed; * * * * *// "Необходимо ловкости:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 50
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 2000
};

//--------------------------------------
// Огненный лук
//--------------------------------------
INSTANCE ItRw_Addon_FireBow(C_Item)
{
* *name * * * * * * * *= "Огненный лук";
* *mainflag * * * * * *= ITEM_KAT_FF; * * * * * * *// дальнее поражение
* *flags * * * * * * * = ITEM_BOW; * * * * * * * * // лук
* *material * * * * * *= MAT_WOOD; * * * * * * * * // дерево
* *value * * * * * * * = Value_FireBow; * * * * * *// 2000
* *damageTotal * * * * = Damage_FireBow; * * * * * // 50
* *damagetype * * * * *= DAM_MAGIC; * * * * * * * *// магия
* *munition * * * * * *= ItRw_Addon_FireArrow; * * // Огненная стрела
* *wear * * * * * * * *= WEAR_EFFECT;
* *effect * * * * * * *= "SPELLFX_FIREBOW";
* *cond_atr[2] * * * * = ATR_DEXTERITY; * * * * * *// ловкость
* *cond_value[2] * * * = Condition_FireBow; * * * *// 25
* *visual * * * * * * *= "ItRw_Bow_H_04.mms";
* *description * * * * = name; * * * * * * * * * * // "Огненный лук"
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 50
* *TEXT[3] * * * * * * = NAME_Dex_needed; * * * * *// "Необходимо ловкости:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 25
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 2000
};

//--------------------------------------
// Магический болт
//--------------------------------------
INSTANCE ItRw_Addon_MagicBolt(C_Item)
{
* *name * * * * * * * *= "Магический болт";
* *mainflag * * * * * *= ITEM_KAT_MUN; * * * * * * // боеприпас
* *flags * * * * * * * = ITEM_CROSSBOW ¦ ITEM_MULTI; * // арбалет + складируемый
* *value * * * * * * * = Value_Bolzen; * * * * * * // 1
* *wear * * * * * * * *= WEAR_EFFECT;
* *effect * * * * * * *= "SPELLFX_BOLT";
* *visual * * * * * * *= "ItRw_Bolt.3ds";
* *material * * * * * *= MAT_WOOD; * * * * * * * * // дерево
* *description * * * * = name; * * * * * * * * * * // "Магический болт"
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 1
};

//--------------------------------------
// Магический арбалет
//--------------------------------------
INSTANCE ItRw_Addon_MagicCrossbow(C_Item)
{
* *name * * * * * * * *= "Магический арбалет";
* *mainflag * * * * * *= ITEM_KAT_FF; * * * * * * *// дальнее поражение
* *flags * * * * * * * = ITEM_CROSSBOW; * * * * * *// арбалет
* *material * * * * * *= MAT_WOOD; * * * * * * * * // дерево
* *wear * * * * * * * *= WEAR_EFFECT;
* *effect * * * * * * *= "SPELLFX_CROSSBOW";
* *value * * * * * * * = Value_MagicCrossbow; * * *// 2000
* *damageTotal * * * * = Damage_MagicCrossbow; * * // 200
* *damagetype * * * * *= DAM_MAGIC; * * * * * * * *// магия
* *munition * * * * * *= ItRw_Addon_MagicBolt; * * // Магический болт
* *cond_atr[2] * * * * = ATR_STRENGTH; * * * * * * // сила
* *cond_value[2] * * * = Condition_MagicCrossbow; *// 75
* *visual * * * * * * *= "ItRw_Crossbow_H_01.mms";
* *description * * * * = name;
* *TEXT[2] * * * * * * = NAME_Damage; * * * * * * *// "Повреждение:"
* *COUNT[2] * * * * * *= damageTotal; * * * * * * *// 200
* *TEXT[3] * * * * * * = NAME_Str_needed; * * * * *// "Необходимо силы:"
* *COUNT[3] * * * * * *= cond_value[2]; * * * * * *// 75
* *TEXT[5] * * * * * * = NAME_Value; * * * * * * * // "Ценность:"
* *COUNT[5] * * * * * *= value; * * * * * * * * * *// 2000
};

Ответить с цитированием
Старый 16.06.2005, 22:23   #200
basilio58

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

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

Все это конечно замечательно...луки-стрелы...
Но вот что интересно: в OldWorld есть следующие oCZoneMusic
DRAGONLOCATION_DLC - 3 шт
NEWCAMP_SNOW_NCI
NEWCAMP_SNOW_NCО

oldcamp oCZoneMusic
DRAGONLOCATION_DLC

oCZoneMusicDefault
OLDWORLDDEFAULT_OWD

НИ ОДНОГО такого названия(инстанции) в скриптах НЕТ!
Я думаю, не меня одного это интересует, без музыки игра....сами понимаете...
Ответить с цитированием
Страница 5 из 8 12345 678


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе

Смайлы Вкл.
[IMG] код Вкл.
HTML код Вкл.


Текущее время: 04:20. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2021, vBulletin Solutions, Inc. Перевод: zCarot

AGFC: Valley of Gothic © 2004-2020

Яндекс.Метрика