Kilka ważnych dla mnie pytań na start :) 2211 2

O temacie

Autor Vorhacz

Zaczęty 16.05.2021 roku

Wyświetleń 2211

Odpowiedzi 2

Vorhacz

Vorhacz

Użytkownicy
Aktor głosowy
posty8
ProfesjaAktor głosowy
  • Użytkownicy
  • Aktor głosowy
Cześć! Moddingiem zajmuję się bardzo długo ponieważ AŻ od dzisiaj 12:00. Stworzyłem już swojego pierwszego NPC, itemki, pierwszą misję, pierwszy dubbing, ale wolałbym pobawić się w coś bardziej rozbudowanego. W związku z tym pytań mam kilka:

1. Co muszę zrobić żeby mieć czysty świat pod robienie customowego moda niezwiązanego z linią fabularną Gothica 1? (tzw. czystka wśród NPC na mapie, do tej pory próbowałem się pobawić plikiem startup.d ale albo robię coś nie tak albo robię to po prostu źle)

2. Dalej nie do końca wiem, czy dobrze zapisuję moje postępy podczas edytowania plików w modzie po utworzeniu do niego odnośnika pozwalającego w niego grać w starterze :P Jako przykład posłużę się dzisiaj zrobionym krótkim modem (https://imgur.com/a/hAjvuQU) - na początku przez moją niewiedzę w name postaci wklepałem od razu nick "Bućko", ku mojemu zaskoczeniu zamiast "ć" powstało mi A z umlautami, poszperałem trochę w plikach i zauważyłem, że np. "Strażnik" ma swój odnośnik do pliku Text.d, dzięki temu udało mi się uzyskać efekt Bućka w grze, pozmieniałem też jego grubość i kilka innych rzeczy niezwiązanych już z tą postacią. Wszystko fajnie działało, jakoś godzinę później włączyłem grę jeszcze raz, zarówno grubość, nazwa bućka oraz inne zmienione rzeczy się cofnęły do stanu surowego moda, jakiekolwiek zmiany jakie próbowałem później wprowadzić kończyły się tym, że nie działo się nic (próbowałem zapisywać postępy w Spacerze oraz Starter_modzie - ani to, ani to nie podziałało). Podsumowując mój za długi już monolog - Jak poprawnie zapisać postępy w skryptach tak aby po uruchomieniu moda były widoczne w grze?

3. Jak zrobić sytuację, w której NPC po np. wykonaniu misji mówi do nas "Dobrze, wróć do mnie za jakiś czas" i faktycznie musi minąć powiedzmy 1 dzień żeby chciał z nami kontynuować dialog / dał nam jakiś przedmiot. W przypadku wcześniejszej próby byłby dialog zwrotny w stylu "Tak jak ci powiedziałem, wróć do mnie później, muszę chwilę odpocząć".

4. Jak mogę zrobić dłuższy/krótszy czas trwania poszczególnych dialogów? (przydatne np. przy dodawaniu lekko dłuższego dubbingu)

5. Jak zmienić początkowe intro gry, rozdziały (grafiki i ich nazwy) oraz w ogóle UI np. listy zadań, czy spisu umiejętności?

6. Czy w gothicu można robić kilka możliwości wydarzeń w zależności od spełnionego warunku? Np. w LUA jest coś takiego:

if coś == 1
   then outPutChatBox ("blabla",plr)
   if not then outPutChatBox ("bla", plr)

Jako przykładową sytuację podam taką: Odebraliśmy misję na dostarczenie mięcha do jakiegoś NPC i powiedzmy, że NPC zlecił nam przyniesienie mu wieprzowiny, a my przyniesiemy mu wołowinę okłamując go, że to wieprzowina (tak wiem jak to absurdalne) i w zależności od tego, czy przyniesiemy mu wołowinę, czy wieprzowinę jego reakcja będzie inna? Np. kiedy oddamy mu wieprzowinę to ją zje, a kiedy wołowinę to nas zaatakuje. Poniżej zostawiam kilka linijek kodu, w których jeśli ktoś z was będzie tak uprzejmy może wprowadzić taką zmianę:

FUNC INT DIA_GRD_333_Bucko_Endmission_Condition()
{
if (npc_knowsinfo (other, DIA_Snaf_Buckomeat))
&& (npc_hasitems (other, ItFoBuckomeat))
{
return 1;
};
};

FUNC VOID DIA_GRD_333_Bucko_Endmission_Info()
{
AI_Output (other, self,"DIA_GRD_333_Bucko_Endmission_15_00"); //Proszę, oto twoja wołowina.
AI_Output (self, other,"DIA_GRD_333_Bucko_Endmission_33_01"); //No i to rozumiem! Zjem i pogadamy, wróć do mnie za jakiś czas. Weź też te kilka bryłek rudy za fatygę.
AI_StopProcessInfos (self);

B_giveinvitems (other, self, ItFoBuckomeat, 1);
Createinvitems (self, itminugget, 30);
B_giveinvitems (self, other, itminugget, 30);
B_LogEntry (TOPIC_bucko1, "Dałem Bućkowi jego mięso, teraz muszę poczekać aż je skonsumuje i pomoże mi dostać się do starego obozu.");
Log_SetTopicStatus (TOPIC_bucko1, LOG_SUCCESS);
B_GiveXP (150);
};

Prosiłbym o wytłumaczenie prostym językiem :D jestem dopiero początkujący, pozdrawiam!
 
Chętnie pomogę w dobrej jakości dubbingu do modyfikacji oraz machinim! :) // Discord: Vorhacz#7151

