|
GOTHIC WEB SITE Forum o grach z serii Gothic
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
jono
Czeladnik
Dołączył: 09 Kwi 2009
Posty: 35
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Nie 13:20, 19 Kwi 2009 Temat postu: |
|
|
sorry już działa zapomniałem w jednej linijce dać ";". tylko mam problem z dialogiem bo mam kilka kwesti a bezimienny mówi tylko jedną i mam dobrze other, self robiłem to programem dialog manager czy jakoś tak oto kod: Kod: | // ************************************************************
// Hallo
// ************************************************************
///////////////////////////////////////////////////////
////////////// hello
///////////////////////////////////////////////////////
instance Dia_Edward_hello (C_INFO)
{
npc = BAU_2506_Edward;
nr = 999;
condition = Dia_Edward_hello_condition;
information = Dia_Edward_hello_info;
permanent = 1;
important = FALSE;
description = "Kim jesteś?";
};
FUNC int Dia_Edward_hello_condition()
{
return TRUE;
};
FUNC VOID DIA_Edward_hello_info()
{
AI_Output (other,self,"DIA_Edward_hello_1_01"); //Kim jesteś?
AI_Output (self, other,"DIA_Edward_hello_1_02"); //Nazywam się Edward. Jestem zastępcą Ryżowego Księcia.
AI_Output (other,self,"DIA_Edward_hello_1_03"); //Masz ładny miecz.
AI_Output (self, other,"DIA_Edward_hello_1_04"); //Wiem o tym.
AI_Output (other,self,"DIA_Edward_hello_1_05"); //Czy mógłbym go od Ciebie odkupić?
AI_Output (self, other,"DIA_Edward_hello_1_06"); //Chyba żartujesz!
AI_Output (other,self,"DIA_Edward_hello_1_07"); //Nie, mówię całkiem poważnie.
AI_Output (self, other,"DIA_Edward_hello_1_08"); //Organizuję walki. Nagrodą główną jest moja broń.
AI_Output (other,self,"DIA_Edward_hello_1_09"); //Chcę walczyć!
AI_Output (self, other,"DIA_Edward_hello_1_10"); //Jeszcze nie teraz.
Log_CreateTopic (CH1_BrońEdwarda,LOG_NOTE);
B_LogEntry(CH1_BrońEdwarda, "Edward organizuje walki w Nowym Obozie. Nagroda główną jest jego broń. Mam się do niego zgłosić później.");
};
// ************************************************************
// EXIT
// ************************************************************
INSTANCE DIA_Edward_EXIT (C_INFO)
{
npc = Bau_2506_Edward;
nr = 999;
condition = DIA_Edward_EXIT_Condition;
information = DIA_Edward_EXIT_Info;
permanent = 1;
description = DIALOG_ENDE;
};
FUNC INT DIA_Edward_EXIT_Condition()
{
return 1;
};
FUNC VOID DIA_Edward_EXIT_Info()
{
AI_StopProcessInfos (self);
}; |
Post został pochwalony 0 razy
Ostatnio zmieniony przez jono dnia Nie 13:21, 19 Kwi 2009, w całości zmieniany 1 raz
|
|
Powrót do góry |
|
|
|
|
Artex
Wojownik
Dołączył: 06 Sie 2008
Posty: 1048
Przeczytał: 0 tematów
Pomógł: 29 razy Ostrzeżeń: 0/5
Płeć: Mężczyzna
|
Wysłany: Nie 15:20, 19 Kwi 2009 Temat postu: |
|
|
Co rozumiesz poprzez jedną kwestię? Jedna wymiana zdań, czy tylko jedno zdanie? Oba Dialogi mają numer 999, popraw to, numer odpowiada za kolejność wyborów w oknie dialogowym.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
jono
Czeladnik
Dołączył: 09 Kwi 2009
Posty: 35
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Nie 16:57, 19 Kwi 2009 Temat postu: |
|
|
bezi mówi tylko jedno zdanie "Kim jesteś" a tamten nawet nie odpowiada
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Artex
Wojownik
Dołączył: 06 Sie 2008
Posty: 1048
Przeczytał: 0 tematów
Pomógł: 29 razy Ostrzeżeń: 0/5
Płeć: Mężczyzna
|
Wysłany: Nie 17:41, 19 Kwi 2009 Temat postu: |
|
|
Hmmm...?
Aktualizowałeś dialogi spacerem?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
jono
Czeladnik
Dołączył: 09 Kwi 2009
Posty: 35
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Nie 19:00, 19 Kwi 2009 Temat postu: |
|
|
chodzi o reprasowanie skryptów czy jak?
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Baka26
Przybysz
Dołączył: 30 Mar 2009
Posty: 14
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Pon 13:38, 20 Kwi 2009 Temat postu: |
|
|
Mam jeszcze jeden problem, jak wczytam mod w którym mają być już zmiany, włączę NOWA GRA to widać tylko Beziego i pasek hp na czarnym tle
Post został pochwalony 0 razy
Ostatnio zmieniony przez Baka26 dnia Pon 13:39, 20 Kwi 2009, w całości zmieniany 1 raz
|
|
Powrót do góry |
|
|
Artex
Wojownik
Dołączył: 06 Sie 2008
Posty: 1048
Przeczytał: 0 tematów
Pomógł: 29 razy Ostrzeżeń: 0/5
Płeć: Mężczyzna
|
Wysłany: Pon 14:32, 20 Kwi 2009 Temat postu: |
|
|
Cytat: | Gdy już odpalisz ten bugogenny (żart xD) program klikasz "Świat", a potem "Napraw Skrypty" i wybierasz plik gothic.src. Teraz sobie trochę poczekasz, Spacer nie będzie odpowiadał ale to normalka, może to potrwać około kwadrans. >.< Jak się naprawi to powinno wszystko działać, ale na wszeeeeelki wypadem można to zrobić jeszcze raz. |
Cytat: | Najpierw tworzymy dialog... Teraz otwieramy spacer i robimy to co w poprzednim cytowaniu xD. (napraw skrypty). Teraz zaglądamy do _work/data/scripts/content/CUTSCENE i usuwamy zawartość (dwa pliki powinny być).
Teraz klikamy w Spacerze na przycisk "Toggles window of outputunits" ma być wciśnięty.
Teraz patrzymy na zakładkę Output Units, klikamy Aktualizuj, a potem Zapisz. |
Wszystko jest czarne? Czy przypadkiem kompilowałeś świat? Sprawdź czy nazwa światu w pliku .ini jest dobrze podana.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
jono
Czeladnik
Dołączył: 09 Kwi 2009
Posty: 35
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Pon 16:19, 20 Kwi 2009 Temat postu: |
|
|
Kod: | Teraz klikamy w Spacerze na przycisk "Toggles window of outputunits" ma być wciśnięty.
Teraz patrzymy na zakładkę Output Units, klikamy Aktualizuj, a potem Zapisz. |
WIEM ale ja mam spacera po polsku więc napisz po polsku jakie przyciski XDDD
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Artex
Wojownik
Dołączył: 06 Sie 2008
Posty: 1048
Przeczytał: 0 tematów
Pomógł: 29 razy Ostrzeżeń: 0/5
Płeć: Mężczyzna
|
Wysłany: Pon 17:17, 20 Kwi 2009 Temat postu: |
|
|
Ja też mam po polsku i idzie to tak samo : P.
To spolszczenie to taki pic na wodę, tylko menu jest chyba spolszczone.
To taka ikonka z kartką.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
jono
Czeladnik
Dołączył: 09 Kwi 2009
Posty: 35
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Pon 18:55, 20 Kwi 2009 Temat postu: |
|
|
O__________________________O umiem XDDDD widzeXDDDDDDDDD olśniło mnieXDDDDDDDDDDDDDD a jak dodac takie coś do skryptu B:Chcę walczyć. E:Jak sobie chcesz.... i rozpoczyna się walka ale żeby można było za każdym razem walczyć ale jak bezi wygra to żeby juz nei dało się walczyć. a nagrodą ma być miecz instance black_kill proszę pomóż napewno mi to pomoże oraz innym graczom.
Post został pochwalony 0 razy
Ostatnio zmieniony przez jono dnia Pon 19:07, 20 Kwi 2009, w całości zmieniany 2 razy
|
|
Powrót do góry |
|
|
Baka26
Przybysz
Dołączył: 30 Mar 2009
Posty: 14
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Wto 16:35, 21 Kwi 2009 Temat postu: |
|
|
Wszystko jest czarne, a nazwa worlda jest dobra
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Artex
Wojownik
Dołączył: 06 Sie 2008
Posty: 1048
Przeczytał: 0 tematów
Pomógł: 29 razy Ostrzeżeń: 0/5
Płeć: Mężczyzna
|
Wysłany: Wto 16:58, 21 Kwi 2009 Temat postu: |
|
|
Baka26 napisał: | Wszystko jest czarne, a nazwa worlda jest dobra |
CZY KOMPILOWAŁEŚ ŚWIAT?
Podaj najlepiej po kolei jakie kroki wykonywałeś (oczywiście w spacerze, albo skryptach o czystko ogólnym charakterze, nie mam tu na myśli edycji NPC).
EDIT:
@Jono.
No więc tak, dialog już umisz zrobić (wiem bo widziałem ), więc nie będę się tu rozpisywał, co do ataku NPC na ciebie to trzeba zrobić coś takiego.
Kod: | func void DIA_Lefty_First_Never()
{
AI_Output (other, self,"DIA_Lefty_First_Never_15_00"); //Sam sobie noś tę wodę!
AI_Output (self, other,"DIA_Lefty_First_Never_07_01"); //Tak się nie traktuje przyjaciół! Widzę, że muszę nauczyć cię dobrych manier!
Lefty_WorkDay = B_SetDayTolerance();
Lefty_Mission = LOG_FAILED;
B_LogEntry (CH1_CarryWater, "Lewus nieźle się wściekł, gdy odrzuciłem jego 'propozycję'! A myślałem, że w Starym Obozie było niebezpiecznie!");
Info_ClearChoices (DIA_Lefty_First );
AI_StopProcessInfos (self);
Npc_SetTarget (self, other);
AI_StartState (self, ZS_ATTACK, 1, "");
}; |
To kawałek skryptu Lewusa, co robi po odmowie, interesuje nas to:
Kod: | AI_StopProcessInfos (self);
Npc_SetTarget (self, other);
AI_StartState (self, ZS_ATTACK, 1, ""); |
NPC po kolei: Kończy rozmowę, ustala cel (MY) i atakuje nas. Można to trochę poprzestawiać i zrobić żeby atakował kogoś innego, wcześniej wyciągnął broń i dopiero potem zaatakował, możliwości jest nieskończoność (to w końcu czyste skrypty, a nie Morrowind CS). Po prostu umieść taki kod po rozmowie odnośnie walki.
Teraz Co zrobić po walce. Jest to niestety trochę bardziej skomplikowane, w grę wchodzą tablicę bo silnik musi wiedzieć czy pokonaliśmy danego NPC....
Walka ma się odbywać na śmierć i życie? Czy z tym samym NPC który ma ci wydawać potem broń? Zależnie od odpowiedzi sprawa może być albo łatwa albo trudna...
Post został pochwalony 0 razy
Ostatnio zmieniony przez Artex dnia Wto 17:06, 21 Kwi 2009, w całości zmieniany 1 raz
|
|
Powrót do góry |
|
|
jono
Czeladnik
Dołączył: 09 Kwi 2009
Posty: 35
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Wto 17:21, 21 Kwi 2009 Temat postu: |
|
|
z tym samym npc bo jak go pokonam to on w nagrodę daje broń, to NIE ma być na śmierć i życie
Post został pochwalony 0 razy
Ostatnio zmieniony przez jono dnia Wto 17:22, 21 Kwi 2009, w całości zmieniany 1 raz
|
|
Powrót do góry |
|
|
Artex
Wojownik
Dołączył: 06 Sie 2008
Posty: 1048
Przeczytał: 0 tematów
Pomógł: 29 razy Ostrzeżeń: 0/5
Płeć: Mężczyzna
|
Wysłany: Wto 18:40, 21 Kwi 2009 Temat postu: |
|
|
No to będzie najtrudniej...
Popatrz sobie w skrypt Scatyego i bazuj się na nim, ma on tam umieszczone warunku odnośnie bicia innych NPC .
Co do miecza... kiedy NPC już wstanie i zagadasz do niego to po wymianie zdań musi nie tylko ci oddać przedmiot (jeśli go ograbisz to już nie będzie miał broni), ale wcześniej go sobie "przyzwać".
Kod: | CreateInvItems (self, ItMi_Gold, 500);
B_GiveInvItems (self, other, ItMi_Gold, 500); |
Bazuj się na tym. Pierwsza linijka przyzywa do EQ naszego NPC 500 złota, druga odpowiada za wręczenie złota tobie.
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
Baka26
Przybysz
Dołączył: 30 Mar 2009
Posty: 14
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Wto 18:56, 21 Kwi 2009 Temat postu: |
|
|
1Zrobiłem plik world.zen GoManem
2Spacerem w pliku world.zen powstawiałem nowe przedmioty, drzewa itp.
3Zrobiłem skrypty moda i broni
4Zrobiłem paczkę moda do której wrzuciłem wszystkie moje skrypty i plik world.zen
5Paczkę wkleiłem do folderu gothic\Data\ModVDF
6Skrypt moda wkleiłem do folderu gothic\system
i włączyłem grę programem PlayerKit
Post został pochwalony 0 razy
|
|
Powrót do góry |
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
|