naxac 2 445 Опубликовано 6 Марта 2016 Поделиться Опубликовано 6 Марта 2016 способ отследить продажуВ биндере актера каллбэк trade_sell_buy_item (функция on_trade).item: предмет, sell_bye: true - продали, false - купили, money: деньги. 2 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
Zander_driver 10 333 Опубликовано 7 Марта 2016 Поделиться Опубликовано 7 Марта 2016 который в поиске гугл по сталкеру и не попадается "bad argument #2 to 'find' (string expected, got table)" А перевести не пробовали? оно хочет строку, а вы ему пихаете таблицу. local ignore = {"wpn_beretta","wpn_colt1911","wpn_desert_eagle","wpn_fort","wpn_hpsa"} local function transfer_object_item(item) local f = true local s = item:section() for k, v in pairs(ignore) do if s == v then f = false break end end if f then db.actor:transfer_item(item, inv_box_1) end end 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. Ссылка на комментарий
CRAZY_STALKER666 36 Опубликовано 9 Марта 2016 Поделиться Опубликовано 9 Марта 2016 Добрый вечер. Такой вопрос - имеем таблицу с предметами local item_list = { "medkit", "bread", "vodka" } Как рандомно выбрать 3 предмета из этой таблицы, и, допустим, заспавнить их ГГ? Знаю что через math.random работать надо, но как - не знаю. Не соответствует правилам. Ссылка на комментарий
Overfirst 630 Опубликовано 9 Марта 2016 Поделиться Опубликовано 9 Марта 2016 Как рандомно выбрать 3 предмета из этой таблицы, и, допустим, заспавнить их ГГ? local item_list = {"medkit", "bread", "vodka"} function spawn_random_item() local a = item_list[math.random(table.getn(item_list))] alife():create(a, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end 1 Ранее был известен под ником BoBaH_671. Ссылка на комментарий
Painter 3 374 Опубликовано 9 Марта 2016 Поделиться Опубликовано 9 Марта 2016 Дополню: function spawn_random_item() local item_list = {"medkit","bread","vodka"} for i = 1, 3 do local a = item_list[math.random(table.getn(item_list))] alife():create(a, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) end end 1 1 2 Портфолио Ссылка на комментарий
Kondr48 314 Опубликовано 9 Марта 2016 Поделиться Опубликовано 9 Марта 2016 Как отформатировать строку таким образом, чтобы число с плавающей запятой состояло из 5 чисел: (0.0001, 0.0010 и т.п), но без точки? (Т.е. 00001, 00010 и т.п.)? 1 Ссылка на комментарий
CRAZY_STALKER666 36 Опубликовано 9 Марта 2016 Поделиться Опубликовано 9 Марта 2016 Сама функция работает, но наемники нейтралами не становяться. Где может быть проблема? P.S Смс-ка выдаеться function rel_hack() relation_registry.change_community_goodwill ("killer", db.actor:id(), (5000)) news_manager.send_tip(db.actor, "relation 0", nil, nil, 20000) end Не соответствует правилам. Ссылка на комментарий
losiara 13 Опубликовано 9 Марта 2016 Поделиться Опубликовано 9 Марта 2016 Добрый вечер! Подскажите где в папке gamedata можно найти сие если можно конечно и какие еще бывают партиклы? [sr_particle] name = anomaly2\teleport_out_00 - вот это??? path = gar_osoznanie_path mode = 2 looped = false Спасибо!!! Жизнь следует измерять поступками, а не временем... Ссылка на комментарий
naxac 2 445 Опубликовано 10 Марта 2016 Поделиться Опубликовано 10 Марта 2016 (изменено) @losiara, particles.xr. Посмотреть какие есть партиклы и как они выглядят можно в СДК. @Kondr48, str:gsub("%.", "") Изменено 10 Марта 2016 пользователем naxac 2 1 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
naxac 2 445 Опубликовано 10 Марта 2016 Поделиться Опубликовано 10 Марта 2016 весьма странно делать это на гсаб. Да, я не так понял просто, думал, на входе тоже строка "0.0001") Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
Kondr48 314 Опубликовано 10 Марта 2016 Поделиться Опубликовано 10 Марта 2016 naxac, так и есть, - на входе 0.0001 на выходе должно быть 00001. Ссылка на комментарий
naxac 2 445 Опубликовано 10 Марта 2016 Поделиться Опубликовано 10 Марта 2016 @Kondr48, тогда используй gsub. Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
Charsi 440 Опубликовано 10 Марта 2016 Поделиться Опубликовано 10 Марта 2016 (изменено) @Kondr48, так как точка в строке одна, то для gsub можно указать количество замен - str:gsub("%.", "", 1). Изменено 10 Марта 2016 пользователем Charsi 1 Lua и LuaJIT плагины для Notepad++ SciTE-RU 3.5.5 плагины для MilkShape3D Ссылка на комментарий
losiara 13 Опубликовано 10 Марта 2016 Поделиться Опубликовано 10 Марта 2016 (изменено) Украл из ЗП две функции (xr_effects.scripts) function teleport_npc(actor, npc, p)local patrol_point = p[1]local patrol_point_index = p[2] or 0if patrol_point == nil thenabort("Wrong parameters in 'teleport_npc' function!!!")endlocal position = patrol(patrol_point):point(patrol_point_index)reset_animation(npc)npc:set_npc_position(position)endfunction teleport_npc_by_story_id(actor, npc, p)local story_id = p[1]local patrol_point = p[2]local patrol_point_index = p[3] or 0if story_id == nil or patrol_point == nil thenabort("Wrong parameters in 'teleport_npc_by_story_id' function!!!")endlocal position = patrol(tostring(patrol_point)):point(patrol_point_index)local npc_id = get_story_object_id(story_id)if npc_id == nil thenabort("There is no story object with id [%s]", story_id)endlocal cl_object = level.object_by_id(npc_id)if cl_object thenreset_animation(cl_object)cl_object:set_npc_position(position)elsealife():object(npc_id).position = positionendend Вставил в аналогичный файл ТЧ и пробую через логику на секции on_hit - их применить, но вот ничего не происходит, почему так??? Предполагается что НПС телепортируется на место указанное в путях way..., но он остается на месте. Делал примерно так: [hit] on_info = %=teleport_npc(esc_prov)% ;профильное имя НПС. и по другому: [hit] on_info = %=teleport_npc_by_story_id(5494:stalker_propusk_esc_walk1)% ;sid:название путей в way... Может что то не так вставил в параметры??? Изменено 10 Марта 2016 пользователем losiara Жизнь следует измерять поступками, а не временем... Ссылка на комментарий
=VENOM= 50 Опубликовано 10 Марта 2016 Поделиться Опубликовано 10 Марта 2016 В DLL-библиотеке оригинальной ТЧ просто-напросто нет функции teleport_npc (и подобных ей), поэтому ничего и не происходит. 1 1 Ссылка на комментарий
FonSwong 33 Опубликовано 11 Марта 2016 Поделиться Опубликовано 11 Марта 2016 Нет ли способа вырисовывать в реальном времени direction? А то жутко неудобно работать с ними, не видя визуально. Ссылка на комментарий
FonSwong 33 Опубликовано 12 Марта 2016 Поделиться Опубликовано 12 Марта 2016 Взял функцию из этого поста Но как можно в 3д вырисовать линию направления?(от одного вектора до другого) Ссылка на комментарий
CRAZY_STALKER666 36 Опубликовано 12 Марта 2016 Поделиться Опубликовано 12 Марта 2016 Подскажите, с чем может быть связан вылет? [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: ...adow of chernobyl\gamedata\scripts\se_respawn.script:449: attempt to compare nil with userdata Не соответствует правилам. Ссылка на комментарий
HellRatz 2 851 Опубликовано 12 Марта 2016 Поделиться Опубликовано 12 Марта 2016 (изменено) Приветствую. А есть ли возможность подменить один объект (не живой) на другой, по старым координатам? То есть спавнится 1 предмет, он имеет определенные координаты, затем он тут же удаляется, а на его место (Учитывая не только xyz, но и наклон) спавнится другой. Объясню зачем это нужно. Для объектов на классе SCRPTOBJ не учитывается коллизия, и объект спавнится в прямой плоскости, не учитывая неровности террейна. Хотелось бы сперва спавнить "осязаемый" клон на любом классе, например II_ANTIR, а затем на его место подменивать уже объект с логикой. Хотя может можно как-то намного проще, напрямую с объектом работать, сделать его "осязаемым", реально ли..? А к объекту на том же II_ANTIR я не смог прикрутить логику, объект можно только подобрать, логика не считывается, может его можно принудительно после спавна заставить читать логику? UPD: нашел одно из решений. Спавню предмет на классе II_ANTIR, и в эту же точку спавню невидимый бокс размером чуть больше на классе SCRPTOBJ. Итого и объект ложится учитывая террейн, и сквозь него нельзя пройти, в тоже время можно его использовать. В общем такой вот костыль.. Изменено 12 Марта 2016 пользователем HellRatz GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Раритетные моды на моем облаке — на память о былом. Ссылка на комментарий
losiara 13 Опубликовано 14 Марта 2016 Поделиться Опубликовано 14 Марта 2016 (изменено) Добрый день!!! Полазил по форумам и нарыл несколько вариантов функций удаления объектов из игры, не перевода в оффлайн, а именно удаления по типу: function del_tele_dva()for a=10,65634,1 dolocal obj=alife():object(a)if obj and string.find(obj:name(),"fan_tel") then ---имя секции обьектаalife():release(obj,true)endendendили такая:function remove_freaks()remove_obj("object")end Якобы должны работать из логики объекта, но нет не работают не в какой секции. При активации например через диалог тоже не работает. Почему так может быть??? Код кривой или причина в другом??? На самом деле функций гораздо больше, но они все не рабочие, и вылета нет и действия также нет... Надо было удалить секцию в игре "zone_teleport", созданную через скрипт. Это такой визуальный эффект типа телепорта как воронка. Изменено 14 Марта 2016 пользователем losiara Жизнь следует измерять поступками, а не временем... Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти