18

» WarCraft 3 / Локальные переменне при нескольких "вейтах"

Extremator, а где я говорил о кастере и цели?)
в своем комментарии я описал особенности jass'a
часть особенностей*
18

» WarCraft 3 / Производительность WE на SSD

SSD может повлиять разве что только на скорость холодного запуска редактора
а далее никакой i7/i9 не поможет, редактор и варкрафт по сути не умеют нормально юзать ресурсы процессора
18

» WarCraft 3 / Локальные переменне при нескольких "вейтах"

TeX13, могу немного сказать насчет jass
в jass по сути нету прямого ООП, но работа с юнитами, триггерами и т.д - это абстракция того же ООП (варкрафт на C++ писали)
например
unit u = GetTriggerUnit()
SetUnitUserData(u, 123)

SetUnitUserData можно представить как u->data = 123

+ в jass переменные грубо говоря разделяются на указатели и на базовые типы
указатели это всё что работает с объектами (юниты, предметы, триггеры и т.д) переменные unit, item, trigger, timer и т.д
базовые типы это integer, real (float), boolean и т.д
локальные указатели при выходе из функции обязательно нужно обнулять
а работы с char как таковой - просто нету, в jass только один тип для работы с целочисленными - это integer со знаком 4 байта
вся работа с текстом осуществляется с помощью string, это указатель на таблицу строк (его обнулять не обязательно)
всё остальное по сути достаточно похоже на "не ООП" языки
советую сразу использовать cjass который в jngp (cjass парсер добавляет поддержку С-синтаксиса)
сразу cjass это чтобы не путаться в синтаксисе
самое главное - это не относиться к этому скрипту серьёзно, надо думать очень легко чтобы понять его, т.к упрощающая абстракция просто зашкаливает

Вообще, сама сложность будет в том - чтобы запомнить все нужные функции, в первое время надо будет пользоваться подсказками из JNGP и конвертировать гуи
18

» WarCraft 3 / Оптимизация GUI перменных в массивы

даже дополню, кол-во переменных и т.д теоретически может только отразиться на скорости отрывания карты когда кликаешь на неё в списке или заходишь в лобби
18

» WarCraft 3 / Оптимизация GUI перменных в массивы

Razor_dex, проблемные места тут - это триггеры с событием "Инициализация карты"
поищи на свой взгляд самый "тяжелый" и опиши что в нем происходит или можно скрин
т.к такие нагрузки в основном из за большого создания объектов (триггер как объект намного легче обычных юнитов и т.д)
поэтому кол-во триггеров не считается тут
18

» WarCraft 3 / Оптимизация GUI перменных в массивы

PT153:
В моей карте 899 переменных, включая массивы, причём массивов триггеров 46, а просто триггеров 16, карта шустро загружается в игре.
это ещё фигня)
я видел гуи-монстров с 1000+ триггерами и бездонной функцией инициализации переменных
при этом карта грузилась очень быстро на моменте main потока

с помощью define перехватывал CreateTrigger() на аналогичный, но со счетчиком
18

» WarCraft 3 / Оптимизация GUI перменных в массивы

гуи инициализация вообще почти никак не увеличивает время загрузки, будь там хоть 500 триггеров
сама нагрузка именно от размера карты и загруженности редактора объектов

и уточни на каком моменте это "долго загружается"
когда полоска загрузки в начале или в середине-конце?
18

» WarCraft 3 / Siege Strategy

Обновление v1.0.1

Изменения баланса

Банши:

-Скорость атаки уменьшена с 1.1 до 1.15 сек.
-Урон уменьшен с 99 до 95 ед.
-Дальность атаки уменьшена с 325 до 315 ед.
-Радиус сплеш-атаки уменьшен с 125 до 115 ед.
-Скорость снаряда уменьшена с 1200 до 1000 ед.

Гоблинский бур:

-Урон уменьшен с 19 до 17 ед.
-Здоровье уменьшено с 1000 до 925 ед.

Дирижабль:

-Скорость уменьшена с 100 до 75 ед.
-Здоровье уменьшено с 965 до 875 ед.

Еретик:

-Скорость атаки уменьшена с 1.45 до 1.65 сек.
-Урон увеличен с 155 до 160 ед.

Осадный голем:

-Здоровье увеличено с 2900 до 3200 ед.
-Скорость уменьшена с 95 до 90 ед.
-Скорость атаки уменьшена с 1.7 до 1.95 ед.
-Урон увеличен с 214 до 240 ед.

