World of Gothic Archiv
> Editing Spacer Prob. und Script Chaos! |
|
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: Gibt an welche Tagesablauffunktion beim einsetzen den Spieler in die Welt aufgerufen wird. quote: 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: 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: 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... |
||
|