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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Очередной Рандом
Очередной Рандом
1_Shah_1Дата: Среда, 19 Ноября 2014, 12:56:27 | Сообщение # 1
1 уровень
Группа: Пользователи
Сообщений: 7
Награды: 0
Репутация: 0
Блокировки:
Ребят, помогите с триггером. 24 исследования, нужно составить триггер на рандом(в виде очередного исследования), чтобы исследовалось одно из них. Извиняюсь за, вероятно, банальность вопроса, прошу не удалять ;)

Событие: Боевая единица: Событие Завершает исследование
Условие: (Тип исследованной технологии) равно "Рандом"

А дальше?
 

НаклзДата: Среда, 19 Ноября 2014, 16:32:44 | Сообщение # 2
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Ну вот как-то так.
 

ExtrematorДата: Среда, 19 Ноября 2014, 18:13:05 | Сообщение # 3
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
как то так, но надо будет подогнать http://rghost.ru/59150542

ps - для теста нажимай ESC


Сообщение отредактировал Extremator - Среда, 19 Ноября 2014, 18:13:33
 

НаклзДата: Четверг, 20 Ноября 2014, 16:11:29 | Сообщение # 4
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Действительно, лучше создать 4 глобалки 2 из которых с массивом.....
 

ExtrematorДата: Четверг, 20 Ноября 2014, 19:33:49 | Сообщение # 5
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Цитата Наклз ()
Действительно, лучше создать 4 глобалки 2 из которых с массивом.....
при старте они создаются сотнями... чем ещё 4 помешают?
 

НаклзДата: Четверг, 20 Ноября 2014, 19:49:23 | Сообщение # 6
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Расскажу такую историю.
Моя карта жутко лагала даже на сильном компе.
Я удалил НЕ ИСПОЛЬЗОВАННЫЕ глобалки (их было около 15, не знаю как так вышло) и лаги прошли. Эти переменные даже не использовались нигде...
 

ExtrematorДата: Четверг, 20 Ноября 2014, 19:54:54 | Сообщение # 7
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Ну причина однозначно не в наличии самих переменных ._.
 

SirNikolasДата: Суббота, 22 Ноября 2014, 18:29:06 | Сообщение # 8
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Цитата Наклз ()
Я удалил НЕ ИСПОЛЬЗОВАННЫЕ глобалки (их было около 15, не знаю как так вышло) и лаги прошли.
Небось инициализация восьми тысяч элементов массива для каждой стояла...


 

НаклзДата: Понедельник, 24 Ноября 2014, 11:10:47 | Сообщение # 9
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Цитата SirNikolas ()
Небось инициализация восьми тысяч элементов массива для каждой стояла...

Возможно)
А откуда именно 8 000 ? это столько максимально может быть или по умолчанию столько создаётся?
 

ExtrematorДата: Понедельник, 24 Ноября 2014, 18:54:38 | Сообщение # 10
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Цитата Наклз ()
А откуда именно 8 000 ? это столько максимально может быть или по умолчанию столько создаётся?
Максимальный размер массива 8191, вместе с 0 это будет всего 8192 (степень двойки).
И при старте идёт инициализация глобалок, а это цикла от 0 до 8191, на каждую переменную
 

НаклзДата: Понедельник, 24 Ноября 2014, 20:09:59 | Сообщение # 11
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Печально что такой маленький максимал... а динамические массивы как в С++ есть на жассе?

И ещё вопрос, допустим у всех 15 переменных есть массив, допустим для всех он стоит 0, то есть максимальный = 8192.
15 х 8192 = 122880
Таким образом при инициализации карты создаётся 122880 переменных.
Как это может вызывать лаги даже в середине игры (скажем на 20-той минуте).
 

ExtrematorДата: Вторник, 25 Ноября 2014, 04:58:12 | Сообщение # 12
10 уровень
Группа: Проверенные
Сообщений: 3199
Награды: 0
Репутация: 1018
Блокировки:
Дак это был вариант если ты бы поставил разрядность у переменных на макс.
А если нет - то будут писаться только нулевые, если вообще будут...

Да и вообще - каким образом ты собираешься использовать все 8192 значения переменных?
Повесить на них всё-всё-всё? - А в той же доте общее количество объявляемых глобалок составляет менее 2,5к
 

НаклзДата: Вторник, 25 Ноября 2014, 09:15:12 | Сообщение # 13
10 уровень
Группа: Проверенные
Сообщений: 1431
Награды: 0
Репутация: 760
Блокировки:
Не ну на всякий случай... ну например если игроки построят более 8192 юнитов за игру то система полетит к чертям... ну это в принципе можно исправить проверкой что если последний элемент массива не пустой то использовать вторую переменную.
Когда ставишь 0 создаются все... ибо если поставить переменную, например,Int[0], потом Int[5]=51, то значение из 5-того элемента массива норм возьмётся, хоть элемент и не должен был существовать...


Сообщение отредактировал Наклз - Вторник, 25 Ноября 2014, 09:24:29
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Очередной Рандом
  • Страница 1 из 1
  • 1
Поиск:

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