Kilka poważniejszych pytań

Regulamin forum
Dział "Tworzenie Modyfikacji" służy do zadawania pytań odnośnie tworzenia modyfikacji, edytowania plików gry, oraz pisania tzw. tutoriali, czyli poradników odnośnie modyfikowania gry.
Nie zadajemy tutaj pytań odnośnie modyfikacji gotowych (nie dyskutujemy o nich!), prócz prób ich połączenia etc.


Przy cytowaniu plików *.LTX stosować tag [SYNTAX="ini"], przy cytowaniu plików *.script [SYNTAX="lua"] a przy cytowaniu plików *.xml - [SYNTAX="xml"].

Kilka poważniejszych pytań

Postprzez lektors w 07 Kwi 2014, 22:18

Witam wszystkich po dłuższej przerwie, na dobry początek mam kilka pytań do społeczności modderów. Żeby nie przedłużać, zacznę od razu:

1.Czy istnieje możliwość edytowania właściwości artefaktu tak, żeby umożliwiał noszenie większego ciężaru - chodzi mi o to czy w pliku artefacts.ltx gdzie mamy opisane właściwości każdego artefaktu można jakoś zaimplementować możliwość oddziaływania na ilość ekwipunku

2. Czy w celu szybszego przeładowywania broni i wyjmowania/przełączania broni jedynym rozwiązaniem jest edycja wszystkich plików animacyjnych w katalogu meshes? Czy wystarczy zedytować odpowiednią linię w katalogu config/weapons - jeżeli tak to jaką?

3. Planuję stworzyć mod który umożliwia korzystanie z różnych przedmiotów w ekwipunku za naciśnięciem klawisza. Czytałem post w którym wypowiadał m.in. Cromm Cruac czy The Witcher. Komendy odpowiadające za użycie bandaża czy apteczki są zaimplementowane w jądrze, jednakże znalazłem inny sposób: w pliku
/gamedata/scripts/ui_main_menu.script odpowiednio zedytowałem:

:

Kod: Zaznacz wszystko
function main_menu:OnKeyboard(dik, keyboard_action)  --virtual function
   CUIScriptWnd.OnKeyboard(self,dik,keyboard_action)
   local bind = dik_to_bind(dik)
   local console = get_console()
   
   if keyboard_action == ui_events.WINDOW_KEY_PRESSED then
      if dik == DIK_keys.DIK_ESCAPE then
         if level.present() and (db.actor ~= nil) and db.actor:alive() then
            console:execute("main_menu off")
         end
      end
      
      -- đŕńęîěĺíňčđóĺě č çŕîîäíî âęëţ÷čě óáđŕííîĺ ńďŕâí ěĺíţ
      if   dik == DIK_keys.DIK_S then
      --   self:OnButton_load_spawn()
      
      elseif    dik == DIK_keys.DIK_Q then
         self:OnMessageQuitWin()
         
      elseif    dik == DIK_keys.DIK_A then
         if amk.check_game() then
            self:amk_options()
         end   
         
      end

         if dik == DIK_keys.DIK_NUMPAD9 then
         if level.present() and (db.actor ~= nil) and db.actor:alive() then
              if db.actor:object("medkit_scientic") ~= nil then
                       db.actor:eat(db.actor:object("medkit_scientic"))
              end
            console:execute("main_menu off")
         end
      end


         if dik == DIK_keys.DIK_NUMPAD8 then
         if level.present() and (db.actor ~= nil) and db.actor:alive() then
              if db.actor:object("medkit_army") ~= nil then
                       db.actor:eat(db.actor:object("medkit_army"))
              end
            console:execute("main_menu off")
         end
      end

         if dik == DIK_keys.DIK_NUMPAD7 then
         if level.present() and (db.actor ~= nil) and db.actor:alive() then
              if db.actor:object("medkit") ~= nil then
                       db.actor:eat(db.actor:object("medkit"))
              end
            console:execute("main_menu off")
         end
      end

         if dik == DIK_keys.DIK_NUMPAD4 then
         if level.present() and (db.actor ~= nil) and db.actor:alive() then
              if db.actor:object("bandage") ~= nil then
                       db.actor:eat(db.actor:object("bandage"))
              end
            console:execute("main_menu off")
         end
      end
      
         if dik == DIK_keys.DIK_NUMPAD5 then
         if level.present() and (db.actor ~= nil) and db.actor:alive() then
              if db.actor:object("antirad") ~= nil then
                       db.actor:eat(db.actor:object("antirad"))
              end
            console:execute("main_menu off")
         end
      end
      
      if dik == DIK_keys.DIK_NUMPAD6 then
         if level.present() and (db.actor ~= nil) and db.actor:alive() then
              if db.actor:object("vodka") ~= nil then
                       db.actor:eat(db.actor:object("vodka"))
              end
            console:execute("main_menu off")
         end
      end
      
      if dik == DIK_keys.DIK_NUMPAD1 then
         if level.present() and (db.actor ~= nil) and db.actor:alive() then
              if db.actor:object("conserva") ~= nil then
                       db.actor:eat(db.actor:object("conserva"))
              end
            console:execute("main_menu off")
         end
      end
      
      if dik == DIK_keys.DIK_NUMPAD2 then
         if level.present() and (db.actor ~= nil) and db.actor:alive() then
              if db.actor:object("kolbasa") ~= nil then
                       db.actor:eat(db.actor:object("kolbasa"))
              end
            console:execute("main_menu off")
         end
      end
      
      if dik == DIK_keys.DIK_NUMPAD3 then
         if level.present() and (db.actor ~= nil) and db.actor:alive() then
              if db.actor:object("bread") ~= nil then
                       db.actor:eat(db.actor:object("bread"))
              end
            console:execute("main_menu off")
         end
      end

      if dik == DIK_keys.DIK_NUMPAD0 then
         if level.present() and (db.actor ~= nil) and db.actor:alive() then
              if db.actor:object("energy_drink") ~= nil then
                       db.actor:eat(db.actor:object("energy_drink"))
              end
            console:execute("main_menu off")
         end
      end
   end
   
   return true
end


Tylko jest jeden problem: żeby użyć np antyrada trzeba przejść do menu głównego gry i wcisnąć odpowiedni klawisz ( w tym przypadku NUM5) po czym gra automatycznie przechodzi z menu do gry. To zmniejsza nieco dynamikę gry - czy jest możliwość zaimplementowania takiej akcji do obsługi podczas rozgrywki?
Image
Awatar użytkownika
lektors
Tropiciel

Posty: 363
Dołączenie: 14 Cze 2009, 20:32
Ostatnio był: 03 Lut 2017, 05:22
Miejscowość: Toruń
Frakcja: Samotnicy
Ulubiona broń: F1 Grenade
Kozaki: 55

Reklamy Google

Re: Kilka poważniejszych pytań

Postprzez Pangia w 07 Kwi 2014, 22:31

lektors napisał(a):1.Czy istnieje możliwość edytowania właściwości artefaktu tak, żeby umożliwiał noszenie większego ciężaru - chodzi mi o to czy w pliku artefacts.ltx gdzie mamy opisane właściwości każdego artefaktu można jakoś zaimplementować możliwość oddziaływania na ilość ekwipunku

Pewnie nie, inaczej już by ktoś to zrobił w jakimś większym modzie.
2. Czy w celu szybszego przeładowywania broni i wyjmowania/przełączania broni jedynym rozwiązaniem jest edycja wszystkich plików animacyjnych w katalogu meshes? Czy wystarczy zedytować odpowiednią linię w katalogu config/weapons - jeżeli tak to jaką?

Z tego co wiem, to tylko edytując animacje, sam o to kiedyś pytałem odnosząc się do strzelb.
Na ostatnie nie odpowiem, bo nie znam się na skryptach. Mogę co najwyżej doradzić podparcie się jakimiś większymi modami, chyba już było coś, co miało taki patent zaimplementowane, ale co – zabij, a nie przypomnę sobie.
Proszę państwa, sto pięćdziesiąt kilometrów na godzinę w ciągu kilku sekund, wspaniały wynik. Gdyby w ten sposób można było wypie*dolić z polskiej polityki tych wszystkich śmieci z Okrągłego Stołu, Leszka Millera, byłoby… cudownie i każdemu bym ku*wa kupił po takim Ferrari, byleby w piz*u pojechali tym PROSTO do swojego ukochanego… Izraela. SYJONIŚCI Europy, jedźcie do siebie! Pozdrawiam, Zbigniew Stonoga. Nie jestem antysemitą!
Awatar użytkownika
Pangia
Monolit

Posty: 4280
Dołączenie: 27 Maj 2012, 10:49
Ostatnio był: 28 Lis 2017, 19:49
Miejscowość: Kukle Karakańskie
Ulubiona broń: TOZ34
Kozaki: 854

Re: Kilka poważniejszych pytań

Postprzez lektors w 07 Kwi 2014, 22:51

Pangia napisał(a):Mogę co najwyżej doradzić podparcie się jakimiś większymi modami


Tyle że z tego co się dowiedziałem to albo takowe modyfikują odpowiednio akcje silnika, albo korzystają z zewnętrznych programów które działają mniej więcej w taki sposób że są uruchamiane jednocześnie z grą i nasłuchują na porcie klawiatury odpowiednie klawisze. Ja chciałbym, o ile istnieje jakakolwiek możliwość modyfikować tylko pliki gamedaty- nie chcę się bawić w pisanie odpowiednich aplikacji bo nie mam wystarczającej wiedzy w tym zakresie.

BTW. Jaki program użyć do edycji animacji broni?
Image
Awatar użytkownika
lektors
Tropiciel

Posty: 363
Dołączenie: 14 Cze 2009, 20:32
Ostatnio był: 03 Lut 2017, 05:22
Miejscowość: Toruń
Frakcja: Samotnicy
Ulubiona broń: F1 Grenade
Kozaki: 55

Re: Kilka poważniejszych pytań

Postprzez mCq w 08 Kwi 2014, 00:38

lektors napisał(a):1.Czy istnieje możliwość edytowania właściwości artefaktu tak, żeby umożliwiał noszenie większego ciężaru - chodzi mi o to czy w pliku artefacts.ltx gdzie mamy opisane właściwości każdego artefaktu można jakoś zaimplementować możliwość oddziaływania na ilość ekwipunku

Jak masz zainstalowane Czyste Niebo to sprawdź w pliku artefacts.ltx jak to jest rozwiązane. Nie grałem nigdy w Czyste Niebo ale z tego co się dowiedziałem, w CN, są artefakty podnoszące limit udźwigu postaci więc może uda się to przenieść do Cienia. Ewentualnie spróbuj dodać w configu danego artefaktu linijkę additional_inventory_weight i additional_inventory_weight2 ustawiając im takie same wartości (czyli tyle ile chcesz dodać kilogramów). Nie wiem czy to zadziała ale możesz spróbować. Tak tylko wpadłem na pomysł...
Awatar użytkownika
mCq
Tropiciel

Posty: 345
Dołączenie: 26 Sty 2012, 18:15
Ostatnio był: 21 Sie 2023, 21:48
Miejscowość: Brooklyn, New York
Frakcja: Wojskowi Stalkerzy
Ulubiona broń: UDP Compact
Kozaki: 69


Powróć do Cień Czarnobyla

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 2 gości