Ревенант:

-Время ухода в невидимость снижено с 2 до 1 сек.
Новые карты
Клирик
Способность: Каждые 1.15 сек. лечит цель с наименьшим количеством
здоровья в радиусе 300 на 80 ед. здоровья
Здоровье: 450 ед.
Легкая броня
Скорость: 85 ед.
Количество: 1 ед.
Тотем ослабления
Способность: Уменьшает атаку вражеских
войск на 35% в радиусе 450 ед.
Время жизни: 5 сек.
Цепь молний
Способность: Электрический разряд, последовательно
поражающий 6 противников. Первому из них
наносится 220 ед. урона, каждому последующему
на 15% меньше.
18

» WarCraft 3 / Реплей

По идее да, с GetLocalPlayer действия же делаются локально на машине игрока и попасть в реплей другого игрока по сути никак не могут
18

» WarCraft 3 / SLK, возможно, невозможно?

создай .txt с этим
Units\AbilityBuffData.slk
Units\AbilityBuffMetaData.slk
Units\AbilityData.slk
Units\AbilityMetaData.slk
Units\CampaignAbilityFunc.txt
Units\CampaignAbilityStrings.txt
Units\CampaignUnitFunc.txt
Units\CampaignUnitStrings.txt
Units\CampaignUpgradeFunc.txt
Units\CampaignUpgradeStrings.txt
Units\CommandFunc.txt
Units\CommandStrings.txt
Units\CommonAbilityFunc.txt
Units\CommonAbilityStrings.txt
Units\DestructableData.slk
Units\DestructableMetaData.slk
Units\HumanAbilityFunc.txt
Units\HumanAbilityStrings.txt
Units\HumanUnitFunc.txt
Units\HumanUnitStrings.txt
Units\HumanUpgradeFunc.txt
Units\HumanUpgradeStrings.txt
Units\ItemAbilityFunc.txt
Units\ItemAbilityStrings.txt
Units\ItemData.slk
Units\ItemFunc.txt
Units\ItemStrings.txt
Units\MiscData.txt
Units\MiscGame.txt
Units\MiscMetaData.slk
Units\NeutralAbilityFunc.txt
Units\NeutralAbilityStrings.txt
Units\NeutralUnitFunc.txt
Units\NeutralUnitStrings.txt
Units\NeutralUpgradeFunc.txt
Units\NeutralUpgradeStrings.txt
Units\NightElfAbilityFunc.txt
Units\NightElfAbilityStrings.txt
Units\NightElfUnitFunc.txt
Units\NightElfUnitStrings.txt
Units\NightElfUpgradeFunc.txt
Units\NightElfUpgradeStrings.txt
Units\OrcAbilityFunc.txt
Units\OrcAbilityStrings.txt
Units\OrcUnitFunc.txt
Units\OrcUnitStrings.txt
Units\OrcUpgradeFunc.txt
Units\OrcUpgradeStrings.txt
Units\UndeadAbilityFunc.txt
Units\UndeadAbilityStrings.txt
Units\UndeadUnitFunc.txt
Units\UndeadUnitStrings.txt
Units\UndeadUpgradeFunc.txt
Units\UndeadUpgradeStrings.txt
Units\UnitAbilities.slk
Units\UnitBalance.slk
Units\UnitData.slk
Units\UnitGlobalStrings.txt
Units\UnitMetaData.slk
Units\unitUI.slk
Units\UnitWeapons.slk
Units\UpgradeData.slk
Units\UpgradeEffectMetaData.slk
Units\UpgradeMetaData.slk
Открой карту через ladik mpq, укажи этот .txt в качестве листфайла и вытащи всю папку Units
Далее каким нибудь другим редактором возьми засунь эту папку в пустую карту и попробуй через silk object прогнать карту
Можешь ещё на всякий случай вытащить и засунуть в карту вот это:
текст
war3map.w3u
war3map.w3t
war3map.w3a
war3map.w3b
war3map.w3d
war3map.w3q
war3map.w3h
war3map.wts
и потом уже в silk object
18

» WarCraft 3 / SLK, возможно, невозможно?

Haron, защита не защита, за 5 минут в hex редакторе правится и хештаблица и заголовок любой "сложности"
забыл предупредить, чтобы silk object 3 смог читать из карты - она должна открываться в mpq редакторах без режима "Только для чтения"
но это не точно
обычно из за этого и могут быть проблемы с восстановлением
18

