ГлавнаяБлогКарты Warcraft 3Гайды для первой ДотыГайды для Доты 2 [ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Модератор форума: XOPYC  
Получение золота от фермы
Дата: Понедельник, 14.05.2012, 23:21 | Сообщение # 31
Рядовой
Пользователи
Сообщений: 1
Награды: 0
Репутация: 0
Эпическая ересь. Ну честно.
Постановка задачи: есть особый тип здания(ферма), каждый из которых приносит 2 золота каждые 2 секунды.
Че делаем: триггер
Code
Событие: каждые 2 секунды
Условие:
Действия:
Цикл по игрокам
    в tmpGroup заносим все фермы пикнутого игрока.
    цикл по всем юнитам из tmpGroup
      даем пикнутому игроку 2 золота
      пишем текст над пикнутой фермой
      убираем утечку с tmpGroup
(где tmpGroup - переменная типа Группа Юнитов)
Готово! универсально, просто

Сложный путь:
триггер 1
Code

Событие: завершено строительство
Условие: триггерный юнит = ферма (сравнение юнитов)
Действия:
set FarmCount = FarmCount + 1
set Farms[FarmCount] = триггерный юнит

(где Farms - переменная типа юнит и при этом массив, а FarmCount - переменная типа целочисленная)

триггер 2
Code

Событие: каждые 2 секунды
Условие:
Действия:
цикл по переменной i от 1 до FarmCount
    добавить 2 золота игроку-владельцу юнита Farms[i]
    показать текст
    спец-эффект там и тд

(где i - переменная типа целочисленная)

триггер 3
Code

Событие: юнит умирает
Условия:
Действия:
цикл по переменной i от 1 до FarmCount
    если триггерный юнит = Farms[i] то (множественные действия)
      Farms[i] = Farms[FarmCount]
      FarmCount = FarmCount - 1


Готово

PS зачем я это пишу? я вообще ищу как избавиться от утечек


Сообщение отредактировал Nooker - Понедельник, 14.05.2012, 23:24
 
Дата: Вторник, 15.05.2012, 08:05 | Сообщение # 32
Генералиссимус
Проверенные
Сообщений: 2259
Награды: 9
Репутация: 70
Nooker,
Quote (Nooker)
зачем я это пишу? я вообще ищу как избавиться от утечек

Ты не повЭришь их тут куча: Отряд, точка, группа, цикл, евэнт(событие каждые 2 секунды)
и в плюс, ты не уменьшаешь число, когда юнит ломает здание или ему ломают его или он сломал или ему сломали)


Тот кто владеет информацией, тот владеет миром.

Сообщение отредактировал ^GREAT^MAN^ - Вторник, 15.05.2012, 09:03
 
Дата: Вторник, 15.05.2012, 09:02 | Сообщение # 33
Генералиссимус
Проверенные
Сообщений: 2259
Награды: 9
Репутация: 70
Blayderman, Вопрос исчерпаН?

Тот кто владеет информацией, тот владеет миром.
 
Дата: Вторник, 15.05.2012, 09:04 | Сообщение # 34
Полковник
Проверенные
Сообщений: 228
Награды: 0
Репутация: 13
XOPYC огромное спасибо за помощь. Не закрывайте еще тему, давайте лутше решим проблему с фермой (построил еще одну, а первая перестала давать голду).
Как насчет ввода действия арифметики, когда будет подсчитыватся количество ферм которые должны давать голду?


Есть сторона зла и сторона добра.
Берем середину ^_^
 
Дата: Вторник, 15.05.2012, 09:24 | Сообщение # 35
Генералиссимус
Проверенные
Сообщений: 2259
Награды: 9
Репутация: 70
Blayderman, Блин. Если Золото больше нуля, то заноси в переменную, а там через перменную добавляй голд

Тот кто владеет информацией, тот владеет миром.
 
Дата: Вторник, 15.05.2012, 09:36 | Сообщение # 36
Генералиссимус
Проверенные
Сообщений: 5123
Награды: 13
Репутация: 72
Quote (XOPYC)
DewidWill, Что значит кароче закрыл? А если у него вопросы по триггам или ещё что-то по теме? Дождись сначала ответа, а потом уже "кароче" >_<

ну он просто давно не отписывался

---

Quote (Nooker)
Событие: каждые 2 секунды Условие: Действия: Цикл по игрокам     в tmpGroup заносим все фермы пикнутого игрока.     цикл по всем юнитам из tmpGroup       даем пикнутому игроку 2 золота       пишем текст над пикнутой фермой       убираем утечку с tmpGroup

Quote (^GREAT^MAN^)
Ты не повЭришь их тут куча: Отряд, точка, группа, цикл, евэнт(событие каждые 2 секунды) и в плюс, ты не уменьшаешь число, когда юнит ломает здание или ему ломают его или он сломал или ему сломали)

Ну хоть здесь с тобой согласен =\
Вообще не понятно, зачем он это написал...


Телеграм @Tshkn
Мой YouTube-канал Se Squared
 
Дата: Вторник, 15.05.2012, 10:20 | Сообщение # 37
Генералиссимус
Проверенные
Сообщений: 2259
Награды: 9
Репутация: 70
DewidWill, сам в афиге)

Тот кто владеет информацией, тот владеет миром.
 
Дата: Вторник, 15.05.2012, 16:10 | Сообщение # 38
Генералиссимус
Модераторы
Сообщений: 12998
Награды: 22
Репутация: 141
Blayderman, я же писал, что если ферм будет много, то нужно немного переделать тригги...

это Ксопик!
 
Дата: Вторник, 15.05.2012, 22:53 | Сообщение # 39
Полковник
Проверенные
Сообщений: 228
Награды: 0
Репутация: 13
окей, разберусь - отпишу.

Есть сторона зла и сторона добра.
Берем середину ^_^
 
Дата: Вторник, 15.05.2012, 23:07 | Сообщение # 40
Генералиссимус
Проверенные
Сообщений: 3625
Награды: 12
Репутация: 57
Все, мы его потеряли :)
 
  • Страница 4 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск: