20

» Unryze Jass API / [UjAPI] Конкурс Наработок 2024

Берги, если бы физ. движок не требовал сторонней библиотеки, он бы безусловно победил. Ну и конечно в плане применения он так же ограничен на фоне фреймов (хотя ты и сам знаешь я не дикий фанат фреймов). Объективно обе работы хороши, мой фаворит всё же физ. движок, но увы.
20

» Unryze Jass API / [UjAPI] Конкурс Наработок 2024

Таренас, на будущее, нужно советовать потенциальным участникам всё же писать в треде, добавлять "мимо кассы" - был бы нечестный поступок в сторону участников.
20

» Unryze Jass API / [UjAPI] Конкурс Наработок 2024

Рецензия на публикацию
Результаты конкурса:
Место Участник Ссылка на работу Концепт (8) Реализация (10) Практичность (5) Итог
1 - Borodach Frame Builder 6.4 7.75 1.9 16.05
2 - fenathesnake ODE Physics 6.2 7.25 2.4 15.85
3 - Vampir_kolik Поймай Вампира 1.2 1.25 0.5 2.95
Точные баллы и комментарий к каждой работе в Excel файле.
Загруженные файлы
20

» Unryze Jass API / [UjAPI] Конкурс Наработок 2024

Последние новости!
Приём работ закрыт, всем спасибо и ожидайте оглашения результатов.
20

» Unryze Jass API / UjAPI - AngelScript

Vampir_kolik, указатели в скриптовом языке? Чтобы ты и себе и собрату отстрелил пятую точку? Потоков как таковых там нет, точно так же как на луа их нет. Движок AS делегирует на псевдопотоки. А ручного управления потоками я лично не давал. Ну и в целом для этого есть гугл: Документация и API: www.angelcode.com/angelscript/sdk/docs/manual/group_ api _multithread_functions.html (нужно удалить пробелы между _ _.
20

» Unryze Jass API / [UjAPI] Конкурс Наработок 2024

Маленький пуш и напоминание, что хочется видеть в данном треде наработки, которые пойдут на конкурс.
Всем участвующим спасибо и я надеюсь мы увидим ещё больше участников.
20

» WarCraft 3 / [UjAPI] Chest Puzzle

rsfghd, на конкурс ты можешь выставлять эту работу спокойно, да и другую тоже, этим я никого ограничивать не собираюсь. А по поводу запуска карты, не знаю к сожалению, ибо у кого были проблемы (включая меня) их уже нет. всё что можно было прооптимизировать - я оптимизировал.
20

» WarCraft 3 / [UjAPI] Chest Puzzle

Отличная наработка, конечно в плане кода мало на что смотреть, зато идея вполне интересная и полезная. Молодец.
20

» WarCraft 3 / FPS Unlocker

Fenius, для такого уже нужен WFE или же патчер д3д8 до д3д9 где есть V-Sync.
Froscher, ;)
20

» Unryze Jass API / [UjAPI] Конкурс Наработок 2024

Добавлен пункт о том как принять участие в конкурсе (для особых личностей ;)).
20

» WarCraft 3 / Скрытая геройская способность( без даммика)

SсRealm, что за тотальную стену ереси ты написал (если это была не вне сезонная перво-апрельская шутка только).
Для не особо понимающих поясняю, что "отдельный" патч игры сделать банально не получится, ибо нет исходников, и то, что ты якобы "описал" - это басни/сказочки.
Расскажи мне тогда, что такое KK/m16/W3CE и другие мелкие проекты, каждый из которых выполняет всё так же как и я?
Я очень надеюсь что ты так не смешно пошутил и впредь изучишь книгу шуток.
20

» WarCraft 3 / Как изменить инконку у способности во время игры?

А эта кнопочка собственно для чего? Редактор моделей - вообще мимо кассы, ибо что там ужапи будет делать/модифицировать?
Мне вот интересно, а точно ли ты щупал мой лаунчер или таки нет?
Загруженные файлы
20

» WarCraft 3 / Как изменить инконку у способности во время игры?

EugeAl, я вряд ли дальше буду отвечать людям, почему я сделал не костыль, если до них не доходит, то явно пояснять что-либо бессмысленно.
20

» WarCraft 3 / Как изменить инконку у способности во время игры?

  1. mix и регистрация нативок чревата большими "приколами", вся суть проекта чтобы избавиться от максимального количества костылей, включая .mix.
  2. Религия мешает отдельно скачать лаунчер? Раз уж всё-равно что-то нужно качать. Это минимализирует затупы юзверей.
  3. Таким образом мой проект имеют какую-никакую защиту от всяких других проектов, которые попробовали бы присвоить наработки себе (проходили это уже).
  4. Так же защита от кривых лап, да и от мемхака, если поставлять патч не как stand-alone, то начинаются казусы.
Не могу поверить что я это повторяю в 10ый раз уже.
20

» Unryze Jass API / [UjAPI] Конкурс Наработок 2024

Ikobot, видать нужно было добавить то, что и так было ожидаемо:
AS > lua > Jass > GUI в плане приоритета (хотя как это было не наглядно не понимаю, ибо упор на НОВЫЙ функционал, новый Язык - тоже к этому относится).
И чем же установка AS - сложная? Скачиванием модуля и парой кликов опций? Серьёзно?
Ну и конечно же, качество кода важнее даже указанного приоритета, просто у более приоритетных языков будут бонусы, что оценивать будет как минимум один человек, который в этом разбирается...
Поправка: приоритет и так был указан.
Загруженные файлы
20

» Unryze Jass API / [UjAPI] Конкурс Наработок 2024

EugeAl, творческая составляющая - это дополнительная оценка, разделять смысла нет, упор на 80+% будет именно на код и идею.
20

» Unryze Jass API / UjAPI - AngelScript

Вышла новая версия! Прокрутить к ресурсу

AngelScript v1.0.4.16

1. Базовый код AngelScript обновлён до 2.36.1.
2. Добавлено std:sleep_ns(uint64_t) как внутреннее API, которое принимает nanoseconds.
3. Добавлено std:sleep_us(uint64_t) как внутреннее API, которое принимает microseconds.
4. Добавлено std:sleep_ms(uint64_t) как внутреннее API, которое принимает milliseconds.
5. Добавлено std:sleep(double) как внутреннее API, которое принимает float/double.
6. TriggerSleepAction теперь использует std::sleep(double), раннее ничего не делало.
7. Изменены << и <<= операторы с Логических в Арифметические.
8. Изменены >>, >>> и >>= операторы с Логических в Арифметические.
9. Добавлен оператор <<< как Логическия операция.

AngelScript Parser 1.0.3.14

1. AngelScript base code updated в 2.36.1.
2. Добавлено std:sleep_ns(uint64_t) как внутреннее API, которое принимает nanoseconds.
3. Добавлено std:sleep_us(uint64_t) как внутреннее API, которое принимает microseconds.
4. Добавлено std:sleep_ms(uint64_t) как внутреннее API, которое принимает milliseconds.
5. Добавлено std:sleep(double) как внутреннее API, которое принимает float/double.
6. TriggerSleepAction теперь использует std::sleep(double), раннее ничего не делало.
7. Изменены << и <<= операторы с Логических в Арифметические.
8. Изменены >>, >>> и >>= операторы с Логических в Арифметические.
9. Добавлен оператор <<< как Логическия операция.
10. Добавлена опция RunTimers в settings.ini, это контролирует будут ли созданы и запущены таймеры.
20

» Unryze Jass API / UjAPI - Что нового?

Вышла новая версия! Прокрутить к ресурсу

v1.1.15.218

UjAPI.dll

1. Новые Константы:
	constant frameeventtype				FRAMEEVENT_FRAME_ITEM_CHANGED								= ConvertFrameEventType(10)
	constant controlstyleflag 			CONTROL_STYLE_DRAW											= ConvertControlStyleFlag(32)
