Jak dodać nowe przedmioty do gry?

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"].

Jak dodać nowe przedmioty do gry?

Postprzez maniakes w 31 Paź 2014, 02:54

Witam, chcę dodać do gry nowe przedmioty wyeksportowane z moda Misery do CoP. Takie, jak paczki fajek, saperka, świerszczyk czy zwój liny i inne pierdoły, tak dla klimatu, żeby przy zwłokach nie znajdować tylko broni i amunicji ;-)

1. Czy to wogóle możliwe, aby przenieść itemki z moda do CoP do SoC? Czy pliki będa sie gryzły - już zauważyłem, że w plikach .ltx sa nowe komendy któych w plikach .tlx SoC nie ma. Ale dla mnie to nawet te itemki nie muszą "działać", a napewno nie musza działac tak jak w CoP - czyli czasowo. Wystarczy że "spalona" paczka fajek zniknie, z inventory, albo nawet niech nie da sie jej "skonsumować", byleby była do zebrania z trupów, znalezienia w stashach albvo handlu u handlarzy.

2. Ogarnąłem programik Stalker Icon Editor i ikonki ekwipunku poumieszczałem w swoim pliku ui_icon_equipment.dds i gra je widzi. Teraz poróuje dopisać odpowiednie wpisy w plikach .ltx - próbuję dodawać moje papierosy do "items.ltx" naśladując opis juz tam istniejących przedmiotów. Przeniosłęm też plik .ogf odpowiadający za fajki oraz dodałem papierosy u handlarzy. Co jeszcze powinienem uczynić, aby to zadziałało?
Gra niestety wywal mi się przy uruchamianiu. Czy zatem poza ikoną, modelem .ogf, plikiem .ltx muszę zrobić coś jeszcze, aby dodać nowy przedmiot do gry? Czy może jest coś o czym nie wiem i np. silnik gry uniemożliwia dodawania nowych przedmiotów?

3. W pliku .ltx każdy przedmiot ma opisana wartość:

$Spawn =

I tutaj są różne wartości np. "food and drugs\voodka". Czy to oznacza, że aby dodać nowe przedmioty musze pogrzebać w pliku spawn (co podobno jest bardzo trudne i ogólnie do ogarnięcia tylko dla zaawansowanych)? A jeśli nie, to co powinienem wpisać żeby dodać prawidłowo itemek? Dodam że kombinowałem różnie - kopiując wartości z innych juz istniejących przedmiotów, albo kombinując np.: $Spawn = "food and drugs\cigarettes" ale nie wiem czy to dozwolone aby tworzyć swoje wersje tej linii i czy to nie jest powó dla którego moje przedmioty crashują grę.

PS: owszem, mógłbym po prostu grać w Misery do CoP, ale szkoda mi rozstawać się całkiem z moja ulubiona kompilacją modó do SoC.
maniakes
Kot

Posty: 41
Dołączenie: 31 Paź 2014, 01:36
Ostatnio był: 26 Gru 2014, 13:02
Frakcja: Zombie
Ulubiona broń: Obokan
Kozaki: 0

Reklamy Google

Re: Jak dodać nowe przedmioty do gry?

Postprzez Wheeljack w 31 Paź 2014, 11:18

Linijka $Spawn = dotyczy spawnowania w sdk, nie pamiętam jak to dokładnie działa, ale wydaje mi się, że jak jej nie zmienisz to nic się nie stanie. Nie da się tak po prostu przenieść przedmiotów z CoP do ShoC, wklej sekcję jakiegoś chleba ze ShoC to Ci napiszę mniej więcej co za co odpowiada i co zmieniać. :)
A jak wywala grę przy uruchamianiu to podaj loga, pomarańczowa ramka u góry.
Awatar użytkownika
Wheeljack
Administrator

Posty: 1918
Dołączenie: 13 Kwi 2009, 18:52
Ostatnio był: 13 Wrz 2023, 13:49
Miejscowość: Fraktal
Ulubiona broń: GP 37
Kozaki: 722

Re: Jak dodać nowe przedmioty do gry?

Postprzez maniakes w 31 Paź 2014, 11:57

Sekcja odpowiedzialna za kiełbase w itemns.ltx:

Kod: Zaznacz wszystko
[kolbasa]:identity_immunities
GroupControlSection   = spawn_group
discovery_dependency =
$spawn             = "food and drugs\kolbasa"
$prefetch          = 8
class            = II_FOOD
cform            = skeleton
visual            = weapons\kolbasa\kolbasa.ogf
description         = enc_equipment_food_kolbasa1

inv_name         = Kolbasa
inv_name_short      = Kolbasa
inv_weight         = 0.5

inv_grid_width      = 1
inv_grid_height      = 1
inv_grid_x         = 19
inv_grid_y         = 12
cost            = 50

attach_angle_offset      = 0.440521, 1.378287, -0.644026
attach_position_offset   = 0.104196, -0.010821, 0.076969
attach_bone_name      = bip01_r_hand
auto_attach            = false

// should be deleted after update
bone_name            = bip01_r_hand
position_offset          = 0.0,0.0,0.0
angle_offset          = 1.570790,1.570790,3.92699

; eatable item
eat_health = 0
eat_satiety = 0.3
eat_power = 0
eat_radiation = 0
wounds_heal_perc = 0
eat_portions_num = -1

; food item
slot            = 4
animation_slot      = 4

;hud item
hud = wpn_vodka_hud


A to moja próba dodania "papierosów" do tegoż pliku (wstawiona na samym końcu, ale nie wiem, czy to może mieć jakieś znaczenie gdzie wklejam, dopóki oczywoście nie wkleiłbym w środku innego przedmiotu :D ):

Kod: Zaznacz wszystko
[cigarettes]:identity_immunities
GroupControlSection   = spawn_group
discovery_dependency =
$spawn          = "food and drugs\vodka"
$prefetch       = 8
class         = II_ANTIR
cform           = skeleton
visual          = equipments\drink_cigar0.ogf
description      = "Marnej jakosci, ukrainskie papierosy przemycane do Zony."

inv_name         = Cigarettes
inv_name_short      = Cigarettes
inv_weight         = 0.1

inv_grid_width     = 1
inv_grid_height    = 1
inv_grid_x         = 7
inv_grid_y         = 34
cost            = 100

; eatable item
eat_health = 0.0
eat_satiety = -0.05
eat_power = 0.0
eat_radiation = -0.05

wounds_heal_perc = 0
eat_portions_num = 1

; food item
animation_slot      = 4

;hud item
hud = wpn_vodka_hud


No i log jaki mi wyrzuca XRay przy próbie odpalenia gry:

Kod: Zaznacz wszystko
XR_3DA.exe caused BREAKPOINT in module "K:\S.T.A.L.K.E.R. - Shadow of Chernobyl 10006 - Ol10\S.T.A.L.K.E.R. - Shadow of Chernobyl\bin\xrCore.dll" at 0023:007FCC85, xrDebug::backend()+165 byte(s)


Czyli nie ma szansy aby dodać paczkę ćmików do gry? Czy problem wynika stąd, że chcę użyć OGF. z CoP, czy samego faktu, że chce dodać nowy przedmiot,. którego w grze nigdy nie było? Innymi słowy chodzi o kpompatybilność między SoC i CoP, czy o wewnętrzne ograniczenia silnika SoC? Ale chyba to pierwsze, bo przecież w różnych modach dodawane są pewne przedmioty któych w vanilli nie było. No chyba, że wszystkie te przedmioty to tylko odzyskane z pierwotnego projektu które miały być a tak naprawdę nie ma nic "nowego"?
Ostatnio edytowany przez maniakes, 31 Paź 2014, 16:28, edytowano w sumie 1 raz
maniakes
Kot

Posty: 41
Dołączenie: 31 Paź 2014, 01:36
Ostatnio był: 26 Gru 2014, 13:02
Frakcja: Zombie
Ulubiona broń: Obokan
Kozaki: 0

Re: Jak dodać nowe przedmioty do gry?

Postprzez vandr w 31 Paź 2014, 14:19

Trza przekonwertować model przedmiotu na ten obsługiwany przez silnik SoC.
TAJAG JUDYN
HAZBAZ
SEKODYN!
vandr
Modder

Posty: 3876
Dołączenie: 21 Lut 2011, 14:18
Ostatnio był: 01 Mar 2023, 21:43
Kozaki: 1747

Re: Jak dodać nowe przedmioty do gry?

Postprzez maniakes w 31 Paź 2014, 14:45

A gdybym przypisał model jakiegoś innego przedmiotu z SoC, np. pudełka z amunicją i tylko zmienił mu teksturę, mogłoby to zadziałać? W sensie, czy dałoby się dodac nowy rodzaj amunicji (a włąściwie to przedmiotu korzystającego jedynie z modelu amunicji), który nie pasowałby wcale do żadnej broni oczywiście, miałby teksturę pudełka papierosów (trochę dziwnego co prawda bo wielkości pudełka amunicji ale to szczewgół) ikone w inventory wyciętą z Misery moda i zachowywał sie jak powiedzmy kiełbasa przy "użyciu" czyli znikałz inventory i tyle?
maniakes
Kot

Posty: 41
Dołączenie: 31 Paź 2014, 01:36
Ostatnio był: 26 Gru 2014, 13:02
Frakcja: Zombie
Ulubiona broń: Obokan
Kozaki: 0

Re: Jak dodać nowe przedmioty do gry?

Postprzez Pangia w 31 Paź 2014, 15:41

No to wtedy miałbyś pudełko amunicji z nieprawidłowo naniesioną teksturą, działające jak kiełbasa i w plecaku wyglądające jak papierosy i nazwane papierosami (o ile dodałbyś do plików językowych opisy dla nowego przedmiotu).
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: Jak dodać nowe przedmioty do gry?

Postprzez maniakes w 31 Paź 2014, 16:17

Hmm no i okazuje się, że nie. Dodałem sobie druygi rodzaj wódki.

Wpis w ltx.:

Kod: Zaznacz wszystko
[vodka_a2]:identity_immunities
GroupControlSection      = spawn_group
discovery_dependency   =
$spawn               = "food and drugs\vodka_a"
cform                   = skeleton
class               = II_ATTCH
visual                  = weapons\vodka\vodka
cost               = 100
inv_name            = "Wodka importowana"
inv_name_short         = "Wodka imp."
inv_weight            = .5
inv_grid_width         = 1
inv_grid_height         = 2
inv_grid_x            = 5
inv_grid_y            = 2

attach_angle_offset      = 0.000000, 0.000000, 0.000000
attach_position_offset   = 0.087266, -0.078540, 0.052360
attach_bone_name      = bip01_r_hand
auto_attach            = false

// should be deleted after update
bone_name            = bip01_r_hand
position_offset          = 0.0,0.0,0.0
angle_offset          = 1.570790,1.570790,3.92699

[vodka2]:identity_immunities
GroupControlSection   = spawn_group
discovery_dependency =
$spawn             = "food and drugs\vodka"
;$prefetch          = 32
class            = II_BOTTL
cform            = skeleton
visual            = weapons\vodka\vodka
description         = "Importowana spoza Zony rosyjska wodka."

ef_weapon_type      = 0

inv_name         = "Wodka importowana"
inv_name_short      = "Wodka imp."
inv_weight         = 0.5   ;0.2

inv_grid_width     = 1
inv_grid_height    = 1
inv_grid_x         = 75
inv_grid_y         = 40
cost            = 100

attach_angle_offset      = 0.000000, 0.000000, 0.000000
attach_position_offset   = 0.087266, -0.078540, 0.052360
attach_bone_name      = bip01_r_hand
auto_attach            = false

// should be deleted after update
bone_name            = bip01_r_hand
position_offset          = 0.0,0.0,0.0
angle_offset          = 1.570790,1.570790,3.92699

slot            = 4

; eatable item
eat_health      = 0
eat_satiety      = 0.01
eat_power      = 0
eat_radiation   = -0.3
eat_alcohol      = 0.1
wounds_heal_perc    = 0
eat_portions_num    = -1

; food item
slot            = 4
animation_slot      = 4

;hud item
hud = wpn_vodka_hud

break_particles      = explosions\explosion_bottle
break_sound         = material\bottle\collide\bottle_break_1


Skopiowałem po prostu oryginalne sekcje wódki - pytanie: czemu wódka jest jakby opisana podwójnie (vodka i vodka_a)? Następnie zmieniłem nazwe na "vodka2" oraz podmieniłem ikone na inna - zaimportowana z Misery moda i wklejoną do mojego ui_icons_equipment.dds.

Jak mniemam wódka powinna korzystać z tej ikon oraz z modelu normalnej wódki juz istniejącej w grze. Mamy więc ten sam itemek ale z inną ikoną i nazwą. Dodałem też go do plikó handlarza - na początek tylko SIda, aby zobaczyć, czy zadziała.

No i w efekcie gra wysypuje mi sie podczas tworzenia nowej gry:

Kod: Zaznacz wszystko
XR_3DA.exe caused BREAKPOINT in module "K:\S.T.A.L.K.E.R. - Shadow of Chernobyl 10006 - Ol10\S.T.A.L.K.E.R. - Shadow of Chernobyl\bin\xrCore.dll" at 0023:007BCC85, xrDebug::backend()+165 byte(s)


Pytanie: co robię źle? Czego brakuje? Czy może muze jakies inne pliki zedytować? Czy dwa itemki moga korzystać z tego samego modelu(przecież wiele broni z modó używa w sumie tego samego modelu)? Jeśli musze edytować inne pliki niż items.ltx, to prosze, napiszcie mi, jakie pliki?
maniakes
Kot

Posty: 41
Dołączenie: 31 Paź 2014, 01:36
Ostatnio był: 26 Gru 2014, 13:02
Frakcja: Zombie
Ulubiona broń: Obokan
Kozaki: 0

Re: Jak dodać nowe przedmioty do gry?

Postprzez Pangia w 31 Paź 2014, 17:52

Złą część loga podałeś i w ogóle od dupy strony się za to zabierasz.
Jak chcesz zrobić przedmiot na bazie innego, to nie kopiuj niczego, tylko każ silnikowi gry odesłać go do innej sekcji. Czyli np.

Kod: Zaznacz wszystko
[vodka2]:vodka


I w grze będziesz miał wtedy dwie identyczne wódki. Pod spodem sobie możesz dopisać odpowiednie linie dla jej odróżnienia, np.:

Kod: Zaznacz wszystko
[vodka2]:vodka
cost               = 250 ;cena
inv_name            = "Wodka importowana" ;nazwa, jeśli nie ma w st_items.xml
inv_name_short         = "Wodka imp." ;jw.
inv_weight         = 0.7 ;waga
inv_grid_width     = 1 ;tu se wpisz wysokość ikonki
inv_grid_height    = 1 ;tu se wpisz szerokość ikonki
inv_grid_x         = 75 ;tu se wpisz jej współrzędne w siatce icons_equipment.dds
inv_grid_y         = 40 ;tu se wpisz jej współrzędne w siatce icons_equipment.dds
eat_satiety      = -0.05 ;znaczy się zwiększa głód
eat_alcohol      = 0.2 ;znaczy się daje w czuba
eat_radiation   = -0.45 ;znaczy się ładnie czyści z radów


I już masz wódkę droższą, większą i taką, która lepiej wchodzi. Później grubasowi dopisujesz nową wódkę do inwentarza dla testu i sprawdzasz, czy działa.

To, co za średnikami to tylko komentarze, możesz wywalić, jak ci nie trzeba. No i mam nadzieję, że nie pchasz na siłę modeli z Misery, bo wtedy nigdy ci to nie zadziała.
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: Jak dodać nowe przedmioty do gry?

Postprzez maniakes w 31 Paź 2014, 18:16

Dzieki, zaraz spróbuje, mam nadzieję, że zadziała bo już jestem lekko zdesperowany po kilku próbach i niekończącym się wywalaniu na pulpit.

Tak tak, nie trzeba mi dwa razy powtarzać, że modele pod CoP nie zadziałają w SoC, bez jakiejś konwersji. A że na tym sie nie znam to nie będę nawet próbował ;-)

Juz rozumiem, czyli mój błąd polegał na tym, że kopiowałem przedmiot i silnik się na tym wykładał? Teraz rozumiem o co chodzi z tym nagłówkiem: [vodka]:coś tam dotąd było dla mnie czarna magią co to jest :D

A czemu niektóre itemki maja podwójna wersje, jak ta wódka włąśnie, z literą "a"?
maniakes
Kot

Posty: 41
Dołączenie: 31 Paź 2014, 01:36
Ostatnio był: 26 Gru 2014, 13:02
Frakcja: Zombie
Ulubiona broń: Obokan
Kozaki: 0

Re: Jak dodać nowe przedmioty do gry?

Postprzez Pangia w 31 Paź 2014, 21:25

A kto to zgadnie. Pewnie zostało jako test czegoś tam jeszcze z jakichś starych wersji gry, nie warto takich rzeczy ruszać, bo nie wiadomo, do czego się odnoszą.
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: Jak dodać nowe przedmioty do gry?

Postprzez maniakes w 31 Paź 2014, 22:25

Metoda z wódką zadziałała! Thx :D

Niestety zaraz potem zepsułem sobie grę (nieodwracalnie, mimo, że robię zawsze kopie zmienianych plików :/ ) próbując dodać backpack moda. Najśmieszniejsze jest to, że już raz go dodałem z sukcesem (doklejam go do OL 2010), ale... zapomniałęm jak to zrobiłem że zadziałało :omatko:
maniakes
Kot

Posty: 41
Dołączenie: 31 Paź 2014, 01:36
Ostatnio był: 26 Gru 2014, 13:02
Frakcja: Zombie
Ulubiona broń: Obokan
Kozaki: 0


Powróć do Cień Czarnobyla

Kto jest na forum

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