27

» WarCraft 3 / Утечка.

Если у тебя юнит использует этот предмет, то переделай событие триггера - юнит применяет способность, на юнит испоользует предмет. Можно сразу ссылаться на item being manipulated вместо GetItemOfTypeFromUnitBJ

Это бы упростило бы вам работу.
27

» WarCraft 3 / Утечка.

Раскрой GetItemOfTypeFromUnitBJ, тут 3 раза ты используешь. Там вроде не обнуленные локалки. Остальное не стал сильно просматривать, если ты все уничтожил: там даймики таймеры, и подчистил то норс


Вообще точно не уверен, утекает ли оно, ибо с собой под руки нет библиотеки. Раньше помню были с этим траблы
27

» СССР VS США / Нью-Йорк [cкриншоты]

Нафиг балалафки.. можно Шварца с англифским акцентом произношения языка
27

» СССР VS США / Нью-Йорк [cкриншоты]

Где бэтмен в темном переулке между зданиями избивает грабителей. А да, он же не в нью-йорке проживает
27

» Блог им. TerrorGold / Моя проблема: Не могу придумывать мотивации

Ну, смотри. Ты в зомбиапокалипсе. Ассоциировать это можно со твоим внутреннем миром, когда ты дома в тепле и под одеялом, а зомби топчатся у твоего окна. Такой кайф понежится дома в кровати, когда под окном зомби, а сверху нло. Чисто крепость и пряталки. Включил свет, все засветился.
Какая мотивация? Я думаю выживание. Наверное, будь я на месте персов из ходячих мертвецов, я бы наверное поубивал всех в округе, ради бкзопасности я бы уменьшил число мертвяков, они такие тупые, столько ловушек можна понаделвть. из магазинов все к себе пристащил. Построил крепость. Наделал ферму. Обустроил быт, общество. Скучно? Нет. Все твое. Тут надо думать глубже, ты не можешь все время питаться едой из магазина. И достать оркжие тоже надо. Тут главное, еще и сила.
Ты прав, без проблем, причин, и толчков не будет никакой мотивации, или сдвигов. Вот слабый перс, найдет пойдет качаться. Другому откроется шанс, упадает супер артефакт бога (в реал жизни челу может повести, и кто то трудостроит его, и у него появятся цели).
27

» Мир безумного / Grand Theft Auto VI - trailer 1 (2023)

Мне музон понравился из первого трейлера)) вводят в эйфорию.. вот бы в реальности всегда быть такими молодыми.
Что за музончик
Посмотрим как игра. И чюжет. Играть наверное буду. Раз девушки нет, покупаю очки и компьбтер
27

» WarCraft 3 / Как сделать условия поражения/победы ?

RvzerBro, немного не понятен вопрос..
Если вы расчитываете, чтобы выдавали поражение целому клану, если все юниты будут уничтожены. Тогда можно подкорректировать этот триггер, заводим массивную переменную ad boolean. Когда у игрока умрет последний, в массив записываем looser[n]=true, где n - номер игрока
Потом проверяем всех игроков в союзе, все ли они лузеры
проигравший игрок оставался в игре.
27

» Блог им. TerrorGold / Представление о маге

Причины целомудрия архимага, британские маги-ученые сообщают.
  • Наверное, архимаг был не красивым, уродцем. Поэтому он весь свои интерес и усилия потратил на магию. В будушем у всех дедушек-архимагов вырастают волосы до пола, и берут в себе учениц ;
  • у мага была своя секс игрушка, он полностью потратил силы не только на магию, но и на ее улучшение. Даже в старости, дед будет верен игрушке;
  • в библиотеке можно найти порно-журнальчики и фильмы. Зачем парню нужна девушка в башне мага?
  • может маг призвал лисицу? Кто знает
27

» Блог им. TerrorGold / Задолбало. Вездесущий Warhammer.

Посоветуйте где вархаммер есть? Мне вот нрав китайские писаки про фентези. Пример особняк в ином мире, хотя там не было вархаммера, но было очень интересный чит у гг итд
последнее что я читал это произведение. Название не помню, кажется "у менять есть usb флэшка" но парень украл какую то usb флэшку под партой за компом на уроке биологии и начал творить всякую фигню, и интерес пропал тк чит попросту говно. С помощью usb флэшки парень из фильмов доставал всякие научные достижения, вирусы итд. Доставать из фильмов? Это вообще что? Объяснялось это тем, что это было все во временном пространстве, пытаясь обосновать научно. На самом деле это очееь плохо было подано, и такое скучное. Вместо боевки мы читаем как парень изучает, осторожничает, раскручиыает целую империю
А комментаторы мне упорно объясняли, что это все взято из мира вархаммер. Мне и тогда пришло в голову что вархаммер отстой.
27

» WarCraft 3 / TriggersЫ - Spawn Мобов

Есть открытая карта Footman v.5.00 ai
Тут легко сделать. Я не знаю, будет ли у вас здания статичные, как в футмане. Или вы возможно, желаете создать как в Paladin Td, где есть две стороны.
Я еще видел тд, где надо врагу слать волны. Как пример в legion td
Если надо как в Paladin Td:
Нужно завести группу structure, когда строим, туда записываем здание. Когда уничтожается, удаляем.
Еще можно сделать базу данных:
  1. тип здания + тип крипа => статичный набор, который при вызове создаем крипа. Тут достаточно двух массивов, я уде объяснял похожий принцип здесь
  2. здание + выбранный крип => здесь сложнее, надо привязать к зданию типы крипов, тут еще может быть несколько крипов. Проще это записывать на хэш-таблицу.
При покупке футмена:
local num = хэш-таблица - загрузить число (хэндл здания), (77474) // это макс кол-во типов крипов, нанятое в этом здании, ключ 77474 я от балды прописал
local k = хэш-таблица - загрузить число (хэндл здания), (тип крипа) // это кол-во юнитов данного типа, которое нанятое в здании

//перед покупкой желательно проверить есть ли такой крип. если крипов не было записано, вернет 0
If k == 0 then
  //записываем в ячейку num+1 тип крипа
  Хэш таблица - сохранить число (хендл здания), (num+1), (тип крипа - футман 'hfoo') //хэндл и тип это числа, здесь мы сохраняем юнита
endif
Хэш таблица - сохранить число (хендл здания), (77474), (num+1) //сохраням макс кол-во типов. Нужное значение для пробега циклом. Вы будете все типы перебирать
Хэш таблица - сохранить число (хендл здания), (тип крипа), (k+1) //сохраням кол-во крипов данного типа
Если надо удалить, то просто чистим хэш-таблицу по хэшу. Таймером каждый раз чекаем группу structure, и создаем нужных крипов:
Выбрать всех в группе
--local num = хэш-таблица - загрузить число (хэндл здания), (77474) // это макс кол-во типов крипов, в котором нанято в этом здании, ключ 77474 я от балды прописал
-- local k = хэш-таблица - загрузить число (хэндл здания), (тип крипа) // это кол-во юнитов данного типа, которое нанятое в здании
-- local Typ
-- local k
--- Циклом A от 1 до num
------set Typ =  Хэш таблица - загрузить число (хендл выбранного здания), (A) //загружаем тип крипа
------set k = Хэш таблица - загрузить число (хендл выбранного здания), (Typ) //сохраням кол-во крипов данного типа
------Цикл B от 1 до k
--------создать юнита Typ
При выборе у вас будут выходить из этого строения только заказанные.

Daro, автор просто хочет готовую систему
27

» WarCraft 3 / TriggersЫ - Выбор спеллов

