Opened 17 years ago

Last modified 17 years ago

#26 new Предложение

Генерация скриптов по параметру — at Initial Version

Reported by: SnAIper Owned by:
Priority: Маловажно Milestone: Предложения
Component: Редактор скрипта Version: 0.3.7.16
Keywords: Cc:
Blocking: Баг подтвержден (для бага): no
Способ воспроизведения (для бага):

Description

Суть такова: по кнопке должен генерироваться скрипт для всех юнитов, обладающих данными свойствами (координаты и прототип).

Как это должно выглядеть: добавляется 2 TMemo для условий генерации. Первое содержит простые условия объекта, связанные логическим And, например:


X>0 X<10 Y>40 Y<63 Name=Human Hadagan Fighter T10


Думаю, ничего кроме прототипа и координат не нужно. Если условие отсутствует - оно не проверяется. Для координат можно использовать также и "=", но имхо смысла немного. Для Name - только равенство. Код для обработки таких простых условий у меня есть, могу поделиться, но тут вряд-ли пригодится даже он.

Второе поле будет содержать опции генерируемого скрипта, например:


AddObject(MyGroup?,GetObjectById?(#ID#)) SetDiplomacy(0,#PLAYER#,0)


И все эти константы (я думаю, что кроме прототипа #NAME#, ID #ID#, номера игрока #PLAYER#, X #X#, Y #Y# - больше ничего не надо) будут простым AnsiReplaceStr заменяться на соответствующие свойства каждого найденного объекта, то есть при нахождении каждого объекта, удовлетворяющего данным свойствам, к строке-результату должен добавляться изменённый текст исходного скрипта, например так:


AddObject(MyGroup?,GetObjectById?(988725)) SetDiplomacy(0,9,0)

AddObject(MyGroup?,GetObjectById?(988731)) SetDiplomacy(0,9,0)

AddObject(MyGroup?,GetObjectById?(988736)) SetDiplomacy(0,9,0)


В результате можно будет реализовывать такие задания как, например, "убить всех волков в округе" практически без геммороя :)

Change History (0)

Note: See TracTickets for help on using tickets.