24-11-2024
Jass:
constant function TreeRegrowTime takes nothing returns real return 10.00 //the amount of time you want before the tree respawns endfunction
//To add more trees press CTRl+D while looking at the Object Editor //then follow the same format and add your tree's RAWCODE inside single quotes (Example ' ' )
function IsDesTree takes destructable a returns boolean local integer d=GetDestructableTypeId(a) if d =='ATtr' then return true elseif d=='BTtw' then return true elseif d=='KTtw' then return true elseif d=='YTft' then return true elseif d=='JTct' then return true elseif d=='YTst' then return true elseif d=='YTct' then return true elseif d=='YTwt' then return true elseif d=='JTwt' then return true elseif d=='DTsh' then return true elseif d=='FTtw' then return true elseif d=='CTtr' then return true elseif d=='ITtw' then return true elseif d=='NTtw' then return true elseif d=='OTtw' then return true elseif d=='ZTtw' then return true elseif d=='WTst' then return true elseif d=='LTlt' then return true elseif d=='GTsh' then return true elseif d=='Xtlt' then return true elseif d=='WTtw' then return true elseif d=='Attc' then return true elseif d=='BTtc' then return true elseif d=='CTtc' then return true elseif d=='ITtc' then return true elseif d=='NTtc' then return true elseif d=='ZTtc' then return true else return false endif endfunction
function RegrowTrees takes nothing returns nothing local destructable tree=GetDyingDestructable() call TriggerSleepAction(TreeRegrowTime()) call DestructableRestoreLife( tree, GetDestructableMaxLife(tree), true ) set tree=null endfunction
function Trig_Int_Tree_Revival takes nothing returns nothing local trigger t if IsDesTree(GetEnumDestructable())==true then set t=CreateTrigger() call TriggerRegisterDeathEvent( t, GetEnumDestructable() ) call TriggerAddAction(t,function RegrowTrees) endif endfunction
function Int_Tree_Revive takes nothing returns nothing call EnumDestructablesInRectAll( GetPlayableMapRect(), function Trig_Int_Tree_Revival ) endfunction
Это может выглядеть отчасти странно, но я объясню, что он делает.
Jass:
function Int_Tree_Revive takes nothing returns nothing call EnumDestructablesInRectAll( GetPlayableMapRect(), function Trig_Int_Tree_Revival ) endfunction
Это ОЧЕНЬ важно для системы. Начинается все это. Как это сделать, спросите вы? Очень просто: он выбирает Каждый Разрушаемые В Воспроизводимые Карта
..., а затем он вызывает функцию Возрождения.
Jass:
function IsDesTree takes destructable a returns boolean local integer d=GetDestructableTypeId(a) if d =='ATtr' then return true elseif d=='BTtw' then return true elseif d=='KTtw' then return true elseif d=='YTft' then return true elseif d=='JTct' then return true elseif d=='YTst' then return true elseif d=='YTct' then return true elseif d=='YTwt' then return true elseif d=='JTwt' then return true elseif d=='DTsh' then return true elseif d=='FTtw' then return true elseif d=='CTtr' then return true elseif d=='ITtw' then return true elseif d=='NTtw' then return true elseif d=='OTtw' then return true elseif d=='ZTtw' then return true elseif d=='WTst' then return true elseif d=='LTlt' then return true elseif d=='GTsh' then return true elseif d=='Xtlt' then return true elseif d=='WTtw' then return true elseif d=='Attc' then return true elseif d=='BTtc' then return true elseif d=='CTtc' then return true elseif d=='ITtc' then return true elseif d=='NTtc' then return true elseif d=='ZTtc' then return true else return false endif endfunction
Это
rawcode для каждого отдельного дерева в Warcraft ... Вы можете добавить
свои собственные легко, нажав Ctrl + D, глядя на редактора объектов Затем в том же формате и добавить RAWCODE ваше дерево внутри одинарных кавычек (пример '')
Jass:
function Trig_Int_Tree_Revival takes nothing returns nothing local trigger t if IsDesTree(GetEnumDestructable())==true then set t=CreateTrigger() call TriggerRegisterDeathEvent( t, GetEnumDestructable() ) call TriggerAddAction(t,function RegrowTrees) endif endfunction
Это очень просто и. Она вызывается Карта инициализации. Что она делает это создать локальный триггер ЕСЛИ разрушаемые является дерево. Это выяснилось при помощи функции IsDesTree который находится в этом учебнике, "T" в данном случае. Он добавляет событие Destructable умирает и добавляет действию. На самом деле это будет вызывать функцию RegrowTrees каждый раз событие будет активирована.
Jass:
function RegrowTrees takes nothing returns nothing local destructable tree=GetDyingDestructable() call TriggerSleepAction(TreeRegrowTime()) call DestructableRestoreLife( tree, GetDestructableMaxLife(tree), true ) set tree=null endfunction
Это нужно, чтобы умирать destructable (ов) и устанавливает его в местном destructable дерева. Затем он ожидает TreeRegrowTime секунд .. если вы не знаете, что это все же ... это будет объяснено. После ожидание сделали это оживит Destructable ПОКАЗ анимации рождения. Если вы не хотите, чтобы это показать рождения анимации затем установите значение TRUE на FALSE.
Jass:
constant function TreeRegrowTime takes nothing returns real return 10.00 //the amount of time you want before the tree respawns endfunction
Эта постоянная функция Подождите, который используется в функции. Она возвращает 10,00 секунд ожидания. Это возвращение не может изменяться во время работы системы. Если вы хотите деревьев возродить после различных отведенное время, то редактировать 10.00 до любой номер, пожалуйста.
Пример:
Jass:
constant function TreeRegrowTime takes nothing returns real return 30.00 //the amount of time you want before the tree respawns endfunction
Я поставил возрождение с 10.00 до 30,00 теперь, после 30,00 секунд деревья будут возрождаться, а не после 10,00 секунд.
Если вы следовали учебнике вы должны иметь это в вашей карте заголовок к настоящему времени.
Сейчас идет самая простая часть ... Внутри вашей запуска инициализации Карта добавить действие:
Jass:
Custom script: call Int_Tree_Revive()
так что вот скриншот запуска инициализации карты в образце карте.
|