Egor
Snusmumriken
Я уже пишу торговых ботов для path of exile. Правда, на ahk.
Egor
О! Сработала.
Egor
А работал кто с географическими координатами ? )
🐅🤦♂️
Egor
🐅🤦♂️
я в такие игры пока не играю, сорян)
Egor
🐅🤦♂️
ты лучше сформулируй заранее вопрос и сразу спрашивай.
🐅🤦♂️
Это сложно, возможно пока ты писать будешь, сам разберешься и вопрос исчезнет.
Egor
Подскажите пожалуйста, можно ли найти угол между двумя точками в географических координатах?
Известны координаты объекта, координаты места назначения, вектор гравитации направленный вниз,
вектор направленный вперед, вверх и направо от объекта в географических координатах с указанием высоты Z, известно текущее положение относительно плоскости планеты (pitch, roll).
В идеале нужно повернуть объект в сторону места назначения, но не прямо а с учетом плоскости планеты. Т.е. хочу потом получить автопилот.
Snusmumriken
Разумеется можно.
Сначала упрости задачу до двухмерного случая, потом расширишь до трёхмерного.
По минимуму, тебе нужны мировые координаты, координаты планеты, координаты игрока и координаты точки назначения, дальше балуйся.
Egor
Egor
точнее... я знаю свои мировые координаты и локальные. А места назначения нет, только локальные (если конечно заранее не сохранил)
Snusmumriken
Локальные — относительно планеты?
Snusmumriken
Плохо. Географических мало. С радиусом планеты (или альтитуды) — ещё куда ни шло.
Snusmumriken
Для каждой планетки придётся её облетать.
Egor
радар - модуль отдельный
Egor
а нельзя универсальную формулу вывести? и потом просто подставлять нужные данные?
Snusmumriken
Ну, радиус технически можно вычислить, пролетев N метров вперёд, стартуя от нулевой точки (или с альтметром), посмотрев, на сколько изменились широта/долгота.
Egor
Egor
если радиусы около 65 км
Snusmumriken
Зависит от точности, с которой ты планируешь приземляться, если планируешь ))
Snusmumriken
Вот это вот "полетел бы в нужную сторону" — это как? Тут надо нос вниз править из-за круглости планеты?
Snusmumriken
Потому что "полетел в нужную сторону" — это как на моей последней картинке, без поправок на скругления.
Egor
Snusmumriken
Корабли чо, пикировать пытаются?
Snusmumriken
Ууу, карочи в это надо играть. Но в целом, тут простейшая стереометрия, но часть данных придётся добирать.
Egor
отличная была гифка =)
Super
я вот не понимаю, а почему такие важные функции как array_shuffle, explode и т.д. не могут просто включить в луа?
Super
почему каждый раз их нужно писать самостоятельно?
Serezha
Луа - встроенный язык, нельзя было раздувать стандартную библиотеку без причины
Super
было бы удобно конечно, если бы можно было что-то вроде расширенной луа устанавливать, где есть все
Super
чтобы был полноценный быстрый язык
Super
хотя конечно можно и так делать
mva
mva
важное - это то, что нельзя имплементировать самостоятельно (в дополнение к тому, что без этого ну вообще никак)
mva
для всего остального есть мастеркард^Uвсё остальное можно подключить внешней либой
mva
это же тебе не питон
mva
Python trying to give you as much as possible, while Lua tries as less as possible (cc) Matthew Wild
Anton
подскажите плиз, как мне распечатать значение table - со всеми вложенностями
Anton
int i;
int top = lua_gettop(l);
printf("total in stack %d\n",top);
for (i = 1; i <= top; i++)
{ /* repeat for each level */
int t = lua_type(l, i);
switch (t) {
case LUA_TSTRING: /* strings */
printf("string: '%s'\n", lua_tostring(l, i));
break;
case LUA_TBOOLEAN: /* booleans */
printf("boolean %s\n",lua_toboolean(l, i) ? "true" : "false");
break;
case LUA_TNUMBER: /* numbers */
printf("number: %g\n", lua_tonumber(l, i));
break;
default: /* other values */
printf("%s\n", lua_typename(l, t));
break;
}
printf(" "); /* put a separator */
}
printf("\n"); /* end the listing */
Anton
так есть, но таблицы не отображает
mva
google://lua table pretty print
mva
тысячи вариантов
mva
начиная от пародии на print_r, через penlight'овый костыль, заканчивая всякими сериализаторами
Anton
спасибо, только я вариант искал со стороны C++, на луа да - находил
Snusmumriken
Ну ты можешь найти луёвую функцию, экспортировать её и дёрнуть с плюсовой стороны. Это не очень быстро, но зато типа без особой мороки.
Egor
Скажите, я так и не понял толком, пенлайт - это какой-то набор мини-утилит?
Snusmumriken
Это здоровенный набор связанных между собой библиотек (и это мне в нём как раз не шибко нравится, дофига зависимостей), хорошо хоть на pure lua.
Snusmumriken
А, итераторы по директориям, например, там через lfs, это тоже не очень круто. Но сам набор либ ничо так.
Egor
Snusmumriken
Например, для работы с xml, шаблонизаторства (там же можно выводить текст?) и ещё кучки всего. Но в основном для комфорта.
Egor
Ведь в теории, string.format() достаточно же для простого форматирования (шаблонизаторства) текста?
Snusmumriken
Ну типа. Я ещё писал самый простой в мире шаблонизатор, примерно такой:
function t(tmpl, tbl)
local function replace(c)
return tbl[c] or '{' .. c .. '}'
end
return tmpl:gsub('{(.-)}', replace)
end
local tmpl = "Hello {bla}!"
local str = t(tmpl, {bla = 'World'})
-->"Hello World!"
Snusmumriken
Но там шаблонизатор сложнее и гораздо мощнее.
tmpl = [[
<ul>
# for i,val in ipairs(T) do
<li>$(i) = $(val:upper())</li>
# end
</ul>
]]
Туда можно пихать луёвый код на манер inline php. Это, правда, частично способствует макаронности и турдукеновости.
Egor
@Snusmumriken случайно нет никого, кто бы помог мне с моим вопросом, насчёт географических координатов, автопилота и иже с ними
Snusmumriken
Мне надо загамать чтобы нормально помочь. У игры есть форум? Должен быть ))
Egor
Акк все равно не угнать, так как мейл не меняется:(
Egor
😂
Egor
И вдруг понравится и купишь себе сам ;)
Egor
Также могу скинуть документацию.
Snusmumriken
Да я уже смотрю доку, чиста па преколу
Egor
Где ты доку откопал?
Egor
Оно же в нда
Egor
Конечно, наши зарубежные друзья выложили на форуме. Но хм, оно вроде не индексируется
Snusmumriken
Ты плохо знаешь мои поисковые способности ))
Egor
А. он есть в выдаче, один из первых =)
Egor
но он кажется не обновлялся давно
Snusmumriken
Да тут ещё и форум ))
Snusmumriken
https://board.dualthegame.com/index.php?/topic/314-devblog-lua-scripting-and-distributed-processing-units-dpus/
Но тут больше принцип и организация а не конкретная дока, и да, довольно старое, надо глянуть более новое.
Egor
https://eisengrind.de/forum/thread/103-lua-element-api-documentation/
Snusmumriken
Ну это я тоже нашёл, не важно