Сейчас 20:58:29 Пятница, 13 декабря, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Восстановление типа разрушаемого
DarkCoteДата: Пятница, 05 Ноября 2010, 11:30:59 | Сообщение # 1
Кот
Группа: Проверенные
Сообщений: 948
Награды: 0
Репутация: 176
Блокировки:
Как написать триггер, в котором если разрушаемое типа Каменные Глыбы(но их много на карте) разрушен, то восстановить через 20 секунд?
 

MihaaДата: Пятница, 05 Ноября 2010, 11:34:59 | Сообщение # 2
9 уровень
Группа: Проверенные
Сообщений: 1070
Награды: 0
Репутация: 330
Блокировки:
тригер декорация> возродить и выбираеш
 

DarkCoteДата: Пятница, 05 Ноября 2010, 11:38:37 | Сообщение # 3
Кот
Группа: Проверенные
Сообщений: 948
Награды: 0
Репутация: 176
Блокировки:
Mihaa, событие скажи. Чтобы не конкретную декорацию. А то у меня их свыше 200 шт.
 

enyaДата: Пятница, 05 Ноября 2010, 12:49:06 | Сообщение # 4
4 уровень
Группа: Проверенные
Сообщений: 82
Награды: 0
Репутация: 20
Блокировки:
вот помойму так СОбытие: Декорация разрушаемый обьеккт (выбераешь там тип)
действие возрадить и что ну там ещё ждать стоко секунд
 

xGaDxДата: Пятница, 05 Ноября 2010, 13:00:11 | Сообщение # 5
6 уровень
Группа: Проверенные
Сообщений: 235
Награды: 0
Репутация: 47
Блокировки:
2 трига :
Code

Событие - иницилизация карты
  Действие - взять все декорации типа (каменная глыба) в зоне (играбельная карта)
                    Триггер - Add to Kamuski <gen> the event (Декорация - (Picked destructible) dies)

И 2й

Code

Событие -  
Условие -
Действие - ждать (сколько тебе надо)
                 Ressurect (Duing destructible) with (99999 life) and Показать birth animation
 

MihaaДата: Пятница, 05 Ноября 2010, 13:11:31 | Сообщение # 6
9 уровень
Группа: Проверенные
Сообщений: 1070
Награды: 0
Репутация: 330
Блокировки:
событие либо же ждать, прошло, либо же декор разрушен выбери одно
 

KartohaДата: Пятница, 05 Ноября 2010, 16:25:10 | Сообщение # 7
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
События:
Декорация в регионе умирает (Playble Map Area)
Условия:
Destrucible Type Comparision - указываеш нужный тип например каменные глыбы
Действия:
Wait (20) second
Декорация - Ressuret (Dying Destructible)


Сообщение отредактировал Kartoha - Пятница, 05 Ноября 2010, 16:55:50
 

EdiTTORRДата: Суббота, 06 Ноября 2010, 19:24:58 | Сообщение # 8
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
лучше так:
События
Декорация - Destructible Within Region Dies (Playable Map Area)
Условия
Destructible-Type Comparision - указываеш нужный тип например каменные глыбы
Действия
Custom Script: local destructable d=GetTriggerWidget()
Custom Script: call DestroyTimer(bj_crippledTimer[-234])
Custom Script: call TimerStart(bj_crippledTimer[-234],20,false,function DestructableRestoreLife(d,GetDestructableMaxLife(d),true))
Custom Script: set d=null


Местами здесь.


Сообщение отредактировал EdiTTORR - Суббота, 06 Ноября 2010, 19:29:02
 

KartohaДата: Суббота, 06 Ноября 2010, 19:28:44 | Сообщение # 9
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
EdiTTORR, я показал принцип. Оптимизация - это уже другая тема.
 

EdiTTORRДата: Суббота, 06 Ноября 2010, 21:48:33 | Сообщение # 10
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
Kartoha, не парься.
p.s. DarkCote, ну? Подходит?


Местами здесь.
 

BUUNIДата: Суббота, 06 Ноября 2010, 23:46:38 | Сообщение # 11
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
А вы уверены что возрождаться будет именно та декорация которая была разрушена? Просто если разрушить другую декорацию, то тригг пойдет и на другую разрушенную декорацию.
.


 

EdiTTORRДата: Воскресенье, 07 Ноября 2010, 00:02:14 | Сообщение # 12
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
Исправил.

1.Закинь в код карты функцию:

Code
function ResDest takes widget d returns nothing
call DestructableRestoreLife(d,GetDestructableMaxLife(d),true)
call DestroyTimer(GetExpiredTimer())
endfunction

2.Сделай триггер:
События
Декорация - Destructible Within Region Dies (Playable Map Area)
Условия
Destructible-Type Comparision - указываеш нужный тип например каменные глыбы
Действия
Custom Script: local timer t=CreateTimer()
Custom Script: local widget d=GetTriggerWidget()
Custom Script: call TimerStart(d,20,false,function ResDest(d))
Custom Script: set d=null
Custom Script: set t=null

Это стопудняк норм.


Местами здесь.


Сообщение отредактировал EdiTTORR - Воскресенье, 07 Ноября 2010, 00:03:04
 

BUUNIДата: Воскресенье, 07 Ноября 2010, 00:29:51 | Сообщение # 13
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
А не легче на триггерах, заносить умершую декорацию в переменную, потом возрождать?

 

EdiTTORRДата: Воскресенье, 07 Ноября 2010, 00:31:59 | Сообщение # 14
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
Нет, нах лишняя глобалка и вэйты которые собьют триггер и воскресят не ту декорацию?
p.s. А ты что Ctrl+C и Ctrl+V не любишь?


Местами здесь.
 

KartohaДата: Воскресенье, 07 Ноября 2010, 12:40:05 | Сообщение # 15
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
Quote (BUUNI)
А вы уверены что возрождаться будет именно та декорация которая была разрушена?

Уверен.
Quote (BUUNI)
Просто если разрушить другую декорацию, то тригг пойдет и на другую разрушенную декорацию.

Да, пойдет на другую, и сработает, и на первую сработает, и на вторую, и на стопицотую.


Сообщение отредактировал Kartoha - Воскресенье, 07 Ноября 2010, 12:41:40
 

EdiTTORRДата: Воскресенье, 07 Ноября 2010, 13:08:15 | Сообщение # 16
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
Kartoha, BUUNI был прав насчёт первого кода.
Просто там в близзовскую глобалку в отриц. ячейку массива записывалась умершая декорация, а если разрушалась другая то перезаписывалась и первая не восстанавливалась.
Во втором примере исправил этот баг поскольку там вызывалась функа таймером и изменения переменной быть не могло(локалка всё-таки).


Местами здесь.


Сообщение отредактировал EdiTTORR - Воскресенье, 07 Ноября 2010, 13:09:33
 

KartohaДата: Воскресенье, 07 Ноября 2010, 14:31:05 | Сообщение # 17
10 уровень
Группа: Ветераны
Сообщений: 2851
Награды: 1
Блокировки:
Quote (Kartoha)
События:
Декорация в регионе умирает (Playble Map Area)
Условия:
Destrucible Type Comparision - указываеш нужный тип например каменные глыбы
Действия:
Wait (20) second
Декорация - Ressuret (Dying Destructible)

Я сделал такой триггер, уничтожил несколько декораций, и все они восстановились.

Добавлено (07-11-2010, 14:31)
---------------------------------------------

Quote (EdiTTORR)
Custom Script: local timer t=CreateTimer()
Custom Script: local widget d=GetTriggerWidget()
Custom Script: call TimerStart(d,20,false,function ResDest(d))
Custom Script: set d=null
Custom Script: set t=null

Вместо 2 простых действий вставляеш 4 строки кода и функцию. Это создает впечатление, что ты больше стараешся показать свои знания кода, чем помочь в вопросе.
EdiTTORR, пойми, если DarkCote бездумно будет вставлять чужой код в свою карту он не научится делать ничего сам.
 

incomeДата: Воскресенье, 07 Ноября 2010, 16:09:02 | Сообщение # 18
3 уровень
Группа: Заблокированные
Сообщений: 63
Награды: 0
Репутация: 20
Блокировки:
Quote

Custom Script: call TimerStart(d,20,false,function ResDest(d))

передача переменной через таймер таким спопсобом, увы, не будет работать


Не ошибается только тот, кто ничего не делает
 

EdiTTORRДата: Воскресенье, 07 Ноября 2010, 19:07:36 | Сообщение # 19
8 уровень
Группа: Проверенные
Сообщений: 585
Награды: 0
Репутация: 147
Блокировки:
Kartoha, , ты прав , но нет, я не показываю знания кода скорее просто хочу дать хороший ответ.



Местами здесь.


Сообщение отредактировал EdiTTORR - Воскресенье, 07 Ноября 2010, 19:07:50
 

  • Страница 1 из 1
  • 1
Поиск:

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