Opened 17 years ago

Last modified 17 years ago

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

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

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

Description (last modified by SnAIper)

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

Как это должно выглядеть: добавляется 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 (1)

comment:1 Changed 17 years ago by SnAIper

Description: modified (diff)

Опять с вики-форматированием накосячил

Note: See TracTickets for help on using tickets.