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 Ссылка на комментарий
XMK 24 Опубликовано 1 Мая 2009 Поделиться Опубликовано 1 Мая 2009 сталкнулся с такой проблемой... а как заспавнить труп?? желательно через скрипт.. Ссылка на комментарий
Push85 4 Опубликовано 2 Мая 2009 Поделиться Опубликовано 2 Мая 2009 XMK По-моему через скрипт заспаунить сразу мертвого не получится, можно конечно его потом убить функцией npc:kill(npc) где npc это ссылка на непися, а через all.spawn спауниться без проблем, в параметрах объекта выстави health = 0 и upd:health = 0 и вроде все. 1 Возможно всё, ну или почти всё. Ссылка на комментарий
XMK 24 Опубликовано 2 Мая 2009 Поделиться Опубликовано 2 Мая 2009 вот так вот будет работать? если запускаеться при старте новой игры.. function dead_body_spawn() alife():create("чувак 1",vector():set(-243.6, -0.67, 309.62), 366014, 20) npc:kill("чувак 1") end и еще npc:kill("чувак 1") - чувак 1 писать в кавычках или без? Ссылка на комментарий
Push85 4 Опубликовано 2 Мая 2009 Поделиться Опубликовано 2 Мая 2009 XMK Несовсем, попробуй вот так, должно сработать: function dead_body_spawn() npc=alife():create("чувак 1",vector():set(-243.6, -0.67, 309.62), 366014, 20) npc:kill(npc) end Возможно всё, ну или почти всё. Ссылка на комментарий
XMK 24 Опубликовано 2 Мая 2009 Поделиться Опубликовано 2 Мая 2009 бить функцией npc:kill(npc) где npc это ссылка на непися раз npc это ссылка на непися то возможно все таки прописать непися ? щас попробую так и так Ссылка на комментарий
banderos 17 Опубликовано 3 Мая 2009 Поделиться Опубликовано 3 Мая 2009 (изменено) ... а как заспавнить труп?? желательно через скрипт.. Попробуй так: function spawn_trup_npc() local obj = alife():create("здесь профиль твоего нпс",vector():set(-45.41, 19.18, 5.84), 2340, 1530) local tbl = amk.read_stalker_params(obj) tbl.custom="[known_info]\nможно вставить инфопоршен" -- эту строку можно убрать. Она для выдачи инфопоршена при обыске трупа. tbl.sid = 481543 -- id tbl.health = 0 tbl.updhealth = 0 amk.write_stalker_params(tbl, obj) end Изменено 3 Мая 2009 пользователем banderos Мой вариант билдовских локаций: Мёртвый город (build 1935) и Свалка (build 2205) Ссылка на комментарий
Влад 9 Опубликовано 4 Мая 2009 Поделиться Опубликовано 4 Мая 2009 Люди,плз,помогите разобратся как заспавнить телепорты через скрипт...читал эту статью,но так и не понял...помогите братцы. Мои работы Не бойтесь совершенства. Вам его не достичь. C. Дали Ссылка на комментарий
Kostya V 31 Опубликовано 4 Мая 2009 Поделиться Опубликовано 4 Мая 2009 (изменено) Влад, Ты посмотри мод Hand Teleport. Там как раз сделано по этой статье. Сравнивай статью и файлы мода и все поймешь. мож написать,попонятнее,что и куда писать? Ты хоть начни делать-то. Если просто читать ничего понятно не будет. На практике все познается. Изменено 5 Мая 2009 пользователем Kostya V Кто весел - тот смеется, кто хочет - тот добьется, кто ищет - тот всегда найдет! Ссылка на комментарий
Влад 9 Опубликовано 5 Мая 2009 Поделиться Опубликовано 5 Мая 2009 (изменено) Kostya V спс за наводку,но я так и не понял что и как... мож написать,попонятнее,что и куда писать?если не трудно. +в репу гарантирую... Ты хоть начни делать-то. Если просто читать ничего понятно не будет. На практике все познается. Начал.Попробывал загрузить сейв =>вылет Expression : fatal error Function : CInifile::r_string File : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp Line : 352 Description : <no expression> Arguments : Can't find variable hospital in [radiation_strength] в zone_teleport.ltx вписал [m_teleport_hospital_dira]:zone_teleport teleport = standart script_binding = bind_mteleport.bind radius = 2 z_radius = 2 poz_x = -104.20769500732 poz_y = 27.536497116089 poz_z = 631.65075683594 rotate = 1.5 в spawn_teleport.script вписал local obj local a = vector() a.x = -101.09741210938 a.y = 32.127510070801 a.z = 631.62628173828 obj = alife():create("m_teleport_hospital_dira",a,12829,8,65535) Попробывал начать новую игру - загрузка прошла норм.,но при переходе на нужную локу вылет с тем же логом... Изменено 5 Мая 2009 пользователем Влад Мои работы Не бойтесь совершенства. Вам его не достичь. C. Дали Ссылка на комментарий
Kostya V 31 Опубликовано 5 Мая 2009 Поделиться Опубликовано 5 Мая 2009 Влад, Влад, ты что делаешь? Телепорты или переходы между локациями? Так как это разные вещи, делать их надо по-разному. В той статье, которую ты указал создаются телепорты, которые действуют только в пределах локации, на которой находится ГГ. Если тебе нужно создать переход на другую локацию, то это делается совсем по другой статье. Посмотри в моде Hand Teleport файл spawn_level_changer.script. Там уже все готово для создания таких переходов. Пропиши вот это в свой скриптовый файл: function create_level_changer( p_story_id, -- STORY_ID нового level_changer (понадобится нам позже) p_position, -- вектор, координаты точки, в которой будет располагаться центр нового level_changer p_lvertex_id, -- level_vertext_id - идентифицируют уровень, на котором будет создан level_changer p_gvertex_id, -- game_vertext_id p_dest_lv, -- level_vertex_id - идентифицируют уровень, на который level_changer будет перебрасывать игрока p_dest_gv, -- game_vertex_id p_dest_pos, -- координаты точки, в которой на новом уровне окажется игрок p_dest_dir, -- направрение взгляда игрока p_dest_level, -- название уровня, например "L11_Pripyat" p_silent -- следует задать 1, чтобы подавить вопрос о смене уровня (автоматический переход) ) local obj = alife():create("level_changer", p_position, p_lvertex_id, p_gvertex_id) level.map_add_object_spot(obj.id, "level_changer", "") local packet = net_packet() obj:STATE_Write(packet) -- свойства cse_alife_object local game_vertex_id = packet:r_u16() local cse_alife_object__unk1_f32 = packet:r_float() local cse_alife_object__unk2_u32 = packet:r_u32() local level_vertex_id = packet:r_u32() local object_flags = packet:r_u32() local custom_data = packet:r_stringZ() local story_id = packet:r_u32() local spawn_story_id = packet:r_u32() -- свойства cse_shape local shape_count = packet:r_u8() for i=1,shape_count do local shape_type = packet:r_u8() if shape_type == 0 then -- sphere local center = packet:r_vec3() local radius = packet:r_float() else -- box local axis_x_x = packet:r_float() local axis_x_y = packet:r_float() local axis_x_z = packet:r_float() local axis_y_x = packet:r_float() local axis_y_y = packet:r_float() local axis_y_z = packet:r_float() local axis_z_x = packet:r_float() local axis_z_y = packet:r_float() local axis_z_z = packet:r_float() local offset_x = packet:r_float() local offset_y = packet:r_float() local offset_z = packet:r_float() end end -- свойства cse_alife_space_restrictor local restrictor_type = packet:r_u8() -- свойства cse_level_changer local dest_game_vertex_id = packet:r_u16() local dest_level_vertex_id = packet:r_u32() local dest_position = packet:r_vec3() local dest_direction = packet:r_vec3() local dest_level_name = packet:r_stringZ() local dest_graph_point = packet:r_stringZ() local silent_mode = packet:r_u8() packet:w_begin(game_vertex_id) -- game_vertex_id packet:w_float(cse_alife_object__unk1_f32) packet:w_u32(cse_alife_object__unk2_u32) packet:w_u32(level_vertex_id) -- level_vertex_id packet:w_u32( bit_not(193) ) -- object_flags = -193 = 0xFFFFFF3E packet:w_stringZ(custom_data) packet:w_u32(p_story_id) -- story_id packet:w_u32(spawn_story_id) packet:w_u8(1) -- количество фигур -- packet:w_u8(0) -- тип фигуры: сфера -- packet:w_vec3(vector():set(0, 0, 0)) -- sphere_center -- packet:w_float(3.0) packet:w_u8(1) -- тип фигуры: box packet:w_float(2) -- axis_x_x packet:w_float(0) -- axis_x_y packet:w_float(0) -- axis_x_z packet:w_float(0) -- axis_y_x packet:w_float(4) -- axis_y_y packet:w_float(0) -- axis_y_z packet:w_float(0) -- axis_z_x packet:w_float(0) -- axis_z_y packet:w_float(4) -- axis_z_z packet:w_float(0) -- offset_x packet:w_float(0) -- offset_y packet:w_float(0) -- offset_z packet:w_u8(3) -- restrictor_type packet:w_u16(p_dest_gv) -- destination game_vertex_id packet:w_s32(p_dest_lv) -- destination level_vertex_id packet:w_vec3(p_dest_pos) -- destination position packet:w_vec3(p_dest_dir) -- destination direction (направление взгляда) packet:w_stringZ(p_dest_level) -- destination level name packet:w_stringZ("start_actor_02") -- some string, always const packet:w_u8(p_silent) -- 1 for silent level changing packet:r_seek(0) obj:STATE_Read(packet, packet:w_tell()) level.add_pp_effector ("teleport.ppe", 2006, false) end function exit_as() create_level_changer(11077, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), 28719, 1758, vector():set(-317.23675537109,-26.327833175659,55.278633117676), vector():set(0.0, 0.0, 0.0), "l07_military", 1) end Здесь уже все готово. В функцию подставляй свои координаты и потом тебе останется только вызвать эту функцию. Кто весел - тот смеется, кто хочет - тот добьется, кто ищет - тот всегда найдет! Ссылка на комментарий
Real Wolf 34 Опубликовано 5 Мая 2009 Поделиться Опубликовано 5 Мая 2009 (изменено) Влад, Влад, ты что делаешь? Телепорты или переходы между локациями? Так как это разные вещи, делать их надо по-разному. В той статье, которую ты указал создаются телепорты, которые действуют только в пределах локации, на которой находится ГГ. -- Получение параметров лч. function get_lc_data(obj) local packet = net_packet() obj:STATE_Write(packet) local size=packet:w_tell() packet:r_seek(0) local t={} t.game_vertex_id = packet:r_u16() t.distance = packet:r_float() t.direct_control = packet:r_s32() t.level_vertex_id = packet:r_s32() t.object_flags = packet:r_s32() t.custom_data = packet:r_stringZ() t.story_id = packet:r_s32() t.spawn_story_id = packet:r_s32() local shape_count = packet:r_u8() t.shapes={} for i=1,shape_count do local shape_type = packet:r_u8() t.shapes<I>={} t.shapes.shtype=shape_type if shape_type == 0 then t.shapes.center = packet:r_vec3() t.shapes.radius = packet:r_float() else t.shapes.v1 = packet:r_vec3() t.shapes.v2 = packet:r_vec3() t.shapes.v3 = packet:r_vec3() t.shapes.offset = packet:r_vec3() end end t.restrictor_type = packet:r_u8() t.dest_game_vertex_id = packet:r_u16() t.dest_level_vertex_id = packet:r_s32() t.dest_position = packet:r_vec3() t.dest_direction = packet:r_vec3() t.dest_level_name = packet:r_stringZ() t.dest_graph_point = packet:r_stringZ() t.silent_mode = packet:r_u8() if packet:r_elapsed() ~= 0 then abort("left=%d", packet:r_elapsed()) end return t end -- Запись параметров лч. function set_lc_data(t,obj) local packet = net_packet() packet:w_begin(t.game_vertex_id) packet:w_float(t.distance) packet:w_s32(t.direct_control) packet:w_s32(t.level_vertex_id) packet:w_s32(t.object_flags) packet:w_stringZ(t.custom_data) packet:w_s32(t.story_id) packet:w_s32(t.spawn_story_id) packet:w_u8(table.getn(t.shapes)) for i=1,table.getn(t.shapes) do packet:w_u8(t.shapes.shtype) if t.shapes.shtype == 0 then packet:w_vec3(t.shapes.center) packet:w_float(t.shapes.radius) else packet:w_vec3(t.shapes.v1) packet:w_vec3(t.shapes.v2) packet:w_vec3(t.shapes.v3) packet:w_vec3(t.shapes.offset) end end packet:w_u8(t.restrictor_type) packet:w_u16(t.dest_game_vertex_id) packet:w_s32(t.dest_level_vertex_id) packet:w_vec3(t.dest_position) packet:w_vec3(t.dest_direction) packet:w_stringZ(t.dest_level_name) packet:w_stringZ(t.dest_graph_point) packet:w_u8(t.silent_mode) packet:r_seek(0) obj:STATE_Read(packet, packet:w_tell()) end -- Создание лч и перемещение ГГ(Автор Xiani). function start_jump_to(x,y,z,lv, gv, dx, dy, dz, level_name) amk.mylog("jump:create_lc") local lc = alife():create("level_changer", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id()) amk.mylog("jump:get_lc_data") local tbl = get_lc_data(lc) local shapes={} shapes[1]={} shapes[1].shtype=0 shapes[1].radius = 10 shapes[1].center = vector():set(0,0,0) tbl.shapes = shapes tbl.dest_level_name = level_name tbl.dest_position = vector():set(x,y,z) tbl.dest_direction = vector():set(dx,dy,dz) tbl.dest_game_vertex_id = gv tbl.dest_level_vertex_id = lv tbl.silent_mode = 1 tbl.story_id = 8657 amk.mylog("jump:set_lc_data") set_lc_data(tbl,lc) db.actor:set_actor_position(lc.position) amk.mylog("jump:finished") end А использовать просто: function road_to_yantar(actor, npc) dialogs.relocate_money(npc, 3500, "out") start_jump_to(29.146209716797,-11.688985824585,-279.86639404297,54978,1480, 0,0,0,"L08_yantar") end -- попадёшь в бункер к Сахарову. Строгое предупреждение от администратора _And_ сутки <только чтение> за оверквотинг, цитату урезал! Изменено 8 Мая 2009 пользователем DiGGeR Ссылка на комментарий
Влад 9 Опубликовано 8 Мая 2009 Поделиться Опубликовано 8 Мая 2009 Такс...другой вопрос. Как сделать что бы при получени инфопоршня,непись говорил что-то? Пример,если не поняли что я хо: стоит НПЦ спиной ко мне,я подхожу к нему,но на растоянии в 10 метров он начал говорить что-то. Мои работы Не бойтесь совершенства. Вам его не достичь. C. Дали Ссылка на комментарий
gruber 2 481 Опубликовано 8 Мая 2009 Поделиться Опубликовано 8 Мая 2009 (изменено) я сам новичек в этом деле но это легко поэтому знаю во первых инфопоршн не нужен нужно прописать ему логику [logic] active=sleeper trade = misc\trade_prapor.ltx---основная логика on_death = death [sleeper] path_main=esc_blokpost_prapor_main1 on_actor_dist_le_nvis = 2 |remark@esc_prapor--------если актер ближе двух метров выполнить [remark@esc_prapor] snd = esc_saw--вот сдесь название звуковой схемы anim = eat_vodka---------------------------------что выполнить (сесеть,выпить водки ,сказать фразу) target = actor meet = no_meet on_signal = sound_end| remark@esc_prapor_go------по окончании проигрыша звука выполнить [remark@esc_prapor_go] path_rest=rest-------все что угодно(просто у меня так) anim = sit target = actor meet = meet@esc_prapor_meet --пользоваться сполером не умею Изменено 30 Августа 2011 пользователем ColR_iT Ссылка на комментарий
sasha47007 3 Опубликовано 12 Мая 2009 Поделиться Опубликовано 12 Мая 2009 Как через all.spawn заспаунить space_restrictor чтобы при заходе в него выдавался инфопоршень, и чтоб сам space_restrictor заспавнился после получения инфопоршня? Ссылка на комментарий
Kostya V 31 Опубликовано 12 Мая 2009 Поделиться Опубликовано 12 Мая 2009 sasha47007, Посмотри в алл.спавне секцию с рестриктором и скопируй себе с подставлением своих координат. А далее этому рестриктору пропиши логику. Рестриктор заспавнится с началом новой игры. Но в логике можно прописать, чтобы он сработал только после получения определенного инфопоршина. А вот как это сделать, можно посмотреть в статьях про логику. Там все доступно написано. 1 Кто весел - тот смеется, кто хочет - тот добьется, кто ищет - тот всегда найдет! Ссылка на комментарий
bandit_Borov 0 Опубликовано 13 Мая 2009 Поделиться Опубликовано 13 Мая 2009 Привет кореша ! может кто помочь отспавнить аномалию(к примеру воронка) около ГГ в трех метрах. Я научился спавнить НПС ,но как вот аномалию ,вообще не пойму и не могу найти такую информацию ни в вики ,ни где . Помогите пожалуйста . Ссылка на комментарий
Kirag 39 Опубликовано 13 Мая 2009 Поделиться Опубликовано 13 Мая 2009 bandit_Borov В старой теме меченый(стрелок) отвечал на этот вопрос, воспроизведу его ответ Аномалии просто alife не заспавнишь - рабочую...вот воспользуйся функцией function spawn_anom(anom_name,plosh,position,level_vertex_id,game_vertex_id,powers_a,time_danger os) local obj = alife():create(anom_name,position,level_vertex_id,game_vertex_id) local pac = net_packet() obj:STATE_Write(pac) local game_vertex_id = pac:r_u16() local distance = pac:r_float() local direction = pac:r_u32() local level_vertex_id = pac:r_u32() local object_flags = pac:r_s32() local custom_data = pac:r_stringZ() local story_id = pac:r_s32() local spawn_story_id = pac:r_s32() local shape_count = pac:r_u8() for i=1,shape_count do local shape_type = pac:r_u8() if shape_type == 0 then local center = pac:r_vec3() local plosh = pac:r_float() else local box = pac:r_matrix() end end local restrikror_type = pac:r_u8() local powers = pac:r_float() local owner_id = pac:r_s32() local on_off_mode_enabled_time = pac:r_u32() local on_off_mode_disabled_time = pac:r_u32() local on_off_mode_shift_time = pac:r_u32() local offline_interactive_radius = pac:r_float() local artefact_spawn_places_count = pac:r_u16() local artefact_position_offset = pac:r_s32() local last_spawn_time_present = pac:r_u8() if pac:r_elapsed()~= 0 then abort("left=%d",pac:r_elapsed()) end pac:w_begin(game_vertex_id) pac:w_float(distance) pac:w_u32(direction) pac:w_u32(level_vertex_id) pac:w_u32(object_flags) pac:w_stringZ(custom_data) pac:w_s32(story_id) pac:w_s32(spawn_story_id) pac:w_u8(1) pac:w_u8(0) local sphere_center = vector() sphere_center:set(0,0,0) pac:w_vec3(sphere_center) pac:w_float(plosh) pac:w_u8(restrikror_type) if powers_a ~= nil then powers = powers_a end pac:w_float(powers) if time_dangeros == nil then owner_id = bit_not(0) else owner_id = time_dangeros end pac:w_u32(owner_id) pac:w_u32(on_off_mode_enabled_time) pac:w_u32(on_off_mode_disabled_time) pac:w_u32(on_off_mode_shift_time) pac:w_float(offline_interactive_radius) pac:w_u16(artefact_spawn_places_count) pac:w_u32(artefact_position_offset) pac:w_u8(last_spawn_time_present) pac:r_seek(0) obj:STATE_Read(pac,pac:w_tell()) return obj end спавнить к примеру так local anom_l = { "секция", "секция" } local level_coor = { l01_escape = {lvid=595580, gvid=44}, l02_garbage = {lvid=384039, gvid=265}, l03_agroprom = {lvid=438379, gvid=693}, l04_darkvalley = {lvid=392517, gvid=813}, l06_rostok = {lvid=69283, gvid=1311}, l07_military = {lvid=915663, gvid=1546}, l10_radar = {lvid=796328, gvid=1868}, l11_pripyat = {lvid=295965, gvid=2269} } function random_spawn() local gv = level_coor[level.name()]["gvid"] for i = 1,20 do local lv = math.random(level_coor[level.name()]["lvid"]) spawn_anom(anom_l[math.random(21)], math.random(3,15), level.vertex_position(lv),lv,gv,math.random(60,90),bit_not(0)) end end Я так спавнил радиацию ...Получается отлично...рандомно спавнится или скачай это ,можешь пользоваться .... http://depositfiles.com/files/wf3chx3r5 срабатывала раз ,то можешь в биндер поместить dynamic_anomalies.level_spawn() а в сам скрипт вставить это function level_spawn() local level_gg = level.name() if level_gg == "l01_escape" then if db.actor:dont_has_info("my1") then random_spawn() db.actor:give_info_portion("my1") end end if level_gg == "l02_garbage" then if db.actor:dont_has_info("my2") then random_spawn() db.actor:give_info_portion("my2") end end if level_gg == "l03_agroprom" then if db.actor:dont_has_info("my3") then random_spawn() db.actor:give_info_portion("my3") end end if level_gg == "l04_darkvalley" then if db.actor:dont_has_info("my4") then random_spawn() db.actor:give_info_portion("my4") end end if level_gg == "l06_rostok" then if db.actor:dont_has_info("my5") then random_spawn() db.actor:give_info_portion("my5") end end if level_gg == "l07_military" then if db.actor:dont_has_info("my6") then random_spawn() db.actor:give_info_portion("my6") end end if level_gg == "l10_radar" then if db.actor:dont_has_info("my7") then random_spawn() db.actor:give_info_portion("my7") end end if level_gg == "l11_pripyat" then if db.actor:dont_has_info("my8") then random_spawn() db.actor:give_info_portion("my8") end end end ну и добавить инфопоршни...удачи ..думаю рассказал больше чем надо От себя добавлю, что у меня не все аномалии спавнились без проблем, в частности, непонятки возникали с радиацией и антигравитацией, хотя, возможно, просто руки не оттуда... Но заспавнить аномалию - это еще полбеды. Реальные проблемы начинаются, когда ее пытаешься честно убрать... Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
bandit_Borov 0 Опубликовано 15 Мая 2009 Поделиться Опубликовано 15 Мая 2009 (изменено) Спасибо за помощь по аномалиям ,но не дошло и не получается ,как дано в описании что именно писать в секции ?. Там была ссылка на готовые динамические аномалии ,но файл удален ,может кто зальет пожалуйста, так надо шо звездец . Я ша объясню что я в итоге хочу может есть у кого . Кто знает забытый проект Симбион 2(Симбион+Прибой) дак вот там так классно летали предметы в гравитационных аномалиях шо амбец. Я вот ша хочу в чистый Прибой это сделать , но не получаеЦа ,пытался выдрать из АМК динамические аномалии , но не по зубам мне. Может есть у кого отдельно мод на динамические аномалии для Теней. Совмещать скрипты умею ,дальше справлюсь. Выручайте пацаны !. Изменено 15 Мая 2009 пользователем bandit_Borov Ссылка на комментарий
Kirag 39 Опубликовано 15 Мая 2009 Поделиться Опубликовано 15 Мая 2009 Спавнить командой spawn_anom(<секция нужной аномалии>,<радиус аномалии>,position,lvid,gvid,<сила аномалии>,-1) position,lvid,gvid - как в обычном спавне. У меня работало как надо не со всеми аномалиями, но работало. А чтобы сделать динамические аномалии, одного спавна мало, там нужно еще много чего продумать. Одно убирание аномалий чего стоит. Так и не решил я толком эту задачу. Точнее сделать - сделал, но ТАКИЕ глюки получил, что просто ужас, пришлось отказаться от этой затеи. Мои работы: Ночные прицелы + смена ножевого слота AI вертолетов + ПЗРК Soul Cube Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти