Forum Stalker.pl • Zobacz temat - Spawnowanie uszkodzonych kombinezonów

Spawnowanie uszkodzonych kombinezonów

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

Spawnowanie uszkodzonych kombinezonów

Postprzez Marcus_Polonus w 05 Cze 2017, 17:16

Witam,

Czy jest jakaś możliwość zrobienia małego moda, w którym każdy napotkany wróg będzie miał możliwość zespawnowania ze sobą swój kombinezon/hełm, ale uszkodzony jak broń?

Zrobiłem coś takiego dodając pliki .xml w gameplay i odnośniki przy każdym NPC'ie w character_desc_general, ale ciuchy są dodawane do ich ekwipunku nowe.
Image
Marcus_Polonus
Tropiciel

Posty: 276
Dołączenie: 18 Maj 2013, 22:36
Ostatnio był: 25 Lip 2023, 22:10
Miejscowość: Fabryka nad Jantarem
Frakcja: Powinność
Ulubiona broń: Sniper Rifle SVDm2
Kozaki: 36

Reklamy Google

Re: Spawnowanie uszkodzonych kombinezonów

Postprzez Diegtiarov w 05 Cze 2017, 22:12

Gdzieś mam skrypt z CoC z dodaną funkcją na drop kombinezonów. Prawdopodobnie nadal jest w Gameplay Rebalanced jeśli nie usunąłem jej z kodu ostatniej wersji.

Użycie podobne:
- spawnuje kombinezon do ekwipunku NPC ( 100% cond ) przy pomocy character_desc ( jakieś 0.05% (?) szans na spawn )
- wyklucza go z handlu ( uj wie ile blokerów tam wstawiłem żeby w końcu zatrybiło )
- wyklucza go z lootu NPC - w sensie nie będą ich kumulować jak znajdą w plecaku jakiegoś trupa
- gdy NPC ginie funkcja działa tak jak przy kalkulowaniu cond broni przy zabitych

Jak odkopię wszystkie potrzebne pliki to dam znać. Z tego co pamiętam w CoC od ostatnich 3 wersji ten zabieg nie chciał działać ( jeśli to CoC masz na oku ).

Za ten post Diegtiarov otrzymał następujące punkty reputacji:
Positive Marcus_Polonus.
Awatar użytkownika
Diegtiarov
Stalker

Posty: 99
Dołączenie: 30 Maj 2010, 16:36
Ostatnio był: 23 Sie 2020, 16:53
Frakcja: Samotnicy
Ulubiona broń: Vintar BC
Kozaki: 16

Re: Spawnowanie uszkodzonych kombinezonów

Postprzez Marcus_Polonus w 05 Cze 2017, 23:16

To by było ekstra, ale żeby nie było niedomówień, mam ma myśli CoP'a, nie CoC. X-Ray niby i tu i tam itd. ...
Image
Marcus_Polonus
Tropiciel

Posty: 276
Dołączenie: 18 Maj 2013, 22:36
Ostatnio był: 25 Lip 2023, 22:10
Miejscowość: Fabryka nad Jantarem
Frakcja: Powinność
Ulubiona broń: Sniper Rifle SVDm2
Kozaki: 36

Re: Spawnowanie uszkodzonych kombinezonów

Postprzez Diegtiarov w 06 Cze 2017, 22:30

Czysto teoretycznie to dla CoP powinno wyglądać to tak:

death_manager.script
Kod: [ Pobierz ] [ Ukryj ]
        --printf("item name [%s]", item:name())
        if isOutfit(item)
                set_outfit_drop_condition(item)
                return
        end


function set_outfit_drop_condition(item)
        local condition  = (math.random(15))/100
        --printf("condition [%s]", tostring(condition))
        item:set_condition(condition)  
end
 

W math.random ustawione jest wylowoanie wartości od 0 do 15.


Teraz pozostaje tylko dodać pancerze do character_desc z parametrem prob=szansa*.
Powinno to wyglądać mniej więcej tak:
Kod: [ Pobierz ] [ Ukryj ]
<supplies>
                  [spawn] \n
                  device_torch \n
                  wpn_toz34 \n
                  ammo_12x70_buck \n
                  wpn_pm \n
                  ammo_9x18_fmj \n
                  novice_outfit, prob=0.005 \n
 


Jeśli będzie ustawiona niska szansa na pojawienie się pancerza to raczej można oszczędzić sobie usuwanie możliwości zlootowania ich przez NPC.
Bolesne może być dodawanie odpowiedniego pancerza do odpowiadającego modelowi NPC, ale chwilowo nie jestem w stanie napisać skryptu, który robiłby tą rzecz za nas.
Ostatnio liznąłem trochę C++, może za kilka miesięcy przyjdzie też czas na Lua...

szansa* - liczba w przedziale <1, 0); 1=100%, 0.5=50% itd.

Za ten post Diegtiarov otrzymał następujące punkty reputacji:
Positive Marcus_Polonus.
Awatar użytkownika
Diegtiarov
Stalker

Posty: 99
Dołączenie: 30 Maj 2010, 16:36
Ostatnio był: 23 Sie 2020, 16:53
Frakcja: Samotnicy
Ulubiona broń: Vintar BC
Kozaki: 16

Re: Spawnowanie uszkodzonych kombinezonów

Postprzez Marcus_Polonus w 06 Cze 2017, 22:51

Co do dropowania odpowiednich ciuchów, zrobiłem to już jakiś czas temu i znalazłem własną metodę - "ANALOGOWĄ" - sprawdzałem wpis visual jako model NPC'a w teksturkach i dopisywałem odpowiedni spawn z odpowiednimi ciuchami. Siedziałem nad tym cały dzień, ale działa znakomicie :D

Rozumiem, że tak wygląda skrypt, który sprawia, że jeśli znajdzie się kombinezon w trupie, to "się uszkodzi", tak?
Co to jest math.random i co to takiego robi?

Co do prawdopodobieństwa zrobiłem odnośniki do niezależnych .xml'i z wpisami np.:
Kod: Zaznacz wszystko
stalker_outift = 1, prob=0.05\n


Zdam zaraz raport z tego.

EDIT:
NIE DZIAŁA!
Kod: Zaznacz wszystko
FATAL ERROR
 
[error]Expression    : !m_error_code
[error]Function      : raii_guard::~raii_guard
[error]File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
[error]Line          : 748
[error]Description   : .... - zew prypeci\gamedata\scripts\bind_stalker.script:54: attempt to index global 'death_manager' (a nil value)
 

stack trace:
Image
Marcus_Polonus
Tropiciel

Posty: 276
Dołączenie: 18 Maj 2013, 22:36
Ostatnio był: 25 Lip 2023, 22:10
Miejscowość: Fabryka nad Jantarem
Frakcja: Powinność
Ulubiona broń: Sniper Rifle SVDm2
Kozaki: 36

Re: Spawnowanie uszkodzonych kombinezonów

Postprzez Diegtiarov w 07 Cze 2017, 15:47

Pomijając literówkę po linijce z "if" (zabrakło then; sprawdziłem u siebie poprawioną wersję) to wychodzi na to, że CoP nie ma zdefiniowane co to jest "isOutfit". Trzeba grzebać głębiej. Stawiam na silnik. :v
Awatar użytkownika
Diegtiarov
Stalker

Posty: 99
Dołączenie: 30 Maj 2010, 16:36
Ostatnio był: 23 Sie 2020, 16:53
Frakcja: Samotnicy
Ulubiona broń: Vintar BC
Kozaki: 16


Powróć do Zew Prypeci

Kto jest na forum

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