Сейчас 23:21:36 Вторник, 26 ноября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: PUVer, SirNikolas, Ty3uK  
[АРХИВ] Помощь по триггерам - 1
CUBEДата: Понедельник, 14 Сентября 2009, 17:07:05 | Сообщение # 401
1 уровень
Группа: Пользователи
Сообщений: 16
Награды: 0
Репутация: 0
Блокировки:
Как сделать если бы ресурсы увеличиваются то атака, ловкость и запас маны тоже.
 

KartohaДата: Понедельник, 14 Сентября 2009, 17:17:04 | Сообщение # 402
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
События:
Найди игрок - свойство, там дерево золото тп.
Дейсвтие:
Герой - добавить кому нада силу/ловкость/разум
 

[DUОS]Дата: Понедельник, 14 Сентября 2009, 19:36:30 | Сообщение # 403
Группа: Заблокированные
Сообщений: 6279
Награды: 9
Репутация: 1708
Блокировки:
Quote (Kartoha)
События:
Найди игрок - свойство, там дерево золото тп.
Дейсвтие:
Герой - добавить кому нада силу/ловкость/разум

Охлол если бы в событиях был пункт "Найти игрок", это было бы круто :D
Сила отдельно, ловкость отдельно, разум отдельно. ;)


НУ И ЧТО ТЕПЕРЬ?


Кликайте на дракошку ;)
 

CUBEДата: Понедельник, 14 Сентября 2009, 20:09:35 | Сообщение # 404
1 уровень
Группа: Пользователи
Сообщений: 16
Награды: 0
Репутация: 0
Блокировки:
Спс.
 

rasoДата: Понедельник, 14 Сентября 2009, 21:33:51 | Сообщение # 405
1 уровень
Группа: Пользователи
Сообщений: 7
Награды: 0
Репутация: 0
Блокировки:
Люди можете отписать пожалуйста как открывать\закрывать ворота с помощью рычага
не один раз а много...
 

vladykaДата: Вторник, 15 Сентября 2009, 09:38:06 | Сообщение # 406
~~
Группа: СуперМодераторы
Сообщений: 3096
Награды: 7
Репутация: 4244
Блокировки:
Вот именно, я открыл игрок - вкл.выкл флаг - награда за убийство - вкл для _____ но там нету скоко именно золота дается! ... ??? ...
 

АрранДата: Вторник, 15 Сентября 2009, 11:03:43 | Сообщение # 407
10 уровень
Группа: Ветераны
Сообщений: 2172
Награды: 1
Репутация: 312
Блокировки:
Quote (vladyka)
но там нету скоко именно золота дается

0~о это в свойствах юнита настраивается вообщето, а триггерами только включается
Quote (vladyka)
не один раз а много...

делаешь тоже что и с одним разом, но в конце еще добавляешь действие оживления рычага


 

KartohaДата: Вторник, 15 Сентября 2009, 14:24:35 | Сообщение # 408
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
Quote (|DUОS|)
Охлол если бы в событиях был пункт "Найти игрок", это было бы круто

Специально для [DUОS], событие типа "Игрок":

Добавлено (15-09-2009, 14:24)
---------------------------------------------
блин извините за качество, я незнаю как нормальное делать

Прикрепления: 5849490.jpg (113.0 Kb)


Сообщение отредактировал Kartoha - Вторник, 15 Сентября 2009, 14:23:35
 

BekeshaДата: Вторник, 15 Сентября 2009, 15:26:32 | Сообщение # 409
6 уровень
Группа: Пользователи
Сообщений: 159
Награды: 0
Репутация: 1
Блокировки:
как сделать чтоб все нейтралы возрождались на том месте где и стояли изначально, а то где ты его убиваешь он там и возрождаеться :(

Когда не вочто поиграть, всегда поможет WarCraft III. . . (^_^)
 

АрранДата: Вторник, 15 Сентября 2009, 15:32:24 | Сообщение # 410
10 уровень
Группа: Ветераны
Сообщений: 2172
Награды: 1
Репутация: 312
Блокировки:
Bekesha, очень геморойно это делать, придется создавать для каждой группы нейтралов области, и потом триггерно уже делать условия мол кто именно из этих крипов умер, и если такойто крип, то возраждается тамто, если другой то тамто, забей лучше

 

KartohaДата: Вторник, 15 Сентября 2009, 16:25:47 | Сообщение # 411
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
Bekesha, да чтобы это нармально сделать нужно дохрена и больше времени, + незапутотся, я видел в Orcx1 за Рексара как сделанно, ойойой как геморойно и трудоёмко, если конечно у тебя карта большая, а не 64*64))
 

CHLSNДата: Вторник, 15 Сентября 2009, 16:30:00 | Сообщение # 412
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
Арран, а как на счет груженого способа с массивами?



Я в контакте и на warcraft3ft.info.
Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
 

АрранДата: Вторник, 15 Сентября 2009, 16:31:04 | Сообщение # 413
10 уровень
Группа: Ветераны
Сообщений: 2172
Награды: 1
Репутация: 312
Блокировки:
CHLSN, это не менее геморойно, пожалуй даже более

 

CHLSNДата: Вторник, 15 Сентября 2009, 16:38:07 | Сообщение # 414
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
Арран, я думал написать пару триггеров менее геморройно, чем для каждого юнита создавать область и сравнивать, если юнит такой-то, то создать такого-то в той области.....



Я в контакте и на warcraft3ft.info.
Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
 

АрранДата: Вторник, 15 Сентября 2009, 16:39:48 | Сообщение # 415
10 уровень
Группа: Ветераны
Сообщений: 2172
Награды: 1
Репутация: 312
Блокировки:
хе, пару тригеровто да, а вот обозначать переменной каждого из них и потом на каждого условие делать...

 

CHLSNДата: Вторник, 15 Сентября 2009, 17:24:41 | Сообщение # 416
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
Инициализация:
• Set v = 1
• Выбрать каждого Юнита Нейтрально-Враждебного, иии:
• • Set x[v] = Picked unit
• • Set y[v] = Position of Picked unit
• • Set v = v + 1

Смерть:
• Умер
• Для © от (1) до (v), дееелать:
• • if (x[c] = Dying unit) then
• • • Create unit in y[c]
• • • Set x[c] = LastCreatedUnit
• • else
• • • DoNothing

P.S. код жжет xD © = (с)




Я в контакте и на warcraft3ft.info.
Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?


Сообщение отредактировал CHLSN - Вторник, 15 Сентября 2009, 17:27:43
 

DaemonikДата: Вторник, 15 Сентября 2009, 18:15:28 | Сообщение # 417
2 уровень
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 4
Блокировки:
Эххх нубо-способы...
Сам думал геморойно...
Но вот живой пример того что это возможно. С использованием vJass'a (код не мой)
Period отвечает за время воскрешения
Функцией ResetUnit_UnitRemove можно удалять из игры юнитов, которые не должны воскрешаться
Ну и в функцию Init, если надо, добавить строку\ки
call TriggerRegisterPlayerUnitEvent(trig, Player(i), EVENT_PLAYER_UNIT_DEATH, null) вместо i номер игрока юниты которого должны воскрешаться
Code
library ResetUnit initializer Init

globals
     ///
     private constant boolean InitReset = true
     private constant real Period = 1.0
     ///
     private resun array Allun
     private integer Countun = 0
     private group GG = CreateGroup()
endglobals
    
struct resun
     private integer idx
           
     unit u
     private integer t
     private player p
      
     private real sX
     private real sY
     private real sA
                    
     method Create takes nothing returns nothing
         set .u = CreateUnit(.p, .t, .sX, .sY, .sA)
         call SetUnitUserData(.u, this)
     endmethod        
                    
     method Delete takes nothing returns nothing
         set .u = null
         set Countun = Countun - 1
         set Allun[.idx] = Allun[Countun]      
         set Allun[.idx].idx = .idx
         call .destroy()
     endmethod
          
     static method New takes unit u returns nothing
         local resun this = resun.create()
         set .u = u
         set .t = GetUnitTypeId(u)
         set .p = GetOwningPlayer(u)                    
         set .sX = GetUnitX(u)
         set .sY = GetUnitY(u)
         set .sA = GetUnitFacing(u)
         set Allun[Countun] = this      
         set Allun[Countun].idx = Countun
         set Countun = Countun + 1
         call SetUnitUserData(u, this)  
     endmethod
          
endstruct

public function UnitAdd takes unit u returns nothing
     local resun un = GetUnitUserData(u)  
     if (un.u != u) then
         call resun.New(u)
     endif
endfunction

public function UnitRemove takes unit u returns nothing
     local resun un = GetUnitUserData(u)  
     if (un.u == u) then
         call un.Delete()
     endif
endfunction
       
private function ResetUnit_ForAllUnit takes nothing returns boolean
     local player pf = GetOwningPlayer(GetFilterUnit())
     if (pf == Player(10) or pf == Player(11)) then
         call UnitAdd(GetFilterUnit())
     endif
     return false
endfunction
               
private function ResetUnit_Action_Timer takes nothing returns nothing
     local resun un = R2I(TimerGetRemaining(GetExpiredTimer())+0.5)
     call un.Create()
     call DestroyTimer(GetExpiredTimer())
endfunction

private function ResetUnit_Action takes nothing returns nothing
     local unit u = GetTriggerUnit()
     local timer t
     local resun un = GetUnitUserData(u)  
     if (un.u == u) then
         set t = CreateTimer()
         call TimerStart(t, un, false, null)
         call PauseTimer(t)
         call TimerStart(t, Period, false, function ResetUnit_Action_Timer)
         set t = null
     endif
     set u = null
endfunction
      
private function Init takes nothing returns nothing
     local trigger trig = CreateTrigger()
     if (InitReset) then
         call GroupEnumUnitsInRect(GG, bj_mapInitialPlayableArea, Filter(function ResetUnit_ForAllUnit))
     endif
     call TriggerRegisterPlayerUnitEvent(trig, Player(10), EVENT_PLAYER_UNIT_DEATH, null)
     call TriggerRegisterPlayerUnitEvent(trig, Player(11), EVENT_PLAYER_UNIT_DEATH, null)
     call TriggerAddAction(trig, function ResetUnit_Action)
     set trig = null
endfunction
   
endlibrary


"Оружия в этом подвале хватит что бы взорвать город размером с...
С ЭТОТ ПОДВАЛ!" 12oz. Mouse (Поллитровая мышь)
"Embrace your dreams"
 

LT[EVP]Дата: Вторник, 15 Сентября 2009, 18:19:41 | Сообщение # 418
Google Bot™
Группа: Проверенные
Сообщений: 1174
Награды: 8
Репутация: 695
Блокировки:
Как сделать так чтобы предметы скрещивались как в Hero Duel?
Пример:
1.Меч Солнца
+
2.Меч Огня
=меч Света


 

DaemonikДата: Вторник, 15 Сентября 2009, 18:21:18 | Сообщение # 419
2 уровень
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 4
Блокировки:
А еще забыл добавить если InitReset поставить false, то юниты воскрешаться не будут кроме тех которых добавили фун-ей ResetUnit_UnitAdd

Добавлено (15-09-2009, 18:21)
---------------------------------------------
Скрещивание:

Событие:
Боевая еденица - A unit Acquires an item
Условие:
((Hero manipulating item) has (Часть 1)) Equal to True*
((Hero manipulating item) has (Часть 2)) Equal to True*
Дейтсвие:
Предмет - Remove (Item carried by (Hero manipulating item) of type Часть 1)
Предмет - Remove (Item carried by (Hero manipulating item) of type Часть 2)
Hero - Create Скрещенный предмет and give it to (Hero manipulating item)

*Boolean Compastion

Складывание зарядов:

Событие:
Боевая еденица - A unit Acquires an item
Условие:
Or - any (Condition) are true
Условия:
(Item type of(Item begin manipulated)) равно <тип предмета1>*
(Item type of(Item begin manipulated)) равно <тип предмета2>*
(Item type of(Item begin manipulated)) равно <тип предмета3>*
Действия:
Set it**=(Item type of(item begin manipulated))
For each (Integer A) from 1 to 6 do (Actions)
Цикл - Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия
(Item type of(Item carried by (Triggering unit) in slot (Integer A))) равно it
(Item carried by (Triggering unit) in slot (Integer A)) не равно (Item begin manipulated)
То - действия
Предмет - Set charges remaining in (Item carried by (Triggering unit) in slot (Integer A)) to ((Charges remaining in (Item carried by (Triggering unit) in slot (Integer A)) + (Charges remaining in (Item begin manipulated)))
Предмет - Remove (Item begin manipulated)
Иначе - действия

*Тип предмета, данный тригер универсален, и может складывать заряды всех типов предметов, указанных в условии
**Переменная типа "Тип предмета"


"Оружия в этом подвале хватит что бы взорвать город размером с...
С ЭТОТ ПОДВАЛ!" 12oz. Mouse (Поллитровая мышь)
"Embrace your dreams"
 

MadikДата: Вторник, 15 Сентября 2009, 18:38:31 | Сообщение # 420
8 уровень
Группа: Проверенные
Сообщений: 529
Награды: 0
Репутация: 20
Блокировки:
Daemonik, можно и попроще
событие-каждые 0.01сек
условие- герой обладает предметом типа (меч солнца и меч оня)
действие-удалить предметы меч солнца и меч онгя
создать и отдать предмет герою- меч света


Делать карты -это исскуство! WE
 

CHLSNДата: Вторник, 15 Сентября 2009, 19:12:08 | Сообщение # 421
10 уровень
Группа: Проверенные
Сообщений: 1627
Награды: 0
Репутация: 132
Блокировки:
Quote (Daemonik)
Эххх нубо-способы...

Все GUI`шники офигенно поняли.
Daemonik, я тебя спрошу, что за тип "resun", а то не попалось моим нубским глазам ничего больше, что могло бы воскрешать юнита в исходной позиции.




Я в контакте и на warcraft3ft.info.
Кто может сказать, почему **** дизайнер писал вместо "pt" "px" в CSS, благодаря чему нужно смотреть форум через лупу с Ctrl++?
 

АрранДата: Вторник, 15 Сентября 2009, 19:18:12 | Сообщение # 422
10 уровень
Группа: Ветераны
Сообщений: 2172
Награды: 1
Репутация: 312
Блокировки:
Quote (Daemonik)
Складывание зарядов:
Событие:
Боевая еденица - A unit Acquires an item
Условие:
Or - any (Condition) are true
Условия:
(Item type of(Item begin manipulated)) равно <тип предмета1>*
(Item type of(Item begin manipulated)) равно <тип предмета2>*
(Item type of(Item begin manipulated)) равно <тип предмета3>*
Действия:
Set it**=(Item type of(item begin manipulated))
For each (Integer A) from 1 to 6 do (Actions)
Цикл - Действия
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Если - Условия
(Item type of(Item carried by (Triggering unit) in slot (Integer A))) равно it
(Item carried by (Triggering unit) in slot (Integer A)) не равно (Item begin manipulated)
То - действия
Предмет - Set charges remaining in (Item carried by (Triggering unit) in slot (Integer A)) to ((Charges remaining in (Item carried by (Triggering unit) in slot (Integer A)) + (Charges remaining in (Item begin manipulated)))
Предмет - Remove (Item begin manipulated)
Иначе - действия

0~о 0~о 0~о 0~о какая хрень
события:
Боевая единица - Unit Получает предмет
условия:
((Hero manipulating item) has an item of type (Item-type of (Item being manipulated))) равно да
(Item being manipulated) равно (Item carried by (Hero manipulating item) of type (Item-type of (Item being manipulated)))
(Item-class of (Item being manipulated)) равно например подлежащие продаже (необязательное условие)
действия:
Предмет - Set charges remaining in (Item carried by (Hero manipulating item) of type (Item-type of (Item being manipulated))) to ((Charges remaining in (Item carried by (Hero manipulating item) of type (Item-type of (Item being manipulated)))) + (Charges remaining in (Item being manipulated)))
Предмет - Remove (Item being manipulated)

Добавлено (15-09-2009, 19:18)
---------------------------------------------

Quote (Madik)
можно и попроще
событие-каждые 0.01сек
условие- герой обладает предметом типа (меч солнца и меч оня)
действие-удалить предметы меч солнца и меч онгя
создать и отдать предмет герою- меч света

можно-то можно, но вот от этого может притормаживать карта


 

kan2009Дата: Вторник, 15 Сентября 2009, 19:44:44 | Сообщение # 423
6 уровень
Группа: Пользователи
Сообщений: 180
Награды: 0
Репутация: 3
Блокировки:
Помогите пожалуйста как зделать что-бы при убийстве 10 боссов(чтобы легко можно было выбрать каких именно) в опредиленной областе появлялся мега босяра но уже с вещами и прокачеными скилами.
:)
 

АрранДата: Вторник, 15 Сентября 2009, 20:00:31 | Сообщение # 424
10 уровень
Группа: Ветераны
Сообщений: 2172
Награды: 1
Репутация: 312
Блокировки:
Quote (kan2009)
Помогите пожалуйста как зделать что-бы при убийстве 10 боссов(чтобы легко можно было выбрать каких именно) в опредиленной областе появлялся мега босяра но уже с вещами и прокачеными скилами

события:
Боевая единица - Unit Умирает
условия:
Or - Any (Conditions) are true
Unit-type of Dying unit равно босс 1
Unit-type of Dying unit равно босс 2
и так далее
действия:
Set целочисленная переменная = целочисленная переменная + 1
If (целочисленная перменная равно 10) then do (Боевая единица - Create 1 кто надо для кого надо где надо)


 

kan2009Дата: Вторник, 15 Сентября 2009, 20:26:24 | Сообщение # 425
6 уровень
Группа: Пользователи
Сообщений: 180
Награды: 0
Репутация: 3
Блокировки:
Eщо раз спс Арран.Но у меня вопрос как задать боссу какие у него далжны быть вещи в рюкзаке?

Добавлено (15-09-2009, 20:26)
---------------------------------------------
Ааа блин ещо вопросик!Как на тригерах зделать чтобы у юнита(в моем понимание это боссы) после перерождения было характеристик больше на оприделенное число?
(к примеру было 10 силы и ловкости а после убийства он тамже появился но у него уже было 20силы и ловкости и т.д ) очень жду ответа !

 

Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz