anton
в "моём" проекте разница если лезешь или не лезешь в хедер может составлять 10-15 минут сборки
anton
А баги есть?
не понял
LISP
не понял
Что можно словить, кроме долгой сборки?
anton
Что можно словить, кроме долгой сборки?
я не большой спец, ну например статическую функцию не объявишь, чтоб она была видна только реализации
anton
Неприятно, но терпимо.
сходи на супапро, если очень интересно, там объяснят
Anonymous
Всем привет парни
Anonymous
Сильно не ругайтесь Я новичек... Появилась нужда перенести часть кода на сервер (аки библиотека) содержащая функции и переменные, и потом использовать его в скрипте.
Anonymous
С переменными то понятно все ,а вот с функциями вопрос
Anonymous
Как мне подрубить их к коду?
Anonymous
Можно конечно так
Anonymous
local lib = gg.makeRequest('адрес').content local file = io.open(gg.EXT_FILES_DIR..'tmp', "w") file:write(lib) file:close() dofile(lib)
Anonymous
Но хотелось бы обойти этап записи в файл
Anonymous
Можно ли создать массив с функциями и затем использоват фкнкции из него? Если да ,то дайте пример плиз
Snusmumriken
Ты хочешь цеплять луа-библиотеку с сайта?
Snusmumriken
И зачем тебе это? ))
Snusmumriken
Ты хочешь сделать подписку на свои хаки? ))
Anonymous
Со своего сервера
Anonymous
Есть системные функции для каждого скрипта
Anonymous
И бывает нужно что то поправить
Snusmumriken
Ненене, просто так, абстрактно, по желанию левой пятки, подобные затеи не появляются.
Snusmumriken
Ну ты такой возьмёшь, поправишь и зальёшь новую версию скрипта хака.
Anonymous
И после этого разослать всем обновленные версии скриптов. Что занимает массу времени. Что бы этого избежать,проще подрубить один файл с сервера к скрипту и в нем вносить правки
Snusmumriken
У твоего хака много пользователей?
Anonymous
Около 50
Anonymous
И 11 скриптов на данный момент
Snusmumriken
Жуть какая.
Snusmumriken
Самое простое — local lib = gg.makeRequest('адрес').content loadstring(lib) Но это лишняя уязвимость ))
Anonymous
Да я знаю о уязвимостях
Anonymous
Всеравно врядли кто то будет ломать что то
Anonymous
Им по пол дня объясняешь как запустить скрипт...
Snusmumriken
Но.
Snusmumriken
Что твои пользователи будут делать, если твой сайт упал? Или если у них нет интернета в данный момент?
Snusmumriken
Поэтому придумай как сделать работающий вариант, который будет работать в том числе без интернета и с падениями сайта. Это где-то пятнадцать строчек кода.
Anonymous
Нет такой функции...
Snusmumriken
Ооо
Anonymous
Сделано для защиты от распостранения
Anonymous
И сбора аналитики. Детский вариант конечно, но мои потребности удовлетворяет пока
Snusmumriken
Тогда load(lib)
Anonymous
Anonymous
Нет...
Anonymous
local lib = gg.makeRequest(adr).content load(lib) print(str)
Snusmumriken
Ну и чего?
Anonymous
У lib пока содержание только одна строка
Snusmumriken
Ты сделал print(str), это nil.
Anonymous
str = 'Hi!'
Anonymous
Через запись и dofile работает
Snusmumriken
Ой всё, тогда load(lib)()
Anonymous
Так работает)
Anonymous
Спасибо
Snusmumriken
Кароч. Первая часть load(lib) превращает кусочек строки с кодом в функцию. Если не получилось (в строке с кодом ошибки) — оно вернёт nil и ошибку. Если норм — вернёт функцию типа function() chunk_of_your_code end, которую уже можно вызвать вторыми скобочками.
Snusmumriken
Require и dofile делают то же самое, кстати, только в один этап.
Anonymous
Ну вот со вторыми скобками конечно пока смутно .. попробую разобраться и почитать еще
Anonymous
В любом случае спасибо за направление
Snusmumriken
function loadsource(code_string) return assert(load(code_string))() end Вот тебе функция которая делает то же самое, в один этап, и с выдачей ошибок в т.ч. в синтаксисе.
Anonymous
Пошел пробовать) спасибо
usernameak
Ну по себе не ровняйте
я как раз так никогда не делал)
usernameak
просто другой логики в твоих действиях не вижу
Anonymous
я как раз так никогда не делал)
Ну вот и не надо о других так думать
usernameak
я как раз так никогда не делал)
но мне пытались не один раз
Anonymous
просто другой логики в твоих действиях не вижу
Я уже писал выше зачем это нужно. То ли мне обновлять 50 юзерам по 11 скриптов Каждый подписывать,шифровать и заливать им в папки, то ли обновить на сервере это все
Anonymous
Вопрос в другом
mva
а с твоим способом я находясь в одной локалке с любым из пользователей легко засуну ему троян
mva
.
"новичок" и "50 пользователей" как-то плохо сочетаются между собой
mva
а ещё готов поспорить, что твоя защита от распространения - хрень на постном масле и не стоила потраченных на её запиливание сил
Anonymous
а с твоим способом я находясь в одной локалке с любым из пользователей легко засуну ему троян
Троян под андроид,под gameguardian? Ну смешно честно. Сам гг во первых жестко ограничивает такие действия
Anonymous
Но тем не менее мои потребности удовлетворяет
Anonymous
И она не столько для защиты как для контроля
Anonymous