2. Новые Нативные Функции:
	native BitwiseShiftLeftLogical							takes integer i, integer bitsToShift returns integer
	native BitwiseShiftRightLogical							takes integer i, integer bitsToShift returns integer
	//
	native CountUnitAbilities								takes unit whichUnit, boolean alsoCountBuffs returns integer
	native CountUnitBuffs									takes unit whichUnit returns integer
	//
	native GetBuffOwningAbility								takes buff whichbuff returns ability // experimental
	native SetBuffOwningAbility								takes buff whichBuff, ability whichAbility returns nothing // experimental
	//
	native SetProjectileSourceAbility						takes projectile whichProjectile, ability whichAbility returns nothing
	//
	native GetFrameChildrenCountEx							takes framehandle whichFrame, integer listId returns integer // listId: CFrames: 0 for default | 1 for layouts (will return CLayer) | CSimpleFrames 0 - 6 | CSimpleRegions any number, as they only have 1 child node.
	native GetFrameChildEx									takes framehandle whichFrame, integer listId, integer index returns framehandle
	native GetFrameTextAlignmentValue						takes framehandle whichFrame, integer id returns real // CSimpleFontString: 0 - x, 1 - y | CTextFrame: 0 - x, 1 - y, 2 - x Shadow, 3 - y Shadow, 4 = FontJustificationOffset
	native SetFrameTextAlignmentValue						takes framehandle whichFrame, integer id, real offset returns nothing
	native GetTriggerFrameTargetFrame						takes nothing returns framehandle
3. Исправлена поддержка отрицательных чисел с сеттерами цифровых полей, ранее они обрабатывались без знака.
4. CListBox API теперь работает с CMenu.
5. CListBox API теперь работает с CPopupMenu.
6. CListBox API теперь работает с CRadioGroup.
7. GetFrameTextColourEx теперь работает с CListBoxItem.
8. SetFrameTextColourEx теперь работает с CListBoxItem.
9. SetFrameFont теперь работает с CTimerTextFrame.
10. SetFrameFont теперь работает с CListBoxItem.
11. SetFrameTextAlignment теперь работает с CTimerTextFrame.
12. SetFrameTextAlignment теперь работает с CListBoxItem.
13. SetFrameTextVerticalAlignment теперь работает с CTimerTextFrame.
14. SetFrameTextVerticalAlignment теперь работает с CListBoxItem.
15. SetFrameTextHorizontalAlignment теперь работает с CTimerTextFrame.
16. SetFrameTextHorizontalAlignment теперь работает с CListBoxItem.
17. FRAMEEVENT_POPUPMENU_ITEM_CHANGED теперь работает с CListBox.
18. AddFrameListItem теперь работает с CRadioGroup.
19. FRAMEEVENT_POPUPMENU_ITEM_CHANGED теперь работает с CRadioGroup.
20. Исправлено SetLightningTargetX устанавливающее x источника, вместо цели.
21. Исправлено SetLightningTargetY устанавливающее y источника, вместо цели.
22. Исправлено SetLightningTargetZ устанавливающее z источника, вместо цели.
23. Исправлено SetLightningTargetPositionLoc устанавливающее позицию источника, вместо цели.
24. Исправлено GroupContainsUnit всегда возвращающее true.
25. Перенесён весь внутренний код jFramea API во FrameAPI. Это пометка для себя, данное изменение не должно повлиять ни на что.
26. Исправлено BlzSetUnitMaxMana устанавливающее максимальное здоровье вместо маны.
27. Исправлено не работающее SetFrameTextHorizontalAlignment.
28. Исправлено SetFrameTextColourEx для CSimpleFontString.

Launcher

1. CLI теперь может обрабатывать эти warcraft 3 комманды: d3d, opengl, swtnl, classic, datadir, gametype, fullscreen.
2. Добавлена опция Dev Mode для AngelScript.
3. Добавлена опция Console для AngelScript.
4. Добавлена опция No Warnings для AngelScript.
5. Добавлена опция "dev" CLI команда для AngelScript.
6. Добавлена опция "console" CLI команда для AngelScript.
7. Добавлена опция "nowarnings" CLI команда для AngelScript.
8. Добавлен модуль FastMenu.dll в Modules.
9. Добавлена опция Fast Menu для Launcher.
10. Добавлена -fastmenu CLI команда для Launcher.
20

» Unryze Jass API / UjAPI

Вышла новая версия! Прокрутить к ресурсу

v1.1.15.218

UjAPI.dll

1. Новые Константы:
	constant frameeventtype				FRAMEEVENT_FRAME_ITEM_CHANGED								= ConvertFrameEventType(10)
	constant controlstyleflag 			CONTROL_STYLE_DRAW											= ConvertControlStyleFlag(32)
2. Новые Нативные Функции:
	native BitwiseShiftLeftLogical							takes integer i, integer bitsToShift returns integer
	native BitwiseShiftRightLogical							takes integer i, integer bitsToShift returns integer
	//
	native CountUnitAbilities								takes unit whichUnit, boolean alsoCountBuffs returns integer
	native CountUnitBuffs									takes unit whichUnit returns integer
	//
	native GetBuffOwningAbility								takes buff whichbuff returns ability // experimental
	native SetBuffOwningAbility								takes buff whichBuff, ability whichAbility returns nothing // experimental
	//
	native SetProjectileSourceAbility						takes projectile whichProjectile, ability whichAbility returns nothing
	//
	native GetFrameChildrenCountEx							takes framehandle whichFrame, integer listId returns integer // listId: CFrames: 0 for default | 1 for layouts (will return CLayer) | CSimpleFrames 0 - 6 | CSimpleRegions any number, as they only have 1 child node.
	native GetFrameChildEx									takes framehandle whichFrame, integer listId, integer index returns framehandle
	native GetFrameTextAlignmentValue						takes framehandle whichFrame, integer id returns real // CSimpleFontString: 0 - x, 1 - y | CTextFrame: 0 - x, 1 - y, 2 - x Shadow, 3 - y Shadow, 4 = FontJustificationOffset
	native SetFrameTextAlignmentValue						takes framehandle whichFrame, integer id, real offset returns nothing
	native GetTriggerFrameTargetFrame						takes nothing returns framehandle
3. Исправлена поддержка отрицательных чисел с сеттерами цифровых полей, ранее они обрабатывались без знака.
4. CListBox API теперь работает с CMenu.
5. CListBox API теперь работает с CPopupMenu.
6. CListBox API теперь работает с CRadioGroup.
7. GetFrameTextColourEx теперь работает с CListBoxItem.
8. SetFrameTextColourEx теперь работает с CListBoxItem.
9. SetFrameFont теперь работает с CTimerTextFrame.
10. SetFrameFont теперь работает с CListBoxItem.
11. SetFrameTextAlignment теперь работает с CTimerTextFrame.
12. SetFrameTextAlignment теперь работает с CListBoxItem.
13. SetFrameTextVerticalAlignment теперь работает с CTimerTextFrame.
14. SetFrameTextVerticalAlignment теперь работает с CListBoxItem.
15. SetFrameTextHorizontalAlignment теперь работает с CTimerTextFrame.
16. SetFrameTextHorizontalAlignment теперь работает с CListBoxItem.
17. FRAMEEVENT_POPUPMENU_ITEM_CHANGED теперь работает с CListBox.
18. AddFrameListItem теперь работает с CRadioGroup.
19. FRAMEEVENT_POPUPMENU_ITEM_CHANGED теперь работает с CRadioGroup.
20. Исправлено SetLightningTargetX устанавливающее x источника, вместо цели.
21. Исправлено SetLightningTargetY устанавливающее y источника, вместо цели.
22. Исправлено SetLightningTargetZ устанавливающее z источника, вместо цели.
23. Исправлено SetLightningTargetPositionLoc устанавливающее позицию источника, вместо цели.
24. Исправлено GroupContainsUnit всегда возвращающее true.
25. Перенесён весь внутренний код jFramea API во FrameAPI. Это пометка для себя, данное изменение не должно повлиять ни на что.
26. Исправлено BlzSetUnitMaxMana устанавливающее максимальное здоровье вместо маны.
27. Исправлено не работающее SetFrameTextHorizontalAlignment.
28. Исправлено SetFrameTextColourEx для CSimpleFontString.

Launcher

1. CLI теперь может обрабатывать эти warcraft 3 комманды: d3d, opengl, swtnl, classic, datadir, gametype, fullscreen.
2. Добавлена опция Dev Mode для AngelScript.
3. Добавлена опция Console для AngelScript.
4. Добавлена опция No Warnings для AngelScript.
5. Добавлена опция "dev" CLI команда для AngelScript.
6. Добавлена опция "console" CLI команда для AngelScript.
7. Добавлена опция "nowarnings" CLI команда для AngelScript.
8. Добавлен модуль FastMenu.dll в Modules.
9. Добавлена опция Fast Menu для Launcher.
10. Добавлена -fastmenu CLI команда для Launcher.
20

» Unryze Jass API / UjAPI - AngelScript

Makeba, редактирование World Editor'a ужасно геморройное занятие, так что скорее нет, чем да. Ибо мне тяжко вообще оправдать трудочасы на него, учитывая все его проблемы, да и когда есть тот же w3x2lni.
20

» Unryze Jass API / UjAPI

PT153, потому что внутри игры функция правит всё на нулевой индекс, посылая 1 -> 0, а ниже 0 правятся до 0.
20

» Unryze Jass API / UjAPI

PT153, ты готов писать описания 2000 нативкам, которые по факту своими именами поясняю то, за что они отвечают? Или я должен работу целой компании (в которой людям ещё и платят) делать в одиночку ещё и за "а мы попросим, но потом не прочитаем". Толку от этого комьюнити, если оно само не хочет ничего делать?
20

» Unryze Jass API / UjAPI

PT153, GetHeroMaxLevelExperienceNeeded возвращает сколько нужно ещё опыта до достижения уровня.
GetHeroExperienceNeeded - внутри движка требует юнита, чтобы проверить данные и провести пересчёты, ибо юнит может иметь флаг RoC и просчёт опыта будет по-другому.
//----- (6F207760) --------------------------------------------------------
int __stdcall Game::Data::GetExperienceNeededForLevel(int a1)
{
  int v1; // esi
  unsigned int v2; // eax

  v1 = a1;
  v2 = (unsigned int)Engine::Config::ReadInteger((int)"Misc", (int)"MaxHeroLevel", 0) - 1;
  if ( a1 - 1 > v2 )
    v1 = (v2 & ~((a1 - 1) >> 31)) + 1;
  return sub_6F00B0E0(v1 - 1);
}

int __thiscall CUnit::GetLevelExperienceNeeded(uint32_t *this, int a1) // unit, level
{
  int result; // eax

  if ( this[124] )
    result = Game::Data::GetExperienceNeededForLevel(a1);
  else
    result = 0;
  return result;
}
int32_t CUnit::GetHeroExperienceNeeded( CUnit* unit, int32_t level )
{
	return ( pOffsets[ Enum::Offsets::GetHeroXPNeeded ] && CUnit::IsOkay( unit ) && CUnit::IsHero( unit ) && !CUnit::IsTower( unit ) ) ? this_call<int32_t>( pOffsets[ Enum::Offsets::GetHeroXPNeeded ], unit, level ) : NULL;
}
Индексации видать у них под капотом даже для уровней идут с нуля. Ты можешь идти оспаривать эту логику с Blizzard, мои ручки умыты.
Юнита в целом можно убрать, но нужно тогда менять оффсет, а мне немного лень, да и так в целом правильнее~.
20

» WarCraft 3 / Проблема с ACac

KlonRefa, За несколько лет в вар3 кого только ко мне не приписывали уже, я всё и вся, альфа и омега. >_> Нет, я не SAND.
20

» WarCraft 3 / Проблема с ACac

DracoL1ch, Если точнее, то любая аура автоматически накладывается на нового созданно юнита, если он входит в АоЕ ауры. То бишь не на карту, а при подходе юнита в рейндж юнита с аурой.
Пруф:
А тут смена обновления тика таймера ауры (ауры обновляются лишь при конце тика таймера) с 2 сек на .1 сек.
Загруженные файлы