27

» WarCraft 3 / Рамки для фреймов из Steam

Наконец то))

В шаблонах-моделях указываем текстуру, так что ли?

все понял
27

» WarCraft 3 / Вычислительная геометрия

К сожалению, завершил. Не хватает места, не осталось тестов. И пр.
тесты с приложенным конспектом
учебник хороший по алгебре
полезная библиотека
ну и три оставшиеся задачи, которые не влезли
задача про Точки касания
Даны пять чисел: координаты центра окружности, ее радиус (в первой строке), координаты точки (во второй строке).
Выведите одно число K, равное количеству точек пересечения всевозможных касательных к окружности, проходящих через данную точку. Далее в K строках координаты самих точек пересечения касательных с окружностью.
Ввод
1 1 1
2 2
Ответ:
2 точки
1.0 2.0
2.0 1.0
Пересечение окружностей
Даны шесть чисел – координаты центров и радиусы двух окружностей окружности.
В случае если количество общих точек окружностей конечно, в первой строке вывести одно число K, равное этому количеству, далее в K строках координаты самих точек. Если указанных точек бесконечно много, вывести единственное число "3".
Ввод
2 3 1
3 2 1
Ответ:
2
3.0 3.0
2.0 2.0
решение приложено выше
Длина дуги
Даны семь чисел – координаты центра и радиус окружности (в первой строке) и действительные координаты двух точек на ней (во второй и третьей строке), с точностью до пятого знака после запятой.
Выведите одно число: длину меньшей из дуг окружности, заключенной между указанными точками.
Ввод
1 1 1
2.0 1.0
1.0 2.0
Ответ: 1.5707963267948966
остальное про многоугольник и пр в другом материале есть
27

» WarCraft 3 / автоматическое применение регенерации колодца после грейда

дебагом надо проверить когда здание появляется. при старте (когда ставят колодец строится) или при завершении.
В jass можно проверить запустить ли приказ. bool вернет либо true,false
Во втором скрине ошибка в условии, надо не matching unit. а trigger unit. И еще возможно нужна задержка 1.00 сек после стройки

все дебагом проверять надо. запускается ли у вас триггер. вы даже это не делаете

mayching unit это используется в фильтрах группы для отсева юнитов. только в функциях группы используется это
27

» WarCraft 3 / предметы и тип предмета

класс итемов - группа итемов разделяющая по классу. Для редактора объекта создан. Но можно использовать это для перегруппировки в своей карте. Пример, итемы складывающие в один стэк заряды - я бы перегруппировал в соответствующий класс.
тип предмета - номер ид. Номер типа. Это как если вам нужна молоко, идем в раздел молочный (класс). Видим там разные кефиры, молоко от разных компании типа "домик в деревни", "простоквашино" (типы). И находим полку с пакетами молока "Пискаревское" (предметы), берем один предмет и уходим. Дома выпиваем молоко, остается этикетка молока "Пискаревское"
В переменной хранится номер объекта. объект удален, номер остался? вам вернет nil, тк объекта уже нет.

кто
Помню на заводе по изготовление батунов. Меня как помощника конструктора заставляли делать разные вещи. Есть разные батуты, у них есть номера артикулов. Например, батут с мордой дракона с открытым ртом и изысканными перилами по боком и посередине горкой, или прыгающий батут с дельфином в 4 стенах.

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

» WarCraft 3 / Почему юнита не добавляет в группу

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

» WarCraft 3 / Почему юнита не добавляет в группу

rsfghd, ну обычно пихают юнита в группу для регистра события. забивают инфу, что на юните повешено событие и пр. тем более он BJ использует. хотя рефордж я же 😼
27

» WarCraft 3 / Почему юнита не добавляет в группу

условие кривое? зачем в нем такое странное условие. Укажите нужную группу takeGroupDamage. А не Bj-функцию. тем более она не логична
переменная takeGroupDamage инициирована? и группа takeGroupDamage эта создана?
27

» WarCraft 3 / Запрет на передачу дерева

xgm.guru/forum/showthread.php?t=26352 <= отключает полностью золото/дерево
помню что двумя строчками кода можно было отключать отдельные. нигде найти не могу.
27

» WarCraft 3 / Импорт не всех оконок в редакторе объектов отображается

  1. правильно импортировать иконки
  2. в РО после импорта не сразу отображаются, нужно сохранить карту. Потом перезагрузить карту/редактор. По идее это не так и страшно, главное, чтоб в игре отображались.
Все. не вижу ничего, чем можно еще подсказать.
27

» WarCraft 3 / Цветовая конвертация RGB <=> hex <=> dec

ошибка в
function rgba2hex(r, g, b, a)
  return string.format('%02x%02x%02x%02x', a or 255, r, g, b)
end
print(rgba2hex(0.5, 255, 255))
input:2: bad argument #3 to 'format' (number has no integer representation)
придеться также делить. а так я доволен. пробовал всякими способами забаговать функции. не получается
27

» WarCraft 3 / Цветовая конвертация RGB <=> hex <=> dec

PT153,
0.5 не конвертируется в целое число, поэтому возвращает nil.
почему? а вот lua demo 1.5 вернет 1. math.tointeger(float) не дружит с нулями
Для флоатов преобразование в 16-ричное не нужно.
а вдруг какой-нибудь идиот введет. плюс, в lua integer может легко превращаться в float, например, при арифметических операциях. у меня уже был опыт. например работа с хп
если не делать это, будет это ниже, типа у вас float:
input:11: bad argument #2 to 'format' (number has no integer representation)
типа этой функции string.format нельзя указывать 0.5, в то варемя как другие 1.5 , 20.7 и другие флоаты норм
27

» WarCraft 3 / Цветовая конвертация RGB <=> hex <=> dec

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

» WarCraft 3 / Цветовая конвертация RGB <=> hex <=> dec

PT153, огромный плюс тебе +
Не нужно, есть в самом луа (string.format).
local s = string.format("%x", 1) 
print(s)-- получается '1', а не '01'
другой случай
local s = string.format('%06x',1)
print(s) --получается '000001'
единственное, что float числа нельзя вставлять. нужно в math.tointeger(output)
local a = 1
local input = math.tointeger(0.5*a) --не знаю почему, но эта функция не выдает ноль. пример 0.5 => 0 целых

if input then
local output = string.format("%x", input )
print(output)
end
27

» WarCraft 3 / Цветовая конвертация RGB <=> hex <=> dec

ScorpioT1000, честно, я такое не понимаю =/.
Но Прометей мне показывал пример с байтами, но я уже забыл о чем там. но там точно должны нули 010101
код
	function IsFlagSet(flags, pos)
		if pos == nil then
			return false
		else
			return flags >> pos & 1 == 1
		end
	end
27

» WarCraft 3 / Цветовая конвертация RGB <=> hex <=> dec

x10azgmfx, зачем? тут и так все понятно.
www.lua.org/cgi-bin/demo --вот тут тестим функцию через print выводим
colorscheme.ru/color-converter.html --тут для непонятных =\
27

» WarCraft 3 / Голда в % за килл крипа в зависимости от кол-ва игроков

gold=goldcost/count
goldcost - награда за убийство юнита
count - кол-во игроков

Няпример, за убийство босса дали 200. В живых и присутствующих осталось 5 игроков из 12 игроков. 200/5=40 золота каждый получил
А проценты. Смотря от чего отталкиваетесь. Тут у вас на кол-во влияет. Ну смотри проценты можно играть так:
p=1+((max-current)/max)
max - макс число играющих игроков
current - текущее число игроков, оставшихся в живых на арене или присутствующие на арене.
p - процент
Нужно поделенную награду увеличить в процентах
40*(1+(12-5)/12)=76.66 золота каждый из выживших
27

» WarCraft 3 / Iris

Че то представлял немного постарше. Тут совсем девочка
27

» WarCraft 3 / Прокликивание фреймов

Такой функции нет в рефе (мб мемхаке есть). Чтобы область не прокликивалась, как вы и сказали: можно положить сверху фрейм. Клики тогда идут по фрейму. Backdrop не имеет никаких событии.
доп инфа: Фрейм можно отключить триггером, но с этим освобождается пространство, занимаемое фреймом. Обычно включенный фрейм занимает пространство, и работают различные события фрейма на занимаемую область. Клики идут по фрейму. Отключаешь, и это все в норму возвращается.