Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 (изменено) Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском.Возможно, ответ на Ваш вопрос уже есть.Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. Изменено 23 Февраля 2016 пользователем warwer 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Balavnik 58 Опубликовано 27 Января Поделиться Опубликовано 27 Января @Zander_driver можешь какой-нибудь гайд подсказать? Порылся в нете, потом в коде, и вроде ничего по существу не нашел. Человек измученный нарзаном. Ссылка на комментарий
Zander_driver 10 166 Опубликовано 27 Января Поделиться Опубликовано 27 Января Гайд по... передаче инфы в лог? стесняюсь спросить, а какой информации ты ждешь от такого гайда? Ответы на какие вопросы хочешь там найти? Я честно, без стеба или чего такого, не понимаю. Может быть, конкретизируй свой вопрос? printf(твое_сообщение) // или log(твое сообщение) // или log1(твое сообщение) // в OGSR почему-то называется так, или на худой конец console():execute('load ~~~'..твое сообщение) // так делали в древних модах на 1.0004 Вот и все, вроде бы. В консоли их тоже видно. Все 4 варианта. В коде любого мода и оригинала, примеров море. Какие вопросы здесь возникают? 1 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Colder 12 Опубликовано 27 Января Поделиться Опубликовано 27 Января Пытаюсь вернуть часть денег за покупку у торговцев. Но функция срабатывает со 2 покупри. Может кто посмотреть что не так. Скрытый текст function round(amount) return math.floor(amount + 0.5) end local actor_last_money = 0 function actor_binder:on_trade(item, sell_bye, money) if sell_bye == true then game_stats.money_trade_update(money) else game_stats.money_trade_update(-money) end if sell_bye then actor_last_money = db.actor:money() return end local function cashback() local money = db.actor:money() local cashback = round((actor_last_money - money) * 0.3) if cashback < 1 then actor_last_money = money return true end db.actor:give_money(cashback) local news_text = gts(tostring(cashback)) local msg = "\\n"..news_text db.actor:give_game_news(msg, "ui\\ui_iconstotal", Frect():set(581,376,83,47), 0, 10000) end end Ссылка на комментарий
Kirgudu 975 Опубликовано 28 Января Поделиться Опубликовано 28 Января @Colder 1. форматируй код так, чтобы закрывающий элемент был на одном уровне с открывающим. Трудновато читать твои примеры взглядом, лишний раз это делать не хочется. 2. Где вызывается функция cashback()? В какой момент? Ни малейших следов вызова не представлено, опять с тобой приходится играть в гадалки. 3. По существу: при первой итерации у тебя local actor_last_money = 0, поэтому ты сваливаешься в условие "if cashback < 1 then" со всеми вытекающими. 2 Инструмент Ссылка на комментарий
Balavnik 58 Опубликовано 28 Января Поделиться Опубликовано 28 Января @Zander_driver Видимо, я чего-то не догоняю, но не могу понять в какой лог printf выводит информацию. В логе _appdata_\logs\xray_user.log ничего не появилось после исполнения функции и выхода из игры. Человек измученный нарзаном. Ссылка на комментарий
Kirgudu 975 Опубликовано 28 Января Поделиться Опубликовано 28 Января @Balavnik именно в тот лог и выводит. А вообще, было предложено 4 варианта (3 без модифицированных движков), но вопрос почему-то возник только по одному из них. Остальные, видимо, не пробовал? В конце концов, если приспичило использовать именно printf, но штатный вариант по каким-то причинам не срабатывает, можно сделать переопределение самым топорным и древним вариантом, на который уже указывал @Zander_driver. local console printf = function(fmt,...) if not console then console = get_console() end console:execute("load ~:"..string.format(fmt,...)) end И добавить это в самый конец _g.script. 3 1 Инструмент Ссылка на комментарий
boneset-hq 3 Опубликовано 29 Января Поделиться Опубликовано 29 Января Гайс, ай хэв а проблемс. Заспавнил(через скрипт) я значит НПС, в деревне новичков. Всё прописал как надо, по народному. В spawn_sections.ltx прописал ему custom_data = esc_torgash.ltx, но она не работает. Персонаж тупо идёт в разрушенный домик, где толик должен сидеть, и стоит там. Диалоги тоже, от охранников из деревни новичков(что-то вроде "Меченый вали с глаз долой..."). Вероятно это происходит из-за "присасывания" к свободной работе в террейне. Но решения я так и не нашёл. Что бы ни делал, и террейн деревни удалял и много чего ещё. Хеелп! Вот из spawn_sections.ltx: Цитата [esc_torgash]:stalker $spawn = "respawn\esc_torgash" character_profile = esc_torgash spec_rank = regular community = stalker custom_data = scripts\esc_torgash.ltx Вот логика из esc_torgash.ltx: Цитата [logic] active = walker@torg [walker@torg] path_walk = walker_stay_at_position_walk ; path_look = walker_stay_at_position_look ; Эти строки взял на форуме в теме по созданию НПС meet = meet@start [meet@start] meet_state = 15|guard@wait meet_state_wpn = 15|backoff@threat_weap victim = 15|actor victim_wpn = 15|actor use = true use_wpn = false syndata = backoff@threat_weap meet_dialog = {-trader_shurik_start_end} trader_shura_start, hello_dialog 1 "Do you like what you see?" © Billy Herrington Ссылка на комментарий
imcrazyhoudini 177 Опубликовано 29 Января Поделиться Опубликовано 29 Января @boneset-hq надо запретить ему заходить в смарты. Это пишется в кастом дате персонажа в all.spawn, но никак не в ltx файле. То бишь надо написать: [smart_terrains] none = true ищу человека, который смог бы заняться разработкой погоды на OGSR. кто может помочь - пишите в ЛС. Ссылка на комментарий
boneset-hq 3 Опубликовано 29 Января Поделиться Опубликовано 29 Января @imcrazyhoudini Проблема в том что я спавню НПС через скрипт, поэтому в all.spawn у меня его нету. Другого способа нету? Или придётся мучиться с all.spawn'ом? "Do you like what you see?" © Billy Herrington Ссылка на комментарий
Zander_driver 10 166 Опубликовано 29 Января Поделиться Опубликовано 29 Января 4 минуты назад, boneset-hq сказал: я спавню НПС через скрипт И кастом-дату можно записать через скрипт. В OGSR напрямую, а в более древних движках через нетпакет. 1 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
CiberZold 137 Опубликовано 29 Января Поделиться Опубликовано 29 Января 2 часа назад, boneset-hq сказал: Или придётся мучиться с all.spawn'ом? а что там мучиться, если у тебя оригинал ТЧ стоит, берёшь распаковщик и разбираешь спавн ACDC, поправил и запаковал снова, с распаковкой спавна некоторых модов там где классы менялись да могут возникнуть проблемы, но ручками подправить файлы самого распаковщика надо будет, кстати там же в аллспавне и файлы вей-поинтов ,которые тебе тоже нужны будут, чтоб направить непися туда куда нужно path_walk и path_look, мучиться это если пересобирать и править кучу секций в спавне, а тебе пару строк поправить) Ссылка на комментарий
Stalkeruga_238 2 Опубликовано 29 Января Поделиться Опубликовано 29 Января (изменено) Вечер добрый, знает кто-нибудь как реализована визуальная отдача у оружия в моде AA 2.1? (тряска камеры с блюром) Изменено 29 Января пользователем Stalkeruga_238 Ссылка на комментарий
Stalkersof 88 Опубликовано 29 Января Поделиться Опубликовано 29 Января 50 минут назад, Stalkeruga_238 сказал: Вечер добрый, знает кто-нибудь как реализована визуальная отдача у оружия в моде AA 2.1? (тряска камеры с блюром) Смотри скрипт rx_shoot_enable.script Добавлено Купер, 30 Января Изучите "Правила цитирования". https://www.amk-team.ru/forum/topic/13514-obyavleniya/ 1 Ссылка на комментарий
Balavnik 58 Опубликовано 30 Января Поделиться Опубликовано 30 Января По какой-то неизвестной причине значение, аргумент npc некоторой функции kill1(npc) является nil, даже если я туда подаю second_speaker, зная, что он не равен nil. В чём может быть ошибка? Проблемы притягиваю со страшной силой... Человек измученный нарзаном. Ссылка на комментарий
Zander_driver 10 166 Опубликовано 30 Января Поделиться Опубликовано 30 Января 3 часа назад, Balavnik сказал: По какой-то неизвестной причине значение, аргумент npc некоторой функции kill1(npc) является nil А можно увидеть текст вылета? Что-то мне подсказывает, что причина его (вылета) немного в другом. Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Balavnik 58 Опубликовано 31 Января Поделиться Опубликовано 31 Января @Zander_driver Вот Скрытый текст function kill1(npc) --local npc = db.actor local a = vector() local pos = npc:position() local text local ab = 1 text = "load ~"..a.pos printm(text) npc:kill() end P.s. уже разобрался, что a.pos возвращает nil. Исправил. Однако появился новый вопрос - почему npc:kill() не убивает персонажа(Напр. Фаната) P.s.s. Извиняюсь за глупые вопросы, для меня эта тема особенно сложная. Человек измученный нарзаном. Ссылка на комментарий
mole venomous 3 006 Опубликовано 31 Января Поделиться Опубликовано 31 Января @Balavnik , потому что это не работает. 1 Здесь могла быть ваша реклама. Ссылка на комментарий
Zander_driver 10 166 Опубликовано 31 Января Поделиться Опубликовано 31 Января @Balavnik Ну давай разбираться. Скрытый текст function kill1(npc) --local npc = db.actor local a = vector() -- Ты же в курсе, что это просто пустой вектор, без значения? Ему ничего не присвоено. local pos = npc:position() -- Ок, тут у нас позиция нпс, ЕСЛИ npc - это клиентский объект (Такой метод емнип только там есть) local text -- Объявил переменную, ок. local ab = 1 -- Что это, зачем? Нигде не используется. text = "load ~"..a.pos --В векторе нет поля pos, поэтому естественно здесь будет nil. (А вылета concatenate string with nil тут не возникло? странно. Должно было вылететь здесь) --В векторах как правило есть поля x, y, z. НО, при условии что вектор имеет значение. Вектор a никакого значения не имеет, и пытаться его читать бессмысленно. printm(text) -- это своя обертка для вывода в лог? Ладно, ОК. Только выводится text который не содержит никакой полезной информации. npc:kill() -- А здесь у объекта npc вызывается метод kill. -- И здесь внимание. Результат зависит от того, ЧТО за объект ты передал в функцию. Вызываем-то у него. -- Если передал клиентский объект. То у него нет такого метода, и будет вылет attempt to call 'kill' a nil value. Или как-то так. -- Если же передается не клиентский объект, то у него не будет метода position и аналогичный вылет будет несколькими строками раньше. -- Подводя итог - определись, ты хочешь Фаната грохнуть в онлайне или в оффлайне. В зависимости от этого и выстраивать свои действия, с каким объектом работать. ЕМНИП, серверный метод kill не на всех версиях движков работает, мб дело в этом. end Полезно будет разобраться в различиях между клиентским и серверным объектом, разном ассортименте методов и возможностей у них. 2 2 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Norman Eisenherz 227 Опубликовано 31 Января Поделиться Опубликовано 31 Января Метод "убить" для онлайн-объектов требует записи жертва:kill(убийца), в противном случае не срабатывает. Если не хочется портить отношения с группировками, надо оформлять убийство NPC как суицид. Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
I am Dead 894 Опубликовано 2 Февраля Поделиться Опубликовано 2 Февраля 31.01.2024 в 19:12, Zander_driver сказал: Ну давай разбираться. И не лень расписывать это все?) Вопросы очевидные, тут документацию только читать, читать и еще раз читать. 1 1 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти