Андрій
Ааа, тогда понятно, спасибо огромное!
Андрій
Андрій
Андрій
грубо говоря всё слизал с гайдов, но что-то не работает, и ругается именно на конкомманд
Андрій
я пытался понять суть ошибки по докам но увы
Андрій
Понятное дело
Андрій
Ладно, спасибо тебе
Igor
Я как всегда с лёгким опозданием, но всё же... Работать всё должно, concommand.Add у меня на месте прекрасно вызывается.
Igor
Igor
Я бы мог предположить, что проблема возникает из-за неправильного места вызова функции, но насколько я помню, concommand.* это сишные функции и вгружаются они в стейт луёвый ещё даже до загрузки скриптов гейммода, так что ошибка с отсутствие таблицы concommand звучит очень странно. С gLua я не работал уже наверное года 2, но даже если заглянуть в код режима sandbox, видно, что при вызове concommand.Add из cl_init.lua всё работает хорошо.
Highly Likely
Снус не нужон.
Андрій
Pavel
народ, а какие тут правила по репосту статей?
Pavel
у меня коллега статью про луа на хабр написал, могу линкануть?
Pavel
спасибо! я что-то тупанул и забыл про закреп
от команды Tarantool свеженькое
Pavel
https://habr.com/ru/company/mailru/blog/493642/
Pavel
ребят - тут парней из юлы или озона случаем нет? или даже iponweb
Snusmumriken
Iponweb точно есть : )
Pavel
вчера в 16:20 мы заметили просадку трафика, мы так же видим похожую просадку на графиках еще одной компании в это же время. Хотелось узнать - есть ли схожее поведение у других?
Highly Likely
Емнип, из айпионвеб тоже мало осталось :)
Anonymous
Всем привет
Anonymous
Ребят, я с вопросом таким.
Anonymous
Есть файл (текст), нужно считать его содержимое как строку в переменную
Anonymous
getIds = io.open(gg.EXT_STORAGE.."/Android/data/"..env.packageName.."/files/ids")
io.input(getIds)
ids = io.read()
io.close(getIds)
Anonymous
Правильно ли я все делаю?
Anonymous
Работает как надо, но
Anonymous
В виртуальном пространстве (parallel space) выдает такую шляпу
Anonymous
Snusmumriken
local file = io.open(filename, "rb")
local data = file:read("*all")
file:close()
Anonymous
Спасибо большое. Проблема в другом оказалась...
Olegator
Всем привет
Можете подсказать как в C-API создать 3 таблицы, причём две из них должны быть вложены в первую? Может быть плохо гуглил, но ничего адекватного для себя не нашёл по этой теме.
Olegator
Причём вложенные таблицы имеют разные поля внутри
Snusmumriken
lua_newtable(L); // tbl1
lua_pushstring(L, "foo"); // tbl1, "foo"
lua_newtable(L); // tbl1, "foo", tbl2
lua_pushnumber(L, 1); // ..., tbl2, 1
lua_pushstring("bla"); // ..., tbl2, 1, "bla"
lua_rawset(L, -3); // tbl2[1] = "bla"
lua_rawset(L, -3); tbl1["foo"] = tbl2
lua_rawset(L, tbl_index) — присобачивает к таблице на tbl_index элементу, -2 элемент как ключ, и -1 как значение.
Snusmumriken
Ключ и значение могут быть любыми, таблицами-строками
Snusmumriken
Ну если совсем упростить то
lua_newtable(L);
lua_pushnumber(L, 1);
lua_newtable(L);
lua_rawset(L, -3); // tbl1[1] = tbl2
lua_pushnumber(L, 2);
lua_newtable(L);
lua_rawset(L, -3); // tbl1[2] = tbl3
Olegator
А возможно со стороны си сформировать такого вида таблицы?
tbl = {
tbl1 = {a = 1}, tbl2 = {b = 2}
}
Olegator
Чтобы обращаться по конкретному имени таблицы, а не по ключам
Snusmumriken
lua_newtable(L);
lua_pushstring(L, "tbl1"); ключ
lua_newtable(L); таблица-значение
lua_pushstring(L, "a"); ключ
lua_pushnumber(L, 1); значение
lua_rawset(L, -3);
lua_rawset(L, -3);
lua_pushstring(L, "tbl2");
lua_newtable(L);
lua_pushstring(L, "b");
lua_pushnumber(L, 2);
lua_rawset(L, -3);
lua_rawset(L, -3);
Olegator
Хм, а как при этом из си добавить функцию во вложенную таблицу (например в "а")?
Snusmumriken
lua_pushcfunction как значение.
Snusmumriken
Ключ-значение + rawset, это всё что тебе нужно
Anonymous
Еще хочу поделиться чуточкой счастья, это то, что я смог сделать мод на игру, которую хотел взломать уже очень давно(хайд онлайн). И у меня получилось. Самое большое меню на данный момент. Канал одноименный, но ссылку давать не буду,потому что могут предъявить за рекламу. Короче я опять рад.
Anonymous
Это просто минутка счастья. Кратковременный оффтоп. Я ушел и не буду вам мешать.
Snusmumriken
int lua_foo(lua_State * L){
float a = luaL_checknumber(L, 1);
float b = luaL_checknumber(L, 2);
lua_pushnumber(L, a + b);
return 1;
}
...
lua_newtable(L);
lua_pushstring(L, "summ"); //tbl.summ = lua_foo
lua_pushcfunction(L, lua_foo);
lua_rawset(L, -3);
Olegator
Olegator
ааа, заметил
Olegator
Большое спасибо за помощь
Snusmumriken
lua_setfield — это только tbl.key = value. Работает только со строками в качестве ключей.
Snusmumriken
rawset — универсален.
Snusmumriken
Можно и setfield'ом:
lua_newtable(L);
lua_pushcfunction(L, lua_foo);
lua_setfield(L, -2, "summ"); //tbl.summ = lua_foo
Но тут во-первых, вызываются метаметоды (что не очень хорошо у сложных классов), а во-вторых — только строки-ключи.
Olegator
Anonymous
Странно, что этот бот даже io . open считает за ссылку
Snusmumriken
Это не бот а телега. Телега парсит сообщения и создаёт сущности, в результате ботам достаточно посмотреть на список сущностей (ссылок/репостов/картинок/форматированного текста) сообщений и вынести вердикт. И бот ругается только на тех кто в чате меньше суток, тебе уже можно. io.open.
Snusmumriken
А Юлич прислала спам.
Anonymous
Snusmumriken
Но так мало кто делает.
Anonymous
sichuan
Vlad
Зачем два бота?
Anonymous
А я не бот
Anonymous
😂😂😂 1 апреля :)
Anonymous
Попытка н2😂
Anonymous
Хахах, да
Пример сложный в прошлый раз попался
Anonymous
Lua индексируется с единицы?
Но, насколько я знаю, аналог массива в Lua — это table.
Разве я не могу писать вот так:
table[0] = 1
table[1] = 4
table[2] = 9
?
Будет ли это считаться индексацией с нуля?
Ivan
можешь писать так
на второй вопрос не отвечу
можно еще и писать
table["z"] = 1
table[1] = 4
table[2] = 9
означает ли это что индексация с "z"?
fgntfg
хоть с -1
Anonymous
Мне просто непонятно, почему люди говорят, что Lua индексируется с единицы
Anonymous
Это соглашение какое-то?
fgntfg
но по умолчанию ты пишешь в 1ый элемент
Ivan
да
Ivan
прочитай пару глав из книги, все встанет на свои места
Anonymous
Т.е. если мне в личном проекте удобно начинать с нуля, то я могу?
Anonymous
Anonymous
Или имеется в виду любая книга
Ivan
Книги? Можно её?
Я вот про эту книжку https://www.ozon.ru/context/detail/id/135559046/
Anonymous
Спасибо
Стас
Ребята, есть возможность заказать Яндекс еду со скидкой 25%
Кому интересно - пишите
Стас
Бан так бан) никого обидеть не хочу
Просто предложил)
Стас
Увы, найти чаты в которых сидят люди и обсуждают скидки на заказ еды я не нашёл)