Yurek Opublikowano 13 Maja 2012 Zgłoś Udostępnij Opublikowano 13 Maja 2012 Problem z wejściem do bazy Powinności Ponieważ powstał pewien problem z wejściem do bazy Powinności bez wywoływania ich wrogości wzgledem GG, postanowiłem podać Wam sposób jak można sobie z tym poradzić dopisując do skryptu jedna funkcję, która nam pozwoli wejść bez walki i dalej realizować zadania. Zrób sobie zawsze kopie plików, w których będziesz grzebać ! Otwieramy notatnikiem plik: "task_manager.script" znajdujący się w folderze: gamedatascripts. W nim szukamy sekwencji kodu: function action_task_reward(actor, npc, p1, p2) get_random_task():task_reward(npc, actor, p1, p2) end i dopisujemy jedną linijkę kodu, zmieniając go, by wygladał tak: function action_task_reward(actor, npc, p1, p2) get_random_task():task_reward(npc, actor, p1, p2) db.actor:give_info_portion("bar_dolg_base_pass") end W ten sposób po wykonaniu dowolnego kwestu cyklicznego, od dowolnego NPCa (np.: Sidor, Barman, Sacharow, Woronin, Łukasz i inne) uzyskamy możliwiość bezproblemowego wejścia do bazy Powinności w przypadku zgonu pilnującego wejścia Pliczki. Identycznie możemy postąpić jeżeli grając w Soliankę, lub DMXa dopadnie nas błąd: "Jaki sen, jest strasznie!" nie pozwalający nam spać przez bardzo długi czas po wystapieniu "Czasu Strachu". W tym przypadku postępujemy tak samo jak opisano powyżej, tylko dopisujemy inną linijkę kodu: function action_task_reward(actor, npc, p1, p2) get_random_task():task_reward(npc, actor, p1, p2) db.actor:give_info_portion("horror_fail") end Następnie po załadowaniu sejwa idziemy do dowolnej postaci NPC, która daje tzw kwesty cykliczne (Sidor, Barman, Woronin, Łukasz, Sacharow, Zachar) i wykonujemy dowolny kwest cykliczny, który ona zleca. W momencie wykonania kwestu (jak klikniecie na frazę "Wykonałem to zadanie" w dialogu) Wasza postać zostajnie uwolniona od błędu spowodowanego ostatnim "Czasem Strachu" i niemożnością spania w jego następstwie - i może ponownie zasnąć (zarówno w stałych miejscach do spania, jak i w śpiworze). Oczywiście w ten sposób można zaliczyć cały szereg innych kwestów, trzeba tylko znać stosowne "infoporcje" je zaliczające.... Ale to już zupełnie inna historia ------------------------------------------------------------------------------------------------------------------------------------------ Zmiana muzyki w menu tytułowym SGM 2.2 PL 1. Otwieramy folder: gamedataconfigsui 2. Znajdujemy i otwieramy notatnikiem pliki: "ui_main_menu.xml" i "ui_main_menu_16.xml". 3. Znajdujemy w nich fragment kodu: <menu_sound random="17" > <menu_music>StalkerTrack_66</menu_music> <menu_music>StalkerTrack_61</menu_music> <menu_music>StalkerTrack_58</menu_music> <menu_music>StalkerTrack_57</menu_music> <menu_music>StalkerTrack_56</menu_music> <menu_music>StalkerTrack_36</menu_music> <menu_music>StalkerTrack_34</menu_music> <menu_music>DynamicTrack_16</menu_music> <menu_music>DynamicTrack_2</menu_music> <menu_music>DanceTrack_145</menu_music> <menu_music>DanceTrack_137</menu_music> <menu_music>DanceTrack_126</menu_music> <menu_music>DanceTrack_103</menu_music> <menu_music>DanceTrack_48</menu_music> <menu_music>DanceTrack_20</menu_music> <menu_music>DanceTrack_19</menu_music> <menu_music>DanceTrack_15</menu_music> </menu_sound> i zamieniamy na taki: <menu_sound random="0" > <menu_music>musicoutro</menu_music> </menu_sound> W ten sposób mamy w menu tytułowym kawałek muzyczny, który normalnie leci jako podkład muzyczny do outra w grze Oczywiście nic nie stoi na przeszkodzie, żeby sobie do folderu gamedatasoundsmusic wrzucić dowolny inny kawałek muzyczny z innego stalkera, który chcemy mieć w menu tytułowym. Trzeba tylko pamiętać, żeby jego nazwę wpisać zamiast "outro" w w/w plikach. Jeżeli chcemy mieć kilka kawałków, które będą się odpalać randomizowanie, to wrzucamy je do folderu "music" i zmieniamy kod według wzoru: <menu_sound random="3" > <menu_music>musicmuzyka_1</menu_music> <menu_music>musicmuzyka_2</menu_music> <menu_music>musicmuzyka_3</menu_music> </menu_sound> W ten sposób możemy mieć kilka ulubionych fragmentów muzycznych w menu - nawet z Solianki lub DMXa --------------------------------------------------------------------------------------------------------------------------------------------- Wejście do bazy najemników w modach SGM w przypadku przedwczesnego zgonu "Złego". 1. Otwieramy folder: gamedataconfigsgameplay 2. Znajdujemy i otwieramy notatnikiem plik: "extended_dialogs.xml" lub "sgm_dialogs.xml". (różne nazwy tego samego pliku w różnych wersjach moda SGM !) 3. Znajdujemy w nich fragment kodu: <phrase id="2"> <text>jup_barmen_radio_switch_dialog_3</text> <give_info>jup_stalker_radio_stop</give_info> </phrase> i zamieniamy na taki: <phrase id="2"> <text>jup_barmen_radio_switch_dialog_3</text> <give_info>jup_killer_base_chief_payment</give_info> <give_info>jup_stalker_radio_stop</give_info> </phrase> Żeby otrzymać "przepustkę" do bazy najemników idziesz do Hawajczyka i każemy mu kilkakrotnie (dla pewności) włączyć i wyłączyć radio. --------------------------------------------------------------------------------------------------------------------------------------------- 3 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Yurek Opublikowano 3 Czerwca 2012 Autor Zgłoś Udostępnij Opublikowano 3 Czerwca 2012 Broda i Hawajczyk dają cokolwiek za wyłączenie radia. Opisany poniżej sposób jest ze wszech miar "cziterski" i powinien znaleźć zastosowanie tylko w przypadku POWAŻNYCH kłopotów, wpadnięciem jakiegoś przedmiotu w tekstury, itp. 1. Otwieramy folder: gamedataconfigsgameplay 2. Znajdujemy i otwieramy notatnikiem plik: "extended_dialogs.xml" lub "sgm_dialogs.xml". (różne nazwy tego samego pliku w różnych wersjach moda SGM !) 3. Znajdujemy w nich fragmenty kodu: <phrase id="2"> <text>zat_barmen_radio_switch_dialog_3</text> <give_info>zat_stalker_radio_stop</give_info> </phrase> oraz: <phrase id="2"> <text>jup_barmen_radio_switch_dialog_3</text> <give_info>jup_stalker_radio_stop</give_info> </phrase> i zamieniamy na takie: <phrase id="2"> <text>zat_barmen_radio_switch_dialog_3</text> <action>dialogs.give_flash</action> <give_info>zat_stalker_radio_stop</give_info> </phrase> <phrase id="2"> <text>jup_barmen_radio_switch_dialog_3</text> <action>dialogs.give_flash</action> <give_info>jup_stalker_radio_stop</give_info> </phrase> Dokonane zmiany w pliku zapisujemy. 4. Otwieramy folder: gamedatascripts 5. Znajdujemy i otwieramy notatnikiem plik: "dialogs.script" 6. Na samym końcu pliku dopisujemy fragment kodu: function give_flash(first_speaker, second_speaker) dialogs.relocate_item_section(second_speaker, "mutant_krovosos_booty", "in",5) dialogs.relocate_item_section(second_speaker, "mutant_burer_booty", "in",3) dialogs.relocate_item_section(second_speaker, "mutant_controler_booty", "in") end Dokonane zmiany w pliku zapisujemy. Następnie idziemy po dopaleniu gry do Brody lub Hawajczyka i każemy mu wyłączyć radio. Podczas tej akcji, w oknie dialogowym pojawi się informacja, że otrzymaliśmy: pięć macek pijawek, trzy łapy burera i jedną rękę kontrolera. Oczywiście w ten sposób można sobie "zespawnować" dowolną rzecz w grze (zarówno kwestową jak i nie kwestową), dowolny artefakt, itp. Trzeba tylko wiedzieć jak dana rzecz nazywa się w plikach gry... Ale to już zupełnie inna historia :D --------------------------------------------------------------------------------------------------------------------------------------------------------------- Problem ze zdobyciem osiągnięcia SGM - "Mądry Tropiciel" Opisany poniżej sposób jest ze wszech miar "cziterski" i powinien znaleźć zastosowanie tylko w przypadku POWAŻNYCH kłopotów ze znalezieniem odpowiedniej liczby schowków SGM potrzebnych do jego zdobycia. Odblokowanie tego osiągnięcia powoduje, że pozostałe, dotychczas nieodnalezione, schowki SGM pokazują się na mapie w PDA i minimapie w lewym górnym rogu ekranu w promieniu ok 150 metrów od gracza. W ten sposób możemy odszukać je wszystkie :D Niestety twórcy moda zazwyczaj bardzo wysoko podnoszą poprzeczkę ilości schowków potrzebnych do zaliczenia tego osiągnięcia. Mój sposób pozwala to zmienić tak, że możemy sami wybrać, po jakiej ilości odnalezionych schowków SGM mamy otrzymać to osiągnięcie. 1. Otwieramy folder: gamedatascripts 2. Znajdujemy i otwieramy notatnikiem plik: "ui_mod_pda.script" 3. W nim odnajdujemy fragment kodu: function achievements_pathfinder_update() local pre=read_mod_param("stat_taynikov") if pre~=nil and pre>=60 and dont_has_alife_info("sgm_achievements_pathfinder") then give_info("sgm_achievements_pathfinder") inc_mod_param("stat_dostigeniy",1) news_manager.send_tip(db.actor,"st_achievement_pathfinder_text",0,"sgm_achievement_pathfinder",10000,nil,"st_achievement_tip_title") end 4. Zamieniamy znajdującą się tam cyfrę "60" (może być zupełnie inna - zależy to od rodzaju moda SGM !) na taką, która nas satysfakcjonuje i zapisujemy zmiany dokonane w pliku. Teraz mod zaliczy nam osiągnięcie "Mądry Tropiciel" po znalezieniu wpisanej przez nas liczby schowków SGM :D Ale pamiętajcie, że jest to zwykłe "cziterstwo" i nic więcej !! --------------------------------------------------------------------------------------------------------------------------------------------------------- 2 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Yurek Opublikowano 23 Sierpnia 2012 Autor Zgłoś Udostępnij Opublikowano 23 Sierpnia 2012 Transmutacja artefaktów w godzinę. (dotyczy TYLKO modów, wktórych takowa transmutacja zachodzi - klony moda AMK - Solianka, DMX, Powrót Szramy, itp) UWAGA !! Ta poprawka to absolutne cziterstwo! Zalecane użycie tylko w celach testowych! Aby nie czekać zbyt długo na zakończenie transmutacji (a niekiedy jest to koszmarnie długo :confused:) należy zrobić tak: 1. Otwieramy w edytorze plik "amk_mod.script" i znajdujemy w nim fragment kodu: af_start_transform_timer(af_start_transform(70,25,af_sect,"af_spirit_1"), pos ,0,4,0,"Kropla duszy") end if af_sect=="af_spirit_1" and actor:has_info("info_amk_recipt_souls") then af_flash(af) af_start_transform_timer(af_start_transform(60,20,af_sect,"af_spirit_2"), pos ,0,6,0,"Ognista dusza") end if af_sect=="af_spirit_2" and actor:has_info("info_amk_recipt_souls") then af_flash(af) af_start_transform_timer(af_start_transform(50,35,af_sect,"af_spirit_3"), pos ,0,10,0,"Kryształowa dusza") end if af_sect=="af_cry_1" and actor:has_info("info_amk_recipt_tears_fire") then af_flash(af) af_start_transform_timer(af_start_transform(65,20,af_sect,"af_cry_2"), pos ,0,5,0,"Łzy ognia") end if af_sect=="af_rusty_sea-urchin" and actor:has_info("info_amk_recipt_dikoobraz") then af_flash(af) af_start_transform_timer(af_start_transform(65,20,af_sect,"af_dik_1"), pos ,0,3,0,"Jeżozwierz") end if af_sect=="af_kol_3" and actor:has_info("info_amk_recipt_giant_small_brother") then af_flash(af) af_start_transform_timer(af_start_transform(49,30,af_sect,"af_kol_4"), pos ,0,3,0,"Młodszy brat Giganta") end if af_sect=="af_armor_3" and actor:has_info("info_amk_recipt_controller_skalp") then af_flash(af) af_start_transform_timer(af_start_transform(40,25,af_sect,"af_armor_4"), pos ,0,6,0,"Skalp kontrolera") end end if string.find(anom_sect,"_galant")~=nil then if af_sect=="af_spirit_3" and actor:has_info("info_amk_recipt_souls") then af_flash(af) af_start_transform_timer(af_start_transform(50,30,af_sect,"af_spirit_4"), pos ,0,1,0,"Gorący kryształ") end if af_sect=="af_drops" and actor:has_info("info_amk_recipt_tears_electra") then af_flash(af) af_start_transform_timer(af_start_transform(75,10,af_sect,"af_cry_1"), pos ,0,5,0,"Łzy Elektry") end if af_sect=="af_dummy_glassbeads" and actor:has_info("info_amk_recipt_grandmother_glassbeards") then af_flash(af) af_start_transform_timer(af_start_transform(85,10,af_sect,"af_babka_1"), pos ,0,5,0,"Stare korale") end if af_sect=="af_dummy_dummy" and actor:has_info("info_amk_recipt_dummy") then af_flash(af) af_start_transform_timer(af_start_transform(70,25,af_sect,"af_pudd_1"), pos ,0,3,0,"Płomień") end if af_sect=="af_pudd_1" and actor:has_info("info_amk_recipt_dummy") then af_flash(af) af_start_transform_timer(af_start_transform(59,20,af_sect,"af_pudd_2"), pos ,0,6,0,"Blask") end if af_sect=="af_pudd_2" and actor:has_info("info_amk_recipt_dummy") then af_flash(af) af_start_transform_timer(af_start_transform(50,35,af_sect,"af_pudd_3"), pos ,0,8,0,"Księżyc") end if af_sect=="af_dik_1" and actor:has_info("info_amk_recipt_electra_dikoobraz") then af_flash(af) af_start_transform_timer(af_start_transform(72,25,af_sect,"af_dik_2"), pos ,0,5,0,"Elektryczny jeżozwierz") end end if string.find(anom_sect,"_buzz")~=nil then if af_sect=="af_cry_2" and actor:has_info("info_amk_recipt_tears_chimaera") then af_flash(af) af_start_transform_timer(af_start_transform(55,25,af_sect,"af_cry_3"), pos ,0,2,0,"Łzy chimery") end if af_sect=="af_babka_1" and actor:has_info("info_amk_recipt_pra_grandmother_glassbeards") then af_flash(af) af_start_transform_timer(af_start_transform(72,12,af_sect,"af_babka_2"), pos ,0,3,0,"Pradawne korale") end if af_sect=="af_pudd_3" and actor:has_info("info_amk_recipt_dummy") then af_flash(af) af_start_transform_timer(af_start_transform(80,10,af_sect,"af_pudd_4"), pos ,0,12,0,"Budyń") end if af_sect=="af_dik_2" and actor:has_info("info_amk_recipt_sopl_dikoobraz") then af_flash(af) af_start_transform_timer(af_start_transform(74,10,af_sect,"af_dik_3"), pos ,0,2,0,"Kwaśny jeżozwierz") end if af_sect=="af_kol_2" and actor:has_info("info_amk_recipt_almaz_kolobok") then af_flash(af) af_start_transform_timer(af_start_transform(78,17,af_sect,"af_kol_3"), pos ,0,8,0,"Diamentowy kulebiak") end if af_sect=="af_armor_2" and actor:has_info("info_amk_recipt_pancir") then af_flash(af) af_start_transform_timer(af_start_transform(65,25,af_sect,"af_armor_3"), pos ,0,2,0,"Pancerz") end if af_sect=="af_medusa" or af_sect=="af_drops" or af_sect=="af_blood" or af_sect=="af_rusty_thorn" and actor:has_info("info_amk_recipt_simbion") then local s={} s.aid=-1 s.koluchka=-1 s.medusa=-1 s.drop=-1 s.blood=-1 s=amk.unpack_array_from_string(amk.load_variable("af_simbion_activation",amk.pack_array_to_string(s))) if s.aid~=anom_id then s.aid=anom_id s.koluchka=-1 s.medusa=-1 s.drop=-1 s.blood=-1 end if af_sect=="af_medusa" and s.medusa==-1 then s.medusa=af:id() end if af_sect=="af_drops" and s.drop==-1 then s.drop=af:id() end if af_sect=="af_rusty_thorn" and s.koluchka==-1 then s.koluchka=af:id() end if af_sect=="af_blood" and s.blood==-1 then s.blood=af:id() end if s.medusa~=-1 and s.drop~=-1 and s.koluchka~=-1 and s.blood~=-1 then level.add_pp_effector("teleport.ppe", 1524, false) alife():release(alife():object(s.medusa), true) alife():release(alife():object(s.drop), true) alife():release(alife():object(s.koluchka), true) alife():release(alife():object(s.blood), true) amk.del_variable("af_simbion_activation") af_start_transform_timer(af_start_transform(75,25,"af_buliz","af_simbion") , pos ,0,5,0,"Symbiont") return end amk.save_variable("af_simbion_activation",amk.pack_array_to_string(s)) end end if string.find(anom_sect,"_mincer")~=nil then if af_sect=="af_babka_2" and actor:has_info("info_amk_recipt_burer_grandmother_glassbeards") then af_flash(af) af_start_transform_timer(af_start_transform(85,10,af_sect,"af_babka_3"), pos ,0,0,10,"Korale babci") end if af_sect=="af_kol_1" and actor:has_info("info_amk_recipt_titan_kolobok") then af_flash(af) af_start_transform_timer(af_start_transform(55,35,af_sect,"af_kol_2"), pos ,0,5,0,"Tytanowy kulebiak") end if af_sect=="af_armor_1" and actor:has_info("info_amk_recipt_cheshya") then af_flash(af) af_start_transform_timer(af_start_transform(80,10,af_sect,"af_armor_2"), pos ,0,5,0,"Łuska") end end if string.find(anom_sect,"_mosquito_bald")~=nil then if af_sect=="af_dik_3" and actor:has_info("info_amk_recipt_stone_dikoobraz") then af_flash(af) af_start_transform_timer(af_start_transform(50,28,af_sect,"af_dik_4"), pos ,0,9,0,"Kamienny jeżozwierz") end if af_sect=="af_fuzz_kolobok" and actor:has_info("info_amk_recipt_steel_kolobok") then af_flash(af) af_start_transform_timer(af_start_transform(70,25,af_sect,"af_kol_1"), pos ,0,2,0,"Stalowy kulebiak") end if af_sect=="af_dummy_pellicle" and actor:has_info("info_amk_recipt_shkura") then af_flash(af) af_start_transform_timer(af_start_transform(70,25,af_sect,"af_armor_1"), pos ,0,5,0,"Skóra") i zamieniamy na nastepujacy: af_start_transform_timer(af_start_transform(70,25,af_sect,"af_spirit_1"), pos ,0,1,0,"Kropla duszy") end if af_sect=="af_spirit_1" and actor:has_info("info_amk_recipt_souls") then af_flash(af) af_start_transform_timer(af_start_transform(60,20,af_sect,"af_spirit_2"), pos ,0,1,0,"Ognista dusza") end if af_sect=="af_spirit_2" and actor:has_info("info_amk_recipt_souls") then af_flash(af) af_start_transform_timer(af_start_transform(50,35,af_sect,"af_spirit_3"), pos ,0,1,0,"Kryształowa dusza") end if af_sect=="af_cry_1" and actor:has_info("info_amk_recipt_tears_fire") then af_flash(af) af_start_transform_timer(af_start_transform(65,20,af_sect,"af_cry_2"), pos ,0,1,0,"Łzy ognia") end if af_sect=="af_rusty_sea-urchin" and actor:has_info("info_amk_recipt_dikoobraz") then af_flash(af) af_start_transform_timer(af_start_transform(65,20,af_sect,"af_dik_1"), pos ,0,1,0,"Jeżozwierz") end if af_sect=="af_kol_3" and actor:has_info("info_amk_recipt_giant_small_brother") then af_flash(af) af_start_transform_timer(af_start_transform(49,30,af_sect,"af_kol_4"), pos ,0,1,0,"Młodszy brat Giganta") end if af_sect=="af_armor_3" and actor:has_info("info_amk_recipt_controller_skalp") then af_flash(af) af_start_transform_timer(af_start_transform(40,25,af_sect,"af_armor_4"), pos ,0,1,0,"Skalp kontrolera") end end if string.find(anom_sect,"_galant")~=nil then if af_sect=="af_spirit_3" and actor:has_info("info_amk_recipt_souls") then af_flash(af) af_start_transform_timer(af_start_transform(50,30,af_sect,"af_spirit_4"), pos ,0,1,0,"Gorący kryształ") end if af_sect=="af_drops" and actor:has_info("info_amk_recipt_tears_electra") then af_flash(af) af_start_transform_timer(af_start_transform(75,10,af_sect,"af_cry_1"), pos ,0,1,0,"Łzy Elektry") end if af_sect=="af_dummy_glassbeads" and actor:has_info("info_amk_recipt_grandmother_glassbeards") then af_flash(af) af_start_transform_timer(af_start_transform(85,10,af_sect,"af_babka_1"), pos ,0,1,0,"Stare korale") end if af_sect=="af_dummy_dummy" and actor:has_info("info_amk_recipt_dummy") then af_flash(af) af_start_transform_timer(af_start_transform(70,25,af_sect,"af_pudd_1"), pos ,0,1,0,"Płomień") end if af_sect=="af_pudd_1" and actor:has_info("info_amk_recipt_dummy") then af_flash(af) af_start_transform_timer(af_start_transform(59,20,af_sect,"af_pudd_2"), pos ,0,1,0,"Blask") end if af_sect=="af_pudd_2" and actor:has_info("info_amk_recipt_dummy") then af_flash(af) af_start_transform_timer(af_start_transform(50,35,af_sect,"af_pudd_3"), pos ,0,1,0,"Księżyc") end if af_sect=="af_dik_1" and actor:has_info("info_amk_recipt_electra_dikoobraz") then af_flash(af) af_start_transform_timer(af_start_transform(72,25,af_sect,"af_dik_2"), pos ,0,1,0,"Elektryczny jeżozwierz") end end if string.find(anom_sect,"_buzz")~=nil then if af_sect=="af_cry_2" and actor:has_info("info_amk_recipt_tears_chimaera") then af_flash(af) af_start_transform_timer(af_start_transform(55,25,af_sect,"af_cry_3"), pos ,0,1,0,"Łzy chimery") end if af_sect=="af_babka_1" and actor:has_info("info_amk_recipt_pra_grandmother_glassbeards") then af_flash(af) af_start_transform_timer(af_start_transform(72,12,af_sect,"af_babka_2"), pos ,0,1,0,"Pradawne korale") end if af_sect=="af_pudd_3" and actor:has_info("info_amk_recipt_dummy") then af_flash(af) af_start_transform_timer(af_start_transform(80,10,af_sect,"af_pudd_4"), pos ,0,1,0,"Budyń") end if af_sect=="af_dik_2" and actor:has_info("info_amk_recipt_sopl_dikoobraz") then af_flash(af) af_start_transform_timer(af_start_transform(74,10,af_sect,"af_dik_3"), pos ,0,1,0,"Kwaśny jeżozwierz") end if af_sect=="af_kol_2" and actor:has_info("info_amk_recipt_almaz_kolobok") then af_flash(af) af_start_transform_timer(af_start_transform(78,17,af_sect,"af_kol_3"), pos ,0,1,0,"Diamentowy kulebiak") end if af_sect=="af_armor_2" and actor:has_info("info_amk_recipt_pancir") then af_flash(af) af_start_transform_timer(af_start_transform(65,25,af_sect,"af_armor_3"), pos ,0,1,0,"Pancerz") end if af_sect=="af_medusa" or af_sect=="af_drops" or af_sect=="af_blood" or af_sect=="af_rusty_thorn" and actor:has_info("info_amk_recipt_simbion") then local s={} s.aid=-1 s.koluchka=-1 s.medusa=-1 s.drop=-1 s.blood=-1 s=amk.unpack_array_from_string(amk.load_variable("af_simbion_activation",amk.pack_array_to_string(s))) if s.aid~=anom_id then s.aid=anom_id s.koluchka=-1 s.medusa=-1 s.drop=-1 s.blood=-1 end if af_sect=="af_medusa" and s.medusa==-1 then s.medusa=af:id() end if af_sect=="af_drops" and s.drop==-1 then s.drop=af:id() end if af_sect=="af_rusty_thorn" and s.koluchka==-1 then s.koluchka=af:id() end if af_sect=="af_blood" and s.blood==-1 then s.blood=af:id() end if s.medusa~=-1 and s.drop~=-1 and s.koluchka~=-1 and s.blood~=-1 then level.add_pp_effector("teleport.ppe", 1524, false) alife():release(alife():object(s.medusa), true) alife():release(alife():object(s.drop), true) alife():release(alife():object(s.koluchka), true) alife():release(alife():object(s.blood), true) amk.del_variable("af_simbion_activation") af_start_transform_timer(af_start_transform(75,25,"af_buliz","af_simbion") , pos ,0,1,0,"Symbiont") return end amk.save_variable("af_simbion_activation",amk.pack_array_to_string(s)) end end if string.find(anom_sect,"_mincer")~=nil then if af_sect=="af_babka_2" and actor:has_info("info_amk_recipt_burer_grandmother_glassbeards") then af_flash(af) af_start_transform_timer(af_start_transform(85,10,af_sect,"af_babka_3"), pos ,0,0,1,"Korale babci") end if af_sect=="af_kol_1" and actor:has_info("info_amk_recipt_titan_kolobok") then af_flash(af) af_start_transform_timer(af_start_transform(55,35,af_sect,"af_kol_2"), pos ,0,1,0,"Tytanowy kulebiak") end if af_sect=="af_armor_1" and actor:has_info("info_amk_recipt_cheshya") then af_flash(af) af_start_transform_timer(af_start_transform(80,10,af_sect,"af_armor_2"), pos ,0,1,0,"Łuska") end end if string.find(anom_sect,"_mosquito_bald")~=nil then if af_sect=="af_dik_3" and actor:has_info("info_amk_recipt_stone_dikoobraz") then af_flash(af) af_start_transform_timer(af_start_transform(50,28,af_sect,"af_dik_4"), pos ,0,1,0,"Kamienny jeżozwierz") end if af_sect=="af_fuzz_kolobok" and actor:has_info("info_amk_recipt_steel_kolobok") then af_flash(af) af_start_transform_timer(af_start_transform(70,25,af_sect,"af_kol_1"), pos ,0,1,0,"Stalowy kulebiak") end if af_sect=="af_dummy_pellicle" and actor:has_info("info_amk_recipt_shkura") then af_flash(af) af_start_transform_timer(af_start_transform(70,25,af_sect,"af_armor_1"), pos ,0,1,0,"Skóra") 2. Wprowadzone zmiany zapisujemy. I w ten sposób na transmutację każdego artefaktu czekamy tylko godzinę czasu gry :woot: Oczywiście ta poprawka nie zmienia nic w opisach transmutacji i w nich nadal będziemy mieli podane pierwotne czasy transmutacji wprowadzone przez autorów moda --------------------------------------------------------------------------------------------------------------------------------------------------------- Zwiększenie udźwigu w modzie SGM 2.2 Jenot Autor moda celowo "zamontował" w swoim modzie pułapkę, która ma uniemożliwić samodzielne zwiększanie udźwigu i pojemności plecaka przez graczy. Jeśli chcesz mimo to zwiekszyć udźwig swojego Diegtiarowa, to musisz zrobić tak, jak opisałem w poniższych punktach: 1. Wybieramy docelowy udźwig naszego Diegtiarowa - niech będzie dla przykładu 400 kg 2. Otwieramy w edytorze plik "actor.ltx" i znajdujemy w nim dwie linijki: max_item_mass = 40 max_walk_weight = 50 i zamieniamy w nich wartości na nastepujace: max_item_mass = 400 max_walk_weight = 400 Wprowadzone zmiany zapisujemy. 3. Otwieramy w edytorze plik "system.ltx" i znajdujemy w nim dwie linijki: max_weight = 40 max_ruck = 46 i zamieniamy w nich wartości na nastepujace: max_weight = 400 max_ruck = 400 Wprowadzone zmiany zapisujemy. 4. Otwieramy w edytorze plik "_g.script" i znajdujemy w nim fragment kodu: function makdm_fix() local ltx = system_ini() if ( ltx:r_float("actor_condition","max_walk_weight") ~= 50 ) or ( ltx:r_float("inventory","max_weight") ~= 40 ) then mod_abort("xrEngine Fatal Error: incorrect file system.ltx or actor.ltx") end end i zamieniamy na nastepujacy: function makdm_fix() local ltx = system_ini() if ( ltx:r_float("actor_condition","max_walk_weight") ~= 400 ) or ( ltx:r_float("inventory","max_weight") ~= 400 ) then mod_abort("xrEngine Fatal Error: incorrect file system.ltx or actor.ltx") end end Wprowadzone zmiany zapisujemy. I w ten sposób zamieniliśmy naszego Diegtiarowa w ciężarówkę :woot: 2 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi