Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Silver Raven 197 Опубликовано 18 Августа 2014 Поделиться Опубликовано 18 Августа 2014 (изменено) Перевел две группы НПС на созданные гулаги, но где-то накосячил, т.к. все они просто стоят на месте. Кто разбирается, посмотрите, может я чего и не увидел (мобы из гулагов временно вырезаны, работают нормально): local t = {} function load_job(sj, gname, type, squad, groups)-- Группа Алексаif type == "generators_alex_squad" thent = { section = "logic@generators_alex_squad_alex",idle = 0,prior = 1, state = {0},squad = squad,online = true,in_rest = "", out_rest = "",redicate = function(obj_info)return obj_info.name == "generators_alex"end}table.insert(sj, t)t = { section = "logic@generators_alex_squad_werewolf",idle = 0,prior = 1, state = {0},squad = squad,online = true,in_rest = "", out_rest = "",redicate = function(obj_info)return obj_info.name == "generators_werewolf"end}table.insert(sj, t)t = { section = "logic@generators_alex_squad_taurus",idle = 0,prior = 2, state = {0},squad = squad,online = true,in_rest = "", out_rest = "generators_monolith_base",redicate = function(obj_info)return obj_info.name == "generators_taurus"end}table.insert(sj, t)end-- База "Монолита"if type == "generators_monolith_base" thent = { section = "logic@generators_monolith_base_commander",idle = 0,prior = 1, state = {0},online = true,in_rest = "", out_rest = "",redicate = function(obj_info)return obj_info.name == "generators_monolith_base_commander"end}table.insert(sj, t)t = { section = "logic@generators_monolith_base_door_guard",idle = 0,prior = 1, state = {0},online = true,in_rest = "", out_rest = "",redicate = function(obj_info)return obj_info.name == "generators_monolith_base_door_guard"end}table.insert(sj, t)t = { section = "logic@generators_monolith_base_barrikada_guard_1",idle = 0,prior = 1, state = {0},online = true,in_rest = "", out_rest = "",redicate = function(obj_info)return obj_info.name == "generators_monolith_base_barrikada_guard_1"end}table.insert(sj, t)t = { section = "logic@generators_monolith_base_barrikada_guard_2",idle = 0,prior = 1, state = {0},online = true,in_rest = "", out_rest = "",redicate = function(obj_info)return obj_info.name == "generators_monolith_base_barrikada_guard_2"end}table.insert(sj, t)t = { section = "logic@generators_monolith_base_perimetr_guard_1",idle = 0,prior = 1, state = {0},online = true,in_rest = "", out_rest = "",redicate = function(obj_info)return obj_info.name == "generators_monolith_base_perimetr_guard_1"end}table.insert(sj, t)t = { section = "logic@generators_monolith_base_perimetr_guard_2",idle = 0,prior = 1, state = {0},online = true,in_rest = "", out_rest = "",redicate = function(obj_info)return obj_info.name == "generators_monolith_base_perimetr_guard_2"end}table.insert(sj, t)t = { section = "logic@generators_monolith_base_prisoner_guard",idle = 0,prior = 1, state = {0},online = true,in_rest = "", out_rest = "",redicate = function(obj_info)return obj_info.name == "generators_monolith_base_prisoner_guard"end}table.insert(sj, t)t = { section = "logic@generators_monolith_base_sniper_1",idle = 0,prior = 1, state = {0},online = true,in_rest = "", out_rest = "",redicate = function(obj_info)return obj_info.name == "generators_monolith_base_sniper_1"end}table.insert(sj, t)t = { section = "logic@generators_monolith_base_sniper_2",idle = 0,prior = 1, state = {0},online = true,in_rest = "", out_rest = "",redicate = function(obj_info)return obj_info.name == "generators_monolith_base_sniper_2"end}table.insert(sj, t)t = { section = "logic@generators_monolith_base_sniper_3",idle = 0,prior = 1, state = {0},online = true,in_rest = "", out_rest = "",redicate = function(obj_info)return obj_info.name == "generators_monolith_base_sniper_3"end}table.insert(sj, t)endendfunction load_states(gname, type)if type == "generators_alex_squad" thenreturn function(gulag)if has_alife_info("back_to_alex_squad") thenreturn 0endendendif type == "generators_monolith_base" thenreturn function(gulag)return 0endendend---------------------------------------------------------------------------- Dynamic ltx--------------------------------------------------------------------------function load_ltx(gname, type)return nilendfunction checkStalker(npc_community, gulag_type, npc_rank, se_obj)if gulag_type == "generators_alex_squad" thenreturn npc_community == "stalker"endif gulag_type == "generators_monolith_base" thenreturn npc_community == "monolith"endreturn falseendfunction checkMonster(npc_community, gulag_type)return falseend [spoiler='gualg.ltx ;-- Группа Алекса: ; Алекс[logic@generators_alex_squad_alex]active = walker@alex_wait_actoron_death = alex_squad_death [walker@alex_wait_actor]path_walk = generators_alex_squad_alex_walk_1path_look = generators_alex_squad_alex_look_1invulnerable = truemeet = meet@alex_meet_1danger = danger_condition@alexon_info = {+save_taurus} walker@alex_after_start_taskon_info2 = {+save_taurus_alternative} walker@alex_after_start_alternative_taskon_info3 = {+taurus_dead} walker@alex_after_taurus_dead [meet@alex_meet_1]meet_state = 30| hello@talk_hello| 8| wait@wait| 3| ward@waitmeet_state_wpn = 30| hello@talk_hello| 8| wait@wait| 3| ward@waitvictim = 30| actorvictim_wpn = 30| actoruse = trueuse_wpn = truemeet_dialog = {-save_taurus} gen_alex_start_dialog [walker@alex_after_start_task]path_walk = generators_alex_squad_alex_walk_1path_look = generators_alex_squad_alex_look_2invulnerable = truemeet = meet@alex_meet_2danger = danger_condition@alexon_info = {+back_to_alex_squad_complite} walker@alex_after_complite_taskon_info2 = {+taurus_dead} walker@alex_after_fail_task [meet@alex_meet_2]meet_state = 10| wait@wait| 3| ward@waitmeet_state_wpn = 10| wait@wait| 3| ward@waitvictim = 10| actorvictim_wpn = 10| actoruse = trueuse_wpn = truemeet_dialog = {+save_taurus -back_to_alex_squad_complite} gen_alex_taurus_save_in_progress_dialog [walker@alex_after_start_alternative_task]path_walk = generators_alex_squad_alex_walk_1path_look = generators_alex_squad_alex_look_1invulnerable = truemeet = meet@alex_meet_3danger = danger_condition@alexon_info = {+back_to_alex_squad_complite} walker@alex_after_complite_task [meet@alex_meet_3]meet_state = 10| wait@wait| 3| ward@waitmeet_state_wpn = 10| wait@wait| 3| ward@waitvictim = 10| actorvictim_wpn = 10| actoruse = trueuse_wpn = truemeet_dialog = {+save_taurus_alternative -back_to_alex_squad_complite} gen_alex_taurus_dead_hello_dialog [walker@alex_after_complite_task]path_walk = generators_alex_squad_alex_walk_1path_look = generators_alex_squad_alex_look_2invulnerable = truemeet = meet@alex_meet_4danger = danger_condition@alex [meet@alex_meet_4]meet_state = 10| wait@wait| 3| ward@waitmeet_state_wpn = 10| wait@wait| 3| ward@waitvictim = 10| actorvictim_wpn = 10| actoruse = trueuse_wpn = truemeet_dialog = {+back_to_alex_squad_complite -save_taurus_task_talk_to_alex_complite} gen_alex_taurus_safety_dialog, {+save_taurus_task_talk_to_alex_complite} gen_alex_hello_dialog [walker@alex_after_fail_task]path_walk = generators_alex_squad_alex_walk_1path_look = generators_alex_squad_alex_look_2invulnerable = truemeet = meet@alex_meet_5danger = danger_condition@alex [meet@alex_meet_5]meet_state = 10| wait@wait| 3| ward@waitmeet_state_wpn = 10| wait@wait| 3| ward@waitvictim = 10| actorvictim_wpn = 10| actoruse = trueuse_wpn = truemeet_dialog = {+taurus_dead +save_taurus -taurus_dead_talk_to_alex_complite} gen_alex_taurus_dead_dialog, {+taurus_dead_talk_to_alex_complite} gen_alex_taurus_dead_hello_dialog [walker@alex_after_taurus_dead]path_walk = generators_alex_squad_alex_walk_1path_look = generators_alex_squad_alex_look_1invulnerable = truemeet = meet@alex_meet_6danger = danger_condition@alex [meet@alex_meet_6]meet_state = 10| wait@wait| 3| ward@waitmeet_state_wpn = 10| wait@wait| 3| ward@waitvictim = 10| actorvictim_wpn = 10| actoruse = trueuse_wpn = truemeet_dialog = {+taurus_dead -save_taurus -taurus_dead_talk_to_alex_alternative_complite} gen_alex_taurus_dead_alternative_dialog, {+taurus_dead_talk_to_alex_alternative_complite} gen_alex_taurus_dead_hello_dialog [danger_condition@alex]ignore_distance = 30ignore_distance_grenade = 30ignore_distance_corpse = 0ignore_distance_sound = 30danger_inertion_time_hit = 1 ; Вервольф[logic@generators_alex_squad_werewolf]active = remark@werewolf_woundedcombat_ignore = combat_ignore@alex_squaddanger = danger_condition@werewolfon_death = alex_squad_death [remark@werewolf_wounded]anim = wounded_heavycombat_ignore_cond = alwaysmeet = no_meet [danger_condition@werewolf]ignore_distance = 30ignore_distance_grenade = 30ignore_distance_corpse = 0ignore_distance_sound = 30danger_inertion_time_hit = 1 ; Таурус (пленный)[logic@generators_alex_squad_taurus]active = walker@monolith_base_taurus_prisoneron_death = taurus_deathcombat_ignore = combat_ignore@alex_squad [walker@monolith_base_taurus_prisoner]path_walk = generators_alex_squad_taurus_prisoner_walkpath_look = generators_alex_squad_taurus_prisoner_lookinvulnerable = truecombat_ignore_cond = alwaysmeet = no_meeton_info = {+monolith_base_destroy} walker@monolith_base_taurus_need_help [walker@monolith_base_taurus_need_help]path_walk = generators_alex_squad_taurus_walk_1path_look = generators_alex_squad_taurus_look_1combat_ignore_cond = {!actor_enemy !fighting_actor}meet = meet@taurus_meet_1on_info = {+back_to_alex_squad} walker@taurus_back_to_alex_squad [meet@taurus_meet_1]meet_state = 10| hello@talk_hello| 8|waitmeet_state_wpn = 10| hello@talk_hello| 8|waitvictim = 10| actorvictim_wpn = 10| actoruse = trueuse_wpn = truemeet_dialog = {+save_taurus} gen_taurus_save_dialog, {-save_taurus} gen_taurus_save_alternative_dialog [walker@taurus_back_to_alex_squad]path_walk = generators_alex_squad_taurus_walk_2path_look = generators_alex_squad_taurus_look_2combat_ignore_cond = {!actor_enemy !fighting_actor}meet = no_meeton_signal = arrive | walker@alex_squad_taurus_after_safety [walker@alex_squad_taurus_after_safety]path_walk = generators_alex_squad_taurus_walk_3path_look = generators_alex_squad_taurus_look_2meet = meet@taurus_meet_2on_info = {+save_taurus_task_talk_to_taurus_complite} walker@alex_squad_taurus_after_complite_task [meet@taurus_meet_2]use = trueuse_wpn = truemeet_dialog = {+back_to_alex_squad_complite +save_taurus} gen_taurus_after_save_dialog, {+back_to_alex_squad_complite +save_taurus_alternative} gen_taurus_after_save_alternative_dialog [walker@alex_squad_taurus_after_complite_task]path_walk = generators_alex_squad_taurus_walk_3path_look = generators_alex_squad_taurus_look_2meet = meet@taurus_meet_3 [meet@taurus_meet_3]use = trueuse_wpn = truemeet_dialog = {+save_taurus_task_talk_to_taurus_complite} gen_taurus_hello_dialog [taurus_death]on_info = %+taurus_dead +take_taurus_pda% ;--------------------------------------------[combat_ignore@alex_squad] [alex_squad_death]on_info = %+alex_squad_dead%;-------------------------------------------- ;-- База "Монолита": ;-- Командир базы[logic@generators_monolith_base_commander]active = walker@generators_monolith_base_commaderon_death = death@generators_monolith_base_commadercombat_ignore = combat_ignore@generators_monolith_base [walker@generators_monolith_base_commader]path_walk = generators_monolith_base_commander_walkpath_look = generators_monolith_base_commander_lookno_retreat = true [death@generators_monolith_base_commader]on_info = %+monolith_base_commander_dead% ;-- Охранник у двери в лабораторию Х-8[logic@generators_monolith_base_door_guard]active = walker@generators_monolith_base_door_guardon_death = death@generators_monolith_base_door_guardcombat_ignore = combat_ignore@generators_monolith_base [walker@generators_monolith_base_door_guard]path_walk = generators_monolith_base_door_guard_walkpath_look = generators_monolith_base_door_guard_look [death@generators_monolith_base_door_guard]on_info = %+monolith_base_door_guard_dead% ;-- Снайпер-1[logic@generators_monolith_base_sniper_1]active = camper@generators_monolith_base_sniper_1on_combat = combat@generators_monolith_base_sniperson_death = death@generators_monolith_base_sniper_1combat_ignore = combat_ignore@generators_monolith_base [camper@generators_monolith_base_sniper_1]path_walk = generators_monolith_base_sniper_1_walkpath_look = generators_monolith_base_sniper_1_looksniper = true danger = danger_condition@generators_monolith_base_snipers [death@generators_monolith_base_sniper_1]on_info = %+monolith_base_sniper_1_dead% ;-- Снайпер-2[logic@generators_monolith_base_sniper_2]active = camper@generators_monolith_base_sniper_2on_combat = combat@generators_monolith_base_sniperson_death = death@generators_monolith_base_sniper_2combat_ignore = combat_ignore@generators_monolith_base [camper@generators_monolith_base_sniper_2]path_walk = generators_monolith_base_sniper_2_walkpath_look = generators_monolith_base_sniper_2_looksniper = truedanger = danger_condition@generators_monolith_base_snipers [death@generators_monolith_base_sniper_2]on_info = %+monolith_base_sniper_2_dead% ;-- Снайпер-3[logic@generators_monolith_base_sniper_3]active = camper@generators_monolith_base_sniper_3on_combat = combat@generators_monolith_base_sniperson_death = death@generators_monolith_base_sniper_3combat_ignore = combat_ignore@generators_monolith_base [camper@generators_monolith_base_sniper_3]path_walk = generators_monolith_base_sniper_3_walkpath_look = generators_monolith_base_sniper_3_looksniper = truedanger = danger_condition@generators_monolith_base_snipers [death@generators_monolith_base_sniper_3]on_info = %+monolith_base_sniper_3_dead% ;-- Охранник-1 у баррикад[logic@generators_monolith_base_barrikada_guard_1]active = walker@generators_monolith_base_barrikada_guard_1on_death = death@generators_monolith_base_barrikada_guard_1combat_ignore = combat_ignore@generators_monolith_base [walker@generators_monolith_base_barrikada_guard_1]path_walk = generators_monolith_base_barrikada_guard_1_walkpath_look = generators_monolith_base_barrikada_guard_1_look [death@generators_monolith_base_barrikada_guard_1]on_info = %+monolith_base_barrikada_guard_1_dead% ;-- Охранник-2 у баррикад[logic@generators_monolith_base_barrikada_guard_2]active = walker@generators_monolith_base_barrikada_guard_2on_death = death@generators_monolith_base_barrikada_guard_2combat_ignore = combat_ignore@generators_monolith_base [walker@generators_monolith_base_barrikada_guard_2]path_walk = generators_monolith_base_barrikada_guard_2_walkpath_look = generators_monolith_base_barrikada_guard_2_look [death@generators_monolith_base_barrikada_guard_2]on_info = %+monolith_base_barrikada_guard_2_dead% ;-- Охранник-1 внутреннего периметра базы[logic@generators_monolith_base_perimetr_guard_1]active = walker@generators_monolith_base_perimetr_guard_1on_death = death@generators_monolith_base_perimetr_guard_1combat_ignore = combat_ignore@generators_monolith_base [walker@generators_monolith_base_perimetr_guard_1]path_walk = generators_monolith_base_perimetr_guard_1_walkpath_look = generators_monolith_base_perimetr_guard_1_look [death@generators_monolith_base_perimetr_guard_1]on_info = %+monolith_base_perimetr_guard_1_dead% ;-- Охранник-2 внутреннего периметра базы[logic@generators_monolith_base_perimetr_guard_2]active = walker@generators_monolith_base_perimetr_guard_2on_death = death@generators_monolith_base_perimetr_guard_2combat_ignore = combat_ignore@generators_monolith_base [walker@generators_monolith_base_perimetr_guard_2]path_walk = generators_monolith_base_perimetr_guard_2_walkpath_look = generators_monolith_base_perimetr_guard_2_look [death@generators_monolith_base_perimetr_guard_2]on_info = %+monolith_base_perimetr_guard_2_dead% ;-- Охранник пленника[logic@generators_monolith_base_prisoner_guard]active = walker@generators_monolith_base_prisoner_guardon_death = death@generators_monolith_base_prisoner_guardcombat_ignore = combat_ignore@generators_monolith_base [walker@generators_monolith_base_prisoner_guard]path_walk = generators_monolith_base_prisoner_guard_walkpath_look = generators_monolith_base_prisoner_guard_look [death@generators_monolith_base_prisoner_guard]on_info = %+monolith_base_prisoner_guard_dead% ;--------------------------------------------[combat@generators_monolith_base_snipers]combat_type = monolith [danger_condition@generators_monolith_base_snipers]danger_expiration_time = 60000danger_inertion_time = 90000 [combat_ignore@generators_monolith_base]combat_ignore_cond = {=check_fighting(10010)} ;-------------------------------------------- З.Ы. Если 1 НПС относящийся к одному гулагу принудительно должен находиться некоторое время на территории другого (играет роль пленного), ему нужно создавать отдельное место в этом гулаге, или он никуда не уйдет? При необходимости добавлю секции из all.spawn. Изменено 18 Августа 2014 пользователем Stalker_AleX333 aka Stalker_AleX333 Мои проекты - ЯндексДиск | Я на Gamer-Mods.ru Ссылка на комментарий
AndreySol 215 Опубликовано 18 Августа 2014 Поделиться Опубликовано 18 Августа 2014 Пиши так: use_sound = interface\inv_detach_addon эффект тот-же - не воспроизводится звук. Похоже Вы напутали с use_sound, видимо в ТЧ этот параметр конфига не работает. ему нужно создавать отдельное место в этом гулаге, или он никуда не уйдет? Если в логике прописано сидеть и не рыпаться - не уйдет. И пофиг в каком гулаге ему это прописано... Посмотри пример с Шустрым на АТП на Кордоне(оригинал). Ссылка на комментарий
Anonim 680 Опубликовано 18 Августа 2014 Поделиться Опубликовано 18 Августа 2014 (изменено) Похоже Вы напутали с use_sound, видимо в ТЧ этот параметр конфига не работает. Уверен? Если я так говорю, значит я сам проверял. Может путь надо указывать с папки sounds: sounds\use_item\antirad_pills. Просто делал давно, и точно не помню как надо писать путь до звука. Вспомнил, видел такое в Хабар моде, давно было, сам пользовался, потом забыл со временем. Изменено 18 Августа 2014 пользователем Anonim Ссылка на комментарий
Lanta87 19 Опубликовано 19 Августа 2014 Поделиться Опубликовано 19 Августа 2014 Ахмед, AndreySol Я вопрос с привязкой звуков к использованию предметов решала так: 1. В папке gamedata\scripts создаешь новый скриптовый файл zvuki_items.script local snd_obj function use_sound_itemz(obj) local sound_table = { ['bread'] = [[inventory\inv_food]], ['kolbasa'] = [[inventory\inv_food]], ['medkit'] = [[inventory\inv_medic]], ['energy_drink'] = [[inventory\inv_drinking]], ['bandage'] = [[inventory\inv_bandage]], ['matras'] = [[inventory\inv_sleeping]]} local snd = sound_table[obj:section()] if snd then if snd_obj and snd_obj:playing() then snd_obj:stop() end snd_obj = xr_sound.get_safe_sound_object(snd) snd_obj:play_at_pos(db.actor, vector(), 0, sound_object.s2d) end Это основной скрипт, сюда можно по анологии добавлять любые предметы 2. В gamedata\scripts\bind_stalker дописываем function actor_binder:use_object(obj) zvuki_items.use_sound_itemz(obj) end 3. Проверяем, чтобы в указанной папке звуков (gamedata\sounds\inventory) были нужные нам звуки. Все, при неоднократном съедании предмета старый звук глушится и отыгрывается новый. Кто автор метода, простите, не знаю. Ссылка на комментарий
Nazgool 250 Опубликовано 19 Августа 2014 Поделиться Опубликовано 19 Августа 2014 Lanta87. там ещё нужно дописать : в функцию function actor_binder:net_destroy() : self.object:set_callback(callback.use_object, nil) в функцию actor_binder:reinit(): self.object:set_callback(callback.use_object, self.use_object, self) Ссылка на комментарий
Lanta87 19 Опубликовано 19 Августа 2014 Поделиться Опубликовано 19 Августа 2014 Nazgool. Да, верно. В чистом ТЧ в бинд-сталкере этого нет, нужно будет дописать колбэки. Запамятовала))) Ссылка на комментарий
Wolkodav 0 Опубликовано 19 Августа 2014 Поделиться Опубликовано 19 Августа 2014 (изменено) Привет всем,_у меня случился стопор на последних парах выхода мода._Не могу решить проблемку(((_Суть заключается в том, что я добавил в игру много артов,_и решил прописать их в аномалии,_получилось по 12 артов на аномалию,_ну получается, что я прописал их, чтобы выпадали из аномалии, но выпадают только первые 3 арта и все,_остальные ни в какую,_если убрать первые три и прописать другие, то появляются те, которыми заменил._Проблема в том, что мне надо, чтобы выпадали все 12 в случайном порядке, а не только первые 3. Изменено 20 Августа 2014 пользователем Kirgudu Ссылка на комментарий
lsclon 527 Опубликовано 19 Августа 2014 Поделиться Опубликовано 19 Августа 2014 что мне надо чтобы выпадали все 12 в случайном порядке а не только первые 3 Нужно всем 12 артам выставить равные шансы. Только нужно помнить, что сумма всех шансов, не должна превышать единицу. Тогда арты будут спавниться в случайном порядке, а не только те, у которых шанс выше. Вообще-то я белая и пушистая... Ссылка на комментарий
AndrewMor 527 Опубликовано 21 Августа 2014 Поделиться Опубликовано 21 Августа 2014 Привет всем! Столкнулся с проблемкой. Нужно сделать так, что при использовании предмета в инвентори он не пропадал сразу, а пропадал, скажем, после трех использований. Я так понял, что нужно организовать счетчик, и при каждом использовании увеличивать значение переменной на единицу, а потом спавнить предмет в рюкзак по новой, пока значение счетчика не станет равным трем. А вот как сохранить эту переменную, чтобы при сейв-лоаде ее значение не потерялось? Сталкер - наше всё! Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 21 Августа 2014 Поделиться Опубликовано 21 Августа 2014 Способов куча на самом деле. Просто смотреть эту тему + скриптование и справочник по функциям и классам. И выбирать, какой подходит. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Desertir 202 Опубликовано 21 Августа 2014 Поделиться Опубликовано 21 Августа 2014 Нормальный способ один, написать в конфиге предмета eat_portions_num = 3 1 ТЧ 1.0004. SAP и Trans mod github Ссылка на комментарий
AndrewMor 527 Опубликовано 21 Августа 2014 Поделиться Опубликовано 21 Августа 2014 Нормальный способ один, написать в конфиге предмета Этот способ не подходит, потому что использовав предмет один раз и сохранившись, при загрузке сейва он будет использоваться опять три раза, а не два. А как отловить появление предмета в инвентаре? Dennis_Chikin А можно примерчик, самый простенький, для ознакомления? Сталкер - наше всё! Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 21 Августа 2014 Поделиться Опубликовано 21 Августа 2014 Например, xr_logic.pstor_store(). Или в нетпакет. Или создать специальное хранилище через factory. Или, если предмет уникален - через infoportion. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
AndrewMor 527 Опубликовано 21 Августа 2014 Поделиться Опубликовано 21 Августа 2014 Появление предмета в инвентаре - это случаем не "function actor_binder:on_item_take (obj)" из bind_stalker.script? Например, xr_logic.pstor_store(). Или в нетпакет. То есть АМК-шные функции get_invbox_data и set_invbox_data надо пользовать? Или они работают только для инв. ящика? Сталкер - наше всё! Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 21 Августа 2014 Поделиться Опубликовано 21 Августа 2014 1. Да. 2. Формат нетпакета для каждого класса свой. Но это не значит, что данные нужно хранить именно в этом предмете. И, да, pstor - это для онлайна. Нетпакет - преимущественно для офлайна (хотя можно и в онлайне). Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
AndrewMor 527 Опубликовано 21 Августа 2014 Поделиться Опубликовано 21 Августа 2014 (изменено) Повесил в бинд_сталкер вызов функции function take_sigaret(pid) if obj:section() = "имя_секции_предмета" then-- что-то делаемendend ловлю вылет. Наверно неправильно синтаксис пишу, но не знаю как правильно. Ну и откуда здесь должен взяться obj ? А во-вторых, таки да, синтаксис. Идем на lua.org, берем компилятор, и проверяем им. Документация лежит там же. dc Ну хоть вызов функции-то правильный? ogsm_quests.take_sigaret(obj) Вроде разобрался, но вот вопрос, правильно ли я сохраняю свою переменную? function is_sigaret(npc, item)local kolvolocal section = item:section()if section == "sigaret" thenkolvo = 20xr_logic.pstor_store(db.actor, kolvo, 20)endend Просто с pstor ни разу не разбирался. Вылета нет, но как-то не по себе, не знаю, работает она или нет? "но как-то не по себе" - и это - правильное ощущение. Разбираемся дальше. dc Изменено 22 Августа 2014 пользователем Dennis_Chikin Сталкер - наше всё! Ссылка на комментарий
NiKi BoY 18 Опубликовано 22 Августа 2014 Поделиться Опубликовано 22 Августа 2014 А в каком .xml файле можно изменить цвет строчки Получен предмет, Потерян и т.д Живу, дышу, да-да я существую. Ссылка на комментарий
Lanta87 19 Опубликовано 22 Августа 2014 Поделиться Опубликовано 22 Августа 2014 NiKi BoY, в папке gamedata\config\text\rus выбираешь нужный файл с описаниями и непосредственно перед текстом вставляешь %c[нужный цвет]: Медицинский набор, которым можно осуществлять лечение раненых товарищей. Может использоваться до трех раз.\n%c[255,0,255,0]Комплектация:\n%c[default]Набор "Юный портной"\nНабор "Пилим и строгаем"\nОбезболивающее (крепость не ниже 54 град.)\nБиблия. Вот варианты цветов %c[255,0,255,0] - зеленый шрифт %c[255,255,128,128] - розовый %c[255,227,114,12] - оранжевый %c[255,255,1,1] - красный %c[255,243,174,29] - желтый %c[255,1,255,255] - бирюзово-голубой %c[default] - основной белый, если дописываешь после опр. цвета С цифрами в квадратных скобках можно экспериментировать, для получения желаемого оттенка А конкретно по строке "потерян предмет", сейчас порылась поисковиком Notepad++ в папке с текстами, ничего подобного не нашла. Забавно, в игре-то используется.. Если найду, отпишусь)) Ссылка на комментарий
Korpus 49 Опубликовано 22 Августа 2014 Поделиться Опубликовано 22 Августа 2014 (изменено) ничего подобного не нашла. Забавно, в игре-то используется.. string id="general_out_item", string id="general_in_item" в файле string_table_level_tips.xml Там же и про деньги и прочее. Изменено 22 Августа 2014 пользователем Korpus Ссылка на комментарий
Ахмед 0 Опубликовано 22 Августа 2014 Поделиться Опубликовано 22 Августа 2014 Как "разблокировать" одиночек и Волка в лагере, чтоб те перестали говорить про грузовик смерти? Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти