Очередной Рандом
|
|
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 |
|
|
|