[Problem][Zmiana ilości wymaganych przedmiotó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"].

[Problem][Zmiana ilości wymaganych przedmiotów]

Postprzez kubekpop w 06 Paź 2012, 17:49

Witam. Mam taki odcinek
Kod: Zaznacz wszystko
function actor_has_weapon(first_speaker, second_speaker)
   return first_speaker:object("wpn_mp5") ~= nil
end

i nie wiem, jak zmienić, aby funkcja wymagała 2 sztuk mp5. Jest to precondition do dialogu. Ma się on pojawiać tylko, gdy gracz ma 2 sztuki mp5. Da się coś zrobić? Bo już kilku sposobów próbowałem i nie daję rady.

PS. Nie daję w syntax="lua" bo wygląda to... źle. Nie widać niektórych części (żółty na białym tle)
Ostatnio edytowany przez kubekpop, 08 Paź 2012, 20:56, edytowano w sumie 1 raz
Awatar użytkownika
kubekpop
Przewodnik

Posty: 956
Dołączenie: 05 Sty 2011, 20:56
Ostatnio był: 05 Lut 2020, 11:37
Miejscowość: Warszawa
Frakcja: Czyste Niebo
Ulubiona broń: UDP Compact
Kozaki: 160

Reklamy Google

Re: [Problem][Zmiana ilości wymaganych przedmiotów]

Postprzez r_populik w 06 Paź 2012, 18:34

Nie mam pojęcia, czy zadziała, ale spróbuj tak:
Kod: Zaznacz wszystko
function actor_has_weapon(first_speaker, second_speaker)
   local amount = 2
   return first_speaker:object("wpn_mp5", amount) ~= nil
end
Awatar użytkownika
r_populik
Modder

Posty: 789
Dołączenie: 26 Mar 2010, 12:45
Ostatnio był: 27 Mar 2025, 14:46
Miejscowość: okolice stolicy
Kozaki: 263

Re: [Problem][Zmiana ilości wymaganych przedmiotów]

Postprzez kubekpop w 06 Paź 2012, 19:07

Niestety nadal nie działa, wywala bez loga.
Awatar użytkownika
kubekpop
Przewodnik

Posty: 956
Dołączenie: 05 Sty 2011, 20:56
Ostatnio był: 05 Lut 2020, 11:37
Miejscowość: Warszawa
Frakcja: Czyste Niebo
Ulubiona broń: UDP Compact
Kozaki: 160

Re: [Problem][Zmiana ilości wymaganych przedmiotów]

Postprzez r_populik w 06 Paź 2012, 19:17

A próbowałeś może tak:
Kod: Zaznacz wszystko
function actor_has_weapon(first_speaker, second_speaker)
   return db.actor:object("wpn_mp5", 2) ~= nil
end

lub tak:
Kod: Zaznacz wszystko
function actor_has_weapon(first_speaker, second_speaker)
   local amount = 2
   return db.actor:object("wpn_mp5", amount) ~= nil
end

Za ten post r_populik otrzymał następujące punkty reputacji:
Positive kubekpop.
Awatar użytkownika
r_populik
Modder

Posty: 789
Dołączenie: 26 Mar 2010, 12:45
Ostatnio był: 27 Mar 2025, 14:46
Miejscowość: okolice stolicy
Kozaki: 263

Re: [Problem][Zmiana ilości wymaganych przedmiotów]

Postprzez kubekpop w 06 Paź 2012, 19:22

Tak, próbowałem. Nie działają. Powinno działać niby to
Kod: Zaznacz wszystko
 return db.actor:object("wpn_mp5", 2) ~= nil
bo tak jest przy relocate_item, ale nie działa :/
Awatar użytkownika
kubekpop
Przewodnik

Posty: 956
Dołączenie: 05 Sty 2011, 20:56
Ostatnio był: 05 Lut 2020, 11:37
Miejscowość: Warszawa
Frakcja: Czyste Niebo
Ulubiona broń: UDP Compact
Kozaki: 160

Re: [Problem][Zmiana ilości wymaganych przedmiotów]

Postprzez r_populik w 06 Paź 2012, 19:32

To może błąd tkwi gdzieś indziej, bo nie wiem co tu jeszcze można wymyślić. Może coś w dialogu skopałeś ?
Awatar użytkownika
r_populik
Modder

Posty: 789
Dołączenie: 26 Mar 2010, 12:45
Ostatnio był: 27 Mar 2025, 14:46
Miejscowość: okolice stolicy
Kozaki: 263

Re: [Problem][Zmiana ilości wymaganych przedmiotów]

Postprzez kubekpop w 08 Paź 2012, 16:28

:

Kod: Zaznacz wszystko
<dialog id="oldy">
        <precondition>dialogs_zaton.actor_has_oldy</precondition>
<precondition>dialogs_zaton.money_oldy</precondition>
       
        <phrase_list>
            <phrase id="0">
                <text>Mam_cos_do_naprawy</text>
<next>1</next>
            </phrase>
            <phrase id="1">
                <text>co_to_takiego</text>
               
<next>2</next>
 </phrase>
            <phrase id="2">
                <text>empepiec</text>
                <action>dialogs_zaton.oldy_give</action>
<action>dialogs_zaton.money_pay</action>
                <next>3</next>
               
            </phrase>
            <phrase id="3">
                <text>masz</text>
<action>dialogs_zaton.oldy_get_new</action>
                <next>4</next>
            </phrase>
            <phrase id="4">
                <text>dzieki</text>
         
            </phrase>
           
        </phrase_list>
    </dialog>

:

Kod: Zaznacz wszystko
function actor_has_oldy(first_speaker, second_speaker)
   return db.actor:object("wpn_mp5") ~= nil
end
function oldy_give(first_speaker, second_speaker)
   dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "wpn_mp5")
end
function money_oldy(first_speaker, second_speaker)
   return db.actor:money() >= 1000
end
function money_pay(first_speaker, second_speaker)
   dialogs.relocate_money_from_actor(first_speaker, second_speaker, 1000)
end

function oldy_give_old_back(first_speaker, second_speaker)
   dialogs.relocate_item_section_from_actor(first_speaker, second_speaker, "wpn_mp5",2)
end


function oldy_get_new(first_speaker, second_speaker)
   dialogs.relocate_item_section_to_actor(first_speaker, second_speaker, "wpn_ak74")
end

I z takimi ustawieniami działa. Gdy tylko próbuję coś grzebać z ilością wymaganych mp5, mam wylot do pulpitu przy próbie interakcji z postacią, do której dialog jest przypisany.
Awatar użytkownika
kubekpop
Przewodnik

Posty: 956
Dołączenie: 05 Sty 2011, 20:56
Ostatnio był: 05 Lut 2020, 11:37
Miejscowość: Warszawa
Frakcja: Czyste Niebo
Ulubiona broń: UDP Compact
Kozaki: 160

Re: [Problem][Zmiana ilości wymaganych przedmiotów]

Postprzez r_populik w 08 Paź 2012, 17:10

Kubek zapytaj o to samo na forum GSC, na pewno któryś z tamtejszych skryptmagów pomoże. U nas pod tym względem niestety jest biednie.
Awatar użytkownika
r_populik
Modder

Posty: 789
Dołączenie: 26 Mar 2010, 12:45
Ostatnio był: 27 Mar 2025, 14:46
Miejscowość: okolice stolicy
Kozaki: 263

Re: [Problem][Zmiana ilości wymaganych przedmiotów]

Postprzez Cromm Cruac w 08 Paź 2012, 20:32

actor_has_weapon zwraca true tylko wtedy gdy masz wyciągniętą broń.

Do sprawdzenia ilości przedmiotów w ekwipunku użyj actor_has_item_count(actor, npc, p) z xr_conditions
Np. actor_has_item_count(first_speaker, second_speaker, {"wpn_mp5",5})
Image

"Twoja opowieść mnie znudziła albowiem nie była o mnie" - Król Julian

Za ten post Cromm Cruac otrzymał następujące punkty reputacji:
Positive kubekpop, r_populik.
Awatar użytkownika
Cromm Cruac
Modder

Posty: 2549
Dołączenie: 22 Sty 2010, 19:01
Ostatnio był: 14 Maj 2025, 23:19
Miejscowość: Londyn / Bielsko-Biała
Kozaki: 1080

Re: [Problem][Zmiana ilości wymaganych przedmiotów]

Postprzez kubekpop w 08 Paź 2012, 20:49

Cromm, jesteś wielki!
Kod: Zaznacz wszystko
function actor_has_weapon(first_speaker, second_speaker)
   return xr_conditions.actor_has_item_count(first_speaker, second_speaker, {"wpn_mp5",2})
end

I wreszcie działa. A actor_has_weapon to tylko nazwa precondition, pod którą kryła się inna funkcja.
Awatar użytkownika
kubekpop
Przewodnik

Posty: 956
Dołączenie: 05 Sty 2011, 20:56
Ostatnio był: 05 Lut 2020, 11:37
Miejscowość: Warszawa
Frakcja: Czyste Niebo
Ulubiona broń: UDP Compact
Kozaki: 160

Re: [Problem][Zmiana ilości wymaganych przedmiotów]

Postprzez Cromm Cruac w 09 Paź 2012, 18:24

Mam nadzieję, że nie zmieniałeś definicji actor_has_weapon w xr_conditions bo ta funkcja jest wykorzystywana jako *condition w wielu miejscach do sprawdzenia czy actor ma wyciągniętą broń. Jeśli to zrobisz to wszędzie tam wymagane będzie posiadanie dwóch mp5.
Image

"Twoja opowieść mnie znudziła albowiem nie była o mnie" - Król Julian
Awatar użytkownika
Cromm Cruac
Modder

Posty: 2549
Dołączenie: 22 Sty 2010, 19:01
Ostatnio był: 14 Maj 2025, 23:19
Miejscowość: Londyn / Bielsko-Biała
Kozaki: 1080

Re: [Problem][Zmiana ilości wymaganych przedmiotów]

Postprzez kubekpop w 09 Paź 2012, 21:24

Nie, jest to tylko dodana funkcja w dialogs_zaton.script i nazywa się ona inaczej (zamiast weapon jest co innego), więc nie koliduje z innymi funkcjami.
Awatar użytkownika
kubekpop
Przewodnik

Posty: 956
Dołączenie: 05 Sty 2011, 20:56
Ostatnio był: 05 Lut 2020, 11:37
Miejscowość: Warszawa
Frakcja: Czyste Niebo
Ulubiona broń: UDP Compact
Kozaki: 160


Powróć do Zew Prypeci

Kto jest na forum

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