Перейти к контенту

QuestRider

Пользователи
  • Число публикаций

    12
  • Регистрация

  • Последнее посещение

О QuestRider

Недавние посетители профиля

95 просмотров профиля
  1. Кто знает как работает секция [game_info] в логике нпс. Вот недавно наткнулся на эту секцию, решил добавить, захожу в игру и нифига, что я не так сделал и как правильно? Скрытый текст [2070] ; cse_abstract properties section_name = stalker name = esc_melnik position = -208.551208496094, -20.0917911529541, -141.64958190918 direction = 0.0623090341687202, 0.00229393295012414, 0.0141186164692044 id = 65535 version = 118 script_version = 6 spawn_id = 99 ; cse_alife_trader_abstract properties money = 57500 character_profile = esc_stalker_melnik ; cse_alife_object properties game_vertex_id = 47 distance = 3.5 level_vertex_id = 29123 object_flags = 0xffffffbf custom_data = <<END [smart_terrains] esc_lager = true [game_info] stories = "story_04, legend_03, legend_04" END ; cse_visual properties visual_name = actors\neytral\stalker_neytral_hood_new_5 ; cse_alife_creature_abstract properties g_team = 0 g_squad = 1 g_group = 5 dynamic_out_restrictions = dynamic_in_restrictions = ; cse_alife_monster_abstract properties equipment_preferences = 2, 2, 0, 1, 0 main_weapon_preferences = 2, 1, 2, 1 ; cse_ph_skeleton properties ; se_stalker properties upd:health = 1 upd:timestamp = 0xef20e0ec upd:creature_flags = 0xe5 upd:position = -208.551208496094, -20.0917911529541, -141.64958190918 upd:o_torso = 0.00229393295012414, 0.0623090341687202, 0 upd:g_squad = 1 upd:g_group = 5 ; cse_alife_human_stalker properties upd:start_dialog =
  2. Работа с текстурами

    Кто знает, как сделать текстурку сталкера, прозрачной, ну тоесть типо призрак сталкера, вот классную тут историю придумал, а сделать "прозрачного"(призрак) сталкера не могу
  3. [SoC] Ковыряемся в файлах

    Скрытый текст Еще вопрос, можно ли сделать выдачу 9 предметов одним скриптом? ну тоесть одной функцией например: Если инфопоршень ... то дать ак74 или если инфопоршень ... то дать обрез или т.д. И как это будет выглядеть? Просто когда я в последний раз пробовал, то если там больше 9 предметов в одном скрипте по этому примеру: function название функции(first_speaker, second_speaker) dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "название предмета") end То, просто не выдавалось ничего
  4. [SoC] Ковыряемся в файлах

    Ребят, кто знает, как перенести скриптовую базу АМК(только то что связано со скриптами), ну или хотябы как минимум только скрипты(если им требуется файлы там например из конфигов, то какие это файлы, АМК несколько багованный, а исправлять - ручки кривые, вот и хотелось бы перенести только скриптовую базу из АМК на чистый ТЧ
  5. Новые локации

    Люди, кто нибудь может дать ссылку или сборку лвл: Мертвый город, без заселения или с заселением, чтобы кинуть на чистый ТЧ и "играть с удовольствием". Не могу найти отдельный мертвый город, а если вырывать из паков, то поялвяется {...} туча неисправляемых ошибок. Заранее благодарю. И можете кто-нить сказать как подключать локации к ТЧ (много туторов, но почти все они по ЗП или ЧН, и тупо повторяются или содержат ошибки). подключение локации по этим туторам просто не получается, а со старыми не охото возится
  6. БЛОКпост

    Кто нибудь, дайте ссылку на нормальный ggtool.pl, все не работают, третий день парюсь над game_vertex'ами, чтобы их узнать, а это ******** прога не работает.
  7. Создание квеста

    Это снова я, разобрался и с PDA сообщениями, также расскажу как я это сделал. [spoiler=файл news_manager.script]news = { tips_esc_trader_about_anomalies = xr_sound.get_safe_sound_object([[characters_voice\scenario\trader\trader_tutorial_anomalies_1]]), ... ... ... new_sms_text = xr_sound.get_safe_sound_object([[msgs\shustryi]]), То что синим = это ссылка на текст и ссылка на выдачу, потом скажу где надо. А перевод на русский в файле: string_table_tips_escape.xml То что оранжевым = это ссылка на звуковой файл, в моей случае msgs\shustryi <string id="new_sms_text"> --ссылка <text>Стрелок, зайди ко мне, я на кардоне.</text> --текст </string> [spoiler=Алл.спавн]Дальше сложней, нам нужно создать рестриктор, и в логику написать вот это: [logic] active = sr_idle [sr_idle] on_actor_inside = sr_tip --переход на логику [sr_tip] name = new_sms_text -- тот текст type = tips -- либо tips, либо news sender = trader --от кого(картинка сидоровича) on_actor_inside = nil --если актор в зоне, если хотите чтобы вне рестриктора было не видно сообщения showtime = 15000 --время 15 сек(вроде) END --и обязательно конец И все, теперь при входе в рестриктор выполняется функция сообщения на пда со звуком без корявого текста.
  8. Создание квеста

    Насчет первого я разобрался, это рестрикторы вроде так называются. Делаются в алл.спавне, если кому надо, то вот: [5066] ; cse_abstract properties section_name = space_restrictor --не изменять name = sgm_kvest --имя(изменять на любое) position = -209.579498291016, -20.438346862793, -153.762054443359 --позиция(брать через команду rs_stats on) direction = 0, 0, 0 --хз че, но ставьте примерно на ноль version = 119 -- тоже самое script_version = 6 ---.... spawn_id = 2788 --вроде нужен свой(вроде) ; cse_alife_object properties game_vertex_id = 50 --брать через скрипты distance = 3 -- любое значение level_vertex_id = 43937 --брать тоже через скрипты object_flags = 0xffffffbe --донт чендж custom_data = <[logic] --логика active = sr_idle --логика [sr_idle] --логика on_actor_inside = %+msg_sidor1% --инфопоршень (вот для этого мне нужен был рестриктор) END --конец(обязательно) ; cse_shape properties shapes = 1 __________ shape_0:type = box | лучше shape_0:axis_x = 14.8584299087524,0,0 | не shape_0:axis_y = 0,4.67763805389404,0 < shape_0:axis_z = 0,0,4.59808111190796 | менять shape_0:offset = 0,0,0 |___________ ; cse_alife_space_restrictor properties restrictor_type = 3 --ставим 3(это лучше) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; А начсет сообщения на PDA, Перепробовал многие способы, но при всех способах текст искаженный, всегда, ток не английский он нормальный. function new_sms (actor, npc) news_manager.send_tip(db.actor, "new_sms_text", 10000, "ecolog", 18000, 902) end Автор: LaRento Еще был получше вариант, но я увы его удалил, потом найду, как исправить карявый текст в сообщении?
  9. Создание квеста

    Люди, помогите, я запарился искать инфу нассчет инфопоршней. Кто знает, как выдать инфопоршень, тогда когда ГГ будет в определенном месте, например: ГГ с Волком идет к тоннелю за АТП, и на дороге ведущей к тоннелю активируется инфопоршень и по этому инфопорншю спавнятся мутанты в тоннеле и идут себе гулять, а мы зачищаем их. Мне нужен скрипт или что-то, чтобы выдавался инфопоршень на этой дороге, можно без именный координат, я сам поставлю. Добавочка: как сделать сообщение как в солянке (ну это типо: "Бармен: Стрелок, подойти ко мне в бар. Стрелок: хорошо бармен скоро буду Бармен: жду") И вот как раз ты проходишь мимо АТП и активируется инфопоршень который дает команду функции(или как там это фигня вызывается) на сообщение. Ковырялся в моде Апокалипсис, нашел тип этого function sidor_msg1(first_speaker, second_speaker) local snd_obj = xr_sound.get_safe_sound_object( [[msgs\sidor]] ) snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) news_manager.send_tip(db.actor, "%c[255,200,0,0]Сидорыч:\n%c[default] Сталкер! У тебя ПДА моего покойного друга, Меченного. Зайди, я хорошо заплачу.", nil, nil, 35000) end
  10. Создание квеста

    Парни, подайте идей для квестов. Квестодатель: Ридер Группировка: Долг Месторасположение: Кордон Любые квесты, но первые на кордоне. Вот история: Меченный, я прав? Ну ладно расскажу мою историю... Я долговец, тоесть был им, на Армейских складах я со своим отрядом нарвался на мутантов, их вроде кровососами называют, мы их перестреляли, благо без потер обошлось. Но около водонопорной башни увидели наймов, они явно кого-то выссматривали, ну и нас заметили. Ну, короче я остался без отряда и пошел к начальству говорить, что миссию не смог выполнить, а когда двигался в сторону бара, нарвался на телепорт, представляешь впервые увидел телепорт в зоне, около забора был. Ну после вспышки я оказался на кордоне, ну и решил тут остатся. Вот квест, правильно ли все написал? Скрипты: function add_dolg () alife():create("esc_quest_rider",vector():set(-192.22,-17.96,-137.801),244704,111) end function artefact_mayatnik_have() if db.actor:object("af_medusa") then return true end return false end function artefact_mayatnik_give(first_speaker, second_speaker) dialogs.relocate_item_section(second_speaker, "af_medusa", "out") end Песронаж: character_desc_escape <!---------------------------------------esc_quest_rider-----------------------------------------------------> <specific_character id="esc_quest_rider" team_default = "1"> <name>esc_quest_rider_name</name> <icon>ui_npc_u_stalker_do_antigas</icon> <bio>esc_fanat_bio</bio> <class>esc_rider</class> <community>dolg</community> <terrain_sect>stalker_terrain</terrain_sect> <rank>678</rank> <reputation>10</reputation> <money min="12000" max="20000" infinitive="0"/> <snd_config>characters_voice\human_01\stalker\</snd_config> <crouch_type>-1</crouch_type> <panic_treshold>0</panic_treshold> <visual>actors\dolg\stalker_do_antigas</visual> <supplies> [spawn] \n wpn_pm \n ammo_9x18_fmj = 1 \n wpn_ak74 \n ammo_5.45x39_fmj \n </supplies> #include "gameplay\character_criticals_4.xml" <start_dialog>escape_quest_rider_startdialog</start_dialog> <start_dialog>dm_hello_dialog</start_dialog> <actor_dialog>dm_cool_info_dialog</actor_dialog> <actor_dialog>dm_help_wounded_medkit_dialog</actor_dialog> <actor_dialog>quest_ot_ridera_let1</actor_dialog> <actor_dialog>quest_ot_ridera_let1_done</actor_dialog> </specific_character> npc_profile <character id="esc_quest_rider"> <class>esc_rider</class> </character> spawn_section [esc_quest_rider]:stalker $spawn = "respawn\esc_quest_rider" character_profile = esc_quest_rider spec_rank = veteran community = dolg custom_data = scripts\esc_questriders_log.ltx Логика в esc_questriders_log [logic] active = remark@base danger = danger_condition meet = meet [remark@base] anim = wait no_move = true target = nil meet = meet [meet] meet_state = 10|hello@hail| 10|wait@wait meet_state_wpn = 10| hello@talk_hello| 10| threat@threat_weap victim_wpn = 5|actor use = true use_wpn = false Квест tasks_escape.ltx <game_task id="quest_mayatnik_on_ac"> <title>quest_mayatnik</title> <objective> <icon>ui_iconsTotal_tutorial_find_artefact</icon> <article>find_artefact_mayatnik</article> <infoportion_complete>esc_quest_for_AC_done</infoportion_complete> </objective> <objective> <text>finded_artefact_mayatnik</text> <function_complete>escape.artefact_mayatnik_have</function_complete> <infoportion_complete>esc_quest_for_AC_have</infoportion_complete> <infoportion_set_complete>esc_quest_for_AC_have</infoportion_set_complete> </objective> <objective> <text>finded_artefact_mayatnik_1</text> <infoportion_complete>esc_quest_for_AC_done</infoportion_complete> </objective> </game_task> Диалоги <dialog id="quest_ot_ridera_let1"> <has_info>startdialog_with_rider</has_info> <dont_has_info>esc_quest_for_AC</dont_has_info> <phrase_list> <phrase id="1"> <text>quest_ot_ridera_let1_1</text> <next>2</next> </phrase> <phrase id="2"> <text>quest_ot_ridera_let1_2</text> <next>3</next> </phrase> <phrase id="3"> <text>quest_ot_ridera_let1_3</text> <next>4</next> </phrase> <phrase id="4"> <text>quest_ot_ridera_let1_4</text> <next>5</next> </phrase> <phrase id="5"> <text>quest_ot_ridera_let1_5</text> <next>6</next> </phrase> <phrase id="6"> <text>quest_ot_ridera_let1_6</text> <give_info>esc_quest_for_AC</give_info> </phrase> <phrase id="0"> <text>quest_ot_ridera_let1_0</text> <next>1</next> </phrase> </phrase_list> </dialog> <dialog id="quest_ot_ridera_let1_done"> <has_info>esc_quest_for_AC_have</has_info> <dont_has_info>esc_quest_for_AC_done</dont_has_info> <phrase_list> <phrase id="4"> <text>quest_ot_ridera_let1_done_4</text> </phrase> <phrase id="1"> <text>quest_ot_ridera_let1_done_1</text> <next>2</next> </phrase> <phrase id="0"> <text>quest_ot_ridera_let1_done_0</text> <next>1</next> </phrase> <phrase id="3"> <text>quest_ot_ridera_let1_done_3</text> <next>4</next> </phrase> <phrase id="2"> <text>quest_ot_ridera_let1_done_2</text> <action>escape.artefact_mayatnik_give</action> <give_info>esc_quest_for_AC_done</give_info> <next>3</next> </phrase> </phrase_list> </dialog> И инфопоршни <info_portion id="esc_quest_for_AC"> <task>quest_mayatnik_on_ac</task> </info_portion> <info_portion id="esc_quest_for_AC_have"></info_portion> <info_portion id="esc_quest_for_AC_done"></info_portion>
  11. Создание квеста

    Кто подскажет в чем фигня? Я после взятия квеста, отношу предмет Бармену, но задание не обновляется, как исправить? <game_task id="walk_to_barmen_quest"> <title>Посыльный</title> <objective> <text>Передать флеш-диск</text> <icon height="50" width="50" x="100" y="50">ui\ui_icons_task</icon> <infoportion_set_complete>quest_walktobarman_done</infoportion_set_complete> </objective> <objective> <text>Передать Бармену флешку</text> <map_location_type hint="bar_barman">blue_location</map_location_type> <object_story_id>bar_Barman</object_story_id> <infoportion_complete>quest_walktobarman_one</infoportion_complete> </objective> <objective> <text>Принести документ Сидоровичу</text> <map_location_type hint="escape_trader">blue_location</map_location_type> <object_story_id>Escape_Trader</object_story_id> <infoportion_complete>quest_walktobarman_done</infoportion_complete> </objective> </game_task> В info_l01escape вот эти инфопоршни <info_portion id="quest_walktobarman_started"> <task>walk_to_barmen_quest</task> </info_portion> <info_portion id="quest_walktobarman_one"></info_portion> <info_portion id="quest_walktobarman_done"></info_portion> вот Диалог Сидора <dialog id="walk_to_barman"> <has_info>tutorial_end</has_info> <dont_has_info>quest_walktobarman_started</dont_has_info> <phrase_list> <phrase id="5"> <text>walk_to_barman_5</text> </phrase> <phrase id="1"> <text>walk_to_barman_1</text> <next>2</next> </phrase> <phrase id="2"> <text>walk_to_barman_2</text> <next>3</next> </phrase> <phrase id="3"> <text>walk_to_barman_3</text> <next>4</next> <next>5</next> </phrase> <phrase id="0"> <text>walk_to_barman_0</text> <next>1</next> </phrase> <phrase id="4"> <text>walk_to_barman_4</text> <give_info>quest_walktobarman_started</give_info> <next>6</next> </phrase> <phrase id="6"> <text>walk_to_barman_6</text> <action>quest_escape.quest_flash_walktobarman</action> </phrase> </phrase_list> </dialog> <dialog id="walk_to_barman_done"> <has_info>quest_walktobarman_one</has_info> <dont_has_info>quest_walktobarman_done</dont_has_info> <phrase_list> <phrase id="7"> <text>walk_to_barman_done_7</text> <next>8</next> </phrase> <phrase id="8"> <text>walk_to_barman_done_8</text> </phrase> <phrase id="5"> <text>walk_to_barman_done_5</text> <next>6</next> </phrase> <phrase id="1"> <text>walk_to_barman_done_1</text> <next>2</next> </phrase> <phrase id="2"> <text>walk_to_barman_done_2</text> <next>3</next> </phrase> <phrase id="3"> <text>walk_to_barman_done_3</text> <next>4</next> </phrase> <phrase id="0"> <text>walk_to_barman_done_0</text> <next>1</next> </phrase> <phrase id="6"> <text>walk_to_barman_done_6</text> <next>7</next> </phrase> <phrase id="4"> <text>walk_to_barman_done_4</text> <action>quest_escape.quest_doc_walktobarman_dat_item</action> <give_info>quest_walktobarman_done</give_info> <next>5</next> </phrase> </phrase_list> </dialog> И Бармена <dialog id="bar_quest_walk_to_barmen_one"> <has_info>quest_walktobarman_started</has_info> <dont_has_info>quest_walktobarman_one</dont_has_info> <phrase_list> <phrase id="2"> <text>bar_quest_walk_to_barmen_one_2</text> <next>3</next> </phrase> <phrase id="1"> <text>bar_quest_walk_to_barmen_one_1</text> <next>2</next> </phrase> <phrase id="3"> <text>bar_quest_walk_to_barmen_one_3</text> <action>quest_escape.quest_doc_walktobarman</action> <next>4</next> </phrase> <phrase id="0"> <text>bar_quest_walk_to_barmen_one_0</text> <action>quest_escape.quest_flash_walktobarman_dat_item</action> <give_info>quest_walktobarman_one</give_info> <next>1</next> </phrase> <phrase id="4"> <text>bar_quest_walk_to_barmen_one_4</text> </phrase> </phrase_list> </dialog>
  12. БЛОКпост

    Кто хорошо разбирается в скриптах, можно дуэт сварганить. Я могу делать квесты, но очень плохо разбираюсь в скриптах для диалогов
×