• Дорогой гость!

    Мы рады приветствовать вас на форуме Эвендима!

    Эвендим - это один из крупнейших проектов, посвященных миру Толкина, на котором вы можете найти все, что вам интересно! Эвендим ставит перед собой цель - объединить поклонников мира Толкина со всего мира. Вместе с нашими форумчанами, которые стали нашей второй семьей, мы постоянно работаем над тёплой и дружеской атмосферой, благодаря которой, так легко заводить новых друзей, и приятно проводить время!

    Мы приглашаем вас познавать мир Толкина, играть в игры, заводить новых друзей, и строить Эвендим вместе с нами!
Tips

Система Камер

Gandalf_white

Капитан
__________________________Сегодня я расскажу про скрипты в картах_____________________
Скрипт состоит из нескольких частей,
IF (условие)
Then (если условие выполняется тогда...)
"И ваше действие" (что нужно делать)
На примере добавления системы камер на карту, Однако здравствуйте
На любой карте в вордбилдере переходите в Edit>Script>

Вот скрипт для птичьего полёта:
*** IF ***
Player Player '<Local Player>' starts using Special power 'SpellBookAerialView'.
*** THEN ***
Change camera pitch to 2.00 in 1.00 seconds, ease-in 0.50 seconds, ease-out 0.50 seconds.
Change camera zoom to 3.00 in 2.00 seconds, ease-in 0.50 seconds, ease-out 0.50 seconds.
Вот скрипт для GENERAL_VIEV
*** IF ***
Player Player '<Local Player>' starts using Special power 'SpellBookGeneralView'.
*** THEN ***
Change camera pitch to 1.00 in 1.00 seconds, ease-in 0.50 seconds, ease-out 0.50 seconds.
Change camera zoom to 1.75 in 1.00 seconds, ease-in 0.50 seconds, ease-out 0.50 seconds.
Вот скрипт для COMMANDER_VIEW
*** IF ***
Player Player '<Local Player>' starts using Special power 'SpellBookCommanderView'.
*** THEN ***
Change camera pitch to 0.60 in 1.00 seconds, ease-in 0.50 seconds, ease-out 0.50 seconds.
Change camera zoom to 1.50 in 1.00 seconds, ease-in 0.50 seconds, ease-out 0.50 seconds.
Вот скрипт для UNIT_VIEW
*** IF ***
Player Player '<Local Player>' starts using Special power 'SpellBookUnitView'.
*** THEN ***
Change camera pitch to 0.25 in 2.00 seconds, ease-in 0.50 seconds, ease-out 0.50 seconds.
Change camera zoom to 1.25 in 1.00 seconds, ease-in 0.50 seconds, ease-out 0.50 seconds.
Вот скрипт для GROUND_VIEW
*** IF ***
Player Player '<Local Player>' starts using Special power 'SpellBookGroundView'.
*** THEN ***
Change camera pitch to -0.30 in 2.00 seconds, ease-in 0.50 seconds, ease-out 0.50 seconds.
Change camera zoom to 1.25 in 1.00 seconds, ease-in 0.50 seconds, ease-out 0.50 seconds.
Там делаете новый скрипт и прописываете его:
Пример как надо прописывать скрипт конкретной камеры:

Начинаете писать скрипт с простого Выполнения действия... которое означает "если ... то...."
Дальше как выше... Action if true - переводиться как "акция если истинно" и указывает на действие (акцию), которое надо выполнить при истинности условия, заданного на вопрос "если" - if. Закладка Action if false - предоставляет выбор действий, если условие (if) ложно (т.е. false).
  • Теперь код
Вот вставляем в data\ini\specialpower.ini в любое место

;----------------------------------------------------------------------------------
SpecialPower SpellBookGeneralView
Enum = SPECIAL_GENERAL_TARGETLESS
ReloadTime = 600 ; in milliseconds
RequiredScience = SCIENCE_GENERAL_VIEW
End


;----------------------------------------------------------------------------------
SpecialPower SpellBookCommanderView
Enum = SPECIAL_GENERAL_TARGETLESS
ReloadTime = 600 ; in milliseconds
RequiredScience = SCIENCE_COMMANDER_VIEW
End

;----------------------------------------------------------------------------------
SpecialPower SpellBookUnitView
Enum = SPECIAL_GENERAL_TARGETLESS
ReloadTime = 600 ; in milliseconds
RequiredScience = SCIENCE_UNIT_VIEW
End

;----------------------------------------------------------------------------------
SpecialPower SpellBookGroundView
Enum = SPECIAL_GENERAL_TARGETLESS
ReloadTime = 600 ; in milliseconds
RequiredScience = SCIENCE_GROUND_VIEW
End
Потом идем в data\ini\science.ini там пишем в науки добра

Science SCIENCE_GENERAL_VIEW
PrerequisiteSciences = SCIENCE_GOOD OR SCIENCE_EVIL
SciencePurchasePointCost = 1
SciencePurchasePointCostMP = 1
IsGrantable = Yes
End

Science SCIENCE_COMMANDER_VIEW
PrerequisiteSciences = SCIENCE_GOOD OR SCIENCE_EVIL
SciencePurchasePointCost = 1
SciencePurchasePointCostMP = 1
IsGrantable = Yes
End

Science SCIENCE_UNIT_VIEW
PrerequisiteSciences = SCIENCE_GOOD OR SCIENCE_EVIL
SciencePurchasePointCost = 1
SciencePurchasePointCostMP = 1
IsGrantable = Yes
End

Science SCIENCE_GROUND_VIEW
PrerequisiteSciences = SCIENCE_GOOD OR SCIENCE_EVIL
SciencePurchasePointCost = 1
SciencePurchasePointCostMP = 1
IsGrantable = Yes
End
Потом идем в data\ini\playtemplate.ini и там в строку

IntrinsicSciences = SCIENCE_GOOD
IntrinsicSciencesMP = SCIENCE_ROHAN ; пример для Рохана, для других аналогично...
в каждой расе пишем

IntrinsicSciences = SCIENCE_GOOD SCIENCE_GROUND_VIEW SCIENCE_UNIT_VIEW SCIENCE_COMMANDER_VIEW SCIENCE_GENERAL_VIEW
IntrinsicSciencesMP = SCIENCE_ROHAN SCIENCE_GROUND_VIEW SCIENCE_UNIT_VIEW SCIENCE_COMMANDER_VIEW SCIENCE_GENERAL_VIEW
В data\ini\commandbutton.ini вставляем в конце:

;-------------------------------------------------------------------------
CommandButton Command_SpellBookGeneralView
Command = SPELL_BOOK
SpecialPower = SpellBookGeneralView
TextLabel = CONTROLBAR:ChangeHebo
ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
ButtonImage = HIGeneralView;UCCommon_GuardArea
DescriptLabel = CONTROLBAR:ToolTipChangeAngle1
Radial = No
InPalantir = Yes
End

;-------------------------------------------------------------------------
CommandButton Command_SpellBookCommanderView
Command = SPELL_BOOK
SpecialPower = SpellBookCommanderView
TextLabel = CONTROLBAR:ChangeJIydn
ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
ButtonImage = HIComanderView;UCCommon_Guard
DescriptLabel = CONTROLBAR:ToolTipChangeAngle2
Radial = No
InPalantir = Yes
End

;-------------------------------------------------------------------------
CommandButton Command_SpellBookUnitView
Command = SPELL_BOOK
SpecialPower = SpellBookUnitView
TextLabel = CONTROLBAR:ChangeYgol45
ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
ButtonImage = HIUnitView;UCCommon_Longshot
DescriptLabel = CONTROLBAR:ToolTipChangeAngle3
Radial = No
InPalantir = Yes
End

;-------------------------------------------------------------------------
CommandButton Command_SpellBookGroundView
Command = SPELL_BOOK
SpecialPower = SpellBookGroundView
TextLabel = CONTROLBAR:ChangeCTAHDAPTHO
ButtonBorderType = ACTION ; Identifier for the User as to what kind of button this is
ButtonImage = HIGroundView;UCCommon_HoldGroundStance
DescriptLabel = CONTROLBAR:ToolTipChangeAngle4
Radial = No
InPalantir = Yes
End
В data\ini\commandset.ini в строчки, в коце каждой:

1) CommandSet GoodSpellBookCommandSet
4) CommandSet GondorSpellBookCommandSet
5) CommandSet MordorSpellBookCommandSetokCommandSet
2) CommandSet EvilSpellBookCommandSet
3) CommandSet RohanSpellBookCommandSe
6) CommandSet IsengardSpellBookCommandSet
Всталяем это:
13 = Command_SpellBookGeneralView
14 = Command_SpellBookCommanderView
15 = Command_SpellBookUnitView
16 = Command_SpellBookGroundView
И еще одно:
в DATA\INI\OBJECT\SYSYTEM\SYSTEM.INI
После этого
Behavior = OCLSpecialPower ModuleTag_PalantirVision
SpecialPowerTemplate = SpellBookPalantirVision
AttributeModifier = PalantirVision ;
AttributeModifierRange = 100 ;
AttributeModifierAffects= ANY +CAVALRY +MACHINE +HERO +IsengardUrukCrossbowHorde +IsengardUrukCrossbowHordeWedgeFormation +IsengardUrukCrossbow +IsengardFighterCrossbowComboHorde +IsengardCrossbowPikemanComboHorde -STRUCTURE -BASE_FOUNDATION ; +HORDE +URUK
OCL = SpecialPowerPalantirVision
CreateLocation = CREATE_AT_LOCATION
AvailableAtStart = No
End
и этого


Behavior = OCLSpecialPower ModuleTag_SummonDead
SpecialPowerTemplate = SpellBookArmyoftheDead
OCL = OCL_GondorArmyofTheDeadEgg ;OCL_SpawnArmyOfTheDead
TriggerFX = FX_SummonAOD
CreateLocation = CREATE_AT_LOCATION
AvailableAtStart = No
End

пишем
Behavior = SpecialPowerModule ModuleTag_GeneralView
SpecialPowerTemplate = SpellBookGeneralView
AttributeModifier = SpellBookGeneralView
AvailableAtStart = No
End

Behavior = SpecialPowerModule ModuleTag_CommanderView
SpecialPowerTemplate = SpellBookCommanderView
AttributeModifier = SpellBookCommanderView
AvailableAtStart = No
End

Behavior = SpecialPowerModule ModuleTag_UnitView
SpecialPowerTemplate = SpellBookUnitView
AttributeModifier = SpellBookUnitView
AvailableAtStart = No
End

Behavior = SpecialPowerModule ModuleTag_GroundView
SpecialPowerTemplate = SpellBookGroundView
AttributeModifier = SpellBookGroundView
AvailableAtStart = No
End
И на последок
Это надо добавить в data/ini/attributemodifier.ini


ModifierList SpellBookGeneralView
End

ModifierList SpellBookCommanderView
End

ModifierList SpellBookUnitView
End

ModifierList SpellBookGroundView
End​
С кодом все...

Tutorial by Gandalf_white aka EABYKOV. Копировать запрещено!
 

Akhorahil

Вернулся из заката)
  • Орден Белого Древа
Gandalf_white, да это же просто замечательный тутор! Огромное спасибо!)
Я бы за такой дал 20 баллов даже при расценке очков, честно.
 

Akhorahil

Вернулся из заката)
  • Орден Белого Древа
Gandalf_white, весь. Очень полезный тутор. И на радости такой обещаю в 0.0.9 систему камер на некоторых картах.
 

Карш

Крестоносец
В хоа такое есть. Там можно юнитов до земли приближать. Модельки конечно ужас :F2:
 

Akhorahil

Вернулся из заката)
  • Орден Белого Древа
Изначально такое было в РЖИ. ХоАвцы переняли идею.
 

Сверху