Автор перевода : ValleoПродолжим...
AdjustAlignment (Регулировка Анлаймента персонажа)
void AdjustAlignment(object oSubject, int nAlignment, int nShift)
object oSubject - сам персонаж, чей анлаймент (еще называют его алигмент) мы будем регулировать
int nAlignment - переделка анлаймента на корню (что тут установите, такой и будет):
ALIGNMENT_LAWFUL
ALIGNMENT_CHAOTIC
ALIGNMENT_GOOD
ALIGNMENT_EVIL
(перечисленные константы меняют алаймент только по заданной шкале)
ALIGNMENT_ALL - меняет показатели всех шкал.
ALIGNMENT_NEUTRAL - изменяет алаймент по направлению к нейтральности.
Например, если цель имеет 10 хаотик и 80 гуда, а изменение - 15 пунктов, то новый алаймент будет (10 + 15 = 25) в хаотик/лофул и (80 - 25 = 55) в эвил/гуд.
int nShift - количество пунктов, на которое требуется изменить алаймент.
AdjustReputation (Изменяет отношение oSourceFactionMember к oTarget)
void AdjustReputation(object oTarget, object oSourceFactionMember, int nAdjustment)
object oTarget - цель изменения
object oSourceFactionMember - объект, в глазах которого изменяется репутация
int nAdjustment - кол-во пунктов, на которое повышается (понижается) отношение.
Note: Эта функция изменяет отношение всей группы (фракции), к которой принадлежит oSourceFactionMember.
AmbientSoundChangeDay (Смена фоновой музыки в определенной локации днем)
void AmbientSoundChangeDay(object oArea, int nTrack)
object oArea - локация, в которой идет смена фоновой музыки
int nTrack - номер трека, на который вы хотите сменить фоновую музыку
AmbientSoundChangeNight (Смена фоновой музыки в определенной локации ночью)
void AmbientSoundChangeNight(object oArea, int nTrack)
object oArea - локация, в которой идет смена фоновой музыки
int nTrack - номер трека, на который вы хотите сменить фоновую музыку
AmbientSoundPlay (Проиграть фоновую музыку в локации)
void AmbientSoundPlay(object oArea)
object oArea - сама локация
AmbientSoundSetDayVolume (Изменить громкость фоновой музыки днем)
void AmbientSoundSetDayVolume(object oArea, int nVolume)
object oArea - локация, где играет фоновая музыка
int nVolume - громкость (от 0 до 100)
AmbientSoundSetNightVolume (Изменить громкость фоновой музыки ночью)
void AmbientSoundSetNightVolume(object oArea, int nVolume)
object oArea - локация, где играет фоновая музыка
int nVolume - громкость (от 0 до 100)
AmbientSoundStop (Останавливает воспроизведение фоновой музыки в определенной локации)
void AmbientSoundStop(object oArea)
object oArea - сама локация
AngleToVector (Коневертировать дробную переменную в вектор)
vector AngleToVector(float fAngle)
float fAngle - переменная для конвертации
ApplyEffectAtLocation (Применить эффект к указанной локации)
void ApplyEffectAtLocation(int nDurationType, effect eEffect, location lLocation, float fDuration=0.0f)
int nDurationType - определяет, сколько этот эффект будет продолжаться :
DURATION_TYPE_INSTANT - мгновенно
DURATION_TYPE_PERMANENT - всегда
DURATION_TYPE_TEMPORARY - временно
effect eEffect - прмиеняемый эффект
location lLocation - локация, на которую эффект будет прмиеняться
float fDuration - длительность эффект (если в nDurationType стоит DURATION_TYPE_TEMPORARY)
ApplyEffectToObject (Прмиенить эффект уже к объекту)
void ApplyEffectToObject(int nDurationType, effect eEffect, object oTarget, float fDuration=0.0f)
int nDurationType - определяет, сколько этот эффект будет продолжаться :
DURATION_TYPE_INSTANT - мгновенно
DURATION_TYPE_PERMANENT - всегда
DURATION_TYPE_TEMPORARY - временно
effect eEffect - прмиеняемый эффект
object oTarget - объект, к оторому будет применяться эффект
float fDuration - длительность эффект (если в nDurationType стоит DURATION_TYPE_TEMPORARY)
asin (Возвращает дробное значение арксинуса, если значение болье 1 или меньше -1 - то возвращается 0)
float asin(float fValue)
float fValue - число, из которого извлекается арксинус
atan (Возвращает дробное значение арктангенса)
float atan(float fValue)
float fValue - число, из которого будет извлекаться арктангенс
AssignCommand (Это функция для назначения вышеописанных Action функций не OBJECT_SELF объектам)
void AssignCommand(object oActionSubject,action aActionToAssign)
object oActionSubject - объект, который будет ВЫПОЛНЯТЬ aActionToAssign
action aActionToAssign - действие, которое будет выполнять oActionSubject
Описанные выше Action* функции выполняются только для OBJECT_SELF. В любом событии NPC используются обычные ActionMoveToObject() и т.д. А например в OnUsed плейсебла, ActionMoveToObject() должна будет заставить двигаться плейсебл. Для решения этой задачи и используется AssignCommand().
Например:
Код
// Стандартный скрипт x0_o2_use_chair
// садит юзера на объект (стул, диван, кресло)
void main()
{
object oChair = OBJECT_SELF;
if (!GetIsObjectValid(GetSittingCreature(OBJECT_SELF))) {
AssignCommand(GetLastUsedBy(), ActionSit(oChair));
}
}