Artos 99 Опубликовано 27 Апреля 2013 Поделиться Опубликовано 27 Апреля 2013 (изменено) Callisto, ну если речь о защите от читеров, то не буду далее расспрашивать иль распространяться предположениями. ;-) Однако замечу, что штатными средствами игры твою защиту (даже ничего не зная о ней) реализовать по-сути невозможно. Реализация чита может быть очень маленькой и простенькой в использовании. А с учетом, что в наше время, при широких каналах, наличии торрентов и прочего, то даже перепакованный диск игры не помеха для читеров. Т.о. а, стОит ли заморачиваться и тратить свое время на это? (вопрос риторический и не требует ответа) Скорее вопрос: "а захочется ли кому-то ломать?" - более актуален. ;-) Изменено 27 Апреля 2013 пользователем Artos "Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени Ссылка на комментарий
panzyuza 41 Опубликовано 27 Апреля 2013 Поделиться Опубликовано 27 Апреля 2013 Есть ли какой нибудь код для более детального слежения за стеком движка или какие-нибудь функции, что бы контролировать наличие проблемных данных и следить за ними? AVS_LOCATION_MOD Ссылка на комментарий
АuReN 0 Опубликовано 27 Апреля 2013 Поделиться Опубликовано 27 Апреля 2013 Пытаюсь определить id машины актёра local oActorCar = db.actor:get_holder_class() local oCarId = oActorCar:id() Происходит вылет: FATAL ERROR[error]Expression : fatal error[error]Function : CScriptEngine::lua_error[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp[error]Line : 73[error]Description : [error]Arguments : LUA error: ...e.r. Тени Чернобыля\gamedata\scripts\bind_car.script:29: attempt to index a nil valuestack trace: Ссылка на комментарий
ColR_iT 171 Опубликовано 27 Апреля 2013 Поделиться Опубликовано 27 Апреля 2013 АuReN, я кончено извиняюсь, но разве get_holder_class возвращает объект машины? Разве эта функция не возвращает объект родительского класса? Да и вообще, каким образом машина может принадлежать ГГ? Ты что, её в рюкзак засунул? Ссылка на комментарий
АuReN 0 Опубликовано 27 Апреля 2013 Поделиться Опубликовано 27 Апреля 2013 (изменено) ColR_iT, Я пробовал применять две функции get_current_holder и get_holder_class, обе как написано на Stalker Inside, возвращают машину или стационарное оружие связанное с ГГ. Попытка определить id с помощью каждой из них вызывает вылет. Пробовал сделать object():id() для этих функций, что так же вызывает вылет. Может возвращает серверный объект? ColR_IT Изменено 27 Апреля 2013 пользователем ColR_iT Ссылка на комментарий
Malandrinus 615 Опубликовано 27 Апреля 2013 Поделиться Опубликовано 27 Апреля 2013 (изменено) АuReN, Пытаюсь определить id машины актёра local oActorCar = db.actor:get_holder_class() local oCarId = oActorCar:id() Происходит вылет: эта функция возвращает объект типа CHolderCustom, он же скриптовый класс holder (имя класса на самом деле не имеет значения, поскольку нигде явно не используется). Строго говоря, это клиентский класс, но не game_object, поэтому у него нет поля id. Кроме того. как ты делаешь делать нельзя. Если актор не в машине или не за станковыйм пулемётом, то get_holder_class() вернёт nil и вылет будет на следующей строке, но уже по другой причине. Кстати, судя по логу именно это и происходит. Что касается определения id машины, то без правок движка это делается достаточно хлопотно: надо перебирать машины и искать ту, в которой сидит актор, сравнением положения актора и машины. По крайней мере я других способов не знаю. С правками это можно сделать проще. Изменено 27 Апреля 2013 пользователем malandrinus Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
АuReN 0 Опубликовано 27 Апреля 2013 Поделиться Опубликовано 27 Апреля 2013 (изменено) malandrinus, А что тогда с функцией get_current_holder? Работает ли она? Изменено 27 Апреля 2013 пользователем АuReN Ссылка на комментарий
panzyuza 41 Опубликовано 27 Апреля 2013 Поделиться Опубликовано 27 Апреля 2013 (изменено) АuReN Как вариант, можно весь автотранспорт биндить отдельно. И через биндер машин на апдейте отслеживать расстояние. Скажем, 1.5 . В случае совпадения дистанций занести ИД машины в хранилище автотранспорта или же ( не знаю точно, работает ли коллбек юзания на машинах) через коллбек. malandrinus, А что тогда с функцией get_current_holder? Работает ли она? Про правила цитирования забывать не нужно. ColR_iT Изменено 27 Апреля 2013 пользователем ColR_iT AVS_LOCATION_MOD Ссылка на комментарий
АuReN 0 Опубликовано 27 Апреля 2013 Поделиться Опубликовано 27 Апреля 2013 panzyuza, В данный момент я так и делаю. В биндере проверяю дистанцию и произвожу действие. Но например для БТР'а необходимо, в отличии от других машин, ставить дистанцию около 5 метров, т.к. позиция кабины далека от центра машины. А в этот радиус могут попасть и другие машины. Вот я и ищу лучшее решение этой задачи. Ссылка на комментарий
panzyuza 41 Опубликовано 27 Апреля 2013 Поделиться Опубликовано 27 Апреля 2013 (изменено) panzyuza, В данный момент я так и делаю. В биндере проверяю дистанцию и произвожу действие. Но например для БТР'а необходимо, в отличии от других машин, ставить дистанцию около 5 метров, т.к. позиция кабины далека от центра машины. А в этот радиус могут попасть и другие машины. Вот я и ищу лучшее решение этой задачи. Тогда коллбек юзания. Других вариантов нет. Как хочешь... ColR_iT Изменено 27 Апреля 2013 пользователем ColR_iT AVS_LOCATION_MOD Ссылка на комментарий
Malandrinus 615 Опубликовано 27 Апреля 2013 Поделиться Опубликовано 27 Апреля 2013 АuReN, что тогда с функцией get_current_holder? Работает ли она? О, кстати я ошибся в предыдущем посте. Функция get_holder_class() возвращает этот же объект, но сконвертированный в тип holder.Т.е. её надо вызывать для машины, и она вернёт машину же, но в виде класса holder. А вот get_current_holder() как раз вызывается для актора и возвращает машину/пулемёт, в которой он сидит, или nil. Вот жаль, что нельзя править посты. Как всё неудобно стало. Кстати, в качестве идеи. Можно попробовать сравнить сами объекты холдеров, тот, что получен у актора и тот, который получен из машины. Я сейчас попробовать не могу, но есть некая вероятность, что это может сработать. Если сработает, то тогда всё равно надо перебирать машины, но не придётся мудрить с расстоянием до актора. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Transcend 0 Опубликовано 27 Апреля 2013 Поделиться Опубликовано 27 Апреля 2013 Ребят, за что отвечает вот этот код ? local bufferedmessages={} function mylog(msg)endfunction dbglog(fmt,...)local msg = string.format(fmt, ...)local msg_no_ws = string.gsub(msg, "%s", "_")get_console():execute("dbg:" .. msg_no_ws)end Ссылка на комментарий
panzyuza 41 Опубликовано 27 Апреля 2013 Поделиться Опубликовано 27 Апреля 2013 Transcend, она служит для вывода отладочных сообщений в лог. AVS_LOCATION_MOD Ссылка на комментарий
Transcend 0 Опубликовано 29 Апреля 2013 Поделиться Опубликовано 29 Апреля 2013 (изменено) Здравствуйте , "ковырял скрипты" наткнулся на такое : -- Сохраняем данные об отключенном вводе if self.st.disable_input_time == nil then packet:w_bool(false) else packet:w_bool(true) ---- fixed by Kamikazze utils.w_CTime(packet, self.st.disable_input_time) end -- Сохраняем данные об отключенном вводе if self.st.disable_input_time == nil then packet:w_bool(false) else packer:w_bool(true) utils.w_CTime(packet, self.st.disable_input_time) end Строчка кода packer:w_bool(true) должна быть профиксена так packet:w_bool(true) ?? Я так понял это была синтаксическая ошибка кода, верно ? Если нет поправьте. Всё верно. ColR_iT Изменено 29 Апреля 2013 пользователем ColR_iT Ссылка на комментарий
VovanDolg 1 Опубликовано 30 Апреля 2013 Поделиться Опубликовано 30 Апреля 2013 (изменено) Это где ты такую ошибку нашел в оригинале или в моде каком, или сам делал и допустил?А то мне может пригодится!Поиск по слову "packer" в папке script выдаёт единственный результат.Научись пользоваться поиском - очень полезная вещь, которая оградит тебя и нас от подобных вопросов.ColR_iT Изменено 30 Апреля 2013 пользователем ColR_iT Ссылка на комментарий
Extasy 0 Опубликовано 2 Мая 2013 Поделиться Опубликовано 2 Мая 2013 Здравствуйте, ув. мододелы, столкнулся тут с проблемой, весь форум перерыл, но не нашел ответ..(а ведь помню где-то это уже обсуждалось)...вообщем ситуация такова, хочу узнать как записывается уловия ранга... пример, если у ГГ ранг 300, то срабатывает инфопоршень и появляется диалог, если нет, то условие зацикливается.. Могу предположить что, код будет вот такого вида, но честно сказать...не особо понимаю, тут приравнивание ранга идет, как я понял к неписю, а как по той же схеме сделать проверку на ранг ГГ? rank = n_rank --nepis.character_rank () if n_rank == nil then n_rank = math.random(1, 9)*100 end if n_rank <= 300 then db.actor:give_info_portion("cit_fail_first_task1") elseif n_rank <=600 then db.actor:give_info_portion("cit_fail_first_task2") elseif n_rank <= 900 then db.actor:give_info_portion("cit_fail_first_task3") end И ещё непонятно выражение "nil" это что-то по поводу 0?... Буду признателен если поможете Спасибо! Ссылка на комментарий
Unnamed Black Wolf 4 Опубликовано 2 Мая 2013 Поделиться Опубликовано 2 Мая 2013 (изменено) ranks.get_obj_rank_name(db.actor) ? db.actor:ranks() ? Изменено 2 Мая 2013 пользователем Unnamed Black Wolf Ссылка на комментарий
Снайпер56 2 Опубликовано 7 Мая 2013 Поделиться Опубликовано 7 Мая 2013 Всем привет, я давно где то на форуме видел функцию спавна НПС где сразу прописывается логика. Вот что то похожее на это: function borland_spawn() local obj = alife():create("borland",vector():set(24.034,16.555,677.921),303261,208) cfg\\= ВОТ ЭТА ВОТ СТРОЧКА CFG Я НЕ ЗНАЮ КАК ПРАВИЛЬНО ПИШЕТСЯ local tbl = amk.read_stalker_params(obj) tbl.sid = 97125 amk.write_stalker_params(tbl, obj) end Будьте добры, покажите пожалуйста мне эту функцию. АМК..1.4.1..+..Народная..Солянка..от..19.04.10..дополнение..14.08.10..+..патч..3.09.10..+..DMX..1.3.5..+..ADDON..BY..SARUMAN Ссылка на комментарий
Капрал Хикс 524 Опубликовано 7 Мая 2013 Поделиться Опубликовано 7 Мая 2013 @Снайпер56, function spawn_npc() local obj = alife():create("clear_sky_1",vector():set(-133.097,1.284,-277.065),79374,3377) local params = amk.read_stalker_params(obj) params.custom = "[logic]\ncfg = scripts\\new\\clear_sky_1.ltx" - путь к файлу логики НПС и имя самого файла.лтх amk.write_stalker_params(params,obj) end Ссылка на комментарий
Alex535 1 Опубликовано 8 Мая 2013 Поделиться Опубликовано 8 Мая 2013 Вопрос такой. Хочу отыскать скрипт, в котором прописано действие на Актора пси-излучение при Контролёре. Хочу понять, какой тип хита используется, найти там используемые эффекты и анимации. Не подскажете, где это можно найти? 1 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти