Сообщений: 232
Тем: 12
Зарегистрирован: Dec 2001
sun
Вот и ладушки.
Alexy III
Если ты сюда заглянешь, то знай, что у меня есть просьба: отсортируй, пожалуйста, разобранные тобой команды в алфавитном порядке, что бы проще можно было определить, какие же именно ты разобрал.
Сообщений: 232
Тем: 12
Зарегистрирован: Dec 2001
sun
Я согласен с тобой в том, что лучше меня ни о чём не спрашивать, когда хочешь доказать свою точку зрения, а сразу написать всё полностью с объяснениями. Фраза "стараюсь, но не вижу" тоже намекала именно на то, что надо мне показать пальцем на конкретные противоречия (я ведь так стараюсь ). Я просто в скрытой форме предолжил тебе продолжить мысль.
Ошибки мне признавать, пожалуй, трудновато. У меня о себе самом сложилось такое впечатление B) , что я редко выношу необдуманные суждения, поэтому, чтобы показать мне их ошибочность, надо постараться. B)
Сообщений: 232
Тем: 12
Зарегистрирован: Dec 2001
sun
Я давно прочитал статью и согласен с тобой во всём. Раньше я действительно не задумывался о том, что кроме игроков (дип. групп) есть и партии, точнее, одна партия. Видимо, во многих командах, где у Чейза стоит nPlayer, надо написать idParty с комментарием, что этот параметр всегда должен быть нулём. Но не уверен, что всегда можно определить наверняка, где речь о дип. группе, а где - о партии.
Хотя после опытов Sagrer'а я опять начал путаться.
[ 01 февраля 2002: Изменил: Vasya ]</p>
Сообщений: 1,563
Тем: 96
Зарегистрирован: Dec 2001
Я думаю, что мы обсудим детальнее этот вопрос….
На самом деле я и сам сомневаюсь в правильности моего представления о структуре ПЗ. Считаю, что в функциях работающих с уровнем дипломатии Партий, лучше использовать имя параметра: nPlayer, но осторожно, а в Дипломатических группировках, что-то похожее на: nPlayerGroupDiplomacy. Моя статья теоретическая, я многого того, что написал, самостоятельно не проверял.
В дальнейшем я напишу по вашим исследованиям новый список команд, и мы все ещё раз обсудим.
То почему Сагрер сделал такого рода выводы я так и не понял.
Сообщений: 1,563
Тем: 96
Зарегистрирован: Dec 2001
Я попросил КалбасКу перенести наш разбор скрипткоманд и функций. Может на «свободе» кто-то примет активное участие, а то мы не успеваем. Я выложу на форум до субботы все, что будет на тот момент по скриптам.
Nivea, Vasya, AlexIII & Co. Не важно, куда писать, в закрытую ветку или сюда. Главное побыстрей разобраться со всеми скриптовыми командами. Если уже есть что-то, то пишите, пожалуйста, побыстрей. Ваш разбор команд я внес в базу данных.
Вот спи список команд, на которые у меня пока ничего нет:
ForIf – принцип понятен, но из консоли такую процедуру не проверить.
Sum – принцип понятен, но из консоли такую процедуру не проверить.
Вот команда, которая не работают вообще:
UMPatrol
Если что-то известно по этой команде, то пишите в первую очередь.
Остальные известные, но непроверенные выложу до субботы.
[ 15 февраля 2002: Изменил: sun ]</p>
Сообщений: 232
Тем: 12
Зарегистрирован: Dec 2001
Nivea
Интересно, что происходит со значением WasLooted, если людоеда убить после того, как ты его обокрал. И что будет когда поднял труп предварительно обокраденного людоеда?
Сообщений: 546
Тем: 20
Зарегистрирован: Dec 2001
Vasya
WasLooted возвратит 1 все одно
Сообщений: 546
Тем: 20
Зарегистрирован: Dec 2001
По просьбе трудящихся:
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- это - Гоблин-дозорный
Сообщений: 546
Тем: 20
Зарегистрирован: Dec 2001
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
|