Jump to content

Rady i porady Yurka do różnych modów STALKERa


Recommended Posts

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 Dołączona grafika

------------------------------------------------------------------------------------------------------------------------------------------

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 Dołączona grafika

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 Dołączona grafika

---------------------------------------------------------------------------------------------------------------------------------------------

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.

---------------------------------------------------------------------------------------------------------------------------------------------

  • Dodatnia 3
Link to comment
Share on other sites

  • 3 weeks later...

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 !!

---------------------------------------------------------------------------------------------------------------------------------------------------------

  • Dodatnia 2
Link to comment
Share on other sites

  • 2 months later...

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 :wink:

---------------------------------------------------------------------------------------------------------------------------------------------------------

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:

  • Dodatnia 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.

Comunity