Svoboда 3 Опубликовано 23 Апреля 2009 Поделиться Опубликовано 23 Апреля 2009 Тема для обсуждения скриптов всего и всех в серии игр STALKER. Задавая вопрос (!): 1. Внимательно изучите суть вопроса. Вопрос должен соответствовать выбранной Вами темы. Это поможет сохранить порядок и читабельность темы, а также облегчит поиск и понимание сего; 2. Изучите то, что уже есть в теме (пролистайте "руками", воспользуйтесь поиском на форуме); 3. Изучите информацию которая может вам помочь: Stalkerin. Там есть много хороших статей касательно данной темы.Уроки по модостроению. Есть рабочие примеры готовых скриптов различного назначения. Справочное руководство по языку Lua 5.1https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/ruСправочник по функциям и классам. Собрано много информации по функциям и классам, не всем, но по основные сведения предоставлены. Логика со вступлением и четырьмя частями: ВступлениеЧасть перваяЧасть втораяЧасть третьяЧасть четвертая. Smart_terrain (в простонароде - гулаг)Интересный способ настроики логики для гулаговСкриптовая часть игровой логики 4. Дабы не превращать обсуждение в "кашу" разной информативной направленности, задавайте несколько вопросов по порядку (в разных постах) после того, как получите ответ на предыдущий вопрос; 5. "Спасибо" и тому подобное - будьте так любезны в ПМ. Если не любите писать в ПМ, в конце вопроса напишите фразу: "Заранее спасибо!" - или что-то в этом духе; 6. ПОЖАЛУЙСТА! Указывайте, для какой игры Вам необходима информация (ТЧ, ЧН, ЗП), если стоит мод - укажите название мода; 7. Если Вы что-то сделали и результат не такой, какой Вами задумывался, то, пожалуйста, приводите коды которые Вы изменяли/писали целиком! Это поможет другим правильно ответить на Ваш вопрос, а также оградит Вас от лишней писанины. 8. Оформляйте сообщение. Пользуйтесь тегами для того, чтобы отделить код от текста. Пишите грамотно - ПОЛЬЗУЙТЕСЬ ЗНАКАМИ ПРЕПИНАНИЯ. 9. И помните: «Правильно заданный вопрос – половина ответа». Какие вопросы следует задавать, а какие нет... Задавайте вопросы, которые касаются непосредственно скриптов и их работы, т.е. Вы что-то делаете, а у Вас что-то не получается, при этом у Вас на руках должен быть хотя бы какой-то код, свидетельствующий о Вашей причастности к вопросу. Вопросы которые будут удалятся, следовательно их задавать не нужно:-- Где находится та или иная функция? Для ответа используем поиск по словам среди файлов оригинальной игры или мода, если объект поиска относится к нему, при помощью программы, которая Вам наиболее симпатизирует;-- Как сделать что-то/то-то? С подобными вопросами, либо в "ковырялки", где Вам вероятнее всего так же не ответят, либо выдвигаем мысли, подкреплённые теорией, практикой (идеальный вариант) и здравым рассудком;-- Вопросы со смыслом: "сделайте", "совместите" и подобными глаголами повелительного наклонения.-- К тому же удалению будут подвергаться вопросы, в которых масштабно не используются теги, для отделения кода и цитат от основного текста, а также не вписан в спойлер код размером превышающие семь строк.Ответ на возможно возникший вопрос: В какую тему можно обратиться по поводу логики и спавна объектов? В тему "ковырялок" соответствующей версии игры, для которой Вы задаёте вопрос. И последнее: очень рекомендовано к прочтению Правила форума 1 2 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/
CRAZY_STALKER666 36 Опубликовано 6 Июля 2016 Поделиться Опубликовано 6 Июля 2016 @Nazgool, да, спасибо поставил. И да, разобрался, что это уникальный id. Выше постом расписали... За динамическое хранилище отдельное спасибо, всё прекрасно работает! Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/381/#findComment-1023707
Kober(BRUC) 99 Опубликовано 6 Июля 2016 Поделиться Опубликовано 6 Июля 2016 (изменено) Добрый день. Могут ли скрипты взаимодействовать с инфо поршнями? Например(извиняюсь что в таком виде, с телефона сижу): function функция_1() if инфо_поршень then функция_2() else функция_3() end function функция_3() инфо_поршень print("это пример") end function функция_2() print("еще пример действия") end Или можно переменные выдавать за место инфо поршней? Я пробовал в функции выдавать локальную переменную, но она работала только в этой функции. З.ы. Модераторы, исправьте пожалуйста вид сообщения, если не сложно.. Изменено 6 Июля 2016 пользователем Kober(BRUC) Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/381/#findComment-1023708
CRAZY_STALKER666 36 Опубликовано 6 Июля 2016 Поделиться Опубликовано 6 Июля 2016 @Kober(BRUC), всё очень просто! if db.actor:dont_has_info("bar_anom_spawn") then -- проверка на то, что поршня НЕТ --- end if db.actor:has_info("pass_true") then -- проверка на то, что ЕСТЬ. Полный код: if db.actor:has_info("pass_true") thenфункция_2()elseфункция_3()endfunction функция_3()db.actor:give_info_portion("gar_art_spawn") -- выдача поршняprint("это пример")endfunction функция_2()print("еще пример действия")end 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/381/#findComment-1023712
Kober(BRUC) 99 Опубликовано 6 Июля 2016 Поделиться Опубликовано 6 Июля 2016 @CRAZY_STALKER666, а без инфо поршней все таки можно? С помощью переменных например? Что бы не только в Сталкере работало. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/381/#findComment-1023713
Dennis_Chikin 3 664 Опубликовано 6 Июля 2016 Поделиться Опубликовано 6 Июля 2016 (изменено) if db.actor:has_info( "инфо" )... актор при этом, естественно, должен быть. А смысл такие посты с телефона набирать ? С какими, простите, переменными ? И зачем ? И что значит - "не только в сталкере" ? Изменено 6 Июля 2016 пользователем Dennis_Chikin Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/381/#findComment-1023714
CRAZY_STALKER666 36 Опубликовано 6 Июля 2016 Поделиться Опубликовано 6 Июля 2016 @Kober(BRUC), local x = 1 if x == 1 then end Если я тебя правильно понял, то вот... Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/381/#findComment-1023715
Outlaw 85 Опубликовано 7 Июля 2016 Поделиться Опубликовано 7 Июля 2016 Дурацкий вопрос, но спрошу. Добавил в "Radiation mod of foods" для зп соответствующее сообщение при окончательной (сильной) порче еды.Так как со скриптованием у меня плохо первый раз вставил команду не туда и сообщение после первой отправки начинало отправятся игроку бесконечное количество раз. со второй попытки получилось - но беда, при порче, например, 6 единиц - приходит 6 раз и тд. Помогите исправить... function spw_rad_high_food() if interval < time_global() thendb.actor:iterate_inventory(function (dummy,item)if items_rad_high[item:section()] thenthis.del_item(item)this.spawn_item(tostring(item:section().."_high"))news_manager.send_tip(db.actor, game.translate_string("tag_bad_food_tip")) (!!!вот кусок который добавил)endend, nil)interval = time_global() + 2000endend Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/381/#findComment-1023912
Serge! 127 Опубликовано 7 Июля 2016 Поделиться Опубликовано 7 Июля 2016 (изменено) Помогите исправить... Может так? function spw_rad_high_food() if interval < time_global() then local st = true db.actor:iterate_inventory(function (dummy,item) if items_rad_high[item:section()] then this.del_item(item) this.spawn_item(tostring(item:section().."_high")) if st then news_manager.send_tip(db.actor, game.translate_string("tag_bad_food_tip")) (!!!вот кусок который добавил) st = false end end end, nil) interval = time_global() + 2000 end end Изменено 7 Июля 2016 пользователем Serge! Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/381/#findComment-1023927
Outlaw 85 Опубликовано 7 Июля 2016 Поделиться Опубликовано 7 Июля 2016 @Serge!, не помогло. Оно ведь, судя по всему, работает циклично и заменяет предметы на порченые по одному. В конце функции заменяет одну "conserva_rad_average" на "conserva_rad_high", принимает "st = false", вроде сообщение уже не должно появится, переходит к следующей "conserva_rad_average" и снова - "local st = true" и по новой. По идее надо как то так: 1. Функция "Проверка условий(наличие продуктов и нужной радиации)" запуск 2. 2. Отдельная промежуточная функция на отправку одного сообщения, запуск 3. 3. Функция замены продукт_rad_average на продукт_rad_high. вот весь файл. ----------------------------------------------------------------------------------------------------------- -- Script: rad_items.-- Description: Scripting system of food contamination by radiation.-- Author: Tris.-- Version: 0.1.-- Date: 15.12.2011.-- Recent changes: 17.12.2011***12:34.-----------------------------------------------------------------------------------------------------------local items = {bread = true,kolbasa = true,conserva = true,}local items_rad_average = {bread_rad = true,kolbasa_rad = true,conserva_rad = true,}local items_rad_high = {bread_rad_average = true,kolbasa_rad_average = true,conserva_rad_average = true,}function rad_food()if db.actor.radiation >= 0.2 thenspw_rad_food()endendfunction rad_average_food()if db.actor.radiation >= 0.4 thenspw_rad_average_food()endendfunction rad_high_food()if db.actor.radiation >= 0.6 thenspw_rad_high_food()endendlocal interval = 0function spw_rad_food()if interval < time_global() thendb.actor:iterate_inventory(function (dummy,item)if items[item:section()] thenthis.del_item(item)this.spawn_item(tostring(item:section().."_rad"))endend, nil)interval = time_global() + 2000endendlocal interval = 0function spw_rad_average_food()if interval < time_global() thendb.actor:iterate_inventory(function (dummy,item)if items_rad_average[item:section()] thenthis.del_item(item)this.spawn_item(tostring(item:section().."_average"))endend, nil)interval = time_global() + 2000endendlocal interval = 0function spw_rad_high_food()if interval < time_global() thendb.actor:iterate_inventory(function (dummy,item)local st = trueif items_rad_high[item:section()] thenthis.del_item(item)this.spawn_item(tostring(item:section().."_high"))if st thennews_manager.send_tip(db.actor, game.translate_string("tag_bad_food_tip")) -- (!!!вот кусок который добавил)st = falseendendend, nil)interval = time_global() + 2000endendfunction spawn_item(item)alife():create(item, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())endfunction del_item(item)local obj = alife():object(item:id())alife():release(obj, true)end------------------------------------------------------------------------------------------------------------- Не удаляйте копирайды, указывайте настоящего автора(ов)-- и не выдавайте чужие идеи и их реализацию за свои. Ведь это элементарная-- этика модостроителей! Спасибо за понимание.----------------------------------------------------------------------------------------------------------- Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/381/#findComment-1023937
naxac 2 571 Опубликовано 8 Июля 2016 Поделиться Опубликовано 8 Июля 2016 @Outlaw, ты не так скопировал. local st = true должно быть выше db.actor:iterate_inventory. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/381/#findComment-1024077
Outlaw 85 Опубликовано 8 Июля 2016 Поделиться Опубликовано 8 Июля 2016 @naxac, работает. Только не пойму как я строчки перепутал - вроде сразу все копировал... Мистика, однако... Хотя коментил свою фразу, чтобы не было вылета - может тогда и переставил случайно. Спасибо огромное. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/381/#findComment-1024227
Kondr48 314 Опубликовано 8 Июля 2016 Поделиться Опубликовано 8 Июля 2016 (изменено) Интересует способ определить с глушителем ли оружие в руках или нет? Оружие из которого стреляем, определяется: db.actor:active_item() из колбека на выстрел. Патч 1.0007 Изменено 8 Июля 2016 пользователем Kondr48 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/381/#findComment-1024231
UnLoaded 313 Опубликовано 8 Июля 2016 Поделиться Опубликовано 8 Июля 2016 определить с глушителем ли оружие в руках или нет? Движковой ф-ции для этого нет. Единственный вариант - получать нет-пакет, и в нем проверять наличие интересующих обвесов. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/381/#findComment-1024264
reviere 0 Опубликовано 10 Июля 2016 Поделиться Опубликовано 10 Июля 2016 Есть ли какой-то человеческий способ выводить информацию в консоль? Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/381/#findComment-1024645
UnLoaded 313 Опубликовано 10 Июля 2016 Поделиться Опубликовано 10 Июля 2016 @reviere А какой способ, по твоему, не человеческий ? 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/381/#findComment-1024659
reviere 0 Опубликовано 10 Июля 2016 Поделиться Опубликовано 10 Июля 2016 (изменено) Забыл, что на зп уже присутствует пространство имен io и всю ночь искал способы вывода инфы в косноль окольными путями. Уже разобрался, спасибо. Изменено 10 Июля 2016 пользователем HellRatz Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/381/#findComment-1024768
Zander_driver 10 348 Опубликовано 11 Июля 2016 Поделиться Опубликовано 11 Июля 2016 Нужна помощь знатоков работы с нетпакетом. В общем, прислали мне сейв, в котором нечто странное происходит с Сахаровым. Странное заключается в следующем: В xr_motivator в метод motivator_binder:load(reader) поставил такую ловушку ошибок: function motivator_binder:load(reader) self.loaded = true object_binder.load(self, reader) if reader:r_eof() then zander_log(self.object, reader) local sobj = alife():object(self.object:id()) local pa = m_net_utils.Get_NetPacket(sobj, 2) zander_log(pa) abort("SAVE FILE IS CORRUPT") end * * * Т.е. если читается что-то не то - выводим в лог, а что же там такое. И уже потом вылетаем. А там вот что: USERDATA; ;*game_object parameters { [KEY: STRING:gv] = VALUE: NUMBER:65535; [KEY: STRING:story_id] = VALUE: NUMBER:902; [KEY: STRING:clsid] = VALUE: NUMBER:34; [KEY: STRING:section] = VALUE: STRING:stalker_sakharov; [KEY: STRING:id] = VALUE: NUMBER:4991; [KEY: STRING:lv] = VALUE: NUMBER:4294967296; [KEY: STRING:position] = VALUE: STRING:x: 29.601; y: -11.7193; z: -272.26; } USERDATA; unknown userdata TABLE:; { [KEY: STRING:upd] = VALUE: TABLE:; Table value: { [KEY: STRING:s32u1] = VALUE: NUMBER:833817; [KEY: STRING:distance_to_point] = VALUE: NUMBER:1100498313; [KEY: STRING:group] = VALUE: NUMBER:1; [KEY: STRING:torso] = VALUE: USERDATA; [KEY: STRING:next_game_vertex_id] = VALUE: NUMBER:1480; [KEY: STRING:distance_from_point] = VALUE: NUMBER:1100498313; [KEY: STRING:prev_game_vertex_id] = VALUE: NUMBER:1480; [KEY: STRING:u8u2] = VALUE: NUMBER:0; [KEY: STRING:health] = VALUE: NUMBER:1; [KEY: STRING:model] = VALUE: NUMBER:-1.5781494379044; [KEY: STRING:squad] = VALUE: NUMBER:8; [KEY: STRING:start_dialog] = VALUE: STRING:hacker_dialog; [KEY: STRING:position] = VALUE: USERDATA; [KEY: STRING:team] = VALUE: NUMBER:9; } [KEY: STRING:class] = VALUE: STRING:yan_general_ecolog; [KEY: STRING:smtrid] = VALUE: NUMBER:65535; [KEY: STRING:object_flags] = VALUE: NUMBER:-1; [KEY: STRING:team] = VALUE: NUMBER:9; [KEY: STRING:killerid] = VALUE: NUMBER:65535; [KEY: STRING:visual_flags] = VALUE: NUMBER:0; [KEY: STRING:spawn_story_id] = VALUE: NUMBER:-1; [KEY: STRING:charname] = VALUE: STRING:Сахаров; [KEY: STRING:money] = VALUE: NUMBER:104537; [KEY: STRING:smtrtaskactive] = VALUE: NUMBER:0; [KEY: STRING:lvid] = VALUE: NUMBER:53540; [KEY: STRING:gvid] = VALUE: NUMBER:1480; [KEY: STRING:group] = VALUE: NUMBER:1; [KEY: STRING:game_death_time] = VALUE: TABLE:; Table value: { [KEY: NUMBER:1] = VALUE: NUMBER:0; [KEY: NUMBER:2] = VALUE: NUMBER:0; [KEY: NUMBER:3] = VALUE: NUMBER:0; [KEY: NUMBER:4] = VALUE: NUMBER:0; [KEY: NUMBER:5] = VALUE: NUMBER:0; [KEY: NUMBER:6] = VALUE: NUMBER:0; [KEY: NUMBER:7] = VALUE: NUMBER:0; [KEY: NUMBER:8] = VALUE: NUMBER:0; } [KEY: STRING:source_id] = VALUE: NUMBER:65535; [KEY: STRING:left_chunk] = VALUE: TABLE:; Table value: { [KEY: NUMBER:1] = VALUE: NUMBER:255; [KEY: NUMBER:2] = VALUE: NUMBER:255; [KEY: NUMBER:3] = VALUE: NUMBER:255; [KEY: NUMBER:4] = VALUE: NUMBER:255; [KEY: NUMBER:5] = VALUE: NUMBER:255; [KEY: NUMBER:6] = VALUE: NUMBER:31; [KEY: NUMBER:7] = VALUE: NUMBER:0; [KEY: NUMBER:8] = VALUE: NUMBER:0; [KEY: NUMBER:9] = VALUE: NUMBER:0; [KEY: NUMBER:10] = VALUE: NUMBER:0; [KEY: NUMBER:11] = VALUE: NUMBER:187; [KEY: NUMBER:12] = VALUE: NUMBER:202; [KEY: NUMBER:13] = VALUE: NUMBER:236; [KEY: NUMBER:14] = VALUE: NUMBER:65; [KEY: NUMBER:15] = VALUE: NUMBER:130; [KEY: NUMBER:16] = VALUE: NUMBER:138; [KEY: NUMBER:17] = VALUE: NUMBER:59; [KEY: NUMBER:18] = VALUE: NUMBER:193; [KEY: NUMBER:19] = VALUE: NUMBER:145; [KEY: NUMBER:20] = VALUE: NUMBER:33; [KEY: NUMBER:21] = VALUE: NUMBER:136; [KEY: NUMBER:22] = VALUE: NUMBER:195; [KEY: NUMBER:23] = VALUE: NUMBER:237; [KEY: NUMBER:24] = VALUE: NUMBER:210; [KEY: NUMBER:25] = VALUE: NUMBER:236; [KEY: NUMBER:26] = VALUE: NUMBER:65; [KEY: NUMBER:27] = VALUE: NUMBER:32; [KEY: NUMBER:28] = VALUE: NUMBER:122; [KEY: NUMBER:29] = VALUE: NUMBER:59; [KEY: NUMBER:30] = VALUE: NUMBER:193; [KEY: NUMBER:31] = VALUE: NUMBER:13; [KEY: NUMBER:32] = VALUE: NUMBER:33; [KEY: NUMBER:33] = VALUE: NUMBER:136; [KEY: NUMBER:34] = VALUE: NUMBER:195; [KEY: NUMBER:35] = VALUE: NUMBER:1; [KEY: NUMBER:36] = VALUE: NUMBER:0; [KEY: NUMBER:37] = VALUE: NUMBER:128; [KEY: NUMBER:38] = VALUE: NUMBER:128; [KEY: NUMBER:39] = VALUE: NUMBER:128; [KEY: NUMBER:40] = VALUE: NUMBER:128; [KEY: NUMBER:41] = VALUE: NUMBER:128; [KEY: NUMBER:42] = VALUE: NUMBER:128; [KEY: NUMBER:43] = VALUE: NUMBER:255; [KEY: NUMBER:44] = VALUE: NUMBER:0; [KEY: NUMBER:45] = VALUE: NUMBER:2; [KEY: NUMBER:46] = VALUE: NUMBER:0; [KEY: NUMBER:47] = VALUE: NUMBER:0; } [KEY: STRING:squad] = VALUE: NUMBER:8; [KEY: STRING:skeleton_flags] = VALUE: NUMBER:4; [KEY: STRING:skeleton_name] = VALUE: STRING:$editor; [KEY: STRING:spec_character] = VALUE: STRING:yan_general_ecolog; [KEY: STRING:baseinr] = VALUE: STRING:; [KEY: STRING:predicate1] = VALUE: TABLE:; Table value: { [KEY: NUMBER:1] = VALUE: NUMBER:0; [KEY: NUMBER:2] = VALUE: NUMBER:1; [KEY: NUMBER:3] = VALUE: NUMBER:1; [KEY: NUMBER:4] = VALUE: NUMBER:1; [KEY: NUMBER:5] = VALUE: NUMBER:0; } [KEY: STRING:dyn_in_restr] = VALUE: TABLE:; Table value: { } [KEY: STRING:story_id] = VALUE: NUMBER:902; [KEY: STRING:reputation] = VALUE: NUMBER:50; [KEY: STRING:distance] = VALUE: NUMBER:29.39999961853; [KEY: STRING:dyn_out_restr] = VALUE: TABLE:; Table value: { } [KEY: STRING:custom_data] = VALUE: STRING:[smart_terrains] none = true [logic] cfg = scripts\yan\yan_scientist.ltx; [KEY: STRING:direct_control] = VALUE: NUMBER:1; [KEY: STRING:visual_name] = VALUE: STRING:actors\ucheniy\ucheniy_2; [KEY: STRING:trader_flags] = VALUE: NUMBER:1; [KEY: STRING:predicate2] = VALUE: TABLE:; Table value: { [KEY: NUMBER:1] = VALUE: NUMBER:2; [KEY: NUMBER:2] = VALUE: NUMBER:0; [KEY: NUMBER:3] = VALUE: NUMBER:0; [KEY: NUMBER:4] = VALUE: NUMBER:2; } [KEY: STRING:baseoutr] = VALUE: STRING:yantar_bunker_space_restrictor; [KEY: STRING:communityid] = VALUE: NUMBER:7; [KEY: STRING:health] = VALUE: NUMBER:1; [KEY: STRING:rank] = VALUE: NUMBER:93; } ВНИМАНИЕ! Ошибка! Информация по ошибке в строках ниже! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ERROR! Reason: SAVE FILE IS CORRUPT stack traceback: ...g\s.t.a.l.k.e.r\gamedata\scripts\xr_motivator.script:547: in function <...g\s.t.a.l.k.e.r\gamedata\scripts\xr_motivator.script:535> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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 : <no expression> [error]Arguments : LUA error: ...ishing\s.t.a.l.k.e.r\gamedata\scripts\lua_fix.script:133: ВНИМАНИЕ! Игра прервана! Информация в строках выше. stack trace: И вот смотрю я, нетпакет принадлежит Сахарову, и вроде бы - криминала как будто нет. Или я его не вижу. А игра считает что криминал есть, r_eof() возвращает true и получем вылет. Собственно, вопросы. 1. Что не так с Сахаровым в данном случае? почему это происходит? 2. Что надлежит сделать чтобы подобного не происходило, и есть ли вариант в оффлайне поколдовать с его нетпакетом, чтобы без НИ, вот этот самый сейв, успешно загрузился. Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/381/#findComment-1025254
naxac 2 571 Опубликовано 12 Июля 2016 Поделиться Опубликовано 12 Июля 2016 (изменено) @Zander_driver, в метод load биндера передается не нет-пакет нпс, а отдельный поток на чтение. Это только с Сахаровым так? Изменено 12 Июля 2016 пользователем naxac Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/381/#findComment-1025262
Zander_driver 10 348 Опубликовано 12 Июля 2016 Поделиться Опубликовано 12 Июля 2016 (изменено) Только с Сахаровым и только в одном случае у одного юзера. Но вот такого рода "мины" в моде очень хочется устранять в первую очередь. Таки где поискать причины переполнения... Изменено 12 Июля 2016 пользователем Zander_driver Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/381/#findComment-1025290
Dennis_Chikin 3 664 Опубликовано 12 Июля 2016 Поделиться Опубликовано 12 Июля 2016 (изменено) Это как бы означает, что все обязаны срочно скачать мод ? Или кто-то все ж поделиться кодом сохранения ? Очевидно, оное сохранение повисло аккурат после object_binder.save(), что именно там повисло - вопрос - не имея кода - явно к экстрасенсам. Изменено 12 Июля 2016 пользователем Dennis_Chikin Ссылка на комментарий https://www.amk-team.ru/forum/topic/6185-skriptovanie/page/381/#findComment-1025295
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти