Рассуждения: Об описании скриптовых команд - Версия для печати +- Город Джунов (https://www.gipat.ru/forum) +-- Форум Аддон для Проклятых Земель (https://www.gipat.ru/forum/forum-20.html) +--- Форум Программирование (https://www.gipat.ru/forum/forum-6.html) +--- Темы: Рассуждения: Об описании скриптовых команд (/thread-660.html) Страницы:
1
2
|
Рассуждения: Об описании скриптовых команд - Vasya - 28.01.2002 sun Вот и ладушки. Alexy III Если ты сюда заглянешь, то знай, что у меня есть просьба: отсортируй, пожалуйста, разобранные тобой команды в алфавитном порядке, что бы проще можно было определить, какие же именно ты разобрал. Рассуждения: Об описании скриптовых команд - Vasya - 28.01.2002 sun Я согласен с тобой в том, что лучше меня ни о чём не спрашивать, когда хочешь доказать свою точку зрения, а сразу написать всё полностью с объяснениями. Фраза "стараюсь, но не вижу" тоже намекала именно на то, что надо мне показать пальцем на конкретные противоречия (я ведь так стараюсь ). Я просто в скрытой форме предолжил тебе продолжить мысль. Ошибки мне признавать, пожалуй, трудновато. У меня о себе самом сложилось такое впечатление B) , что я редко выношу необдуманные суждения, поэтому, чтобы показать мне их ошибочность, надо постараться. B) Рассуждения: Об описании скриптовых команд - Vasya - 01.02.2002 sun Я давно прочитал статью и согласен с тобой во всём. Раньше я действительно не задумывался о том, что кроме игроков (дип. групп) есть и партии, точнее, одна партия. Видимо, во многих командах, где у Чейза стоит nPlayer, надо написать idParty с комментарием, что этот параметр всегда должен быть нулём. Но не уверен, что всегда можно определить наверняка, где речь о дип. группе, а где - о партии. Хотя после опытов Sagrer'а я опять начал путаться. [ 01 февраля 2002: Изменил: Vasya ]</p> Рассуждения: Об описании скриптовых команд - sun - 02.02.2002 Я думаю, что мы обсудим детальнее этот вопрос…. На самом деле я и сам сомневаюсь в правильности моего представления о структуре ПЗ. Считаю, что в функциях работающих с уровнем дипломатии Партий, лучше использовать имя параметра: nPlayer, но осторожно, а в Дипломатических группировках, что-то похожее на: nPlayerGroupDiplomacy. Моя статья теоретическая, я многого того, что написал, самостоятельно не проверял. В дальнейшем я напишу по вашим исследованиям новый список команд, и мы все ещё раз обсудим. То почему Сагрер сделал такого рода выводы я так и не понял. Рассуждения: Об описании скриптовых команд - sun - 13.02.2002 Я попросил КалбасКу перенести наш разбор скрипткоманд и функций. Может на «свободе» кто-то примет активное участие, а то мы не успеваем. Я выложу на форум до субботы все, что будет на тот момент по скриптам. Nivea, Vasya, AlexIII & Co. Не важно, куда писать, в закрытую ветку или сюда. Главное побыстрей разобраться со всеми скриптовыми командами. Если уже есть что-то, то пишите, пожалуйста, побыстрей. Ваш разбор команд я внес в базу данных. Вот спи список команд, на которые у меня пока ничего нет: ForIf – принцип понятен, но из консоли такую процедуру не проверить. Sum – принцип понятен, но из консоли такую процедуру не проверить. Вот команда, которая не работают вообще: UMPatrol Если что-то известно по этой команде, то пишите в первую очередь. Остальные известные, но непроверенные выложу до субботы. [ 15 февраля 2002: Изменил: sun ]</p> Рассуждения: Об описании скриптовых команд - Vasya - 14.02.2002 Nivea Интересно, что происходит со значением WasLooted, если людоеда убить после того, как ты его обокрал. И что будет когда поднял труп предварительно обокраденного людоеда? Рассуждения: Об описании скриптовых команд - Nivea - 15.02.2002 Vasya WasLooted возвратит 1 все одно Рассуждения: Об описании скриптовых команд - Nivea - 16.02.2002 По просьбе трудящихся: UMPatrolAddPointLook( Unit : object , x : float , y : float , Delay : float ) указывает объекту: Unit точку (x,y) в которую будет смотреть объект: Unit и насколько долго: Delay объект задержится в этом положении. UMPatrol( Unit : object ) Команда вызывает ошибку выполнения!. Чтобы установить режим патрулирования следует применит команду: ResetTarget перед набором списка патрульных команд.UMpatrol - ни где не писать! UMPatrolAddPoint( Unit : object , x : float , y : float ) указывает нову точку наблюдения: (x,y) в каторую переместится объект при патрулировании. Для задержки объекта в точке наблюдения и ориентировки объекта в сторону наблюдения, нужно использовать за командой: UMPatrolAddPoint команду: UMPatrolAddPointLook. UMPatrolClear( Unit : object ) Удаляет все дериктивы патрулирования установленные командами: UMPatrolAddPointLook, UMPatrolAddPoint. Анологичное действие команды: ResetTarget, но ResetTarget сбрасывает все команды UM*. UMRevenge( Unit : object ) эта команда устанавливает объекту: Unit страх к мести от дипломатической группы - 0. Объект: Unit будет стараться убежать и невидеть юнита из дипломатической группы - 0. Чтобы сразиться с врагом в таком состоянии нужно ранитье его или загнать в тупик. UMGuardEx( Unit : object , x : float , y : float , rad : float , Delay : float ) заставляет объект: Unit охранять точку (x,y) с радиусом: rad и задержкой: Delay в точках случайного останова объекта: Unit. Пример использования: @UMClear( GetObjectbyId("4747") ) @UMPatrolClear( GetObjectbyId("4747") ) @ResetTarget( GetObjectbyId("4747")) @UMPatrolAddPoint(GetObjectbyId("4747"),11,141) @UMPatrolAddPointLook(GetObjectbyId("4747"),11,120,10) @UMPatrolAddPoint(GetObjectbyId("4747"),11,142) @UMPatrolAddPointLook(GetObjectbyId("4747"),20,160,100) @UMPatrolAddPoint(GetObjectbyId("4747"),11,143) @UMRevenge( GetObjectbyId("4747")) 4747- это - Гоблин-дозорный Рассуждения: Об описании скриптовых команд - Nivea - 17.02.2002 QStart( QuestName : string ) Динамически, во время игры или на брифинг-зоне, команда: QStart объявляет квест в МП на сервере игры ПЗ и открывает текущее перечисление целей. Закрывает текущее пересчисление целей команда: QFinish. В теле Объявления задания (перечисление задач) находятся команды устанавливающие условия выполнения Задания. Задание можно объявить и в одиночной игре, но это бессмыслено, так как последовательность получения заданий в одиночной игре предусмотрены заранее в таблице ресурсов. Qfinish( ) Завершает описание квеста которое начал Qstart. При завершении всего квеста в инфоокне выводится текст задания, а в момент выполнения появляется дракончик. Если последовательность команд: Qstart, Qfinish была вызвана в одиночной игре, то за выполненный квест достаются все пологающиеся бонусы и квестовые предметы. QObjArea( idArea : float ) Команда предназначена для создания и выполнения динамических заданий на игровых зонах в МП. Как правило область: idArea задается под кодом - 1. Область является неким виртуальным объектом на карте включающее в себя множество участвков на игровой зоне с одинаковым ID. QObjGetItem( idQuestItem : float ) Команда предназначена для создания и выполнения динамических заданий на игровых зонах в МП. Добавляет цель: получение предмета idItem. QObjKillGroup( GroupName : string ) Добавляет цель: уничтожить Игровую группу с именем: GroupName. Игровая группа создается командой: AddObject. QObjKillUnit( UnitName : string ) Добавляет цель: уничтожить юнит с именем: UnitName. QObjSeeObject( ObjectName : string ) QObjSeeUnit( UnitName : string ) это разные команды одна для предметов другая для юнитов Команда: QObjUse применяется в процедуре описания задания и добавляет задачу - перевести рычаг(Lever) в состояние(State) Добавляет задачу: перевести "рычаг": Lever в состояние: State в набор задач обявленных командой: Qstart |