Fabio

Fabio

The Modders
posty3477
Propsy2157
ProfesjaSkrypter
  • The Modders
1. Zależy o jakim świecie mowa. Jeśli chcesz mieć któryś z oryginalnych światów z G1, ale z nowymi NPC, to musisz mieć po prostu wyczyszczony plik Startup.d, w którym są wywoływane pojawienia się oryginalnych NPC + oczywiście najlepiej mieć też czyste skrypty dla porządku. Jeśli mowa o nowym świecie, to wystarczy, że dopiszesz sobie w Startup.d nową nazwę świata, a potem wywołania NPC. Musisz oczywiście skompilować skrypty po wprowadzeniu zmian, żeby zobaczyć różnicę w grze.

2. Problem z brakiem polskich znaków występuje wtedy, gdy masz inne kodowanie niż być powinno - ustaw Windows 1250 (format > zestaw znaków > środkowoeuropejski, na przykładzie notepada++). Nazwę wyświetlaną twojej postaci możesz zrobić albo na zasadzie wykorzystania jakiejś stałej, co jest przydatne w przypadku powtarzalnych np. bezimiennych "Strażnik" lub w taki sposób, jak ma reszta NPC imiennych, czyli:

Bezimienny NPC:
name  = GARDLIST;
Imienny NPC:
name  = "Bernard";
Co do zapisywania zmian - zmiany powinny zapisać się już po skompilowaniu skryptów, więc o ile później nie uruchamiasz zwykłej gry (GothicGame, w którym są skompilowane skrypty), to powinno wszystko działać.

3. Musisz dodać warunek sprawdzający, czy minął jeden dzień, to chyba było coś w stylu Wld_GetDay, ale nie pamiętam dokładnie, też nie moduję G1, ale wydaje mi się, że istnieje (w G2 na pewno).

4. Długość wyświetlania kwestii zależy od tego, jak długie jest nagranie - w przypadku, gdy je masz (dubbing). O innych przypadkach nie piszę, bo odniosłeś się jedynie do opcji dialogów z dubbingiem.

5. Normalnie. Wystarczy, że będziesz miał video w formacie bik, a następnie je podmienisz. Jeśli chcesz identyczną nazwę, to po prostu zamień za oryginalne. Jeśli chcesz o innej nazwie, to musisz już zmodyfikować o w skryptach, biorąc też pod uwagę, że jak zrobisz podfoldery, to musisz to uwzględnić w ścieżce w skryptach. Rozdziały zmieniasz w taki sam sposób - informacje w skryptach (jak np. ich nazwy), a grafiki to kwestia podmianki.

6. No tak, przecież Gothic bez takich możliwości byłby pozbawiony jakichkolwiek konsekwencji w wyborach, których co prawda nie ma dużo, ale jednak można je w nim znaleźć. Tutaj po prostu możesz sprawdzić, czy mięso, które przyniosłeś, jest tym, którego oczekuje zleceniodawca. Jeśli dobrze rozumiem zadanie, to w warunku umożliwiającym odpalenie w ogóle tego dialogu dodaj sprawdzenie, czy masz item nr 1 (poprawne mięso) LUB item nr 2 (niepoprawne mięso). A w dialogu dodaj warunek, że jeśli mamy poprawne mięso, to leci dobrze dialog, a jeśli nie, to ten drugi. To nic trudnego. Przeanalizuj oryginalne skrypty, to wszystko.

Vorhacz

Vorhacz

Użytkownicy
Aktor głosowy
posty8
ProfesjaAktor głosowy
  • Użytkownicy
  • Aktor głosowy
Dzięki za pomoc - wszystko prosto i na temat, do zamknięcia :)
 
Chętnie pomogę w dobrej jakości dubbingu do modyfikacji oraz machinim! :) // Discord: Vorhacz#7151


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry