Купер 2 916 Опубликовано 5 Февраля 2021 Поделиться Опубликовано 5 Февраля 2021 Скрытый текст @Okichi, и ведь не поспоришь... теоретически. А практически: больше кода Богу кода? Передать сюда - local itm = db.actor:item_in_slot(num) (метод для клиентского объекта) серверную сущность, а потом "грохнуться" гораздо позже с таким логом? Это ещё надо постараться. Хэх, а сколько по форуму таких зависших вопросов, где "...уже ёжики и догадаются"? 1 Ссылка на комментарий
Okichi 922 Опубликовано 5 Февраля 2021 Поделиться Опубликовано 5 Февраля 2021 @Купер печаль ситуации в том, что прецеденты были, и без всяких стараний ) Создавался серверный объект, выдерживалось время, необходимое для выхода в онлайн клиентского, я даже тут же успешно получала из него клиентский... и спустя буквально пару инструкций ниже получить _этот же_ серверный объект было невозможно. Он не существовал ) И нет, движок (NLC-ный) даже не падал - он просто не делал того, что от него ожидалось ( След от кругов на воде - это тоже след (с) Ссылка на комментарий
UriZzz 1 004 Опубликовано 5 Февраля 2021 Поделиться Опубликовано 5 Февраля 2021 Привет. Господа, кто пользует модули Артоса от сюда: https://www.amk-team.ru/forum/topic/13216-sborochnyy-ceh/?do=findComment&comment=971137 или просто в курсе, объясните, как запускать сохраняемые таймеры? В общем даны две такие тестовые функции: Скрытый текст function start_game_callbeck() if GetVar("start_game") == nil then SendTip("TEST Проверка на отсутствие переменной в хронилище","Сообщение",nil,5) start_game_timer(30*60, nil, "UriZzz_test.mecheny_mail") SetVar("start_game", 1) else SendTip("TEST Проверка на наличие переменной в хронилище","Сообщение",nil,5) end end function mecheny_mail() SendTip("Меченый, зайди ко мне, работа появилась","Сообщение",nil,5) end Таймер не запускается, в логе такая строка: ! Cannot find saved game ~:m_timers:set_callback: gametimer'g@1' id[1] action(timerhelper) timerest[30:00] timeend[06:02:22:180], args=[string]~not_table!:<warning!> Я и без кавычек прописывал функцию, бесполезно. Скрытый текст * Detected CPU: GenuineIntel Pentium-III, F6/M7/S10, 3005.00 mhz, 33-clk 'rdtsc' * CPU Features: RDTSC, MMX, SSE, SSE2 Initializing File System... using fs-ltx fsgame.ltx FS: 28687 files cached, 3935Kb memory used. Init FileSystem 0.632546 sec 'xrCore' build 7720, Mar 27 2020 Initializing Engine... Executing config-script "user.ltx"... [d:\s.t.a.l.k.e.r\stalker-shoc\user.ltx] successfully loaded. Starting INPUT device... Loading DLL: xrRender_R2.dll Loading DLL: xrGame.dll * [win32]: free[4059608 K], reserved[53828 K], committed[80804 K] * [ D3D ]: textures[0 K] * [x-ray]: crt heap[5875 K], process heap[669 K], game lua[0 K], engine lua[0 K], render[0 K] * [x-ray]: economy: strings[1033 K], smem[0 K] Executing config-script "d:\s.t.a.l.k.e.r\gamedata\config\default_controls.ltx"... [d:\s.t.a.l.k.e.r\gamedata\config\default_controls.ltx] successfully loaded. Executing config-script "user.ltx"... Executing config-script "d:\s.t.a.l.k.e.r\gamedata\config\rspec_default.ltx"... ! Unknown command: r__wallmark_ttl ! Unknown command: rs_skeleton_update [d:\s.t.a.l.k.e.r\gamedata\config\rspec_default.ltx] successfully loaded. Executing config-script "d:\s.t.a.l.k.e.r\gamedata\config\default_controls.ltx"... [d:\s.t.a.l.k.e.r\gamedata\config\default_controls.ltx] successfully loaded. [d:\s.t.a.l.k.e.r\stalker-shoc\user.ltx] successfully loaded. SOUND: OpenAL: enumerate devices... SOUND: OpenAL: EnumerationExtension Present devices Generic Hardware SOUND: OpenAL: system default SndDevice name is Generic Hardware SOUND: OpenAL: default SndDevice name set to Generic Software SOUND: OpenAL: All available devices: 1. Generic Software, Spec Version 1.1 (default) 2. Generic Software, Spec Version 1.1 (default) SOUND: OpenAL: SelectBestDevice is Generic Software 1.1 SOUND: OpenAL: Required device: Generic Software. Created device: Generic Software. * sound: EAX 2.0 extension: absent * sound: EAX 2.0 deferred: absent * sound : cache: 65538 kb, 7609 lines, 8820 bpl Starting RENDER device... * GPU [vendor:10DE]-[device:622]: NVIDIA GeForce 9600 GT (Microsoft Corporation - WDDM v1.1) * GPU driver: 8.15.11.8593 * CREATE: DeviceREF: 1 * Vertex Processor: PURE HARDWARE * Texture memory: 2784 M * DDI-level: 9.0 * GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30) * GPU vertex cache: recognized, 24 * DVB created: 6144K * DIB created: 1024K load time=58 ms * NULLRT supported * ...and used * HWDST/PCF supported and used * NV-DBT supported and used - r__tf_aniso 4 - r2_tf_mipbias 0. Starting engine... Loading DLL: xrGameSpy.dll ! Missing ogg-comment, file: d:\s.t.a.l.k.e.r\gamedata\sounds\characters_voice\scenario\video\intro_gsc_wp_r.ogg * DVB created: 6144K * DIB created: 1024K - r__tf_aniso 4 - r2_tf_mipbias 0. * GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30) * GPU vertex cache: recognized, 24 *** RESET [418 ms] "d:\s.t.a.l.k.e.r\bin\xr_3da.exe" * phase time: 0 ms * phase cmem: 110516 K Кэширование объектов... Loading objects... Loading models... * [prefetch] time: 4578 ms * [prefetch] memory: 82510Kb * phase time: 4608 ms * phase cmem: 182160 K Сервер: Старт... * phase time: 73 ms * phase cmem: 182416 K Сервер: Загрузка симуляции жизни... * phase time: 7 ms * phase cmem: 182416 K Создание новой игры... * Creating new game... * Loading spawn registry... * 8641 spawn points are successfully loaded * Saving spawns... * Saving objects... * 16800 objects are successfully saved * Game all.sav is successfully saved to file 'd:\s.t.a.l.k.e.r\stalker-shoc\savedgames\all.sav' * New game is successfully created! * phase time: 3391 ms * phase cmem: 229424 K Сервер: Соединяемся... MaxPlayers = 32 * phase time: 20 ms * phase cmem: 229424 K Клиент: Соединение с localhost... # Player not found. New player created. * client : connection accepted - <> * phase time: 9 ms * phase cmem: 229449 K Открытие потока... * phase time: 15 ms * phase cmem: 233447 K Загрузка формы объектов... * phase time: 3236 ms * phase cmem: 306116 K Загрузка шейдеров... * phase time: 245 ms * phase cmem: 307515 K Загрузка геометрии... * [Loading VB] 65532 verts, 2047 Kb * [Loading VB] 65525 verts, 2047 Kb * [Loading VB] 65535 verts, 2047 Kb * [Loading VB] 65466 verts, 2045 Kb * [Loading VB] 17208 verts, 537 Kb * [Loading VB] 65533 verts, 2047 Kb * [Loading VB] 65534 verts, 2047 Kb * [Loading VB] 65534 verts, 2047 Kb * [Loading VB] 65531 verts, 2047 Kb * [Loading VB] 65535 verts, 2047 Kb * [Loading VB] 65535 verts, 2047 Kb * [Loading VB] 46595 verts, 1456 Kb * [Loading VB] 65534 verts, 2047 Kb * [Loading VB] 65533 verts, 2047 Kb * [Loading VB] 65535 verts, 2047 Kb * [Loading VB] 65532 verts, 2047 Kb * [Loading VB] 65533 verts, 2047 Kb * [Loading VB] 65533 verts, 2047 Kb * [Loading VB] 53181 verts, 1661 Kb * [Loading IB] 1048575 indices, 2047 Kb * [Loading IB] 1048572 indices, 2047 Kb * [Loading IB] 1048572 indices, 2047 Kb * [Loading IB] 1048572 indices, 2047 Kb * [Loading IB] 1048572 indices, 2047 Kb * [Loading IB] 1048572 indices, 2047 Kb * [Loading IB] 1048575 indices, 2047 Kb * [Loading IB] 1048572 indices, 2047 Kb * [Loading IB] 1048575 indices, 2047 Kb * [Loading IB] 228285 indices, 445 Kb * [Loading VB] 65533 verts, 767 Kb * [Loading VB] 65534 verts, 767 Kb * [Loading VB] 65534 verts, 767 Kb * [Loading VB] 65535 verts, 767 Kb * [Loading VB] 65535 verts, 767 Kb * [Loading VB] 65534 verts, 767 Kb * [Loading VB] 65535 verts, 767 Kb * [Loading VB] 14030 verts, 164 Kb * [Loading IB] 1048575 indices, 2047 Kb * [Loading IB] 1048575 indices, 2047 Kb * [Loading IB] 1048575 indices, 2047 Kb * [Loading IB] 718302 indices, 1402 Kb * phase time: 63 ms * phase cmem: 307890 K Загрузка базы пространств... * phase time: 562 ms * phase cmem: 312287 K Загрузка детальных объектов... * [DETAILS] VertexConsts(256), Batch(61) * [DETAILS] 40687 v(20), 26352 p * [DETAILS] Batch(61), VB(794K), IB(154K) * phase time: 52 ms * phase cmem: 320493 K Загрузка секторов и порталов... * Loading HOM: d:\s.t.a.l.k.e.r\gamedata\levels\l01_escape\level.hom * phase time: 15 ms * phase cmem: 320650 K Загрузка ИИ объектов... - Loading music tracks from 'l01_escape_musics'... * phase time: 12 ms * phase cmem: 316691 K Клиент: Создание... - Game configuring : Started - Game configuring : Finished * phase time: 206 ms * phase cmem: 324548 K Загрузка текстур... * t-report - base: 1437, 387210 K * t-report - lmap: 7, 7168 K * phase time: 1170 ms * phase cmem: 324548 K Клиент: Синхронизация... * phase time: 11 ms * phase cmem: 324548 K * [win32]: free[2927872 K], reserved[126556 K], committed[1139812 K] * [ D3D ]: textures[394378 K] * [x-ray]: crt heap[324548 K], process heap[7978 K], game lua[23618 K], engine lua[221 K], render[0 K] * [x-ray]: economy: strings[3691 K], smem[28221 K] ! Cannot find saved game ~:lua_helper:fget_inisection:ini=[<userdata>],not_found_section=[levels],type=[table]:<error!> ! Cannot find saved game ~:lua_helper:fget_inisection:ini=[<userdata>],not_found_section=[levels_underground],type=[true]:<error!> ! Cannot find saved game ~:lua_helper:correct_max_idlevelvertex:=[594270]=>[595499](+1229), map(1)=[l01_escape] :<info!> ! Cannot find saved game ~:m_timers:set_callback: gametimer'g@1' id[1] action(timerhelper) timerest[30:00] timeend[06:02:22:180], args=[string]~not_table!:<warning!> Intro start 4095 * MEMORY USAGE: 342948 K - Disconnect - Destroying level DestroySingleton::RefCounter: 0 DestroySingleton::RefCounter: 0 DestroySingleton::RefCounter: 0 DestroySingleton::RefCounter: 0 Input: 1 Config-file [d:\s.t.a.l.k.e.r\stalker-shoc\user.ltx] saved successfully Destroying Direct3D... * RM_Dump: textures : 0 * RM_Dump: rtargets : 0 * RM_Dump: rtargetsc : 0 * RM_Dump: vs : 0 * RM_Dump: ps : 0 * RM_Dump: dcl : 0 * RM_Dump: states : 0 * RM_Dump: tex_list : 0 * RM_Dump: matrices : 0 * RM_Dump: lst_constants: 0 * RM_Dump: v_passes : 0 * RM_Dump: v_elements: 0 * RM_Dump: v_shaders : 0 refCount:pBaseZB 1 refCount:pBaseRT 1 DeviceREF: 1 Моя нычка, Нычка в арендованном у Опричника холодильнике Мы хорошие ребята, жаль патронов маловато:) Ссылка на комментарий
Kirgudu 1 217 Опубликовано 6 Февраля 2021 Поделиться Опубликовано 6 Февраля 2021 @UriZzz у тебя и подсказка в логе есть args=[string]~not_table! и пример в конце модуля start_game_timer(3*60, nil, {info_id = "my_infoportion"}) Грубо говоря, ты в качестве доп. аргумента передаёшь строку "UriZzz_test.mecheny_mail", а надо таблицу. То есть: start_game_timer(30*60, nil, {param1 = "UriZzz_test.mecheny_mail"}) -- аргумент - таблица Если же ты хотел вызвать функцию внешнего модуля (на что слегка намекает текст "UriZzz_test.mecheny_mail"), то для этого надо было воспользоваться вторым аргументом, который у тебя сейчас равен nil, и без кавычек. А именно: start_game_timer(30*60, UriZzz_test.mecheny_mail) -- аргумент - указатель на функцию внешнего модуля В общем, смотри внимательно примеры в конце модуля таймеров, там всё расписано. 1 1 2 Инструмент Ссылка на комментарий
Stalkersof 183 Опубликовано 6 Февраля 2021 Поделиться Опубликовано 6 Февраля 2021 (изменено) Вот такие дела кракозябры в в текстовом поле, пытаюсь при инициализации окна в текстовое поле забить информацию. Делаю так. self.edit1:SetText(string.format("Сокол")) Английский текст воспринимает. Русский кракозябрами как поправить? Вот полный код. function NewUI3:InitControls() local xml = CScriptXmlInit() self:Init(0,0,1024,768) xml:ParseFile("NewUI3.xml") self.Static1 = xml:InitStatic("Static1", self) self.edit1 = xml:InitEditBox("Static1:edit1", self.Static1) self.edit1:SetText(string.format("Сокол")) self:Register(xml:Init3tButton("Static1:button1", self.Static1), "button1") self:Register(xml:Init3tButton("Static1:button2", self.Static1), "button2") end Изменено 6 Февраля 2021 пользователем Stalkersof Freeplay Graphic Mod(FGM) Ссылка на комментарий
Colder 12 Опубликовано 6 Февраля 2021 Поделиться Опубликовано 6 Февраля 2021 Парни подскажите функцию, что бы получить весь список оружия и брони имеющийся в инвентаре ГГ. Ссылка на комментарий
Zander_driver 10 334 Опубликовано 6 Февраля 2021 Поделиться Опубликовано 6 Февраля 2021 Только что, Colder сказал(а): подскажите функцию actor:iterate_inventory Только что, Stalkersof сказал(а): Русский кракозябрами А исходный код, в файле какой кодировки сохраняете? 2 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Stalkersof 183 Опубликовано 6 Февраля 2021 Поделиться Опубликовано 6 Февраля 2021 6 минут назад, Zander_driver сказал(а): actor:iterate_inventory А исходный код, в файле какой кодировки сохраняете? Не понял о чем речь. Скрипт просто текстовый файл с рашерением script. XML в <?xml version="1.0" encoding="windows-1251"?> Freeplay Graphic Mod(FGM) Ссылка на комментарий
Zander_driver 10 334 Опубликовано 6 Февраля 2021 Поделиться Опубликовано 6 Февраля 2021 (изменено) Только что, Stalkersof сказал(а): Скрипт просто текстовый файл "Просто текстовых файлов" не бывает. У любого текстового файла, есть кодировка. Это следует уже из самого определения, что такое "текстовый файл" с точки зрения Windows. Только что, Stalkersof сказал(а): А какая нужна? ANSI по идее. Изменено 6 Февраля 2021 пользователем Zander_driver 1 4 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Stalkersof 183 Опубликовано 6 Февраля 2021 Поделиться Опубликовано 6 Февраля 2021 4 минуты назад, Zander_driver сказал(а): "Просто текстовых файлов" не бывает. У любого текстового файла, есть кодировка. Это следует уже из самого определения, что такое "текстовый файл" с точки зрения Windows. Понятно. Посмотрел скрипт в Кодировка UTF-8. А какая нужна? Freeplay Graphic Mod(FGM) Ссылка на комментарий
Colder 12 Опубликовано 6 Февраля 2021 Поделиться Опубликовано 6 Февраля 2021 Скрытый текст local spawns_devices = { "part_lighter", "part_banka", "part_nitki", "part_kley", "part_cutler", "part_core", "part_ver", "part_grease", "part_fankt", "part_gunoil", "part_ramrod", "part_kitss", "part_kitrr", "part_jar", "part_weapons_light", "part_weapons_heavy", "part_outfit_heavy", "part_outfit_light", "part_electro" } function actor_on_random_devices_new() local text_new = "" for i = 2, 4 do--// ОТ 2 DO 4 local item = spawns_devices[math.random(table.getn(spawns_devices))] alife():create(item, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) local a_name = game.translate_string(system_ini():r_string(item,"inv_name_short")) text_new = text_new.."\\n"..a_name end send_tip_devices("\\n%c[d_cyan]"..game.translate_string("st_dis_text_9").."\\n".."%c[ui_white]"..text_new) end Может кто помочь получить количество получаемых деталей? Т.е если после разбора обьекта получаешь 2 ОДИНАКОВЫХ предмета, то в сообщении это не указываеться. ВОТ СКРИН https://yadi.sk/i/G3C88dOd1juczw Ссылка на комментарий
Zander_driver 10 334 Опубликовано 6 Февраля 2021 Поделиться Опубликовано 6 Февраля 2021 (изменено) Только что, Colder сказал(а): Т.е если после разбора обьекта получаешь 2 ОДИНАКОВЫХ предмета, то в сообщении это не указываеться. В выше-приведенном коде. Если выпадут одинаковые предметы, то они и написаны будут два (три) раза в сообщении. Разве этого не достаточно?) Только что, Colder сказал(а): получить количество получаемых деталей? Можно просто в табличку по ключу - секции итема, заносить количество предметов. А после спавна всех, подсчитывать сколько всего набралось. local t = {} ... if t[item] ~= nil then t[item] = t[item] + 1 else t[item] = 1 end ... for sec, count in pairs(t) do text_new = text_new .. "\\n" .. game.translate_string(ltx:r_string(sec, "inv_name")) if count > 1 then text_new = text_new .. string.format(" x %i", count) end end Как-то так. Какой фрагмент куда вставить, я думаю и так понятно. Изменено 6 Февраля 2021 пользователем Zander_driver 2 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Colder 12 Опубликовано 6 Февраля 2021 Поделиться Опубликовано 6 Февраля 2021 Не работает! Может как то чере actor:iterate_inventory попробывать получить. Ссылка на комментарий
Zander_driver 10 334 Опубликовано 6 Февраля 2021 Поделиться Опубликовано 6 Февраля 2021 24 минуты назад, Colder сказал(а): Не работает! Ложь 25 минут назад, Colder сказал(а): actor:iterate_inventory Тогда придется сначала спавнить, потом ждать, когда все заспавненное выйдет в онлайн, потом пересчитывать, и заодно не-перепутать с теми итемами, которые уже были в наличии у актора до спавна. Зачем эти сложности, если можно просто пересчитать, сколько чего заспавнили, при самом спавне? Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Colder 12 Опубликовано 6 Февраля 2021 Поделиться Опубликовано 6 Февраля 2021 Через него мне кажется проще. А через то что выше бред получаеться! https://yadi.sk/i/6dD8gTNSDlMpSg Ссылка на комментарий
Zander_driver 10 334 Опубликовано 6 Февраля 2021 Поделиться Опубликовано 6 Февраля 2021 Только что, Colder сказал(а): бред получаеться! Ну как скомпоновал сообщение, то и получил. Ты это написал, не я. Подумай, как надо сделать. Только что, Colder сказал(а): Через него мне кажется проще. Проще? Ок, приведи свою реализацию, как вызвать свою функцию через несколько апдейтов. И, как отличить те предметы которые недавно заспавнены, от тех что в рюкзаке уже были. И, точно ли для этого надо iterate_inventory дергать?) А затем и посмотрим, что проще. 1 1 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Colder 12 Опубликовано 7 Февраля 2021 Поделиться Опубликовано 7 Февраля 2021 Скрытый текст local part = { ["part_lighter"] = 2, ["part_banka"] = 2, ["part_nitki"] = 2, ["part_kley"] = 2, ["part_cutler"] = 2, ["part_core"] = 2, ["part_ver"] = 2, ["part_grease"] = 2, ["part_fankt"] = 2, ["part_gunoil"] = 2, ["part_ramrod"] = 2, ["part_kitss"] = 2, ["part_kitrr"] = 2, ["part_jar"] = 2, ["part_weapons_light"] = 2, ["part_weapons_heavy"] = 2, ["part_outfit_heavy"] = 2, ["part_outfit_light"] = 2, ["part_electro"] = 2 } function actor_on_random_devices_new() local t = {} local text_new = "" for item, count in pairs(part) do alife():create(db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) if t[item] ~= nil then t[item] = t[item] + 1 else t[item] = 1 end text_new = text_new.."\\n"..game.translate_string(system_ini():r_string(item, "inv_name")) if count > 1 then text_new = text_new..string.format(" x %i", count) end end send_tip_devices("\\n%c[d_cyan]"..game.translate_string("st_dis_text_9").."\\n".."%c[ui_white]"..text_new) end Сделал по твойму но они спавняться все по 2шт. А мне нужно рандомное количество общих деталей например: что бы гг получил 2 или 4 детали. Ссылка на комментарий
Zander_driver 10 334 Опубликовано 7 Февраля 2021 Поделиться Опубликовано 7 Февраля 2021 14 минут назад, Colder сказал(а): ["part_lighter"] = 2, 14 минут назад, Colder сказал(а): но они спавняться все по 2шт. Ну и кто же это написал? Не я точно. У тебя вообще в коде какая-то каша, все перемешано без смысла. И крайний раз запускал ты его не в таком 17 минут назад, Colder сказал(а): alife():create(db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) виде. Потому что тут даже секции итема нет, чего спавнить. Такой вызов, приведет к движковому вылету с руганью на недостаток аргументов и/или не соответствующие типы аргументов. 18 минут назад, Colder сказал(а): мне нужно рандомное количество Используй math.random Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Colder 12 Опубликовано 7 Февраля 2021 Поделиться Опубликовано 7 Февраля 2021 С тел написал для примера. Но они спавняться в определённом количестве а мне нужно рандомно. Ссылка на комментарий
Это популярное сообщение. Zander_driver 10 334 Опубликовано 7 Февраля 2021 Это популярное сообщение. Поделиться Опубликовано 7 Февраля 2021 (изменено) local parts = { 'секция_деталей', 'еще_секция_деталей', ... } function spawn_parts(nums) -- nums - сколько всего запчастей спавнить. local t = {} local i = 0 while i < nums do local item = parts[math.random(#parts)] if t[item] then t[item] = t[item] + 1 else t[item] = 1 end alife():create(item, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) i = i + 1 end local text = 'Получено предметов:' for sec, count in pairs(t) do text = text .. "\\n" .. game.translate_string(system_ini():r_string(sec, "inv_name")) if count > 1 then text = text .. string.format(" x %i", count) end end send_tip_devices(text) end @Colder держи. готовый, рабочий вариант. А вообще, грустно. Что хорошая тема в стол заказов превратилась. Тебе подсказок ранее выданных, почему не хватило? Может я что не так говорю... Изменено 7 Февраля 2021 пользователем Zander_driver 1 6 2 Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine. Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист. AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти