Children of Bhaal (Forum)
Największy polski Klan Sagi Baldur's Gate - Children of Bhaal

Modding - Czytam skrypt postaci/obszaru i nie rozumiem...

Thishen - 2008-09-05, 21:13
Temat postu: Czytam skrypt postaci/obszaru i nie rozumiem...
Chyba takiego tematu nie ma - tworze go, by bylo miejsce adekwatne do zadawania pytan o srypty, ktore mozna obejrzec np. w IE.

Na dobry poczatek poprosilbym upadla dusze ;) o wyjasnienie - co oznaczaja te warunki (dialog z demonem samolubnosci w piekle):
Kod:
NumInPartyGT(1)
InPartyAllowDead(Player2)
InParty(Player2)

Pierwsze rozumiem - sprawdza czy gramy solo. A pozostale dwa? Player2 to kto, postac przylaczona jako druga (nie liczac <CHARNAME>)?

Kirara - 2008-09-06, 08:50

InParty(Player2) sprawdza, czy w drużynie znajduje się obiekt Player2, a InPartyAllowDead(Player2) ponadto uwzględnia, że postać ta może być żywa lub martwa.

Dokładnie nie wiem, na jakiej zasadzie porządkuje naszych NPC'owych kompanów. Najprostszym sposobem na ustalenie tożsamości Player'a drugiego w przypadku liczniejszego składu jest spojrzenie na kolejność tych małych portrecików w zapisie gry. Ewentualnie przy pomocy Cepa edytować dany plik .gam.

morgan - 2008-09-06, 20:17

Powiem, ciekawa sprawa - Kirara rację ma w tym, że <Player2> podstawia zawsze NPCa nr 2 w save'ie (P1 to <CHARNAME>)... W samej grze bardzo rzadko możemy także w dialogu uchwycić kolejność NPCów dlatego odgrzebałem save'a z Tortured Souls - tam na wyspie stajemy do pojedynków z synami starego Nakanishi i odpala się dialog w stylu:
Kod:
~Ja, osobiście, podejmę wyzwanie.~
~<PLAYER2> będzie nas reprezentować.~
~<PLAYER3> zmierzy się z nim.~
~<PLAYER4> czeka na wyzwanie.~
~<PLAYER5> będzie naszym mistrzem.~
~<PLAYER6>, ruszaj.~

to explicite wyjaśniło mi kolejność, i na tym możemy w tym przypadku poprzestać...
Gorzej wytłumaczyć jak dana postać znajduje się na tym drugim miejscu - najpierw sądziłem, że ustalane jest to wg kolejności przyłączania, jednak znalazłem wyjatek od tej reguły - we wspomnianej modyfikacji wszystko było ok, dopóki nie przyłączyłem Corana (po 'odejsciu' zdrajcy) - ni mniej ni więcej 'wskoczył' on na drugie miejsce - no i teraz nie wiem, jednakże z uwagi na fakt, iż zdarzyło mi sie to tylko w tym jednym przypadku pozwalam sobie mniemać, że nastepuje niejako zastosowane 'zastepstwo' - nr. 2 był właśnie zdrajca - po prostu muszą być jakieś kryteria doboru - jesli ktoś ma inne wytłumaczenie - zapraszam do prezentacji...
Teraz kilka słów oczywistego:
Thishen napisał/a:
InPartyAllowDead(Player2)

jesli wybierzemy ścieżkę zła w tej próbie kolejne obrazenia zbiera ten własnie NPC, widocznie uznano, że ten jest 'najbliższy' graczowi (co w przypadku gry w TS ma swoje plusy - zginie i tak zbędny Coran, a już w Sarad. spotkamy wiadomo kogo;)

Wybaczcie mój laicyzm;)

Torn - 2008-09-06, 23:25

morgan napisał/a:

Gorzej wytłumaczyć jak dana postać znajduje się na tym drugim miejscu - najpierw sądziłem, że ustalane jest to wg kolejności przyłączania, jednak znalazłem wyjatek od tej reguły - we wspomnianej modyfikacji wszystko było ok, dopóki nie przyłączyłem Corana

Hym...
Black Isle/Bioware w pliku Scripting Quick Reference.doc znalezionym w katalogu Script compiler napisał/a:
Player1 or Protagonist
This is the Main Character or Protagonist.

Player2 – Player6
Character 2, 3, 4, 5 or 6 in the order they have joined.

A co do opisanej sytuacji z Coranem, to nie znając TS, nie bardzo mogę coś powiedzieć, ale... może wcześniej było BGT z Coranem w drużynie, a Coran z BG1 i ten z TS się tak samo nazywają? To by wyjaśniało sytuację...

morgan - 2008-09-06, 23:39

Torn napisał/a:
może wcześniej było BGT z Coranem

Nie grywam z BGT
Po drugie nie grywam z Coranem (Imo mi wystarcza;), jeśli nie gram solo, co preferuję...
Miałem zainstalowane jedynie TS + konkurencyjne romanse z EoU (by pogodzić Sime, którą testowałem z Viką, z którą zawsze mi się to zdarza;) - jesli nie gram solo, ofc;)
Torn napisał/a:
Coran z BG1 i ten z TS się tak samo nazywają?

Nie nie nazywają się tak samo (coran, coran5 <-> c6coran)

Kirara - 2008-09-07, 08:51

Torn napisał, że Black Isle/Bioware w pliku Scripting Quick Reference.doc znalezionym w katalogu Script compiler napisał/a:
Character 2, 3, 4, 5 or 6 in the order they have joined.

Tak się dzieje w przypadku, gdy w drużynie pozostało jeszcze wolne miejsce oraz/lub nikogo z niej nie wyrzucamy. Kiedy zaś dokonujemy roszad z równoczesnym (znaczy 'nieprzerywanym' zapisaniem stanu gry) usuwaniem i przyłączeniem NPC'ów, wówczas obserwujemy interesujące zjawisko wskakiwania nowego nabytku w miejsce wypędzonego poprzednika, a więc Black Isle'owo/Bioware'owy 'order they have joined' nie zostaje zachowany. Drużyna z ilością kompanów (nie licząc protagonisty) równą x dla 1<x<6, gdzie x należy do C, po wyproszeniu z jej szeregów kogoś z przedziału domkniętego [Player2, Player przedostatni] (ewentualnie samego Player2, gdy x=2) pozostaje ze swego rodzaju luką międzypostaciową, która to istnieje do czasu jej uzupełnienia kontrolowanego (przyłączenie kogoś nowego) bądź jej samowypełnienia poprzez uporządkowanie (przy zapisie gry). Tako rozumując, uważam, że nieznajomość TS'ów, niegrywanie w BGT, swoiste preferencje Coranowo-Imoenowe oraz mroczne konflikty na tle sercowym niewiele mają wspólnego z kolejnością Player'ową naszego aktualnego drużynowego towarzystwa, o ile nie namówią nas one do partyjki szachów.

C.n.u. albo i nie. ;)


Powered by phpBB modified by Przemo © 2003 phpBB Group