Zone Of Games Replay Cafe RS Game Maker Территория C&C CnC-Generals.Ru Siberian Studio

 
Раздел статей

Статьи портала->CnC: Generals & Zero Hour->Мануал по коддингу [ Поиск ]

Мануал по коддингу
Название Мануал по коддингу
Описание Основные вопросы, которые могут появиться у новичков
Уровень: Новичок
Редакторы: Final Big
Форматы:
Автор: Nod_figter
Добавил Nod_figter
Чтобы было меньше вопросов на форуме, решил написать небольшую статью.

1. Как прописать сброс войск/амуниции:

Behavior = OCLSpecialPower ModuleTag_128
SpecialPowerTemplate = SuperweaponParadropAmerica
UpgradeOCL = SCIENCE_Paradrop3 SUPERWEAPON_Paradrop3
UpgradeOCL = SCIENCE_Paradrop2 SUPERWEAPON_Paradrop2
OCL = SUPERWEAPON_Paradrop1
CreateLocation = USE_OWNER_OBJECT
ScriptedSpecialPowerOnly = Yes
End

OCL-объект (он может быть практически каким угодно. Будь то контейнер, либо пехотинец). Также необходимо прописать код транспортному средству, чтобы он мог использоваться для этого. Можете смело скопировать код американского самолёта, заменив код модели в блоке.




2. Чтобы апгрейд при изучении повышал здоровье юнита, нужно прописать в инженерных параметрах "HealthUpgrade".

3. Чтобы у юнита был индивидуальный голос смерти. Добавить строчку: "VoiceFear = " После знака "=" должна быть строка из файла "Voice" (сам звук).

4. Чтобы сделать объект невидимым нужен стелс-модуль:
Behavior = StealthUpdate ModuleTag_07
StealthDelay = 2500 ; msec
StealthForbiddenConditions = USING_ABILITY
HintDetectableConditions = USING_ABILITY
InnateStealth = Yes
OrderIdleEnemiesToAttackMeUponReveal = Yes
EnemyDetectionEvaEvent = EnemyBlackLotusDetected
OwnDetectionEvaEvent = OwnBlackLotusDetected
End
Его нужно дописать в инженерные параметры юнита.
Звуки:
EnemyDetectionEvaEvent = EnemyBlackLotusDetected ; если объект обнаружили
OwnDetectionEvaEvent = OwnBlackLotusDetected ; если объект сам вышел из невидимости.
Сами звуки описываются в файле Sound.ini


5. Если вы хотите ограничить производство какого-либо юнита (например, хотите сделать героя (аналог-Чёрный лотос, Джармен Келл, полковник Бартон), нужно добавить в код юнита строку: "MaxSimultaneousOfType = 1".


6. Если вы хотите, чтобы юнит мог менять оружие, то вы должны поступить следующим образом:

1) Открыть файл юнита, найти строчку "WeaponSet" и составить код, пример которого ниже:

WeaponSet
Conditions = None
Weapon = PRIMARY *НАЗВАНИЕ ОРУЖИЯ* -Основное оружие юнита.
Weapon = SECONDARY *НАЗВАНИЕ ОРУЖИЯ* -Второе оружие юнита.
Weapon = TERTIARY *НАЗВАНИЕ ОРУЖИЯ* -Третье (если требуется) оружие юнита.
AutoChooseSources = PRIMARY FROM_SCRIPT FROM_AI DEFAULT_SWITCH_WEAPON
AutoChooseSources = SECONDARY NONE

2) Прописать оружие для игровой панели. Идёте в файл "Commandset" Там находите "сет" своего юнита и прописываете команду.

CommandSet *Название юнита*
1 = Command_TankArmorPiercingWeapon
3 = Command_TankSplinterWeapon

3) Теперь нужно прописать кнопку на панеле юнита. Идёте в файл Commandbutton, ищите код юнита и прописываете, основываясь на приведённом ниже примере:

CommandButton Command_TankArmorPiercingWeapon
Command = SWITCH_WEAPON
WeaponSlot = PRIMARY
Options = CHECK_LIKE OK_FOR_MULTI_SELECT
TextLabel = CONTROLBAR:ArmorPearcingGun
ButtonImage = TankAPW
ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:ToolTipAPGun
End

CommandButton Command_TankSplinterWeapon
Command = SWITCH_WEAPON
WeaponSlot = SECONDARY
Options = CHECK_LIKE OK_FOR_MULTI_SELECT
TextLabel = CONTROLBAR:SplinterGun
ButtonImage = TankSW
ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
DescriptLabel = CONTROLBAR:ToolTipSplinterGun
End


7. Если вы хотите сделать так, чтобы при изучении апгрейда заменялась иконка переключения того оружия, на которое его заменит апгрейд, то необходимо прописать в инженерных параметрах юнита "CommandSetUpgrade". (Подробности в коде оверлорда).

8. Если вы хотите, чтобы разрешалась постройка юнита при покупке генеральского повышения, то пропишите название этого повышения в "Prerequisites". (На примере американских рейнджеров).

9. Чтобы при апгрейде менялась скорость юнита, нужно прописать в коде юнита:

"Locomotor = SET_NORMAL_UPGRADED *название "локомотора", со скоростью которого будет ехать юнит после апгрейда. Пишется после стандартного "локомотора".

Нужно прописать в инженерных параметрах, чтобы была связь с апгрейдом.
Behavior = LocomotorSetUpgrade ModuleTag_183
TriggeredBy = Upgrade_NODAcellerators
End






Голосов Голосов: 2 - В среднем: 5

Добавить комментарий Оценить
Комментарии

Статистика
На данный момент 51 статей в Базе Данных
Лидер просмотров: Создание новых юнитов
Лидер по оценкам: Создание новых юнитов

Всего пользователей в разделе статей: 13 (0 Зарегистрированных пользователей 13 Гостей и 0 Анонимных)
Известные пользователи: 0
 

Воспроизведение материалов с данного сайта без разрешения редакции запрещено.
Реклама на нашем сайте.
Red System © 2001-2016 - All Rights Reserved