Форум - "Аллоды Онлайн" - Создание/изменение миссий в ПЗ:ЗвА
     Ответить в теме
Страница 2 из 5
1 2 3 4 5 Последняя
Показано с 41 по 80 из 184
  1. #41
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    013 AlarmTime( nAlarm : float ) : float
    013_ Функция: AlarmTime - возвращает значение переменной: nAlarm. При активации переменной: nAlarm командой: InvokeAlarm, ей присваивается стартовое значение. Стартовое значение - есть сумма количества времени всех промежутков времени, между активаций и деактиваций всех предыдущих переменных: nAlarm с начала игры. Активным может быть только один номер переменной. В переменную: nAlarm после активации, постоянно добавляется значение счетчика времени (1/15 сек). Активируя следующий номер переменной: nAlarm командой: InvokeAlarm одновременно деактивируется предыдущая переменная, но не обнуляется. Номер переменной необязательно должен быть по порядку и можно повторно инициализировать тот же номер переменной. Чтобы сбросить все значения переменных: nAlarm в ноль и остановить счетчик в глобальной переменной, нужно вызвать команду: InvokeAlarm с первым параметром = 0 : InvokeAlarm(0,0,0)

    014 Any( GlobalVariable : object , grp : group , bool : float ) : float
    014_ Функция: Any - Теоретически: Возвращает истину или ложь, если в группе: grp какой-нибудь объект-юнит: Unit будет соответствовать условию сравнения в параметре: bool. Процедура работает как цикл, пер######рая по очереди все объекты в группе: grp устанавливая в переменную: Unit экземпляр - объект из группы: grp. Параметр: grp может быть введен указатель на любой набор групп: Дипломатическая группа, Игровая или смешанная - командами: GroupAdd или GroupCross.

    015 AttachParticles( id : float , Object : object )
    015_ Команда: AttachParticles - присоединяет источник частиц с идентификатором: id к юниту: Object . Источник будет двигаться с постоянным смещением от юнита. Это смещение равно координатам( x , y , z ) , взятым в процедуре CreateParticleSource при создании данного источника. Пример: @CreateParticleSource( 1234 , 1 , -2 , 2 , -1 , "fire" ) ; @AttachParticles( 1234 , GetLeader( ) ) ; Перевёрнутый вверх тормашками огонь радиусом 1 будет перемещаться около Зака на расстоянии 1 по: x , -2 по: y и 2 по: z . Принадлежность: Спецэффекты.

    016 AttachParticleSource( id : float , idObject : float )
    016_ Команда: AttachParticleSource - присоединяет источник частиц с идентификатором: id к юниту с идентификатором: idObject. Источник будет двигаться с постоянным смещением от юнита. Это смещение равно координатам( x , y , z ) , взятым в процедуре CreateParticleSource при создании данного источника .

    017 Attack( UnitA : object , UnitB : object )
    017_ Команда: Attack - заставляет юнит: UnitA атаковать юнит: UnitB.

    018 BlockUnit( Unit : object , Block : float )
    018_ Команда: BlockUnit - устанавливает режим управление Игроком персонажа: Unit. Персонаж не подчиняется Игроку: Block - 1, Персонаж подчиняется Игроку: Block - 0. По умолчанию: Персонажи доступны к управлению Игроком в момент добавления в партию. Устанавливать команду: BlockUnit на врагов бесполезно, так как враги не подчиняются Игроку.
    Flood... Flood never ends....

  2. #42
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    019 Cast( Unit : object , x : float , y : float )
    019_ Команда: Cast - заставляет объект: Unit применять активное заклинание, находящееся у объекта: Unit в точку: ( x , y ) на карте. Активное заклинание у объекта должно быть предназначено для места, а не для целей. Активное заклинание можно установить командой: SetSpellAggression.? В игре команда: Cast не используется. Для замены команды: Cast существуют расширенные команды аналоги: CastSpellPoint и CastSpellUnit.

    020 CastSpellPoint( constSpell : string , x1 : float , y1 : float , x2 : float , у : float )
    020_ Команда: CastSpellPoint - применяет заклинание на местность игровой зоны. Заклинания: constSpell следует писать в кавычках, и только те, что действуют на область (не на цель). Конструкция заклинания: constSpell имеет такую же каноническую форму, как и в других местах игры, где применяется заклинания. Переменные: (x1,y1) указывают координаты на карте игровой зоны откуда будет стартовать визуальный эффект заклинания, переменные: (x2,у2) указывают координаты на карте игровой зоны, место на которое будет применено заклинание: constSpell.

    021 CastSpellUnit( constSpell : string , x : float , y : float , Unit : object )
    021_ Команда: CastSpellUnit - применяет заклинание на объект: Unit. Заклинания: constSpell следует писать в кавычках. Конструкция заклинания: constSpell имеет такую же каноническую форму, как и в других местах игры, где применяется заклинания. Переменные: (x, y) указывают координаты на карте игровой зоны откуда будет стартовать визуальный эффект заклинания: constSpell.

    022 ConsoleFloat( float )
    022_ Команда: ConsoleFloat - предназначена для отладки игры. Выводит в консоли число, возвращаемое функциями. Синоним #

    023 ConsoleString( string )
    023_ Команда: ConsoleString - предназначена для отладки игры. Выводит в консоли текстовые строки, возвращаемые функциями. Синоним $

    024 CopyItems(nPlayer : float , NameSendRES : String , "PartyName::NameRecvRES" : String )
    024_ Команда: CopyItems - копирует все снаряжение (не обоз и не рюкзак) объекта-юнита: NameSendRES из текущей партии в объект-юнит: NameRecvRES принадлежащий НЕ текущей Партии. Обе Партии принадлежат игроку под номером: nPlayer. Имена объектов-юнитов - это внутренние имена в партиях. В третьем параметре нужно явно указать принадлежность объекта: NameRecvRES к Партии: PartyName, указать в кавычках и с разделителем два двоеточия: "PartyName::NameRecvRES"
    Flood... Flood never ends....

  3. #43
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    025 CopyLoot( nPlayer : float , PartyNameSend : string , PartyNameRecv : string )
    025_ Команда: CopyLoot - копирует обоз: PartyNameSend (предметы и деньги) в обоз НЕ текущей Партии: PartyNameRecv. При этой операции предварительно обоз: PartyNameRecv полностью обнуляется. Копирование происходит между партиями принадлежащим игроку под номером: nPlayer. Не путать обоз и рюкзак. В случае если изменение текущей партии будет происходить на игровой зоне, то предметы из набора Рюкзак всегда входящие в набор Обоза будут также скопированы в обоз Партии: PartyNameRecv. При выполнении команды: RedeployParty Рюкзак Партии: PartyNameSend обнулится. Рюкзак новой партии будет так же пуст, хотя в инфоокне рюкзака останутся предметы, но на самом деле рюкзак предыдущей и текущей Партий будут пусты. Функция: GetLootItemsCount вернет значение 0.

    026 CopyStats( nPlayer , PartyNameSend : string , PartyNameRecv : string )
    026_ Команда: CopyStats - копирует всю статистику (навыки, умения, параметры) объекта-юнита: NameSendRES из текущей партии в объект-юнит: NameRecvRES, который принадлежит НЕ текущей Партии. Обе Партии принадлежат игроку под номером: nPlayer. Имена объектов-юнитов - это внутренние имена в партиях. В третьем параметре нужно явно указать принадлежность объекта: NameRecvRES к Партии: PartyName, указать в кавычках и с разделителем два двоеточия: "PartyName::NameRecvRES"

    027 Crawl( Unit : object )
    027_ Команда: Crawl - отдает команду объекту: Unit присесть.

    028 CreateFX( x : float , y : float , z : float , Volume : float , rad : float , NameWav : string )
    028_ Команда: CreateFX - один раз воспроизводит звук из WAV файла: NameWav в точке: (x,y,z) с радиусом слышимости: rad громкостью: Volume.

    029 CreateFXSource( id : float , x : float , y : float , z : float , Volume : float , rad : float , NameWav : string )
    029_ Команда: CreateFXSource - устанавливает зацикленный звуковой источник: NameWav под кодом: id в точке: (X,Y,Z) с радиусом слышимости: rad и громкостью: Volume. Зацикленный звук можно удалить с помощью команды: DeleteFXSource по его : id.

    030 CreateLightning( id : float , x1 : float , y1 : float , z1 : float , x2 : float , y2 : float , z2 : float , Intensity : float )
    030_ Команда: CreateLightning - создает постоянно действующую застывшую молнию, бьющую из точки: (x1,y1,z1) в (x2,y2,z2) с интенсивностью: Intensity. При положительном значении: Intensity точка: (x2,y2,z2) - представляет собой шар - как результат удара молнии в объект. При отрицательном значении: Intensity молния представляет собой застывшую молнию природного происхождения. При значении: Intensity = 0 молния представляет собой вид заклинания: Преграда из молний с интенсивностью (толщиной разрядов) по умолчанию. Значение интенсивность: Intensity отличное от нуля, графически представляется как толщина разрядов. Не следует устанавливать значение Intensity большее 20, так как это сильно замедляет игру на игровой зоне. Если установить значение: Intensity = 100, то получится как бы эффект северного сияния. Повторное создание молнии командой: CreateLightning с одинаковым кодом: id молнию не удаляет. Таким образом, можно создать множество молний на игровой зоне с одним и тем же кодом: id. Координаты точек: (x1,y1,z1) и (x2,y2,z2) в команде: CreateLightning находятся в МСК и не зависят от поверхности и рельефа игровой зоны, следует это учесть, устанавливая значение координат: z1 и z2. Удалить все подмножество молний с одинаковым кодом можно командой: DeleteLightning.
    Flood... Flood never ends....

  4. #44
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    031 CreateParticleSource( id : float , x : float , y : float , z : float , R : float , сonstParticleSource : string )
    031_ Команда: CreateParticleSource - создает источник частиц типа: constParticleSource с радиусом: R и идентификатором: id в точке (x,y,z) . При отрицательном значении радиуса источник частиц переворачивается по вертикали. На данный момент известны следующие константы источника частиц (в процедуре пишутся в кавычках): transform; portalstar; portal; mushroom; nuke; geyser; poisonfog; smoke; fire; lightningblast; fireblast; campfire; fireball; firearrow; teleport.

    032 CreateParty( nPlayer : float , PartyName : string )
    032_ Команда: CreateParty - создает новую Партию под именем: PartyName (или замещает существующую партию, с таким же именем) в наборе партий игрока под номером: nPlayer. Строчные и прописные буквы в имени партии: PartyName отличаются.

    033 CreatePointLight( id : float , x : float , y : float , z : float , rad : float , R : float , G : float , B : float )
    033_ Команда: CreatePointLight - создает источник света с идентификатором: id, радиусом: rad и цветом (R,G,B) в точке (x,y,z). С помощью этой команды можно установить освещение от костра или факела ночью или незначительное затемнение днем - густой лес. Положительное значение: rad - освещение, отрицательное значение - затемнение. Точку освещения по высоте: z нужно рассчитывать, относительно Мировой системы координат (МСК), а не с поверхности карты.

    034 CreateRandomizedFXSource( id : float , x1 : float , x2 : float , y1 : float , y2 : float , z1 : float , z2 : float , Volume : float , rad : float , NameWav : string )
    034_ Команда: CreateRandomizedFXSource -

    035 DeleteArea( idArea : float )
    035_ Команда: DeleteArea - удаляет все участки областей на карте с идентификатором: idArea.

    036 DeleteFXSource( id : float )
    036_ Команда: DeleteFXSource - удаляет все звуковые участки на игровой зоне имеющие идентификатор: id.

    037 DeleteLightning( id : float )
    037_ Команда: DeleteLightning - удаляет все молнии на игровой зоне имеющие идентификатор: id.

    038 DeleteParticleSource( id : float )
    038_ Команда: DeleteParticleSource - удаляет все источники частиц на игровой зоне имеющие идентификатор: id.

    039 DeletePointLight( id : float )
    039_ Команда: DeletePointLight - удаляет с игровой зоны множество источников света с идентификатором: id.

    040 DistanceUnitPoint( Unit : object , x : float , y : float ) : float
    040_ Функция: DistanceUnitPoint - возвращает прямое расстояние между объектом: Unit и точкой на карте: (x,y).
    Flood... Flood never ends....

  5. #45
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    041 DistanceUnitUnit( UnitA : object , UnitB : object ) : float
    041_ Функция: DistanceUnitUnit - возвращает прямое расстояние между объектами: UnitA и UnitB.

    042 Div( A : float , B : float ) : float
    042_ Функция: Div - возвращает результат деления числа: A деленное на B.

    043 EnableLever( Lever : object , Enable : float )
    043_ Команда: EnableLever - устанавливает доступность для игрока к управлению механизмом: Lever. Недоступно: Enable = 0 и доступно: Enable = 1. Доступность к использованию рычага отображаются графически изменением курсора на мацающую руку при наведении его на объект: Lever. На карте Предгорья можно установить доступ даже к выключенному рычагу от пирамиды: @EnableLever(GetObjectByID( "4636" ),1)

    044 EraseQuestItem( nPlayer : float , idQuestItem : float )
    044_ Команда: EraseQuestItem - удаляет из обоза игрока с номером: nPlayer квестовый предмет под кодом: id

    045 Every( GlobalVariable : object , grp : group , bool : float ) : float
    045_ Функция: Every - Теоретически: Возвращает истину или ложь, если в группе: grp все объекты-юниты: Unit будут соответствовать условию сравнения в параметре: bool. Процедура работает как цикл, пер######рая по очереди все объекты в группе: grp устанавливая в переменную: Unit экземпляр - объект из группы: grp. Параметр: grp может быть введен указатель на любой набор групп: Дипломатическая группа, Игровая или смешанная - командами: GroupAdd или GroupCross.

    046 FixItems( )
    046_ Команда: FixItems - чинит все предметы в обозе, в рюкзаке, одежду на теле персонажа и оружие, но только у текущей Партии.

    047 FixWorldTime( Time : float )
    047_ Команда: FixWorldTime - устанавливает фиксированное время: Time на игровой зоне. Часы в ПЗ не идут.

    048 Follow( UnitA : object , UnitB : object )
    048_ Команда: Follow - одноразово отдает команду объекту: UnitA следовать за объектом: UnitB. После боя команда отменяется. Сходные свойства поведения у команды: UMFollow.

    049 For( GlobalVariable : object , grp : group ) ( Command )
    049_ Команда: For - безусловный перебор элементов объектов в игровой группе: grp. Каждый цикл инициализирует глобальную переменную, устанавливая в нее экземпляр: object из коллекции группы: grp. В теле цикла, безусловно, исполняется весь список команд: Command. Процедура работает как цикл, пер######рая по очереди все объекты в группе: grp устанавливая в переменную: Unit экземпляр - объект из группы: grp. Параметр: grp может быть введен указатель на любой набор групп: Дипломатическая группа, Игровая или смешанная - командами: GroupAdd или GroupCross.

    050 (цикл)
    050_ Команда: ForIf -

    051 GetAIClass( Unit : object ) : float
    051_ Функция: GetAIClass - возвращает класс групп рас: AI для объекта: Unit. В ПЗ все объекты: Unit принадлежат к расам, расы группируются по классам. Значение принадлежности объектов к расам можно найти в таблице: RaceModels, по классам в поле: AI Class Stay. Для несуществующего объекта на карте результат всегда - (-1) ( минус один ).

    052 GetBSZValue( x : float , y : float ) : float
    052_ Функция: GetBSZValue - возвращает высоту местности на карте в точке с горизонтальными координатами: ( x , y ) . Отличие от команды: GetZValue в том, что если в точке: (х,у) находится незамёрзший водоём ( озеро лавы ), то выводится высота поверхности воды ( лавы ), а не дна. В остальных случаях выводимые значения совпадают с командой: GetZValue.

    053 GetDiplomacy( nDiplomacyGroupA : float , nDiplomacyGroupB : float ) : float
    053_ Функция: GetDiplomacy - возвращает тип дипломатии : кем является Дипломатическая группа юнитов под номер nDiplomacyGroupA для Дипломатической группы: nDiplomacyGroupB, в наборе Дипломатических групп на текущей игровой зоне. Возможные значения: 1 - союзник ; 0 - нейтрал ; -1 - враг.
    Flood... Flood never ends....

  6. #46
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    054 GetFutureX( UnitMap : object , Time : float ) : float
    054_ Функция: GetFutureX - возвращает значение координаты: Х объекта: UnitMap предсказанное через время: Time. Время: Time измеряется в единицах, равных 1/15 секунды на нормальной скорости игры. Чем меньше значение времени: Time тем точнее результат. В скриптах эта функция применяется для реалистичного отображения атаки заклинаниями у врагов. Враги могут ставить заклинания, атаковать на опережение. В движке ПЗ метод предсказания может быть использован в сетевой игре на слобопропускных каналах сети.

    055 GetFutureY( UnitMap : object , Time : float ) : float
    055_ Функция: GetFutureY - возвращает значение координаты: y объекта: UnitMap предсказанное через время: Time. Время: Time измеряется в единицах, равных 1/15 секунды на нормальной скорости игры. Чем меньше значение времени: Time тем точнее результат. В скриптах эта функция применяется для реалистичного отображения атаки заклинаниями у врагов. Враги могут ставить заклинания, атаковать на опережение. В движке ПЗ метод предсказания может быть использован в сетевой игре на слобопропускных каналах сети.

    056 GetLeader( ) : object
    056_ Функция: GetLeader - возвращает объект юнита - лидера команды текущей Партии. В сингле это будет Зак, а в мультиплеере - действующий персонаж игрока. Видимо в этой функции не хватает параметра: nPlayer.

    057 GetLeverState( Lever : object ) : float
    057_ Функция: GetLeverState - возвращает значение: float - 0, если механизм не приведен в действие и значение: float - 1, если механизм приведен в действие. Команда, устанавливающая состояние механизма: SwitchLeverState. На карте Предгорья можно проверить состояние рычага от Пирамиды: #GetLeverState(GetObjectByID( "4636" )).

    058 GetLootItemsCount( nPlayer : float ) : float
    058_ Функция: GetLootItemsCount - возвращает количество удачных краж и количество взятых бонусов (не денег, не всего предметов) найденных, украденных, снятых с врагов или трупов на игровой зоне, в то числе и квестовых предметов. Фактически показывает количество строк предметов в «Текстовом инфоокне» рюкзака на игровой зоне у текущей Партии, принадлежащих игроку под номером: nPlayer.
    Если в одиночной игре убить Атаманшу, у которой есть два предмета: руна «Усиление» и квестовый предмет: «Шило», в задании «Инструменты», предварительно не обворовывая её то, после поднятия трупа Атаманши функция: GetLootItemsCount вернет значение = 2, так как за один раз с трупа Атаманши будет снято два предмета. Если убить два одинаковых кабана и поднять два идентичных предмета: «Тонкая кожа» с каждого кабана, то после поднятия, функция: GetLootItemsCount так же вернет значение=2, хоть и предметы одинаковые. Новый вход на игровую зону обнуляет рюкзак и «Текстовое инфоокно». Если изменить текущую партию на игровой зоне, то количество строк предметов в «Текстовом инфоокне» не будет совпадать со значением возвращаемым функцией: GetLootItemsCount. В таком случае, функция: GetLootItemsCount будет возвращать значение меньшее, чем количество строк предметов в «Текстовом инфоокне». Так как смена текущей Партии очищает рюкзак, но не очищает «Текстовое инфоокно».

    059 GetMercsNumber( nPlayer : float ) : float
    Flood... Flood never ends....

  7. #47
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    060 GetMoney( nPlayer : float ) : float
    060_ Функция: GetMoney - возвращает количество денег у текущей Партии игрока номер nPlayer. Фактически, команда показывает кошелек текущей "Партий" игрока: nPlayer на игровой зоне. Кошелек текущей Партии на игровой зоне и в лагере - всегда равны. Можно сказать, что партия таскает с собой все свои деньги.

    061 GetObject( idObject : float ) : object
    061_ Функция: GetObject - возвращает экземпляр: object для объекта с идентификатором: idObject. Не работает с десятизначными числами. Если код: idObject десятизначное число, то следует использовать функцию: GetObjectByID.

    062 GetObjectByID( idObject : string ) : object
    062_ Функция: GetObjectByID - возвращает экземпляр: object для объекта с идентификатором: idObject , Цифровое значение: idObject должно быть заключено в кавычки. В отличие от функции: GetObject, функция: GetObjectByID допускает числовое значение, состоящее из десяти цифр.

    063 GetObjectByName( NameUnitMap : string ) : object
    063_ Функция: GetObjectByName - возвращает экземпляр: object для объекта с внутреигровым именем: NameUnitMap.

    064 GetObjectID( Object : object ) : float
    064_ Функция: GetObjectID - возвращает идентификатор объекта: idObject. К классу Objects относятся не только Units, но и предметы, например: сундуки, ящики....? Функция: GetObjectID - возвращает правильно только те идентификаторы объектов, которые имеют код: idObject не более 10 цифр, Так как системная функция ПЗ, при получения кода: idObject из внутреннего имени объекта, использует десятизначный, целочисленный формат. Нельзя использовать эту функцию для возврата идентификатора объекта-юнита созданного на карте с помощью команды: AddUnitToServer или не присвоенного в модуле файла: Maps Object (*.mob) кода: idUnit меньшего, чем 10 цифр - в этом случае функция: GetObjectID будет возвращать округленные значения.

    065 GetPlayer( Unit : object ) : float
    065_ Функция: GetPlayer - возвращает номер дипломатической группы, к которой принадлежит объект юнит: Unit.

    066 GetPlayerUnits( nDiplomacyGroup : float ) : group
    066_ Функция: GetPlayerUnits - возвращает Дипломатическую группу юнитов, состоящую в наборе Дипломатических групп под номером nDiplomacyGroup.

    067 GetUnitOfPlayer( nPlayer : float , nUnitInCurrentParty : float ) : object
    067_ Функция: GetUnitOfPlayer - возвращает экземпляр объекта персонажа из набора текущей Партии игрока: nPlayer. Выбор объекта происходит по номеру: nUnitInCurrentParty в наборе текущей Партии. Номер: nUnitInCurrentParty присваивается объекту по номеру очередности добавления в Партию и сортируется (сдвигается) в случае смерти или удаления юнитов с меньшим значением: nUnitInCurrentParty. Второй параметр: nUnitInCurrentParty функции: GetUnitOfPlayer - номер, а не код. Не путать Партию с Дипломатической группой или Игровой группой.

    068 GetWorldTime( ) : float
    068_ Функция: GetWorldTime - возвращает текущее время внутриигровых суток ( в часах ).

    069 GetX( Object : object ) : float
    069_ Функция: GetX - возвращает текущую координату: "x", соответственно, для юнита или предмета (Object) на карте относительно МСК системы координат. Во всех функциях ПЗ, системы координат МСК и ОСК по координате: "x" совпадают.

    070 GetY( Object : object ) : float
    070_ Функция: GetY - возвращает текущую координату: "y", соответственно, для юнита или предмета (Object) на карте относительно МСК системы координат. Во всех функциях ПЗ, системы координат МСК и ОСК по координате: "y" совпадают.

    071 GetZ( Object : object ) : float
    071_ Функция: GetZ - возвращает текущую координату: "z", соответственно, для юнита или предмета (Object) на карте относительно МСК системы координат. Системы координат МСК и ОСК по координате: z практически никогда не совпадают. Начало отсчета по координате: "z" в ОСК - это точка на поверхности карты, где в данный момент находится объект.

    072 GetZValue( x : float , y : float ) : float
    072_ Функция: GetZValue - возвращает высоту твёрдой поверхности карты (независимо от наличия над ней слоя воды или лавы ) в точке с горизонтальными координатами( x , y ), но по команде в консоли: filter graphics 1 всегда выводится чуть меньшая третья координата. Функция: GetZValue несколько отличия от функции: GetBSZValue.

    073 GiveDexterity( Unit : object , Amount : float )
    073_ Команда: GiveDexterity - добавляет объекту юниту: Unit пунктов ловкости: Amount. Работает только на игровых зонах. Функция одинаково воздействует как на врагов, так и для персонажей игроков.
    Flood... Flood never ends....

  8. #48
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    074 GiveIntelligence( Unit : object , Amount : float )
    074_ Команда: GiveIntelligence - добавляет объекту юниту: Unit пунктов разума: Amount . Работает только на игровых зонах. Функция одинаково воздействует как на врагов, так и на персонажей в Партии Игрока.

    075 GiveItem( nPlayer : float , Item : string )
    075_ Команда: GiveItem - помещает игроку: nPlayer в Рюкзак (не только в обоз) текущей Партии предмет (не квестовый), описываемый строкой Items . Предмет описывается строкой одного из следующих форматов : ". [[ ]]" - для доспеха или оружия ( описание заклинания пишется в квадратных скобках, и эта часть строки необязательна ) ; "instruction weapon . " - для чертежа оружия ; "instruction armor . " - для чертежа доспеха ; "instruction quick item . " - для чертежа жезла ; "prototype . " - для основы заклинания ; "rune . " - для руны ; "material . [[]] " - для материала ( количество пишется в квадратных скобках, и эта часть строки необязательна ) ; Примеры : "bone spear . dragon green bones" - копье из кости зеленого дракона ; "crystal crossbow . diamond[weak{it;d2;d2;m2;m2;m2}]" - алмазный арбалет с ослаблением ; "material . steel[25]" - 25 кусков стали.

    076 GiveMoney( nPlayer : float , Money : float )
    076_ Команда: GiveMoney - добавляет в кошелек объекта количество денег: Money. Команда: GiveMoney не работает в магазине. У объектов принадлежащих Партиям индивидуальный кошелек пуст.

    077 GiveQuestItem( nPlayer : float , QuestItem : strin )
    077_ Команда: GiveQuestItem - добавляет квестовый предмет в рюкзак текущей Партии Игрока. Рюкзак имеет четыре места. Переполнение квестовых предметов в рюкзаке не взывает ошибки, в случае переполнения рюкзака, квестовые предметы добавляются в обоз.

    078 GiveSkill( Unit : object , Skill : string , Amount : float )
    078_ Команда: GiveSkill - добавляет количество пунктов: Amount параметру навык: Skill объекту: Unit. Механизм добавления пунктов навыка командой: GiveSkill делится на три этапа: 1- вычисление необходимого количество опыта для текущего добавления пунктов навыка, 2 - добавление вычисленного количества опыта объекту: Unit (не Партии!). 3 - добавления навыка за счет добавленного опыта, тем самым увеличивается значения переменных объекта зависимых от количества опыта - это параметры: "Здоровье" и "Выносливость" объекта.

    079 GiveStrength( Unit : object , Amount : float )
    079_ Команда: GiveStrength - добавляет объекту юниту: Unit пунктов силы: Amount . Работает только на игровых зонах. Функция одинаково воздействует как на врагов, так и для персонажей игроков.

    080 GiveUnitQuestItem( Unit : object , QuestItem : string )
    080_ Команда: GiveUnitQuestItem - добавляет квестовый предмет под именем: QuestItem в рюкзак объекта: Unit (сундук). Если объект член "Партии" Игрока, то квестовый предмет добавляется в обоз партии.
    Flood... Flood never ends....

  9. #49
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    081 GiveUnitSpell( Unit : object , sSpell : string )
    081_ Команда: GiveUnitSpell - дает объекту: Unit Заклинание, описанное строкой Spell. Заклинание помещается не в обоз, а в набор активных заклинаний - если он полон, то ничего не происходит. В магазине эта процедура не действует, а в игровой зоне, хотя фактически заклинание дается игроку, не обновляет набор заклинаний

    082 GodMode( nPlayer : float , Mode : float )
    082_ Команда: GodMode - устанавливает текущей партии игрока под номером: nPlayer режим: Mode - 0 значение по умолчанию, Mode - 1 партия неубиваемы при беге мана нерасходуется, Mode - 2 члены партии неубиваемы, при беге мана нерасходуется и любой юнит из партии убивает врага с одного удара.

    083 GroupAdd( grpA : group , grpB : group ) : group
    083_ Функция: GroupAdd - возвращает группу как набор, из объектов полученный в результате сравнения двух групп объектов, которые есть хотя бы в одной из групп: grpA или grpB. Работает с любыми экземплярами групп: "Составными ", "Дипломатическими" и "Игровыми". Для "Игровых" групп можно использовать эту функцию только в скриптах на уровне модуля карты, так как параметры: grpA и grpB следует вводить только как глобальные переменные.?

    084 GroupCross( grpA : group , grpB : group ) : group
    084_ Функция: GroupCross - возвращает группу как набор из объектов пересечения групп объектов, которые есть как в группе: grpA, так и в группе: grpB. Работает с любыми экземплярами групп: "Составными ", "Дипломатическими" и "Игровыми". Для "Игровых" групп можно использовать эту функцию только в скриптах на уровне модуля карты, так как параметры: grpA и grpB следует вводить только как глобальные переменные.?

    085 GroupHas( grp : group , Unit : object ) : float
    085_ Функция: GroupHas - возвращает значения: истину = 1 - если в группе: grp содержится объект: Unit. Работает с любыми экземплярами групп: "Составными ", "Дипломатическими" и "Игровыми". Для "Игровых" групп можно использовать эту функцию только в скриптах на уровне модуля карты, так как параметры: grp следует вводить только как глобальные переменные.?

    086 GroupSee( grp : group ) : group
    086_ Функция: GroupSee - глаза какой-либо группы, возвращает группу как набор из объектов, видимый в текущий момент из глаз группы: grp. Члены группы: : grp могут видеть друг друга. Соответственно, в этом случае в группу войдут и юниты из группы: grp. Если юниты из группы не видят друг друга и не видят никого, то функция возвращает пустое значение. Работает с любыми экземплярами групп: Составными , Дипломатическими и Игровыми. Для Игровых групп можно использовать эту функцию только в скриптах на уровне модуля карты, так как параметры: grp следует вводить только как глобальные переменные.?
    Flood... Flood never ends....

  10. #50
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    087 GroupSize( grp : group ) : float
    087_ Функция: GroupSize - возвращает число юнитов в группе: grp. Работает с любыми экземплярами групп: "Составными ", "Дипломатическими" и "Игровыми". Для "Игровых" групп можно использовать эту функцию только в скриптах на уровне модуля карты, так как параметры: grp следует вводить только как глобальные переменные.?

    088 GroupSub( grpA : group , grpB : group ) : group
    088_ Функция: GroupSub - возвращает группу как набор из объектов, состоящую из тех юнитов группы grpA, которых нет в grpB. Работает с любыми экземплярами групп: "Составными ", "Дипломатическими" и "Игровыми". Для "Игровых" групп можно использовать эту функцию только в скриптах на уровне модуля карты, так как параметры: grpA и grpB следует вводить только как глобальные переменные.?

    089 GSDelVar( nPlayer : float , Var : string )
    089_ Команда: GSDelVar - удаляет переменные с именем: Var у игрока номер: nPlayer.

    090 GSGetVar( nPlayer : float , Var : string ) : float
    090_ Функция: GSGetVar - возвращает значение переменной с именем: Var у игрока номер: nPlayer.

    091 GSSetVar( nPlayer : float , Var : string , nVar : float )
    091_ Команда: GSSetVar - устанавливает значение: nVar в переменную с именем: Var у игрока номер: nPlayer. ?

    092 GSSetVarMax( nPlayer : float , Var : string , nVar : float )
    092_ Команда: GSSetVarMax - устанавливает значение: nVar в переменную с именем: Var у игрока номер: nPlayer. ?

    093 Guard( Unit : object , x : float , y : float , rad : float )
    093_ Команда: Guard - отдает команду юниту: Unit, охранять территорию с радиусом: rad с центром в точке: (x,y). Юнит самостоятельно передвигается по указанной зоне, патрулируя ею.

    094 HaveItem( nPlayer : float , idQuestItem : float ) : float
    094_ Функция: HaveItem - возвращает истина: 1, если у Игрока под номером: nPlayer в обозе или в рюкзаке есть квестовых предмет под кодом: idQuestItem, в противном случае ложь - 0

    095 HideObject( Unit : object , Hide : float )
    095_ Команда: HideObject - работает только на брифинг зонах. Объект-юнит: Значение параметра: Hide - 1 делает: Unit невидимым на брифинг зоне, значение параметра: Hide - 0 делает объект: Unit видимым на брифинг зоне.

    096 HP( Unit : object ) : float
    096_ Функция: HP - возвращает текущее значение параметра: здоровье у объекта Unit. Это число учитывает эффекты заклинаний ослабления и усиления, наложенных на объект.

    097 Idle( Unit : object )
    097_ Команда: Idle -

    098 InflictDamage( Unit : object , Amount : float )
    098_ Команда: InflictDamage - наносит повреждения в количестве: Amount без учета показателя брони объекту-юниту: Unit. Если уничтожить врага с помощью этой команды, то опыт за убийство все равно достанется текущей партии и группе?

    099 InvokeAlarm( nAlarm , x : float , y : float )
    099_ Команда: InvokeAlarm - многофункциональная команда. Активирует переменную: nAlarm. Устанавливает значение переменной: nAlarm равной сумме времени всех предыдущих промежутков активаций и деактиваций этих переменных с момента начала игры. В переменную: nAlarm после активации, постоянно добавляется значение счетчика времени (1/15 сек). Активным может быть только один номер переменной. Активируя следующий номер переменной: nAlarm, команда: InvokeAlarm одновременно деактивируется предыдущую переменную, но не обнуляет ее. Номер следующей инициализируемой переменной необязательно должен быть по порядку, можно повторно инициализировать тот же номер переменной или предыдущий. Чтобы сбросить все значения переменных: nAlarm в ноль и остановить счетчик в глобальной переменной, нужно вызвать команду: InvokeAlarm с первым параметром = 0 : InvokeAlarm(0,0,0). Глобальная переменная не обнуляется. Так же эта команда устанавливает место на карте в точке: (x,y) с номером текущей, инициализируемой переменной. Этот указатель используется в различных заданиях, прописывается в свойство объектов, но только на уровне скриптмодуля. Привязать событие к объекту из консоли нельзя. Враг, реагирующий на событие с данным кодом (предустановлен, инициализирован?) подходит к этой точке и переходит в режим Guard. Если установить значение: nAlarm=0, тревога сбрасывается, и враги возвращаются к своему первоначальному месту и состоянию.

    100 IsAlarm( nAlarm : float ) : float
    100_ Функция: IsAlarm - возвращает значение истина=1, если переменная инициализирована, и ложь=0 в противном случае.

    101 IsAlive( Unit : object ) : float
    101_ Функция: IsAlive - возвращает истину=1, если юнит: Unit жив, и ложь=0 в противном случае.
    Flood... Flood never ends....

  11. #51
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    102 IsCameraPlaying( ) : float
    102_ Функция: IsCameraPlaying -

    103 IsDead( Unit : object ) : float
    103_ Функция: IsDead - возвращает истину = 1- если объект: Unit мертв, и ложь =0 - в противном случае. Если объект поднят? если объект не существует?, если ввести код предмета, например ключ от пирамиды?

    104 IsEnemy( Unit : object , nDiplomacyGroup : float ) : float
    104_ Функция: IsEnemy - возвращает истину или ложь. Если объект юнит: Unit врагом для Дипломатической группы номер: nDiplomacyGroup

    105 IsEqual( A : float , B : float ) : float
    105_ Функция: IsEqual - возвращает истину = 1, если число: A равно числу: B, и ложь=1 в противном случае.

    106 IsEqualString( A : string , B : string ) : float
    106_ Функция: IsEqualString - возвращает истину=1, если строка: A равна строке: B с учетом регистра, и ложь=0 в противном случае.

    107 IsGreater( A : float , B : float ) : float
    107_ Функция: IsGreater - возвращает истину=1, если число: A больше чем число: B, и ложь=0 в противном случае.

    108 IsInArea( idArea : float , x : float , y : float ) : float
    108_ Функция: IsInArea - возвращает истину=1, если точка: (x,y) находится в одной из области с идентификатором: idArea, и ложь=0 в противном случае.

    109 IsInSquare( x : float , y : float , x1 : float , y1 : float , x2 : float , y2 : float ) : float
    109_ Функция: IsInSquare - возвращает истину=1, если точка: (x,y) находится в прямоугольнике: (x1,y1)-(x2, y2), и ложь=0 в противном случае.

    110 IsLess( A : float , B : float ) : float
    110_ Функция: IsLess - возвращает истину=1, если число: A меньше чем число: B, и ложь=0 в противном случае.

    111 IsNight( ) : float
    111_ Функция: IsNight - возвращает значение в интервале чисел: 0 до 1 в зависимости от времени суток: от 20 до 0 часов - значение от 0.0001 до 1. от 0 до 8 часов утра значение = 1, от 8 до 20 часов = 0.

    112 IsPlayerInDanger( nPlayer : float ) : float
    112_ Функция: IsPlayerInDanger - возвращает значение ложь=0 - если текущая Партия игрока под номером: nPlayer находится в безопасности, или: истина=1, если хотя бы один из членов партии в опасности. IsPlayerInDanger( 0 ) = NOT( IsPlayerInSafety( 0 ) )

    113 IsPlayerInSafety( nPlayer : float ) : float
    113_ Функция: IsPlayerInSafety - возвращает значение ложь=0 - если текущая Партия игрока под номером: nPlayer находится в безопасности, или: истина=1, если хотя бы один из членов партии в опасности. IsPlayerInSafety( 0 ) = NOT( IsPlayerInDanger( 0 ) )

    114 IsUnitBlocked( Unit : object ) : float
    114_ Функция: IsUnitBlocked - возвращает истину=1, если юнит: Unit заблокирован, и ложь=0 в противном случае.

    115 IsUnitInWater( Unit : object ) : float
    115_ Функция: IsUnitInWater - возвращает истину=1, если юнит: Unit находится в воде, и ложь=0 в противном случае.?

    116 IsUnitVisible( Unit : object ) : float
    116_ Функция: IsUnitVisible - возвращает истину: 1, если юнит видим игроком на игровой зоне, в противном случае: 0 (не хватает параметра nPlayer). команда: HideObject не влияет на результат, возвращаемый этой функцией.

    117 KillScript( )
    117_ Команда: KillScript - работает только на уровне скриптмодуля карты!

    118 KillUnit( Unit : object )
    118_ Команда: KillUnit - убивает объект: Unit. Опыт за убийство никому не достается. Чтобы опыт за убийство: Unit достался текущей "Партии" следует ввести команду: InflictDamage.

    119 LeaveToZone( nPlayer : float , MapZone : string , nEnterMap : float )
    119_ Команда: LeaveToZone - перемещает Игрока: nPlayer (все партии и обоз) на зону: MapZone в место: nEnterMap. Место: nEnterMap - это заранее предусмотренные места на карте где могут появляться Партии игроков. Каждый портал на карте имеет свой номер места: nEnterMap.

    120 Lie( Unit : object )
    120_ Команда: Lie - изменяет режим перемещения объекта: Unit, отдает команду: ляг.

    121 Mana( Unit : object ) : float
    121_ Функция: Mana - возвращает текущее значение параметра: выносливость у объекта: Unit.

    122 MaxHP( Unit : object ) : float
    122_ Функция: MaxHP - возвращает максимально возможное значение здоровье у объекта: Unit. Это число учитывает эффекты заклинаний ослабления и усиления, наложенных на объект.

    123 MaxMana( Unit : object ) : float
    123_ Функция: MaxMana - возвращает максимально возможное значение выносливости: Mana у объекта: Unit.

    124 MoveParticleSource( id : float , x : float , y : float , z : float , Time : float , Remove : float )
    124_ Команда: MoveParticleSource - перемещает источник частиц с идентификатором: id в точку: (x,y,z) за время: Time (измеряется в 1/15 секунды). Если параметр: Remove - истина, то после перемещения удаляет источник.

    125 MovePointLight( id : float , x : float , y : float , z : float , Time : float , Remove : float )
    125_ Команда: MovePointLight - перемещает источник света с идентификатором: id в точку: (x,y,z) за время: Time (измеряется в 1/15 секунды). Если параметр: Remove - истина, то после перемещения удаляет источник.

    126 MoveToObject( UnitA : object , UnitB : object )
    126_ Команда: MoveToObject - заставляет юнит: UnitA двигаться в текущем режиме перемещения к той точке, в которой на момент выполнения команды находился юнит UnitB.

    127 MoveToPoint( Unit : object , x : float , y : float )
    127_ Команда: MoveToPoint - отдает команду юниту: Unit следовать в точку: (x,y).

    128 Mul( A : float , B : float ) : float
    128_ Функция: Mul - возвращает произведение чисел: (A и B)

    129 Not( bool : float ) : float
    129_ Функция: Not - возвращает отрицание логического значения bool: истину=1, если: bool равно нулю, и ложь=0 в противном случае.

    130 PlayAnimation( Unit : object , Animation : string )
    130_ Команда: PlayAnimation - воспроизводит анимацию - движение частей тела и сопутствующие звуковые эффекты. Unit - юнит, который будет воспроизводить анимацию. Где брать anim: Сначала надо определиться с юнитом, который надо привести в движение. Потом в lmpdatabaseMapObjectsRaceModels.txt найти Name этого юнита. Теперь посмотрите, что стоит в колонке Mask name. Нам нужен файл с таким названием и расширением adb, он находится в resdatabase.res . Открываем этот файл блокнотом и видим среди мешанины значков некие связные элементы - это и есть anim'ы данного типа юнита. Я проверял на примере орка-шамана: Name = LMP Orc Male Tatoo Mask name = unorma Файл = resdatabase.resunorma.adb Выковыренные оттуда anim'ы: uattack01..09 - Атака различным оружием. Юнит машет "топором", натягивает "тетиву", тыкает "копьем". udeath01..31 - Смерть. Падения вперед / назад / в сторону, на бегу / на ходу / при ползании, с агонией / резко / медленно. cidle01..09 - Оглядывание, переступание с ноги на ногу. То, что делает перс, когда долго стоит на месте. ucast01..04 - Колдование. Эффектов типа шарика стихии не появляется, только движение тела. uhit01..21 - Попадание по юниту. Также как и смерть, из любых положений. crun01..02 - Бег. Под ногами появляются следы. cwalk01..09 - Юнит идет, крадется. Есть анимации как бы раненой походки, усталой, хромой. ccrawl01 - Юнит ползет. ucross01..09 - Переходы между стоячим / крадущимся / лежачим положением юнита. scross01..09 - Одна фаза шагания / ползания etc. Полный шаг, либо один рывок в сторону. crest - Юнит садится отдыхать. Кроме них, в "человеческом" файле unhuma.adb я нашел: (не проверял) ubriefing## - Движения во время диалогов. uspecial## - Отдает честь, кланяется, стоит по стойке смирно, etc. cspecial## - Некие занятия наподобие точения меча, сидения на бревне, etc. Первые буквы анимации - указатели: u - действие произойдет один раз, затем юнит вернется в исходное состояние с - действие повторяется непрерывно, юнит не реагирует на указание другой анимации. Если в это время ударить юнит или показаться на глаза (враждебному), он не станет реагировать. Если замороженный анимацией объект бить, он будет отшатываться и потом снова выполнять заданную командой анимацию. Если убить, умрет как обычно и ляжет трупом. s - аналогично u. При вводе неправильного anim не происходит ничего. Если юнит во время применения процедуры двигался, то он остановится, проиграет анимацию и потом пойдет дальше. (В случае анимации с буквой: "с" он остановится навечно)
    Flood... Flood never ends....

  12. #52
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    131 PlayCamera( PlayName : string )
    131_ Команда: PlayCamera - запускает команду автоматического управления камерой вида игровой зоны. Последовательность перемещения камеры находится в файле: PlayName из каталога игры: ...CAMERA.

    132 PlayerSee( nPlayer : float ) : group
    132_ Функция: PlayerSee - глаза партии. Возвращает сборную группа юнитов, которых видит игрок под номером: nPlayer, - т.е., все те юниты, которые видны глазами юнитов (членов) партии игрока. Юниты также видят и друг друга в партии. НЕ Эквивалентно вызову GroupSee ( GetPlayerUnits ( nDiplomacyGroup ) )!.

    133 PlayFX( float , float , float , float , string )
    133_ Команда: PlayFX -

    134 PlayMovie( PlayName : string )
    134_ Команда: PlayMovie - воспроизводит видеоролик с именем PlayName из каталога игр: ...MOVIES.

    135 PlayMusic( nPlayer : float , PlayName : string )
    135_ Команда: PlayMusic - воспроизводит мелодию с именем PlayName из подкаталога: ...STREAM. Имя файла указывается без расширения.

    136 Qfinish( )
    136_ Команда: QFinish - объявляет выполненным задание, выдаваемое в МП командой: Qstart. При этом в инфоокне выводится текст задания, а в момент выполнения появляется дракончик. Если последовательность команд: Qstart, Qfinish была вызвана в одиночной игре, то за выполненный квест, достаются все полагающиеся бонусы и квестовые предметы. Вновь объявленное задание командой: QStart с тем же именем отменяет уже выполненные задачи. Например, если в теле объявления квеста была команда: QObjSeeUnit и группа игроков видела этого юнита, то вновь объявленный квест потребует повторного посмотреть на этот юнит.

    137 QObjArea( idArea : float )
    137_ Команда: QObjArea - предназначена для создания и выполнения динамических заданий на игровых зонах в МП. Как правило, область: idArea задается под кодом - 1. Область является неким виртуальным объектом на карте включающее в себя множество участков на игровой зоне с одинаковым ID.

    138 QObjGetItem( id : float )
    138_ Команда: QObjGetItem - предназначена для создания и выполнения динамических заданий на игровых зонах в МП. Добавляет задачу: получить квестовый предмет с кодом: id

    139 QObjKillGroup( "grp" : string )
    139_ Команда: QObjKillGroup - предназначена для создания и выполнения динамических заданий на игровых зонах в МП. Добавляет задачу: уничтожить "Игровую" группу под именем глобальной переменной: grp. Игровая группа создается в модуле игровой зоны как глобальная переменная и добавляет в свой набор объекты-юниты командой: AddObject. Параметр: grp - вводится как имя глобальной переменной. Команду: QObjKillGroup нельзя применять из консоли, так как нет функций возвращающих экземпляр "Игровой" группы.?

    140 QObjKillUnit( UnitName : string )
    140_ Команда: QObjKillUnit - предназначена для создания и выполнения динамических заданий на игровых зонах в МП. Добавляет задачу: уничтожить объект с именем: UnitName.

    141 QObjSeeObject( ObjectName : string )
    141_ Команда: QObjSeeObject - предназначена для создания и выполнения динамических заданий на игровых зонах в МП. Добавляет задачу: увидеть объект (сундук, не юнит) с именем: ObjectName.

    142 QObjSeeUnit( UnitName : string )
    142_ Команда: QObjSeeUnit - предназначена для создания и выполнения динамических заданий на игровых зонах в МП. Добавляет задачу: увидеть объект-юнит с именем: UnitName.

    143 QObjUse( Lever : string , State : float )
    143_ Команда: QObjUse - применяется в процедуре описания задания и добавляет задачу - перевести рычаг(Lever) в состояние(State) Добавляет задачу: перевести "рычаг": Lever в состояние: State в набор задач объявленных командой: Qstart
    Flood... Flood never ends....

  13. #53
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    144 QStart( QuestName : string )
    144_ Команда: QStart - динамически, во время игры или на брифинг-зоне, команда: QStart объявляет квест в МП на сервере игры ПЗ и открывает текущее перечисление целей. Закрывает текущее перечисление целей команда: QFinish. В теле Объявления задания (перечисление задач) находятся команды ставящее условия выполнения Задания. Очередность установления задач должна быть в прямой последовательности их выполнения и недолжна, нарушаться, так как подзадания в МП выдаются последовательно по мере их выполнения. Задание можно объявить и в одиночной игре, но это бессмысленно, так как последовательность получения заданий в одиночной игре предусмотрены заранее в таблице ресурсов.

    145 QuestComplete( nPlayer : float , QuestName : string )
    145_ Команда: QuestComplete - как и МП команда: QFinish объявляет квест выполненным и выдает опыт за выполнение задания, но сообщения о выполнении задания не выводятся в инфоокне игры.

    146 Random( Max : float ) : float
    146_ Функция: Random - возвращает псевдослучайное число в промежутке от: 0 до: Max.

    147 RecalcMercBriefings( )
    147_ Команда: RecalcMercBriefings -

    148 RedeployParty( nPlayer : float )
    148_ Команда: RedeployParty - завершает транзакцию установки текущей партии для выбранного игрока: nPlayer.

    149 RemoveObject( grp : group , Unit : object )
    149_ Команда: RemoveObject - удаляет принадлежность объекта: Unit к глобальной переменной "Игровой группы": grp. Игровая группа создается в модуле игровой зоны как глобальная переменная и добавляет в свой набор объекты-юниты командой: AddObject. Параметр: grp - вводится как имя глобальной переменной. Команду: RemoveObject нельзя применять из консоли, так как нет функций возвращающих экземпляр "Игровой" группы.?

    150 RemoveObjectFromServer( Object : object )
    150_ Команда: RemoveObjectFromServer - удаляет объект с сервера (сундук, механизм...)

    151 RemoveParty( nPlayer : float , PartyName : string )
    151_ Команда: RemoveParty - удаляет партию по имени: PartyName из набора партий игрока под номером: nPlayer.

    152 RemoveQuestItem( Unit : object , id : float )
    152_ Команда: RemoveQuestItem - удаляет квестовый предмет из обоза (рюкзак?) текущей группы. (У врагов из рюкзака?) Кол-во удалений одинаковых квестовых предметов у игрока?

    153 RemoveUnitFromControl( nPlayer : float , Unit : object )
    153_ Команда: RemoveUnitFromControl - удаляет иконку юнита: Unit из контроль панели игрока: nPlayer на игровой зоне.

    154 RemoveUnitFromParty( nPlayer : float , NamePersRes : string )
    154_ Команда: RemoveUnitFromParty - удаляет из текущей партии персонаж: NamePersRes принадлежащий игроку под номером: nPlayer. Можно ли удалить персонаж не из текущей партии, используя обычный указатель принадлежности к партии через двоеточие.

    155 RemoveUnitFromServer( Unit : object )
    155_ Команда: RemoveUnitFromServer - удаляет юнит с сервера. Теряется ли рюкзак, обоз при восстановлении персонажа?

    156 ResetTarget( Unit : object )
    156_ Команда: ResetTarget - сбрасывает все режимы: охраны, патрулирования и агрессивности. Перед тем как набрать список команд патрулирования и охраны следует сделать сброс этой командой. Эта самая молодая команда в ПЗ. в версии игры 1.0 её нет. Она появилась в сервис пакете 1.02, для того чтобы знаменитым вопросом: "...почему Циклоп не уходит" больше не мучили разработчиков.

    157 Rest( Unit : object )
    157_ Команда: Rest - юнит: Unit отдыхает, если это возможно, то усаживается на землю.

    158 RotateTo( Unit : object , x : float , y : float )
    158_ Команда: RotateTo - поворачивает объект: Unit лицом по направлению к точке( X , Y ). Сразу после вызова команды: AddUnitToServer команда: RotateTo не работает, нужно время, чтобы Юнит появился на карте, но выполнить задержку командой: Sleep из консоли нельзя. Команда: Sleep работает только на уровне Скриптмодуля карты.

    159 Run( Unit : object )
    159_ Команда: Run - переключает объект-юнит: Unit в режим "бег"

    160 RunWorldTime( Hour : float )
    160_ Команда: RunWorldTime - переустанавливает текущее время: Hour в ПЗ.

    161 SendEvent( float , flaot )
    161_ Команда: SendEvent -
    Flood... Flood never ends....

  14. #54
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    162 SendStringEvent( float , string )
    162_ Команда: SendStringEvent -

    163 Sentry( Unit : object , x : float , y : float )
    163_ Команда: Sentry - отдает команду юниту: Unit охранять точку: (x,y), атакуя врагов в области видимости. После уничтожения противника возвращается в указанную точку.

    164 SetBackgroudColor( R : float , G : float , B : float )
    164_ Команда: SetBackGroundColor - устанавливает фоновый цвет на карте в режиме: (R,G,B). Фон перекрывается текстурами неба, поэтому результат будет заметен лишь на пещерных картах.

    165 SetCameraOrientation( float )
    165_ Команда: SetCameraOrientation -

    166 SetCameraPosition( float , float , float )
    166_ Команда: SetCameraPosition -

    167 SetCP( Object : object , x : float , y : float , z : float )
    167_ Команда: SetCP - переносит объект: Object на карте, (не только юнит) в точку: (x,y). На карте Предгорья можно перенести Рычаг от пирамиды: @setcp( GetObjectByID( "4636" ), 22 , 140, 0)

    168 SetCPFast( Object : object , x : float , y : float , z : float )
    168_ Команда: SetCPFast - переносит объект: Object на карте, (не только юнит) в точку: (x,y). На карте Предгорья можно перенести Рычаг от пирамиды: @setcp( GetObjectByID( "4636" ), 22 , 140, 0)

    169 SetCurrentParty( nPlayer : float , PartyName : string )
    169_ Команда: SetCurrentParty - устанавливает текущую партию: PartyName из набора партии игрока под номером: nPlayer.

    170 SetDiplomacy( nDiplomacyGroupA : float , nDiplomacyGroupB : float , Diplomacy : float )
    170_ Команда: SetDiplomacy - изменяет дипломатические отношения между группами объектов. Группы: nDiplomacyGroupA и nDiplomacyGroupB представлены по номерам. Дипломатическая группа "Партии" "Игрока" всегда принадлежит номер дипломатической группировки = 0. Возможные значения: Diplomacy: 1 - союзник 0 - нейтрал -1 - враг

    171 SetDirectionToObject( nUnit : float )
    171_ Команда: SetDirectionToObject -

    172 SetEnemy( Unit : object , id : float )
    172_ Команда: SetEnemy -

    173 SetParticleSourceSize( id : float , rad : float )
    173_ Команда: SetParticleSourceSize - изменяет радиус источника частиц с идентификатором: id на: rad.

    174 SetPlayer( Unit : object , nDiplomacyGroup : float )
    174_ Команда: SetPlayer - устанавливает юниту: Unit, принадлежность к дипломатической группе номер: nDiplomacyGroup.

    175 SetPlayerAggression( float , float )
    175_ Команда: SetPlayerAggression -

    176 SetScience( object , float , float , float , float , float , float )
    176_ Команда: SetScience -

    177 SetSpellAggression( Unit object , Aggression : float )
    177_ Команда: SetSpellAggression -

    178 SetSunLight( sunlightR : float , sunlightG : float , sunlightB : float , ambientR : float , ambientG : float , ambientB : float , skyR : float , skyG : float , skyB : float )
    178_ Команда: SetSunLight -

    179 SetWaterLevel( idWBassein : float , Level : float , delay : float )
    179_ Команда: SetWaterLevel - устанавливает уровень: Level воды: idWBassein с задержкой: delay относительно дна водоема. Уровень водоема не влияет на проходимость зон вброд Персонажами.

    180 SetWind( float , float , float , float )
    180_ Команда: SetWind -

    181 ShowBitmap( float , Bitmap : string )
    181_ Команда: ShowBitmap -

    182 ShowCredits( string )
    182_ Команда: ShowCredits -

    183 Sleep( Sleep : float )
    183_ Команда: Sleep - устанавливает паузу: Sleep в теле вызываемой процедуры на уровне Скриптмодуля карты.

    184 SleepUntil( bool : float )
    184_ Команда: SleepUntil -

    185 SleepUntilIdle( Unit : object )
    185_ Команда: SleepUntilIdle -

    186 Standt( Unit : object )
    186_ Команда: Stand - изменяет режим перемещения объекта: Unit на шаг.

    187 StartAnimation( Unit : object , PathAnimation : string )
    187_ Команда: StartAnimation -

    188 Sub( A : float , B : float ) : float
    188_ Функция: Sub - возвращает разность чисел А и В.

    189 Sum (цикл)
    189_ Команда: Sum -

    190 SwitchLeverState( Lever : object , State : float )
    190_ Команда: SwitchLeverState - устанавливает механизм (рычаг): Lever в исходное положение выключено: State - 0 и в положение включено: State - 1. Соответственно, визуально отображаются положения рычагов на игровых зонах. Функция: GetLeverState - возвращает состояние механизма.

    191 SwitchLeverStateEx( Lever : object , State : float , Delay : float )
    191_ Команда: SwitchLeverStateEx - устанавливает механизм (рычаг): Lever в исходное положение выключено: State = 0 и в положение включено: State = 1. Соответственно, визуально отображаются положения рычагов на игровых зонах. Дополнительный параметр: Delay позволяет установить время задержки мультипликации механизма. Функция: GetLeverState - возвращает состояние механизма.

    192 UMAg( Unit : object , Ag : float )
    192_ Команда: UMAg - отдает команду юниту: Unit избегать врагов, должно быть сброшено агрессивное состояние у объекта.

    193 UMAggression( Unit : object )
    193_ Команда: UMAggression - отдает команду юниту: Unit атаковать врагов в пределах видимости.
    Flood... Flood never ends....

  15. #55
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    194 UMClear( Unit : object )
    194_ Команда: UMClear - удаляет все директивы самостоятельного поведения юнита: Unit.

    195 UMCorpseWatcher( Unit : object )
    195_ Команда: UMCorpseWatcher -

    196 UMFear( Unit : object , Fear : float )
    196_ Команда: UMFear - устанавливает поведение "испуг" юниту: Unit. При этом юнит теряет способность атаковать врагов и пытается скрыться от врагов. Поведение по умолчанию у нейтральных зверей. Параметр: Fear - номер дипломатической группы?

    197 UMFollow( UnitA : object , UnitB : object )
    197_ Команда: UMFollow - отдает команду объекту: UnitA постоянно следовать за объектом: UnitB . После боя команда не отменяется. Сходные свойства поведения у команды: Follow.

    198 UMGuard( Unit : object , x : float , y : float , rad : float )
    198_ Команда: UMGuard - заставляет объект: Unit охранять точку (x,y) с радиусом: rad.

    199 UMGuardEx( Unit : object , x : float , y : float , rad : float , Delay : float )
    199_ Команда: UMGuardEx - заставляет объект: Unit охранять точку (x,y) с радиусом: rad и задержкой: Delay в точках случайного останова объекта: Unit.

    200 UMPatrol( Unit : object )
    200_ Команда: UMPatrol - Команда вызывает ошибку выполнения! Чтобы установить режим патрулирования следует, применит команду: ResetTarget перед набором списка патрульных команд.

    201 UMPatrolAddPoint( Unit : object , x : float , y : float )
    201_ Команда: UMPatrolAddPoint - указывает новую точку наблюдения: (x,y) в которую переместится объект при патрулировании. Для задержки объекта в точке наблюдения и ориентировки объекта в сторону наблюдения, нужно использовать за командой: UMPatrolAddPoint команду: UMPatrolAddPointLook.

    202 UMPatrolAddPointLook( Unit : object , x : float , y : float , Delay : float )
    202_ Команда: UMPatrolAddPointLook - указывает объекту: Unit точку (x,y) в которую будет смотреть объект: Unit и насколько долго: Delay объект задержится в этом положении.

    203 UMPatrolClear( Unit : object )
    203_ Команда: UMPatrolClear - удаляет все директивы патрулирования установленные командами: UMPatrolAddPointLook, UMPatrolAddPoint. Аналогичное действие команды: ResetTarget, но ResetTarget сбрасывает все команды UM*.

    204 UMPlayer( Unit : object )
    204_ Команда: UMPlayer - подчиняет юнит: Unit игроку. Не изменяет принадлежность юнита к дипломатической группе. Действует дипломатия как на уровне Партии.?

    205 UMRevenge( Unit : object )
    205_ Команда: UMRevenge - эта команда устанавливает объекту: Unit страх от дипломатической группы - 0. Объект: Unit будет стараться убежать и не видеть юнита из дипломатической группы - 0. Чтобы сразиться с врагом в таком состоянии, нужно ранить его или загнать в тупик.

    206 UMSentry( Unit : object , x : float , y : float )
    206_ Команда: UMSentry - устанавливает режим для юнита: Unit охранять точку: (x,y), атакуя врагов в области видимости. После уничтожения врага, юнит возвр




    Фух кажется все, надеюсь поможет!!!
    Flood... Flood never ends....

  16. #56
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    Продолжаю тему... Чисто механические способы получения вещей... Путём изменения кода памяти...
    Устройство вещей в оперативной памяти у ПЗ не сверх-мудрёное, но со своими приколами... Чертежи оружий, доспехов, жезлов и магий имеют схожую структуру, а также к ним можно и руны прилепить, а вот материалы чуть отличаются... Получал я вещи путём взлома инвентаря на количество предмета (ArtMoney 7.07 Pro). Таким образом структуру я изучал тоже отталкиваясь от количества, и вот что получил: в оперативной памяти структура предмета такова -

    YYYYYYYY+00 - Адрес, содержаций количество предмета (4 Байта)
    YYYYYYYY+04 - Раздел классов (Материал/Чертёж/Руна) (4 Байта)
    YYYYYYYY+08 - Классовая пренадлежность (4 Байта)
    YYYYYYYY+0C - Модель/Вид предмета (4 Байта)

    1) С количеством всё ясно, его может быть очень-очень много...
    2) Раздел классов - Подразделён на побочные (неизвестные) разделы и общие: 1 - Материал; 2 - Чертёж/Руна...
    3) Классовая пренадлежность - для материала не активна и равна 7FFFFFFFh; а вот для других так: 0 - Чертёж оружия; 1 - Чертёж доспеха; 2 - Чертёж жезла; 3 - Чертёж заклинания; 4 - Руна...
    4) Модель:
    Для материала:
    00 - Тонкая кожа;
    01 - Крепкая кожа;
    02 - Толстая кожа;
    03 - Шкура зелёного тролля;
    04 - Шкура синего тролля;
    05 - Шкура чёрного тролля;
    06 - Шкура красного дракона;
    07 - Шкура зелёного дракона;
    08 - Шкура синего дракона;
    09 - Тигринный меж (обычный);
    10 - Тонкая кость;
    11 - Крепкая кость;
    12 - Толстая кость;
    13 - Панцирная кость;
    14 - Кость красного дракона;
    15 - Кость зелёного дракона;
    16 - Кость синего дракона;
    17 - Камень;
    18 - Гранит;
    19 - Кремень;
    20 - Обсидиан;
    21 - Бронза;
    22 - Железо;
    23 - Сталь;
    24 - Мифрил;
    25 - Адамантин;
    26 - Метеорит;
    27 - Алмаз;
    28 - Грубая ткань;
    29 - Хлопок;
    30 - Шерсть;
    31 - Шёлк;
    32 - Мех снежного тигра;
    33 - Тут игра даёт сбой...
    Для доспеха: (Тут показаны только значения, кратные числу 8, т.к. меж ними идут сами вещи, причём вразброс, а значения, кратные числу 8 показывают их классовую принадлежность) - английские названия не придуманы - оно так и написано...
    000 - Gipat_Low_Prototype
    008 - Gipat_Medium_Prototype
    016 - Gipat_Brigand_Prototype
    024 - Gipat_High_Prototype
    032 - Gipat_Highest_Prototype
    040 - Kania_Low_Prototype
    048 - Kania_Medium_Prototype
    056 - Kania_Brigand_Prototype
    064 - Kania_High_Prototype
    072 - Kania_Highest_Prototype
    080 - Kania_High2_Prototype
    088 - Kania_Highest2_Prototype
    096 - Hadagan_Low_Prototype
    104 - Hadagan_Medium_Prototype
    112 - Hadagan_Brigand_Prototype
    120 - Hadagan_High_Prototype
    128 - Hadagan_Highest_Prototype
    136 - Hadagan_High2_Prototype
    144 - Hadagan_Highest2_Prototype
    152 - Jun_High_Prototype
    160 - Тут начинается мусор...
    Для оружия:
    00 - Каменный топор
    01 - Каменный боевой топор
    02 - Металлический топор
    03 - Металлический боевой топор
    04 - Кристаллический топор
    05 - Каменный меч
    06 - Длинный меч (Металл)
    07 - Палаш (Меч, Металл)
    08 - Кристаллический меч
    09 - Ритуальный нож (Металл)
    10 - Каменный кинжал
    11 - Кинжал (Металл)
    12 - Крис (Кинжал, Металл)
    13 - Кристаллический кинжал
    14 - Каменной копьё
    15 - Костяное копьё
    16 - Копьё (Металл)
    17 - Длинное копьё (Металл)
    18 - Кристаллическое копьё
    19 - Костяная дубина
    20 - Каменный молот
    21 - Каменный утяжелённый молот
    22 - Боевой молот (Металл)
    23 - Булава (Металл)
    24 - Шиповая булава (Металл)
    25 - Тяжёлая шиповая булава (Металл)
    26 - Кристаллическая булава
    27 - Каменный лук
    28 - Короткий костяной лук
    29 - Длинный костяной лук
    30 - Короткий лук (Металл)
    31 - Длинный лук (Металл)
    32 - Арбалет (Металл)
    33 - Тяжёлый арбалет (Металл)
    34 - Кристаллический арбалет
    Для заклинаний:
    00 - Огненная стрела
    01 - Молния
    02 - Сгусток кислоты
    03 - Огненный шар
    04 - Небесная молния
    05 - Фонтан кислоты
    06 - Огненная стена
    07 - Преграда из молнии
    08 - Кислотный туман
    09 - Защита от огня
    10 - Защита от молний
    11 - Защита от кислоты
    12 - Орлинный взор
    13 - Ночное зрение
    14 - <?> - Нарисована девушка
    15 - Невидимость
    16 - Неслышный шаг
    17 - <?> - Нарисован череп
    18 - Фейерверк
    19 - <?> - Нарисован нос
    20 - Ясновидение
    21 - <?> - Нарисован шар с блёсками
    22 - <?> - Нарисован шар с дымом
    23 - Поле зрения
    24 - Лечение
    25 - Парализация
    26 - Защита от магии
    27 - <?> - Нарисовано раздвоение что ли
    28 - Телепортация
    29 - Увеличение силы
    30 - Ослабление
    31 - Регенерация
    32 - Слабоумие
    33 - Ускорение
    34 - Замедление
    35 - <?> - Зомби что ли нарисован
    36 - <?> - Вроде нарисована собака
    37 - Увеличение
    38 - Уменьшение
    39 - Либо мусор, либо выкинет из игры
    Для рун:
    00 - <?> Подобие дальнего действия
    01 - Дальнее действие
    02 - Сверхдальнее действие
    03 - Дополнительная цель
    04 - Две дополнительные цели
    05 - <?> Подобие расширённой области действия
    06 - Расширённая область действия
    07 - Максимальная область действия
    08 - <?> Подобие усиления
    09 - Усиление
    10 - Максимальное усиление
    11 - <?> Подобие долговременного действия
    12 - Долговлременное действие
    13 - Сверхдолгое действие
    14 - Малый расход сил
    15 - Минимальный расход сил
    16 - Выбрать друзей
    17 - Выбрать врагов
    18 - Выбрать людей
    19 - Выбрать гоблинов
    20 - Выбрать орков
    21 - Выбрать ящеров
    22 - Разовое действие
    23 - Постоянное действие
    24 - Малый расход энергии предмета
    25 - Минимальный расход энергии предмета
    26 - Ускоренное восстановление энергии предмета
    27 - Сверхбыстрое восстановление энергии предмета
    28 - Мусор или выкинет
    Для жезлов:
    00-15 - Мусор
    16 - Каменный жезл
    17 - Костяной жезл
    18 - Металлический жезл
    19 - Фигурный металлический жезл
    20 - Ракушка-жезл (Сила-123;Сложность-36)
    21 - Кукла-жезл (Сила-97;Сложность-49)
    Flood... Flood never ends....

  17. #57
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10

    MPR EDITOR

    Вот я описал азы создания модификаций. Но есть очень большое НО!!! Все что на данный момент можно, сделать это очередных клонов EI-mod Fgipat итд итп. Раз Гипат Груп, извините за выражение, жоят редактор карт, тогда давайте сделаем его сами!!! Ведь есть всякие там MPRView, Mob Reversing tools, значит есть надежда на его создание. Есть кто-нибудь из посмотревших эту тему-
    программисты??? Я первый! Программирую на Делфи за номером 7. MPRview была написана на Delphi, а Моб Реверсинг Тулз насколько мне известно на Ассемблере (не точно, просто когда рассматривал код программы часто встречалось слово Accembly)
    Если не прав поправте! Сегодня чуть-чуть посидел над прогой и сделал лишь только дизайн, но в будущем (не без вашей помощи) она будет изменять карты Проклятых Земель. Кто заинтересован в продвижении проекта пишите в личку, на мыло, а обсуждать все вопросы можно прямо здесь.
    Миниатюры Нажмите на изображение для увеличения