» WarCraft 3 / SLK, возможно, невозможно?

Haron, у меня всё нормально восстанавливается и стандартные и нестандартные юниты
абилки, предметы и т.д
18

» WarCraft 3 / SLK, возможно, невозможно?

Haron, о каких абилках речь?
Я юзал SilkObject3 когда восстанавливал героев из доты, всё там прекрасно восстанавливается
под героями я имел в виду и их абилки
18

» WarCraft 3 / SLK, возможно, невозможно?

У w3map restorer ошибка - потому что он не все "объекты" восстанавливает, каким образом из за этого фаталит - не знаю

Silk Object3 прекрасно восстанавливает
Надо включить в конфиге режим восстановления
А потом закинуть файлы в карту через mpq редактор:
war3map.w3u
war3map.w3t
war3map.w3a
war3map.w3b
war3map.w3d
war3map.w3q
war3map.w3h
18

» WarCraft 3 / Ошибка Missing endblock, cJass

я такое делаю вручную обычно)
ну а так, самое то:
define <else if> = elseif

KaneThaumaturge, попробуй вместо library endlibrary написать library{ }
18

» WarCraft 3 / Ошибка Missing endblock, cJass

не в тему вопроса:
закинь вот это куда нибудь в карту и юзай (так быстрее пишется код)
define
{
	int = integer
	float = real
	void = nothing
	bool = boolean
}
в jngp так же работает подсветка синтаксиса на эти сокращения
18

» WarCraft 3 / Ошибка Missing endblock, cJass

короче говоря - в конструкциях нельзя мешать си-синтаксис и jass синтаксис
Вот образец условного ветвления, ни в коем случае нельзя ставить всякие then/endif и т.д
if( i == 1 )
{
	////
} elseif( i == 2 )
{
	////
} else
{
	////
}
18

» WarCraft 3 / Ошибка Missing endblock, cJass

До:
     if ( tw == 0 ) and ( GetUnitAbilityLevel(u, 'A00V') >= 1 ) {
      SetUnitAbilityLevel( u, 'A00S', 1 )
      SetUnitAbilityLevel( u, 'A00U', 1 )
      SetUnitAbilityLevel( u, 'A00V', 1 )
      UnitRemoveAbility( u, 'A00V')
      UnitRemoveAbility( u, 'A00S')
      UnitRemoveAbility( u, 'A00U')
      UnitRemoveAbility( u, 'B004')
      elseif ( tw >= i ) and ( GetUnitAbilityLevel(u, 'A00V') == 0 ) then
После:
     if ( tw == 0 ) and ( GetUnitAbilityLevel(u, 'A00V') >= 1 ) {
      SetUnitAbilityLevel( u, 'A00S', 1 )
      SetUnitAbilityLevel( u, 'A00U', 1 )
      SetUnitAbilityLevel( u, 'A00V', 1 )
      UnitRemoveAbility( u, 'A00V')
      UnitRemoveAbility( u, 'A00S')
      UnitRemoveAbility( u, 'A00U')
      UnitRemoveAbility( u, 'B004')
      }elseif ( tw >= i ) and ( GetUnitAbilityLevel(u, 'A00V') == 0 )
	  {
18

» WarCraft 3 / Мемхак - смена миникарты во время игры

эпиквар - кладбище для карт и это не мои слова

ну а вообще, есть один трюк
Можно создать две версии war3mapMap
я где то читал что варкрафт читает всегда первую версию файла, а всякие карто-открыватели - последнюю
но это не точно
18

» WarCraft 3 / Мемхак - смена миникарты во время игры

не знаю о чем, но я имел в виду на сайте хуз хотел че то сделать, чтобы отображалось название карты и её превьюшка, но мы это обсуждали почти неделю назад

И уничтожать простейший способ из за одного эпиквара - это глупо
Карты там давно уже никто не заливает, т.к на хостботах карты как пирожки горячие (ну ты понял)
просто раньше до хостботов - карту качали по очереди и с ограничением 15-20 кб/c
и поэтому такие сайты как эпиквар был популярны
18

» WarCraft 3 / Мемхак - смена миникарты во время игры

Bergi_Bear:
UrsaBoss, неа =)
бред но ладно, эпиквар уже устаревший во всех смыслах

Даже ирина юзает превьюшку