World of Gothic Archiv > Editing
Spacer Prob. und Script Chaos!
Seite 1 von 1  1 
21.02.2004, 21:18 #1
Raven-Kid
Beiträge: 61
Spacer Prob. und Script Chaos!
HI!

Ich hab wie schon erwähnt ein problem mim Spacer und eines beim Scripten eines Chars.

Spacer:
Er verkleinert das Ansichtsfenster. Wenn ich es größer mache (1600x1200) ist die größe zwar nicht dem pixeln entsprechend aber ich sehe etwas. Allerdings ist die Kamera leicht Seitlich nach links geneigt und verzerrt auch alles.
Im Regestrie die Spacer Daten rausschmeißen hab ich schon etlichemale gemacht...

Sripting:
Ich verstehe die Zs und TA's nicht wircklich.
Eigentlich wäre mir schon sehr geholfen wenn mir jem. die fertigen scripts für einen Char schicken würde. Oder zumin. sagen würde welche datein für einen char mit tagesablauf nötig sind (oder auch mit mission):(
21.02.2004, 22:02 #2
Black Daemon
Beiträge: 218

Zu 1: Hast du scjon die version 1.5 des Spacers? Mehme mal an das du mit g1 arbeitest.

Zu 2:
Wiki wiki wiki can`t you read ...........
http://wiki.devmode.de/Tutorials/Skript-Tutorial
Hier steht alles was du wissen must, um einen neune NPC mit Dialog und Tagesablauf zu erstellen.
Für den Anfang solltest du wahrscheinlich einen Fertigen TA benutzen.
Wenn du nich weist wie du eine bestimmt Sache scripten sollst schau einfach mal in die original Scripte. Meistens kannst du dann weiter arbeiten.
21.02.2004, 22:15 #3
Raven-Kid
Beiträge: 61

Ich arbeite mit 1.5 (zum. sagt er mir das)
Und aus dem Wicky werd ich nicht schlau!

instance None_999_Gunther (Npc_Default) // Klasse von der der Nsc abgeleitet ist kann auch
// direkt von C_Npc abgeleitet werden
{
//-------- primary data --------
name = "Gunther";
guild = GIL_NONE;
npctype = NPCTYPE_AMBIENT;
level = 17;
voice = 8;
id = 999;

// ----- attributes --------
attribute[ATR_STRENGTH] = 100;
attribute[ATR_DEXTERITY] = 100;
attribute[ATR_MANA_MAX] = 0;
attribute[ATR_MANA] = 0;
attribute[ATR_HITPOINTS_MAX]= 200;
attribute[ATR_HITPOINTS] = 200;

//-------- visuals --------
Mdl_SetVisual (self, "humans.mds"); // basic animation file - Bei Menschen immer Humans.mds,
// so lange keine selbsterstellten Daten vorliegen, sondern nur
// auf Animantionsdaten von Gothic gearbeitet wird.

Mdl_ApplyOverlayMds (self, "humans_militia.mds"); // overlay animation file ß Bewegungtyp: Militär
Mdl_SetVisualBody (self, "hum_body_naked0", // body mesh
0, // body texture variant
1, // skin color
"hum_head_fighter", // head mesh
51, // head texture variant
2, // teeth texture variant
GRD_ARMOR_M); // armor instance

B_Scale (self); // body width according to strength of character

Mdl_SetModelFatness (self, 0); // limb fatness

//-------- talents --------
Npc_SetTalentSkill (self, NPC_TALENT_1H,2);

//-------- inventory --------
EquipItem (self, ItMw_1H_Mace_War_03);
// Zehn Heiltränke falls der Bursche mal verletzt wird:
CreateInvItems (self, ITFO_Potion_Health_01, 10);

//--------senses-------------

senses = SENSE_SEE | SENSE_SMELL;
senses_range = 2000;

//------------- ai -------------
fight_tactic = FAI_HUMAN_STRONG;


//-------------Daily Routine-------------
daily_routine = Rtn_start_999;

};
func void Rtn_Start_999 ()
{
TA_GuntherWait (0,00,13,00, "OC1");
TA_GuntherWait (13,00,0,00, "OC1");
};

Das ist der Fertige Script für den Char mit TA ?
-Wo ist dann aber der TA Definiert?
Wo kommt das hin?:

func void ZS_GuntherWait ()
{
PrintDebugNpc (PD_TA_FRAME, "ZS_GuntherWait");
// Debugausgaben, die man sich im Spy anzeigen lassen kann

Npc_PercEnable(self, PERC_ASSESSPLAYER, B_AssessSC);
// führt unter anderem dazu, dass der Nsc bei Annäherung des Spielers
// kontrolliert ob er eine Info hat, die ihm zum Ansprechen des Spielers
// veranlasst (Info wird später erstellt)
Npc_PercEnable(self, PERC_ASSESSTALK, B_AssessTalk);
// macht den Nsc ansprechbar, damit der Spieler auch den Auftrag beenden kann

AI_StandUp (self);
AI_SetWalkmode (self, NPC_WALK); // Walkmode für den Zustand, in diesem Fall gehen
AI_GotoWP (self, self.wp); // Gehe zum Tagesablaufstart
AI_AlignToWP (self); // Ausrichten am WP (Pfeilrichtung im Spacer)
};

func void ZS_GuntherWait_Loop ()
{
PrintDebugNpc (PD_TA_LOOP, "ZS_GuntherWait_Loop"); // s.o.
AI_GotoWP (self, self.wp); // Gehe zum Tagesablaufstart
AI_Wait (self, 100); // 100 Sekunden warten, bis die Wp gewechselt wird
AI_GotoWP (self, Npc_GetNearestWP (Self));
// Anderen WP in der Nähe suchen, damit er nicht dahin pinkelt wo er steht

AI_PlayAni(self, "T_PEE");
AI_Wait (self, 100); // 100 Sekunden warten, bis die Loop beendet wird
};

func void ZS_GuntherWait_End ()
{
PrintDebugNpc (PD_TA_FRAME,"ZS_GuntherWait_End"); // s.o.
};
21.02.2004, 22:21 #4
Black Daemon
Beiträge: 218

Schau mal ob dies hier bei deinem Fensterproblem was hilft.

Öhm ich weiß auch, dass das im Wiki steht. Beschreib halt mal, was du nicht verstehst und schau dir zum vergleich mal z.b. das script von Snaf an.
21.02.2004, 22:41 #5
Raven-Kid
Beiträge: 61

Nein das hilft mir auch nicht weiter :(
Da hab ich schon nachgesehn.

Hmm...zum scripten: Ich weis nicht so recht welche daten ich brauche

-Char Selbst +

//-------------Daily Routine-------------
daily_routine = Rtn_start_999;

};
func void Rtn_Start_999 ()
{
TA_GuntherWait (0,00,13,00, "OC1");
TA_GuntherWait (13,00,0,00, "OC1");
};

-Startup

Abgesehn davon das ich nicht weis wo der Ta bestimmt wird und ob das alles ist was ich brauche, weis ich auch noch nicht wie man das macht das die Leute ohne console ins spiel kommen....allerdings denke ich das ich das schon noch selber schnell rausbekommen werde:D
22.02.2004, 09:25 #6
Black Daemon
Beiträge: 218

quote:
daily_routine = Rtn_start_999;

Gibt an welche Tagesablauffunktion beim einsetzen den Spieler in die Welt aufgerufen wird.
quote:

TA_GuntherWait (0,00,13,00, "OC1");


Das ist der Tagesablauf, den ein NPC ausführt. Er wird vorher, sollte es ihn noch nicht geben in "scriptscontentStoryZS" als neuer ZS definiert. Danach muss er in die TA.d eingetragen werden.
Du kannst aber auch erstmal einfach einen fertigen TA wie z.b. TA_Boss
nehmen. Welche es gibt steht in der TA.d.

Zum einsetzen in die Welt muss dein neuer NPC in der startup.d eigetragen werden.
quote:
Wld_InsertNpc (Mod_9998_Marand,"TF3");

Bevor ich noch mehr schreibe schau mal hier ganz unten.
22.02.2004, 11:13 #7
Raven-Kid
Beiträge: 61

THX:D
Mal sehn ob ichs überreiß
22.02.2004, 12:36 #8
Raven-Kid
Beiträge: 61

Beim StartUp hab ich:

//--------NeueChars--------------------------------------
Wld_InsertNpc (None_999_Gunther,"OC1");

Und beim Char Selbst:

//-------------Daily Routine-------------
daily_routine = Rtn_start_999;

};
func void Rtn_Start_999 ()
{
TA_GuardPalisade (00,00,23,00,"GUNTHERWP");
TA_GuardPalisade (23,00,24,00,"GUNTHERWP");
};


Wenn ich ihn manuell einfüge funtzt der Ta auch...nur von alleine ist er noch nicht drinnen....

22.02.2004, 12:52 #9
Black Daemon
Beiträge: 218

Hast du
quote:
Wld_InsertNpc (None_999_Gunther,"OC1");

in der Startup.d auch in eine Funktion gepackt? Sonst wird er ja nicht aufgerufen. Außerdem wird er nur inserted, wenn du ein neues Spile beginnst.
22.02.2004, 12:56 #10
Raven-Kid
Beiträge: 61

Hmm..hat sich erledigt :D
Hab kein neues Spiel begonnen und hätts warsch auch nie getan wenn meine Saves nicht einfach so verschwunden wären....
22.02.2004, 13:03 #11
Raven-Kid
Beiträge: 61

Tja jetzt hab ich eigentlich nur das problem das ich nicht sehe was ich rede und was mein neuer char redet... (untertietel sind nat. an)
22.02.2004, 13:21 #12
Black Daemon
Beiträge: 218

Zu deiner Info im Wiki gibts nen extra tut
http://wiki.devmode.de/Diverses/Unt...d+Sprachausgabe
22.02.2004, 13:49 #13
Raven-Kid
Beiträge: 61

Oohh...nicht gefunden...
Seite 1 von 1  1