- цикл А от 1 до Max
--if тип проданный итем равно IT[A] theb
--- удаляем тип IT[A] из магазина
--- добавляем абилку AB[A]
--endif
Ничегосебе, если сравнивать с гуи, луа такой минималистичный)
Ну, в jass нельзя было сразу по ид достать, знаешь скока он может хранить? Макс 8192. А ид несколько миллионов, четырехзначные равкоды это большие числа
Пример:
I008=1227894840 переведена из ascii 256-ричной в 10-ричную систему счисления. Знаешь, что это такое, надеюсь
Что пройзодет, если вписать туда ид, да ничего не пройдет, данных там не будет записывать, доставать и пр. Поэтому придумали такой вот способ выше или бери хеш-таблицу
27

» WarCraft 3 / [GUI] Как создать несколько юнитов, вокруг другого юнита, или...

Aifrediil, в триггерах тоже есть polar offset of point. Это просто отдельная функция-обертка, и ты не видешь все эти ужасные формулы, и можкшь просто сразу получить точку. polar offset of point это просто точка. Например, в функции переместить юнита в точку ты выберешь полярку, вот и все. Это как по вашему gui. Но я уже привык к формулам.
Я правильно понимаю, что это всё реализуется на тригерах? Без кода, джассов всяких, и такого подобного??
Да, это все на триггерах. Без этого никуда. Без триггера никакой снаряд никуда не полетит, нельзя будет сделать необычные вещи чисто редактором объектом, у него возможности заканчиваются нв этом. Если это никакая там там модель с изменными параметров скиллов, то ничего путного не выйдет. Можно на gui, так и на jass. Однако, я скажу, что gui очееь сильно ограничен, не всех возможностей предоставляет, каких то функции jass в меню gui может не быть, нужно больше танцев с бубном делать.
jass или gui? Можно ли на gui использовать. Без кода, джассов всяких, и такого подобного?
Если мне нужно больше, на gui будет не удобно. Но дело тут каждого. gui это просто интерфейс кнопки и все такое для юзера, а внутри чистый код jass. gui не работает ьез jass. gui это просто готовое решение за тебя, вот юзер и исполтзует готовое он никогда не догадается сделать сложное, если не знал как это делать. Таких кнопочек в gui не будет, надо будет самому писать код или триггер. Часто юзеры ворубт код, например из доты, учатся. Потом что то понимают. Так что рано или поздно все заинтересованные юзеры учатся jass'у, этому не сложно научиться

Самое забавное, когда-то давно я тоже начинал изучать движение. И мне polar offset of point была не привычна, вернее я не понял ее работу. И полез в код. Мне было код легче поняиь, чем гуи. А гуи не было локалок, таймеров и многое другое, очень все это было тоже неудобно. Конда ты мог всю работу на одной странице прописать, в гуи надо было 10 триггеров создавать, запутаться легко было и пр
27

» WarCraft 3 / TriggersЫ - Выбор спеллов

Ранее, я писал в другой теме, но потом стер. И хотел переписать сюда, но нечайно сбросил.
Желате покупать скилы через магазин? Это самое плевое дело, можно разными способами. Кто и как их использует есть великое множество.
Можно использовать spellbook, однако, его можно исключить, тк возможно, вы пожелаете, что ваша система выглядела более презентабельнее, и в интерфейсе отображались стоимость золота и дерева за заучивание скила. В spellbook можно было список разных пустышек заложить, однако, никак нельзя цену положить. Помнится, был один такой скилл
поставка ресурса
поставка ресурсов 'AAns' - аналог канала, такая же пустышка, только для применения требует золота. Как и в канале в настройках можно изменить базовый id-приказ (можете множество таких способностей наделать, но с разными id-приказами, и не конфликтующие друг с другом). Можно задать кол-во ресурсов (золота, дерева), снимаемые с игрока при использований. Можно указать отрицательное значение дерева или золота, отрицательное значение прибавляет игроку ресурс. Можно, например, обменивать с золота на дерево, ставя в характеристиках значения золота, и такое же отрицательное значение дерева. Единственное, что может показаться некрасивым, то что высвечивается отрицательный ресурс. Например, отображается дерево -50. Можно обойтись без отрицательных значений, триггерно снимать кол-во. Есть еще поле "Заряд игрока-владельца" - да/нет, определяет с кого же будут списаны ресурсы, с игрока владельца или игрока, нажавшего на кнопку.
Однако, я не знаю, можно ли задать различным копиям разным ид-приказы, будут ли работать в spellbook'е.
Знаешь, почему spellbook не подошел мне? Ваша задача, чтобы герой покупал в нейтральном магазине? Верно? Вам придеться заморочится с выбором, перекидывать выбор, открывать spellbook и пр. Лучше вариант это покупка предметов или юнитов. Также это решает вашу задачу "как сделать, чтобы купленный предмет или нанятый воин исчезал с прилавка магазина?" (пункт 2.9) Это были базовые настройки магазина. Главная особенность, это то, что в него не получится добавить через редактор объектов, магазин будет изначально пустым. вам нужно будет самим пустышек на старте игры в магазин триггерами засунуть.
Есть пример, где я создавал рынок. В магазин можно заложить предмет, так и купить обратно. А можно вообще склад какой-нибудь сделать. В этом примере вы можете отследить покупку, так и продажу: покупателя и продавца, и сам товар. Нас интересует только покупка, продажа, конечно, в магаз невозможна, тк руну обратно уже нельзя будет продать, ибо уже исчезла при получении. Зная какой товар, вы сразу же выдаете skill, но для этого надо написать базу данных бд. Это надо инициировать на старте в переменных на массивах илм хэше-таблице привязку, об этом ниже.
можно выбрать юнитов вместо предметов
Можно ограничить или выставить лимит каждому игроку. Вы знаете, есть спец функция в разделе игрок - лимит юнита для игрока. Для каждого игрока можно задать свой лимит, и тогда он не будет видеть этого юнита в списке.
Пример, если красный игрок купит, он будет дальше изучать, в том время как других будет закрыто к изучению.
Еще из примера выше, я придумал такую вещь как страницы. Вы заметили, что наша консольная панель ограничена 12 кнопками. А что если можно было в магазине хранить больше.
На чем я остановился, а да, разъяснении бд. Прежде, чем к ней пристцпим, давайте-ка разберем один момент. Можно взять, и сделать на каждый скилл копию-пустышку. Самый лучший вариант это предметы, из них делаем руны. Почему руны? Руны это предметы, которые сразу используются при получении, и исчезают. Главная фишка в том, что даже при заполненном инвентаре руна используется. Но нам нужны руны-пустышки на каждый скилл, где будет иконка и описание, и своя стоимость skill'а.
Теперь, приступим к разъяснению базы данных. Это удобный способ взаимодействия объектов друг с другом, привязка и синхронизация. Вот пример у нас есть проблема, вы хотите покупкой приобретать skill через магазин, в данном случае покупая предмет, мы получаем skill. Программе нужно понять какой скилл выдавать герою. По факту, логика такая: есть событие - юнит получает предмет, подойдет даже "юнит использует предмет (ведь руна при получении сразу используется)", или событие "юнит закладывает предмет из лавки (магаз продает). Любой из этих событии мы можем отследить факт получения предмета, даже отследить тип. Мы уже знаем какой это предмет. Проблема в том, что нужно понять какой skill нужно получить.
Обычно, можно было бы писать проверки:
If тип предмета == благодать-руна then
//
elseif тип предмета == раздеть до гола-руна then
//
endif
Здесь проверка оканчивается на 2 скилах, у вас мб больше. Если у вас будет больше скилов, вы будете длинную ветку if'ов писать. На gui это смотрится ужасно, и лучше прописать красивую бвзу данных. Что она из себя представляет, это обысные массивы:
Это если пробивать через окошки guj вы будете видеть чисто в строчках название способностей
IT - тип предмета item
set IT[1]=ловкость Берги
set IT[2]=интеллект Назарпанчика
set IT[3]=сон Тыщи
set IT[4]=трансформация Волчанки
set IT[5]=жар Феникса
Бд можно ещк по-другому делать. Можно считать по ид, равкод имеет числовое значение
IT - тип предмета item
set IT[1]='I000'
set IT[2]='I001'
set IT[3]='I002'
set IT[4]='I003'
set IT[5]='I004'
Max=5 //макс кол-во скиллов
К нему же можно аналогичный привязать список:
AB - тип предмета item
set AB[1]='A000' ловкость Берги
set AB[2]='A001' интеллект Назарпанчика
set AB[3]='A002' сон Тыщи
set AB[4]='A003' трансформация Волчанки
set AB[5]='A004' жар Феникса
По идее зная ид итема, который получил герой, можно получить ид абилки.
В луа с этим проще:
AB[id] - уже сразу получил значение, а jass или gui надо помучиться с проверками, что достать нужный индекс, тк индекс в jass ограничен лимитом до 8192
Пример, как я пробежался циклом и нпшел нужный индекс,
- цикл А от 1 до Max
--if тип проданный итем равно IT[A] theb
--- удаляем тип IT[A] из магазина
--- добавляем абилку AB[A]
--endif
Можно еще хэш-таблицей обойтись, чем этими ограниченными массивами. Все, пока
27

» WarCraft 3 / [GUI] Как создать несколько юнитов, вокруг другого юнита, или...


Самый простой способ, это изучить полярное смещение polar offsets of point
a = Atan2(y,x) аркстангенс, обратная функция возвращает угол точки относительно центра координат (0,0). Это обычно, если известна только 1 точка, тогда угол можно продублировать
a = Atan2(y2-y1,x2-x1) можно за основу взять угол между двумя точками. Но все равно тут должен быть какой-то угол
x = ux + r × cos (a)
y = uy + r × sin (a)
x,y - новые координаты
ux,uy - тек координаты героя, относительно которое происходит смещение. Обычно под них пишут ux=GetUnitX(hero), uy=GetUnitY(hero)
r - расстояние, на которое происходит смещение от героя
a - угол, который происходит поворот
Вы можете таймером менять угол a каждую секунду, при этом данные r не меняются. Менятся может только положение ux,uy GetUniX, GetUnotY, тк юнит двигвется.
Пример каждую секунду прибавлять 30°. И будет по вашему вращение по кругу. Только надо будет в радианы перевести.
Пример с картой где вокруг цели вращаются таймером снаряды. Тут еще и исследования проводил.

Сужение круга тут можно поместить снаряды нв определенном расстоянии друг от друга
27

» WarCraft 3 / Triggersы

5 вопрос это скрещивание итемов или сборка
Что я нашел в поиске об этом многократно задавали вопросы. Даже я искал. Возможно на хайве сможете найти

27

» Блог им. TerrorGold / Представление о маге

Есть мнение, что мужчина до старости не видя девушки, становится архимагом 999 lv
27

» Администрация XGM / Button "delete all messeges"

Можно было переписку сделать в виде чата? Напоминаю, что в нынешнее врем, это не как в прошлом посылали одно сообщение, и модем 124 кб/с принимал письмо с уолт-стрита
27

» WarCraft 3 / Система атаки не рабоатет

Надо норм систему урона делать. Этот даже при замахе лечить будет

Простой триггер, ты же сам же рандом Damage задаешь, и при этом удивляешься, что дамажит.
Первый момент, обрати на рандом:
Рандом между (-1.50 × DamageFull) and (1.50 × DamageFull)
Рандом гуляет между отриц и пол числом. Тут может попасть и не отриц значения.
Второй момент: Надо понять работает ли отриц значения как хилл, если нет, то надо как-то по-другому. Попробуй разные настройки дамага, типы итд.
ps не могу понять зачем дважды дамажишь, ну ладно.
Я помню, хилл в одной тд карте делали. Там давали пассив абилку (благословление элуны), которая снижает урон в процентах. Ей вот обратные проценты задаешь, и вместо урона, она хилит.
Проще, написать свою систему хила?