Название: Edit.gif
Просмотров: 452
Размер:	13.1 Кб
ID:	381  
    Flood... Flood never ends....

  18. #58
    Аватар для SDVenom
    Бродяга SDVenom на пути к лучшему
    Регистрация
    27.06.2007
    Сообщений
    2
    Репутация
    10
    Цитата Сообщение от Larisa
    Правда, user-friendly инструментария у нас нет, иначе мы бы выложили его как минимум на диск с игрой...
    Если мапмейкерам интересно, они обязательно разберутся сами. Естественно впоследствии найдутся люди, которые напишут FAQ к утилитам.
    Так что было бы просто замечательно, если бы Нивал выложил утимиты для работы с основными ресурсами игры. Хуже от этого точно не будет.

  19. #59
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    Программа Теперь может криво открывать мобы, но не сохранять!
    Flood... Flood never ends....

  20. #60
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    Походу никому не интересно а ведь MPR edit кодато все выпрашивали...
    Flood... Flood never ends....

  21. #61
    Аватар для SnAIperK
    Воин SnAIperK на пути к лучшему
    Регистрация
    27.06.2007
    Сообщений
    114
    Репутация
    10
    Почитал, интересная тема. Может заграбастать Sergh'a для себя? Скриптеры всегда нужны...
    Цитата Сообщение от Sergh
    Я не верю что у ГГ нет редактора!!!!!
    Правильно делаешь
    С уважением, Снайпер.
    Пародия на программиста.
    Немного о людях и не только: Поставщик офисного планктона, главный читатель башорга, самый унылый ресурс.
    Intel Core2Duo 2.0 GHz, 2048 Mb DDRII RAM, GeForce Go 7600 GT 520 Mb, Windows Vista Home Premium SP1 OEM, BluRay-RW drive, 17" TFT 1920x1280, BT, WiFi, IR, и прочее барахло

  22. #62
    Аватар для MorgenS
    Сержант Старой Гвардии Объединённая Рать Лиги MorgenS скоро станет достаточно известным MorgenS скоро станет достаточно известным
    Регистрация
    27.06.2007
    Сообщений
    692
    Репутация
    144
    Слыш, Снайпер, у вас он есть, это все знают. На форуме даже коммент такой есть "где то тут тот самый редактор карт", только вот жадные вы прям до ужаса.......
    allods.gipat.ru - передовой сайт по Аллодам и ПЗ!

  23. #63
    Аватар для ТайлеР
    Горожанин ТайлеР на пути к лучшему
    Регистрация
    27.06.2007
    Сообщений
    12
    Репутация
    10
    Цитата Сообщение от Sergh
    Походу никому не интересно а ведь MPR edit кодато все выпрашивали...
    Да, это интересно, хотя я не особенно хорошо знаю прогу. Но надо попробовать! Пиши. жду

  24. #64
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    Никто не помогает мне писать прогу для редактирования КАРТ ПЗ. На делфаке написал уже пол проги и забросил нафиг...
    Ну если ты хочешь пиши на мыло.
    Если напишешь то мож быть пришлю тебе тестовую версию написаной мной проги, вот там только ни чё не работает .
    Да, ладно ведь эта тема посвящена МОДМЕЙКЕРСТВУ в ПЗ (сокращенно ММВПЗ), а не всяким там программкам. Пока еще тема развивается, скоро напишу чего нибудь нового и интересного. Моргену спасибо за вопросик который он написал в личку...
    Каждый заходит в эту тему и тыбрит всё, а чтоб написать что нибудь рука не поднимается (хоть кто-то да знает что нибудь в ММВПЗ)
    Flood... Flood never ends....

  25. #65
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    ПОсле долгого отсутствия, я пишк статью по просьбе Моргена И Кино_тина.(Морген попросил первым) Чистая теория лишь на половину проверенная на практике.

    Использую в качестве имени оружия ник Моргена.

    Делаем меч для ЗвА.
    Думаю что все нужные программы у вас есть. (программы лежат здесь http://ei-world.by.ru/) Первое что делаем это идем в директорию с игрой в папку /Res/ оттуда берем датабазу (database.res) распаковываем её Ресбилдером. Распаковав идем в паку распаковки и ищем файл items.idb, и распаковываем его программой от Санька IDB Unpacker. Открываем файл weapons.txt и в низу прописываем в одну строчку: Morgens sword 0,1 4 4 190 70 6151 0 2 sword Metal 0 113,1 119 30 100% 0% 0% 0% 0% 0% 0% attack 5 8 0 2013471392
    Так теперь берем программку Res Builder (здесь http://ei-world.by.ru/ )
    В строке Resource: пишем c:/items.idb
    В сторке Work Dir: пишем путь до папки с файлом weapons.txt
    В строке mask: пишем *
    Жмём запаковка, и жмем Processing.
    Идем на диск c:/ и заберем items.idb
    Теперь идём в папку куда распаковывали database.res и заменяем там старый items.idb на только что переделанный items.idb
    Опять включаем ресбилдер и
    В строке Resource: пишем c:/database.res
    В сторке Work Dir: пишем путь до папки с распакованной датабазой где только что заменили старый items.idb
    В строке mask: пишем *
    Идем на диск c:/ и заберем database.res кладем его в директорию игры в папку /Res/
    Теперь по сложнее, здесь главное знать, какая модель нужна для твоего оружия и её название. Не спеши тестировать иначе ГЕНЕРАЛ ГАМЕС ЕРРОР обеспечен. Распаковываем Ресбилером Figures.res, копируем куда-нибудь какое-нибудь файло и (для начала запомним как он называется) переименовываем в Morgens sword. Кидаем обратно. Запаковываем (вверху дважды написано как, только вместо надписи database, соответственно Figures.) Открываем textures.res . Теперь вспоминаем как называется еще не переименованный файл (выше) включаем поиск по этому названию, должно найти два файла. Оба их переименовываем: первый в Morgens sword_hm.mr.0.mmp второй в Morgens sword_ax.mr.0.mmp. кидем обратно, запаковываем. Вроде все.
    Что бы было описание оружия нужно соответственно изменить texts.res

    Morgens sword можно заменить на что угодно.
    Flood... Flood never ends....

  26. #66
    Аватар для SnAIperK
    Воин SnAIperK на пути к лучшему
    Регистрация
    27.06.2007
    Сообщений
    114
    Репутация
    10
    Эээ... Ты очень сильно удивил меня переименованием в Morgens Sword в фигуресах и текстуресах. Не уверен, что это будет работать, так как движок понимает общепринятые кодировки названий:
    [owner_model][wep_code]_[model_num].[mat_code].[tex_num].mmp
    Воть. Я вполне могу быть не прав, но всё же проверь плиз на практике, ок? (я-то делал новое оружие, но вот было оно, увы, без текстур. Ну да ладно, с текстурами я ещё потом разберусь). И кстати удобнее модкритор юзать

    PS: То есть новое на основе старых моделей как раз было без текстур. А вот коса баньши и трезубец ящера были как раз без текстур, увы и ах...
    С уважением, Снайпер.
    Пародия на программиста.
    Немного о людях и не только: Поставщик офисного планктона, главный читатель башорга, самый унылый ресурс.
    Intel Core2Duo 2.0 GHz, 2048 Mb DDRII RAM, GeForce Go 7600 GT 520 Mb, Windows Vista Home Premium SP1 OEM, BluRay-RW drive, 17" TFT 1920x1280, BT, WiFi, IR, и прочее барахло

  27. #67
    Аватар для MorgenS
    Сержант Старой Гвардии Объединённая Рать Лиги MorgenS скоро станет достаточно известным MorgenS скоро станет достаточно известным
    Регистрация
    27.06.2007
    Сообщений
    692
    Репутация
    144
    Собсна мысли у меня вот какие...
    Лариса гнала. Она сказала, что ландшафт сделн ручками в maya. я давно на это обращал внимание, но сейчас подумал и... Проверим? Загружаем любую локацию, лучше пещеру. Смотрим на стены. Видим, что ьекстуры стены как бы растянуты сверху вниз. Странно, ен правда ли... Особенно хорошо заметно это в ЗвА на лифтах. Итак, разберемся в причинах. Насколько я в этом смылю.... итак вариант 1. Ландшафт действительно сделан в maya ручками, только вот текстура ландшафта хранится в файле с разрешением, равном разрешению карты. Тогда полигоны покрываются текстурой и растягиваются... Мдя ,малоправдиво, тем более, что тогда пришлось бы красить кучу текстур, а в ПЗ очень похоже на то, что текстуры кладутся не просто так... ну да ладно. Вариант 2. Технологии 6-ти летней давности были мега, но не идеальны. Предположим, что движок строил поверхность по карте высот, то есть, грубо говоря, просто поднимал-опускал по карте высот вершины, когда на полигонах УЖЕ лежала текстура. В чем отличие от первого варианта? В том, что первый вариант - бред. Ни один уважающий себя программист так бы не сделал.
    Делаем вывод: ландшафт ПЗ строится по карте высот. УЖе плюс. Вот, Серж, давай пиши редактор карт, направление деятельности я тебе дал, а то от этих гипатгрупов фиг дождешься.....
    allods.gipat.ru - передовой сайт по Аллодам и ПЗ!

  28. #68
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    Да, второй способ по-правдивей . Редактор карт может быть и сдвинется в будушем с мертвой точки , когда мне будет оказываться хоть какая-нибудь помощь. А пока я сам, не в состоянии делать редактор, так как не знаю некоторых алгоритмов, по которым будет выстраиваться карта в редакторе. А может взломать MPR wiev?
    Flood... Flood never ends....

  29. #69
    Аватар для Hobat
    Горожанин Hobat на пути к лучшему
    Регистрация
    27.06.2007
    Сообщений
    34
    Репутация
    10
    Sergh К сожалению раздел твоего сайта "файлы" у меня не работает. Почти все что нужно я всетаки нашел, а вот REGxINIxREG никак не могу. Всязи с этим прозьба: скинь файлики на форум или на мыло banderas220@yandex.ru

  30. #70
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    Вот! Пользуйся на здоровье! Тама 2 проги! Они консольные, так что просто перетаскивай файл на программу
    Вложения
    Flood... Flood never ends....

  31. #71
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    А воть еще. Просто бесполезная прога Mpr Wiev. Разработка которой остановилась на дизйне http://ei-world.by.ru/MPR_EDIT.rar
    Flood... Flood never ends....

  32. #72
    Аватар для SnAIperK
    Воин SnAIperK на пути к лучшему
    Регистрация
    27.06.2007
    Сообщений
    114
    Репутация
    10
    Да ещё и не работающая
    С уважением, Снайпер.
    Пародия на программиста.
    Немного о людях и не только: Поставщик офисного планктона, главный читатель башорга, самый унылый ресурс.
    Intel Core2Duo 2.0 GHz, 2048 Mb DDRII RAM, GeForce Go 7600 GT 520 Mb, Windows Vista Home Premium SP1 OEM, BluRay-RW drive, 17" TFT 1920x1280, BT, WiFi, IR, и прочее барахло

  33. #73
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    Дась Но как написано выше
    Редактор карт может быть и сдвинется в будушем с мертвой точки , когда мне будет оказываться хоть какая-нибудь помощь. А пока я сам, не в состоянии делать редактор, так как не знаю некоторых алгоритмов, по которым будет выстраиваться карта в редакторе.
    Может ты Снайпер поделишься редактором?
    Flood... Flood never ends....

  34. #74
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    Далекие мечты о призрачном редакторе....
    Миниатюры Нажмите на изображение для увеличения
Название: Editor.jpg
Просмотров: 448
Размер:	156.4 Кб
ID:	383  
    Flood... Flood never ends....

  35. #75
    Аватар для SnAIperK
    Воин SnAIperK на пути к лучшему
    Регистрация
    27.06.2007
    Сообщений
    114
    Репутация
    10
    Этот редактор плохой. Я его не юзал, но знаю. Он сделан для "триггерщиков", так что ну его %)
    С уважением, Снайпер.
    Пародия на программиста.
    Немного о людях и не только: Поставщик офисного планктона, главный читатель башорга, самый унылый ресурс.
    Intel Core2Duo 2.0 GHz, 2048 Mb DDRII RAM, GeForce Go 7600 GT 520 Mb, Windows Vista Home Premium SP1 OEM, BluRay-RW drive, 17" TFT 1920x1280, BT, WiFi, IR, и прочее барахло

  36. #76
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    Ды, у меня еще скрины есть тока они размером побольше и сюды не влазят.
    Ну так чё поделишься редактором? Круто было бы. В долгу не останемся
    Flood... Flood never ends....

  37. #77
    Аватар для MorgenS
    Сержант Старой Гвардии Объединённая Рать Лиги MorgenS скоро станет достаточно известным MorgenS скоро станет достаточно известным
    Регистрация
    27.06.2007
    Сообщений
    692
    Репутация
    144
    Блин, давай серж сам пиши уже. Они же как-то взломали компили Нивальские и ты сможешь
    З.Ы. И кончай проситься в гг, просись к нам Игроь тебе уже написал ведь...
    allods.gipat.ru - передовой сайт по Аллодам и ПЗ!

  38. #78
    Аватар для Sergh
    Стражник Sergh на пути к лучшему
    Регистрация
    27.06.2007
    Адрес
    Cтаврополь
    Сообщений
    140
    Репутация
    10
    Ух, щас обижусь. Уже второй раз палю как ты, пишишь мое имя с маленькой буквы!

    А ты откуда знаешь что Игорь мне написал Да и вообще я же уже ппрсился.
    Flood... Flood never ends....

  39. #79
    Аватар для MorgenS
    Сержант Старой Гвардии Объединённая Рать Лиги MorgenS скоро станет достаточно известным MorgenS скоро станет достаточно известным
    Регистрация
    27.06.2007
    Сообщений
    692
    Репутация
    144
    А ты откуда знаешь что Игорь мне написал
    Ну вообще то если я геймдизайнер в команде, то это еще не значит, что я не в курсе событий , Серж
    Ну это так, оффтоп

    И вообще дай прямую ссылку на страничку с файлами у тебя на сйте.
    allods.gipat.ru - передовой сайт по Аллодам и ПЗ!

  40. #80
    Аватар для CTAPK
    Скиталец CTAPK на пути к лучшему
    Регистрация
    27.06.2007
    Сообщений
    3
    Репутация
    10
    Sergh
    ты упоминаешь проги которые нужны ля работы с mob. и mq. говоришь что можноскачть у тя на сайте дай ссылку плз. Так которая есть выше у мя не открывается
    Кинь если не трудно yartor@mail.ru

     Ответить в теме
Страница 2 из 5
1 2 3 4 5 Последняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения