Variables, краткая характеристика и особенности применения. |
|
Здравствуйте, гость ( Вход | Регистрация )
Variables, краткая характеристика и особенности применения. |
23.6.2010, 9:12
Сообщение
#1
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Понятие переменной.
I) Variable (Var) - простая числовая переменная*. Для использования переменной необходимо добавить её в F3 F9 var. Команды для применения: 1. set_i - вводит значение выбранной переменной, позволяет оперировать с ним числами и другими переменными. По умолчанию значение переменной = 0 2. cmp_i - условие, позволяющее сравнивать значения переменной с другой переменной или определённым числом. *Примечание Характерно то, что параметры могут быть только простыми (в строке только одно число или одна переменная); К примеру запись set_i (var1 = 2*var2) будет распознаваться как var1 = 2 II) Примеры простого применения варов: Пример №1: создать вары (v_1 и v_2) триггер условия ---- действия set_i (((v_1)-название вара)=((3)- число)) (То есть вар v_1 = 3) set_i (v_2 = 2) set_i (v_1 - v_2) if (cmp_i (v_1 = 1)) | -actor_to_waypoint. Вот несколько конкретных примеров простого применения переменных: 1)как слагаемое Пример №2 У противника есть техника: 2 Тигра (тег ger_tiger1) 10 четвёрок (тег ger_pzer4) 5 PzIII (тег ger_pzer3) действия: враг отступает при качественных и количественных потерях. Примечания: в отличие от простого условия entity учитывается и качественная сторона потерь. Для создания триггера необходимо ввести переменную (в F9 var). Пусть она будет называться vari_i1) Теперь о расценке техники. Пусть тигр будет стоить 6 пз4 - 4 пз3 - 3 Смысл действий команд в триггере таков: при подбитии танка к переменной добавляется соответствующее количество единиц (для тигра - 6, пз4 - 4 и т.д.) тогда триггер будет выглядеть так: однако триггер будет перезапускаться, команды из if - происходить вновь и вновь, потому что сломанный тигр с тегом как был, так и остался на месте. Поэтому надо, чтобы при перезапуске триггера команды, сработавшие из-за одного и того же тигра, из-за него не работали вновь. Следовательно у подбитого тигра надо убрать тег. Теперь об условиях отступления: С каждым подбитым танком значение вара увеличивается. Допустим, враг потерял 1 PzVI 2 PzIV 3 PzIII вар (переменная) будет равен 20. Однако количественные потери могут показаться маловатыми, ведь 20 единиц - это всего-лишь 2 тигра и 2 панцера4, ил 5 пз3 и 1 тигр (с учётом того, что вар будет больше или равен 20), или половина пз4, или какой-нибудь другой вариант. поэтому можно взять значение вара, при котором произойдёт отступление, равным 26. То есть когда значение вара будет больше или равно 26, тогда начнёнтся исполнение команд по отходу немцев. тогда условие отхода if будет выглядеть так: а весь триггер: 2)Пример №3 (только для Лиса, в БПО не идёт) У игрока есть ремкомплект, которым тот пользуется постоянно.Это ,может быть, и нравится игроку, но автору мода не хочется, чтобы один ремкомплект работал постоянно. В данном случае вар играет роль счётчика времени, в момент которого идёт починка чего-либо. Вот - часть "действия": в delete прописан тэг ремкомплекта,вар только один. Теперь нужно найти правильное условие, и, насколько помнится, оно было одно. Как условие 3)Пример №4 Необходимо, чтобы триггер перезапускался определённое количество раз. Я думаю, что комментировать тут нечего: 4)Пример №5 Необходимо, чтобы в перезапускающемся триггере какое-либо (какие-либо) действие произошло только один раз Тут же, если необходимо, чтобы команда исполнилась на х перезапуск триггера (если х=1, то на первый перезапуск, если 2 - на второй и т.д.) II)Теперь о самом главном: насколько вероятна возможность создания триггеров, глобально контролирующих поведение врага? Скорее всего, равна нулю. Но это не значит, что контролировать поведение отдельных групп нельзя. Довольно-таки легко создать триггеры, влияющие на простые действия группы,количество которой известно. Например, сделать вар, отвечающий за мораль группы, и вычитать из него при потерях солдат, офицеров, пулемётчиков, отсутствии боеприпасов, бронетехники и т.д. Однако если количество солдат неизвестно? Значит надо их посчитать. Обьяснение смысла триггеров и сами нормальные (не те, что я выкладывал в теме "Примеры скриптов") триггеры по подсчёту и сравнению будут во втором сообщении. |
|
|
24.6.2010, 17:53
Сообщение
#2
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Вводная к Части №II
Подсчёт количества солдат игрока. Каким образом можно точно подсчитать количество юнитов и связать это с переменной, так, чтобы её значение было бы равно количеству юнитов? Можно присвоить всем юнитам тэг, тогда количество юнитов с тэгом будет равно количеству юнитов. Теперь количество тэгов необходимо сравнить со значением переменной. Я выбрал более простой путь сравнения и смысл его таков: солдатам (в данном случае) присваивается тэг (пусть soldati_igroka), затем у одного солдата с этим тегом тэг отнимается, а к переменной прибавляется 1. Сколько тэгов отнято, столько солдат и таково значение переменной. Это значит, что под один if (в результате пришёл к мнению, что лучше switch) нужно вставить команды entity_state (отнимает тэг у одного солдата с тэгом) и set_i. Проблема заключалась в реализации задуманного, ведь громоздкую систему из 2 триггеров (1-присвоение тэга,2-подсчёт) организовать сложнее, чем создать один завершённый триггер. Но если все действия поместить в один, возникнут сложности с тем, что триггер перезапускается, и каждый раз солдатам присваивается тэг. Раскрывающийся текст В связи с необходимостью перезапуска триггера количество команд if нужно минимизировать, ведь перезапуск необходим несколько раз - при подсчёте (пока считает, не должно выполняться сравнение третьей переменной со второй, а для этого пришлось бы ввести очередную переменную), и при сравнении, с обнулением переменной №2 (если переменную не обнулить перед очередным подсчётом, то её значение будет увеличиваться на количество живых солдат) Пришлось вводить ещё одну переменную, ограничивающую постоянный повтор команды, присваивающей тэг всем солдатам игрока до их подсчёта В результате получился такой триггер: Кратко: переменная v_1_ - отвечает за работу команды, присваивающей солдатам тэг. переменная v_2_ - за подсчёт тэгов. переменная v_3_ - приравнивается ко второй переменной.Именно её значение равно количеству живых солдат. Возникнет очевидный вопрос: для чего это надо, и что отсюда использовать? Вот пример использования триггера: вывод количества солдат на экран (текст в команде objective_progress должен выглядеть так: %1% - осталось солдат.) Это лишь небольшая часть того, как можно использовать триггер. Также вполне возможно его применение для улучшения поведения группы. Теперь о недостатках: характерная черта триггера - подсчёт по 1 единице. Большее число не подходит. Из-за этого подсчёт при больших количествах юнитов (при ста, например) отстает от реальности на 25 секунд: Однако с этим недостатком почти удалось справиться. Триггер подсчитывает количество ста солдат за 5 секунд. При желании можно довести до 2-3 секунд. В следующем сообщении будут разобраны: 1) триггер по подсчёту солдат в самом совершенном виде, какой у меня есть; 2) триггер по подсчёту количества наших солдат и солдат противника (всё - в одном триггере); 3) триггер, позволяющий контролировать поведение неопределённой изначально по числу группы юнитов в зависимости от потерь; 4) сравнение количества; 5) может ещё что-нибудь, если вспомню. |
|
|
24.6.2010, 20:51
Сообщение
#3
|
|
Младший сержант Группа: Старожилы Сообщений: 1611 Регистрация: 13.8.2017 Из: Украина, Николаев Пользователь №: 111335 |
Браво!Рассмотри,пожалуйста,пример атаки ИИ с помощью варов.
|
|
|
24.6.2010, 21:09
Сообщение
#4
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Цитата Рассмотри,пожалуйста,пример атаки ИИ с помощью варов Хорошо, сделаю пример, примерно 10 немцев на 5 наших солдат (думаю, хватит для начала), где будет учитываться пресловутая "мораль", а так же учет разнообразных факторов. Параллельно делаю мод, в июле планирую отключиться на месяц, но попробую сделать пример в июне. Сообщение отредактировал Dudkoff - 24.6.2010, 21:09 |
|
|
25.6.2010, 1:11
Сообщение
#5
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Dudkoff
Пример бы бы очень кстати на форуме конечно понятно, но вдруг, еще, подводные камушки есть ;) |
|
|
25.6.2010, 10:27
Сообщение
#6
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Цитата Пример бы бы очень кстати на форуме конечно понятно, но вдруг, еще, подводные камушки есть ;) А как же, теория - вещь более лёгкая, чем применение её на практике. По применению тех же варов для подсчёта юнитов, например: Раскрывающийся текст идея появилась сразу после того, как стало понятно назначение варов, рассчитана эта идея была за несколько секунд, а воплощена в жизнь - за несколько дней. триггер пришлось доводить до рабочего состояния раз 20, и тот пример, что был в сообщении №2, являясь вроде бы завершённым, меня устроить не мог из-за отмеченной там же проблемы. позавчера зародилась идея о том, как сделать Цитата 1) триггер по подсчёту солдат в самом совершенном виде, коорый частично был проверен, но это ничего ещё не означает. Так что постараюсь сегодня выложить примеры Цитата 1) триггер по подсчёту солдат в самом совершенном виде, какой у меня есть; 2) триггер по подсчёту количества наших солдат и солдат противника (всё - в одном триггере); 3) триггер, позволяющий контролировать поведение неопределённой изначально по числу группы юнитов в зависимости от потерь; 4) сравнение количества; До июля - сделать пример, а мод, так и быть, отложить до августа. |
|
|
25.6.2010, 22:03
Сообщение
#7
|
|
Младший сержант Группа: Старожилы Сообщений: 1611 Регистрация: 13.8.2017 Из: Украина, Николаев Пользователь №: 111335 |
Экспериментировал с варами.Создал клонирование пехотинца на вейп через каждые 2 секунды,в конце sеt_і с варом и 1.В другом триггере в условии сmр_і с этим варом и==5.Хотел добиться чтоб он склонировался 5раз,но не работает.Что не так?Цифра 1 в первом считает юниты или количество повторений команд?
|
|
|
26.6.2010, 10:05
Сообщение
#8
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Цитата Создал клонирование пехотинца на вейп через каждые 2 секунды,в конце sеt_і с варом и 1 Tриггер должен выглядеть вот так: условие сmp_i (вар) <5 действие actor_to_waypoint set _i (вар) +1 delay (время, проходящее между появлениями пехотинцев) 2 trigger off То есть вар тут считает, сколько раз повторяется триггер. Если расписывать, как он будет работать, то получется вот так: Раскрывающийся текст первый раз: условие сmp_i (вар) <5 действие actor_to_waypoint (пошёл первый пехотинец) set _i (вар) +1 (теперь равен 1) delay (время, проходящее между появлениями пехотинцев) 2 секунды trigger off перезапуск второй раз: условие сmp_i (вар) <5 действие actor_to_waypoint (пошёл второй пехотинец) set _i (вар) +1 (теперь равен 2) delay (время, проходящее между появлениями пехотинцев) 2 секунды trigger off перезапуск третий раз: условие сmp_i (вар) <5 действие actor_to_waypoint (пошёл третий пехотинец) set _i (вар) +1 (теперь равен 3) delay (время, проходящее между появлениями пехотинцев) 2 секунды trigger off перезапуск четвёртый раз: условие сmp_i (вар) <5 действие actor_to_waypoint (пошёл четвёртый пехотинец) set _i (вар) +1 (теперь равен 4) delay (время, проходящее между появлениями пехотинцев) 2 секунды trigger off перезапуск и ! пятый раз: условие сmp_i (вар) <5 действие ( команды исполняются поочереди и тут вар ещё равен 4, поэтому команды работают) actor_to_waypoint (пошёл пятый пехотинец) set _i (вар) +1 (теперь равен 5, но уже после того, как пошёл солдат) delay (время, проходящее между появлениями пехотинцев) 2 секунды trigger off перезапуск шестой раз: условие сmp_i (вар) <5 вар теперь равен 5, следовательно actor_to_waypoint (пошёл шестой пехотинец) set _i (вар) +1 (теперь равен 6) delay (время, проходящее между появлениями пехотинцев) 2 секунды trigger off перезапуск Сообщение отредактировал Dudkoff - 26.6.2010, 10:08 |
|
|
26.6.2010, 12:50
Сообщение
#9
|
|
Младший сержант Группа: Старожилы Сообщений: 1611 Регистрация: 13.8.2017 Из: Украина, Николаев Пользователь №: 111335 |
Не выходит.Все равно цикла нет,повторяется 2 раза,хоть в условии 5
|
|
|
26.6.2010, 13:04
Сообщение
#10
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Хорошо, сейчас будет пример,
а это Цитата 1) триггер по подсчёту солдат в самом совершенном виде, какой у меня есть; 2) триггер по подсчёту количества наших солдат и солдат противника (всё - в одном триггере); 3) триггер, позволяющий контролировать поведение неопределённой изначально по числу группы юнитов в зависимости от потерь; 4) сравнение количества; пока что откладывается. |
|
|
26.6.2010, 13:25
Сообщение
#11
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
|
|
|
26.6.2010, 13:36
Сообщение
#12
|
|
Младший сержант Группа: Старожилы Сообщений: 1611 Регистрация: 13.8.2017 Из: Украина, Николаев Пользователь №: 111335 |
Яндекс не работает,лучше депозит. |
|
|
26.6.2010, 19:45
Сообщение
#13
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Раскрывающийся текст А по скринам? тэг есть, картинки есть, вар можно добавить, условие и 4 действия - тоже. Залью на депозит, если надо. Что касается Цитата 1) триггер по подсчёту солдат в самом совершенном виде, какой у меня есть наметились коррективы: в условии entities количество юнитов можно сравнивать со значением вара. Так что вносятся изменения для упрощения триггера. Сообщение отредактировал Dudkoff - 26.6.2010, 19:48 |
|
|
28.6.2010, 14:36
Сообщение
#14
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
МеталлисТ http://depositfiles.com/files/rk4ekqc6a
Часть II Благодаря тому, что количество юнитов можно сравнивать со значением вара, для подсчёта количества юнитов открылись новые перспективы: теперь подсчёт ведётся не по количеству тэгов, а непосредственно по количеству солдат. Таким образом убран главный неудобный посредник - тэг. Раскрывающийся текст Почему тэг - неудобный посредник? Вот триггер, почти мгновенно подсчитывающий количество солдат по тэгам: № строки в блокноте: ...................... 233 . . {trigger . 234 {## "seriously_trigger" . 235 {disabled} .236 {condition . .237 } 238 {actions 239 {"if" 240 {condition 241 {type cmp_i} 242 {var "v_1_$"} ... ... ... ... ... ... ... ... ... ... 3434 {"trigger" 3435 {name "seriously_trigger"} 3436 } 3437 } ... ... ... ... ... ... ... ... ... ... 3438 } Итого: 3205 строк ! С учётом того, что триггер сделан на треть.] Теперь триггер, созданный с учётом того, что подсчитывать количество юнитов можно и без тэгов: № строки в блокноте: 11625 {"апт11" 11626 {condition 11627 } 11628 {actions 11629 {"switch" 11630 {"case" 11631 {condition 11632 {type cmp_i} 11633 {var "м_7_$"} ... ... ... ... ... ... ... ... ... ... 12117 {"trigger" 12118 {name "апт11"} ... ... ... ... ... ... ... ... ... ... 12124 } Итого: 499 строк. Триггер доведён до конца и работает. Отстаёт по времени от реальности на 0,5 - 1,5 секунды Как же удалось без качественного ущерба сократить триггер в 6 раз ( а с учётом того, что первый (с тэгами) не завершён на 60 %, в 19 раз)? Смысл триггера подсчёта с тэгами: Раскрывающийся текст Группа солдат в зависимости от количеcтва подразделяется по тэгам на 10 или 20 подгрупп. При этом сначала присваивается тэг первым 10 солдатам, потом второй десятке и т.д. Это значит, что если есть солдаты с тэгом 4 группы, то есть в полном составе солдаты 1, 2 и 3 групп, а к вару прибавляется 30. Далее идёт подсчёт солдат 4 группы. Однако не должны выполняться условия "если солдат 3 группы > 0" и т.д., следовательно тэги солдат младших групп необходимо убирать. Команды entity_state с tag_remove и занимают основной обьём триггера. В самом совершенном триггере по подсчёту юнитов без применения тэгов характерна такая же форма подсчёта: сначала - десятки, потом - единицы. В данном случае основной объём триггера занимают команды для определения количества десятков . Смысл триггера такой: 1. Определяется количество десятков солдат игрока, к вару прибавляется соответствующее значение. 2. Подсчитывается количество единиц. 3. Сравнивается значение постоянной переменной и переменной, ведущей подсчёт юнитов. 4. Обнуляются рабочие* вары. *Рабочими варами считать те вары, что отвечают за исполнение команд. В примере вар v_6_ является единственным, который таким не является. Вот сам триггер: теперь объяснение этим, на первый взгляд, непонятным командам: Триггер состоит из 2 частей: 1 - подсчёт 2 - перезапуск 1)Итак, что необходимо для подсчёта: а) Количество десятков б) Количество единиц Как узнать количество десятков? Определить, в каком диапазоне десятков находится количество юнитов. Это можно сделать командами if (entities ( player 1 human not dead) < 100) |_ if (entities ( player 1 human not dead) >= 90) |_ Set_i ((m_6_)+90) И так для каждого десятка С таким обилием команд if (идут с уменьшением на 10) всё должно быть понятно. (если нет, задавать вопросы ) Теперь о единицах. Подсчёт единиц начинается только после того, как определено количество десятков, поэтому команды, отвечающие за подсчёт единиц, работают под if с условием (cmp_i (v_2_ =1)) об этом - см. далее Так как подсчёт ведётся в рамках одного case, а количество единиц необходимо считать несколько раз (их может быть одно, если количество юнитов равно 91 (90 - десяток, единица - сверх десятка), а может быть несколько: Например 95. Десяток должен считаться один раз. Единица - несколько раз, до тех пор, пока значение вара не станет равным количеству юнитов) то команды, отвечающие за подсчёт десятков, должны исполниться один раз до полного перезапуска триггера в default. Иначе к вару будет постоянно прибавляться определяемое количество десятков. Таким образом нужно ограничить повтор команд, отвечающих за определение десятков, до перезапуска триггера. Это делает вар v_2_. В условии if, где вар v_2_ =0, собраны команды, подсчитывающие десятки. Когда количество десятков определено, то команда set _i (v_2_ = 1), стоящая в конце if, блокирует повтор этих команд. То есть когда будет вестись подсчёт единиц, команды, отвечающие за подсчёт десятков, работать не будут, ведь вар v_2_ =1. Теперь работают только те команды, которые считают единицы. Тут - простое сравнение: если (количество юнитов) < (значение вара) то вар -1 (чтобы уровнять значения); если (количество юнитов) > (значение вара) то вар +1 (чтобы уровнять значения); подсчёт единиц ведётся , пока если (количество юнитов) != (значение вара) != значит "не равен". когда (количество юнитов) = (значение вара) вар m_7_ приравнивается к 1 Так как в case условие m_7_ =0 а вар = 1, то исполняется не case, а default. 2)Перезапуск - cамая короткая и не менее важная часть триггера. все команды default собраны под одну "гребёнку" if с условием cmp_i (V_4_=1) - это для лишней безопасности от случайного перезапуска триггера. v_4_ =1 при подсчёте единиц. а) Сравнивается значение постоянного вара v_3_ и рабочего m_6_. вар v_3_ всегда равен количеству юнитов. б) Тут обнуляются рабочие вары для нормальной работы триггера. в) Перезапускается триггер. вар v_3_ теперь равен количеству юнитов. вар m_6_ обнуляется. вар v_4_ обнуляется. вар m_7_ обнуляется, иначе невозможен дальнейший подсчёт количества юнитов. вар v_2_ обнуляется, иначе невозможен подсчёт десятков. начинает работу event, с него и стартуют триггеры по сравнению количества, иные логические триггеры. trigger off (полный перезапуск триггера) Часть II Вывод количества юнитов на экран. В предыдущем примере аналогичного триггера использовались всего 2 вара и команда objective_progress. Данный триггер более совершенен и позволяет прибавлять значения, выводимые на экран, не по 1, а по 10, 4 или 1, в зависимости от разницы между значением вара и цифрой на экране. Иными словами, значения, выводимые на экран, более актуальны для складывающейся обстановки. Присутствуют изначально два вара: v_6_ и v_3_. v_6_ равен значению, выводимому на экран, v_3_ - количеству подсчитанных юнитов. Сравнивается значение варов, и если то учитывается разница между варами. С изначальными варами работать не рекомендуется (приравнивать, вычитать, прибавлять, особенно с v_3_), поэтому вводятся два вара. Как видно на изображении, м_1_ = v_6_, м_2_ = v_3_ далее из м_2_ вычитается м_1_ (ведь м_2_, если v_6_ < v_3_, всегда больше м_1_) а в switch выбирается: 1) больше или равно м_2_ по отношению к 10 тогда к вару v_6_ прибавляется 10, как самое минимальное значение к цифре на экране - тоже 10 2)меньше или равно м_2_ по отношению к 3 (второй case) тогда к v_6_ +1 к objective_progress add 1 3)Иначе, если от 4 до 9, (в default) прибавляется к v_6_ 4 к objective_progress add 4 Теперь, если v_6_ больше v_3_ в третьем set_i вычитается не м_2_ - м_1_, а наоборот, м_1_ - м_2_ сравнение идёт теперь с м_1_ и в аналогичных командах из case и default выполняется не сложение, а вычитание. После if (v_6_<v_3_) и if (v_6_>v_3_) Отдельно ( не в командах if) идёт команда trigger off - триггер перезапускается. |
|
|
24.7.2010, 18:07
Сообщение
#15
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Вот попытка реализовать в игре такие вещи, как перегрев двигателя и изношенность ходовой части (принцип одинаков - при долгом использовании - порегрев, поломка; в случае, если техника не движется - температура двигателя постепенно снижается):
Скрипт есть, но он тяжеловат, и на 1 единицу техники приходется 3 вара (для сотни - соответственно 300). |
|
|
17.10.2010, 17:46
Сообщение
#16
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Ещё одна забавная вещь, связанная с переменными:
осв1.rar |
|
|
21.10.2010, 10:32
Сообщение
#17
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Ещё одна забавная вещь, связанная с переменными: осв1.rar открой секрет |
|
|
24.10.2010, 14:02
Сообщение
#18
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
открой секрет Да вещь я тоже хочу. Выложи как ты это сделал пожалуйста. |
|
|
24.10.2010, 17:44
Сообщение
#19
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
В течение ближайщего дня (или дней) раскрою, как это сделать, а так же все достоинства и недостатки.
|
|
|
25.10.2010, 18:58
Сообщение
#20
|
|
Группа: Сообщений: 0 Регистрация: -- Пользователь №: |
Необходимы:
1. Соответствующие скрипты. 2. Изменения в файле vehicle.inc, которые отрицательно ни на что не повлияют. Из видео видно, что: -включение/выключение обеспечивается нажатием reinforcenment'a, который изменяется с "выключить" на "включить", и наоборот. -оно применяется только для одного юнита или группы юнитов (в этом случае - включение/выключение распространяется на все юниты этой группы). Последнее можно несколько разнообразить, но с усложнением скрипта. Итак, ПЕРВОЕ - скрипты: Раскрывающийся текст Архив со скринами - осв-триггеры.rar + скрины с объяснением здесь: I. - вары, эвенты и reinforcenment'ы, используемые тут. II. первый триггер - отвечает за непосредственно возникновение визуального эффекта освещения (осв. - далее) - смысл команд - определение того, работает осв. или нет в тот момент, когда происходит команда на его переключение, и действие на переключение в зависимости от того, работает осв. или нет. III. триггер №2 - отвечает за переключение reinforcenment'a (reinf'a - далее) - т.е. сменяет "выключить" на "включить" и наоборот. смысл команд - определение того, работает осв. или нет в тот момент, когда происходит команда на переключение rienf'a, и действие на переключение и переключение rienf'a в зависимости от того, какой rienf включен. Раскрывающийся текст В скриптах можно заменить (нужно заменить), что есть эффекты, неизвестные до этого момента. Это (!!!не реклама торговой марки, поймите правильно, сам только сейчас заметил, напечатал как рука пошла) fa2198, fa2188 и т.д. Эти эффекты отвечают непосредственно за визуальный эффект - свет. они прописываются в файле .inc, в частности тут - для техники. Этот файл должен быть в этом моде: http://xn----8sbbemc3a7aecex.xn--p1ai/foru...showtopic=65593 |
|
|
Текстовая версия | Сейчас: 20.6.2024, 17:12 |