World of Gothic Archiv > Editing
Problem mit dialoge
Seite 1 von 1  1 
16.04.2004, 14:45 #1
=DM=
Beiträge: 26
Problem mit dialoge
Ich habe zu ende des OU.CLS skript gespeichert und ich weiß nicht, was soll ich gemacht? Wenn Er(NPC) soll sprecht "TEXT", er starten Dialoge und sofort enden Dialoge...

DIALOGE SKRIPTE:
quote:

INSTANCE DIA_Max_END (C_INFO)
{
npc = CHR_99001_MAX;
nr = 999;
condition = DIA_Max_END_Cond;
information = DIA_Max_END_Info;
permanent = TRUE;
description = DIALOG_ENDE;
};

FUNC int DIA_MAX_END_Cond ()
{
return TRUE;
};

FUNC VOID DIA_MAX_END_Info ()
{
AI_StopProcessInfos (self);
};

//1. HALLO

instance DIA_MAX_HALLO (C_INFO)
{
npc = CHR_99001_MAX;
nr = 999;
condition = DIA_MAX_HALLO_COND;
information = DIA_MAX_HALLO_INFO;
permanent = FALSE;
important = TRUE;
description = "";
};

FUNC int DIA_MAX_HALLO_COND ()
{
return TRUE;
};

FUNC void DIA_MAX_HALLO_INFO ()
{
AI_OUTPUT(self, other, "DIA_MAX_T1");
AI_StopProcessInfos (self);
};



Aus OU.CLS SKRIPT
quote:

[% zCCSBlock 0 62479]
blockName=string:DIA_MAX_T1
numOfBlocks=int:1
subBlock0=float:0
[% zCCSAtomicBlock 0 62480]
[% oCMsgConversation:oCNpcMessage:zCEventMessage 0 62481]
subType=enum:0
text=string:TEXT
name=string:DIA_NONE.WAV
[]
[]
[]



Was soll ich gemacht?
16.04.2004, 16:06 #2
Realdennis
Beiträge: 279

das muss glaub ich so sein:
quote:

INSTANCE DIA_Max_END (C_INFO)
{
npc = CHR_99001_MAX;
nr = 999;
condition = DIA_Max_END_Condition;
information = DIA_Max_END_Info;
permanent = TRUE;
description = DIALOG_ENDE;
};

FUNC int DIA_MAX_END_Condition()
{
return TRUE;
};

FUNC VOID DIA_MAX_END_Info ()
{
AI_StopProcessInfos (self);
};

//1. HALLO

instance DIA_MAX_HALLO (C_INFO)
{
npc = CHR_99001_MAX;
nr = 999;
condition = DIA_MAX_HALLO_Condition;
information = DIA_MAX_HALLO_INFO;
permanent = FALSE;
important = TRUE;
description = "";
};

FUNC int DIA_MAX_HALLO_Condition ()
{
return TRUE;
};

FUNC void DIA_MAX_HALLO_INFO ()
{
AI_OUTPUT(self, other, " Hier mus der Text hin,was er sagt(muss immer)");
AI_StopProcessInfos (self);
};





Aber bin nicht sicher
16.04.2004, 16:50 #3
HornOx
Beiträge: 1.458

Der Name der Funktionen ist egal. Die Datei OU.CSL soll man nicht manuell ändern, das macht der Spacer.
AI_OUTPUT(self, other, "DIA_MAX_T1"); //Text der gesprochen wird.
http://wiki.devmode.de/Diverses/Unt...d+Sprachausgabe
19.04.2004, 18:35 #4
Ken Suyoko
Beiträge: 923

quote:
Zitat von Realdennis


FUNC void DIA_MAX_HALLO_INFO ()
{
AI_OUTPUT(self, other, " Hier mus der Text hin,was er sagt(muss immer)");
AI_StopProcessInfos (self);
};




das stimmt so auch nicht... wenn da bei FUNC void DIA_MAX_HALLO_INFO steht dann muss der sprechteil so aussehen:

AI_OUTPUT(self, other,"DIA_MAX_HALLO_00_00"); // Hallo du!


edit... hmm shit hab den post vor mir nicht gesehen....
20.04.2004, 17:32 #5
Flint16
Beiträge: 247

also meine Freunde ich hab nun ebenfalls ein prob....

ich habe eine Mission gemacht und man soll
nun 1 Tag später kommen um etwas abzuhohlen...

aber in den Skripten von G1 sind nur solche Beispiele wo man 1 Tag zu spät kommt und verprügeld wird...

Hoffe ihr könnt mir helfen.
Oder sangt mir einfach wie der NPC heißt, wo ich es mir abschauen kann.
20.04.2004, 17:54 #6
Black Daemon
Beiträge: 218

Also die Umsetzung ist eigentlich ganz einfach.
Wenn du den auftrag bekommst oder so setzt du eine variable auf den tag + 1.
Dann nimmst du als condition den tag >= variable
Beispiel
code\:

//Bei vergabe
var int ausgabetag;
ausgabetag = Wld_GetDay() + 1;
//bei abholen
if (Wld_GetDay() >= ausgabetag)

20.04.2004, 19:47 #7
Flint16
Beiträge: 247

öööhm okay danke.. ich werds versuchen....
Seite 1 von 1  1