-
16.08.2008 17:28
#1
charakter wahl
hallo,
ich möchte gern das man wenn man das spiel startet ein charakter wählen kann z.b. einen bauern oder einen miliz soldat aber wie?
ich habe keine ahnung wie ich das in denn start einbauen könnte und brauche nun eure hilf
vielleicht so wie bei der mod 63
danke im voraus
Geändert von max.1114 (16.08.2008 um 17:34 Uhr)
-
Code:
INSTANCE DIA_PAL_777_Reiner_character (C_Info)
{
npc = PAL_777_Reiner;
nr = 2;
condition = DIA_PAL_777_Reiner_character_condition;
information = DIA_PAL_777_Reiner_character_info;
permanent = FALSE;
important = TRUE; //damit man automatisch angesprochen wird.
description = "";
};
FUNC INT DIA_PAL_777_Reiner_character_condition ()
{
return TRUE;
};
FUNC VOID DIA_PAL_777_Reiner_character_info ()
{
Info_ClearChoices (DIA_PAL_777_Reiner_character);
Info_AddChoice (DIA_PAL_777_Reiner_character,"Paladin", DIA_PAL_777_Reiner_character_0 );
Info_AddChoice (DIA_PAL_777_Reiner_character,"Feuermagier", DIA_PAL_777_Reiner_character_1 );
Info_AddChoice (DIA_PAL_777_Reiner_character,"Bauer", DIA_PAL_777_Reiner_character_2 );
};
FUNC VOID DIA_PAL_777_Reiner_character_0 ()
{
AI_Output(self,other,"DIA_PAL_777_Reiner_character_15_0"); //Ich möchte Paladin werden!
hero.guild = GIL_PAL;
CreateInvItems(hero, ITAR_PAL_H, 1);
EquipItem(hero, ITAR_PAL_H);
//und was du noch so alles haben willst
Info_ClearChoices (DIA_PAL_777_Reiner_character);
};
FUNC VOID DIA_PAL_777_Reiner_character_1 ()
{
AI_Output(self,other,"DIA_PAL_777_Reiner_character_15_1"); //Ich möchte Magier werden!
hero.guild = GIL_KDF;
CreateInvItems(hero, ITAR_KDF_H, 1);
//[...]
Info_ClearChoices (DIA_PAL_777_Reiner_character);
};
FUNC VOID DIA_PAL_777_Reiner_character_2 ()
{
AI_Output(self,other,"DIA_PAL_777_Reiner_character_15_2"); //Ich will ein Bauer sein!
hero.guild = GIL_BAU;
//[...]
Info_ClearChoices (DIA_PAL_777_Reiner_character);
};
Du insertst neben deinem Startpoint diesen NPC und dann kann man
sich die Gilde auswählen.
-
16.08.2008 18:08
#3
okey werd ich gleich mal ausprobieren, danke
-
-
16.08.2008 18:12
#5
ja das weiß ich
aber gibt es vielleicht auch eine möglichkeit sich einen namen selbst zu geben?
wie bei einem online spiel?
-
Zitat von max.1114
ja das weiß ich
aber gibt es vielleicht auch eine möglichkeit sich einen namen selbst zu geben?
wie bei einem online spiel?
Nein du kannst ihn zwar verändern:
Code:
hero.name = "Endlich habe ich nen namen";
Aber Leute die spielen können keinen eigenen Namen eingeben.
-
Prinzipiel schon (ungetestet):
in Story_globals.d
Code:
var string Namestring;
Dann als Dialog:
Code:
///////////////////////////////////////////////////////////////////////
//Info name
///////////////////////////////////////////////////////////////////////
INSTANCE DIA_TestNPC_name (C_INFO)
{
npc = Bau_4300_TestNPC;
nr = 999;
condition = DIA_TestNPC_name_Condition;
information = DIA_TestNPC_name_Info;
permanent = TRUE;
description = "Name wählen";
};
FUNC INT DIA_TestNPC_name_Condition()
{
Namestring=""; //reset von Namestring, damit man was neues eingeben kann
return TRUE;
};
FUNC VOID DIA_TestNPC_name_Info()
{
Info_ClearChoices(DIA_TestNPC_name);
Info_AddChoice(DIA_TestNPC_name, "Ende" ,DIA_TestNPC_name_Ende);
Info_AddChoice(DIA_TestNPC_name, "a",DIA_TestNPC_name_a1);
Info_AddChoice(DIA_TestNPC_name, "b",DIA_TestNPC_name_b1);
Info_AddChoice(DIA_TestNPC_name, "c",DIA_TestNPC_name_c1);
Info_AddChoice(DIA_TestNPC_name, "d",DIA_TestNPC_name_d1);
Info_AddChoice(DIA_TestNPC_name, "e",DIA_TestNPC_name_e1);
Info_AddChoice(DIA_TestNPC_name, "f",DIA_TestNPC_name_f1);
Info_AddChoice(DIA_TestNPC_name, "g",DIA_TestNPC_name_g1);
Info_AddChoice(DIA_TestNPC_name, "h",DIA_TestNPC_name_h1);
Info_AddChoice(DIA_TestNPC_name, "i",DIA_TestNPC_name_i1);
Info_AddChoice(DIA_TestNPC_name, "j",DIA_TestNPC_name_j1);
Info_AddChoice(DIA_TestNPC_name, "k",DIA_TestNPC_name_k1);
Info_AddChoice(DIA_TestNPC_name, "l",DIA_TestNPC_name_l1);
Info_AddChoice(DIA_TestNPC_name, "m",DIA_TestNPC_name_m1);
Info_AddChoice(DIA_TestNPC_name, "n",DIA_TestNPC_name_n1);
Info_AddChoice(DIA_TestNPC_name, "o",DIA_TestNPC_name_o1);
Info_AddChoice(DIA_TestNPC_name, "p",DIA_TestNPC_name_p1);
Info_AddChoice(DIA_TestNPC_name, "q",DIA_TestNPC_name_q1);
Info_AddChoice(DIA_TestNPC_name, "r",DIA_TestNPC_name_r1);
Info_AddChoice(DIA_TestNPC_name, "s",DIA_TestNPC_name_s1);
Info_AddChoice(DIA_TestNPC_name, "t",DIA_TestNPC_name_t1);
Info_AddChoice(DIA_TestNPC_name, "u",DIA_TestNPC_name_u1);
Info_AddChoice(DIA_TestNPC_name, "v",DIA_TestNPC_name_v1);
Info_AddChoice(DIA_TestNPC_name, "w",DIA_TestNPC_name_w1);
Info_AddChoice(DIA_TestNPC_name, "x",DIA_TestNPC_name_x1);
Info_AddChoice(DIA_TestNPC_name, "y",DIA_TestNPC_name_y1);
Info_AddChoice(DIA_TestNPC_name, "z",DIA_TestNPC_name_z1);
};
func void DIA_TestNPC_name_Ende()
{
hero.name=Namestring;
AI_StopProcessInfos(self);
}
func void DIA_TestNPC_name_a1 ()
{
Namestring=ConcatStrings(Namestring,"a");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_b1 ()
{
Namestring=ConcatStrings(Namestring,"b");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_c1 ()
{
Namestring=ConcatStrings(Namestring,"c");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_d1 ()
{
Namestring=ConcatStrings(Namestring,"d");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_e1 ()
{
Namestring=ConcatStrings(Namestring,"e");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_f1 ()
{
Namestring=ConcatStrings(Namestring,"f");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_g1 ()
{
Namestring=ConcatStrings(Namestring,"g");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_h1 ()
{
Namestring=ConcatStrings(Namestring,"h");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_i1 ()
{
Namestring=ConcatStrings(Namestring,"i");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_j1 ()
{
Namestring=ConcatStrings(Namestring,"j");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_k1 ()
{
Namestring=ConcatStrings(Namestring,"k");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_l1 ()
{
Namestring=ConcatStrings(Namestring,"l");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_m1 ()
{
Namestring=ConcatStrings(Namestring,"m");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_n1 ()
{
Namestring=ConcatStrings(Namestring,"n");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_o1 ()
{
Namestring=ConcatStrings(Namestring,"o");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_p1 ()
{
Namestring=ConcatStrings(Namestring,"p");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_q1 ()
{
Namestring=ConcatStrings(Namestring,"q");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_r1 ()
{
Namestring=ConcatStrings(Namestring,"r");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_s1 ()
{
Namestring=ConcatStrings(Namestring,"s");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_t1 ()
{
Namestring=ConcatStrings(Namestring,"t");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_u1 ()
{
Namestring=ConcatStrings(Namestring,"u");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_v1 ()
{
Namestring=ConcatStrings(Namestring,"v");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_w1 ()
{
Namestring=ConcatStrings(Namestring,"w");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_x1 ()
{
Namestring=ConcatStrings(Namestring,"x");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_y1 ()
{
Namestring=ConcatStrings(Namestring,"y");
DIA_TestNPC_name_Info();
};
func void DIA_TestNPC_name_z1 ()
{
Namestring=ConcatStrings(Namestring,"z");
DIA_TestNPC_name_Info();
};
Je nach Buchstabenauswahl, wird dieser zu Namestring hinzugefügt und die Buchstabenauswahl erneut eingeblendet bis Ende ausgewählt wird.
Da kann man natürlich noch nach gleichem Prinzip Großbuchstaben oder andere Bearbeitungsmöglichkeiten hinzufügen.
Damit der Name ein Laden des Spielstandes überlebt:
In der Startup.d ind der Init_Global():
Code:
PC_hero.name=Namestring;
Geändert von Sumpfkrautjunkie (16.08.2008 um 21:09 Uhr)
-
Zitat von Sumpfkrautjunkie
Je nach Buchstabenauswahl, wird dieser zu Namestring hinzugefügt und die Buchstabenauswahl erneut eingeblendet bis Ende ausgewählt wird.
Da kann man natürlich noch nach gleichem Prinzip Großbuchstaben oder andere Bearbeitungsmöglichkeiten hinzufügen.
Damit der Name ein Laden des Spielstandes überlebt:
In der Startup.d ind der Init_Global():
Code:
PC_hero.name=Namestring;
Hey, hey. Daran habe ich noch garnicht gedacht!
Danke
Aber eingtl. ist das doch unnütz oder? Ich mein man sieht den Namen sowieso nicht wenn man spielt.
Vllt. wenn man in einen anderen NPC geht und dann den Hero fokussiert...
-
Zitat von Nneka.
Hey, hey. Daran habe ich noch garnicht gedacht!
Danke
Aber eingtl. ist das doch unnütz oder? Ich mein man sieht den Namen sowieso nicht wenn man spielt.
Vllt. wenn man in einen anderen NPC geht und dann den Hero fokussiert...
Stimmt schon, aber es gibt Spieler, bei denen stärkt es die Spiellust, wenn sie einen Namen wählen können! Das ist ehrlich so!
Selfmade Multi-Link Sig by Mantragon
-
16.08.2008 22:37
#10
vielen dank an euch
ich werde dies gut umsetzen, am ende wirst du sehen wo für Nneka.
-
Zitat von max.1114
vielen dank an euch
ich werde dies gut umsetzen, am ende wirst du sehen wo für Nneka.
Na dann bin ich ja mal gespannt =)
-
17.08.2008 09:46
#12
Prinzipiel schon (ungetestet)
hat funktioniert
-
zum thema namen kann man nicht sehen:
wenn man die svm untertitel an hat, und der hero sagt "vom schlösserknacken versteh ich nichts.", steht oben in dem kästchen der name des npcs! beim hero dann "Ich"
♥ HolyWater ♥ YAY xD
-
@max.1114: kannst du mal testen, ob der Name den du deinem Hero ingame zugeteilt hast, nach Spiel speichern, Gothic beenden, neu starten und das Spiel laden immer noch da ist, oder ob er (wie bei mir, nach dem gleichen Vorgang) leer ist?
-
Zitat von Nebbich
@max.1114: kannst du mal testen, ob der Name den du deinem Hero ingame zugeteilt hast, nach Spiel speichern, Gothic beenden, neu starten und das Spiel laden immer noch da ist, oder ob er (wie bei mir, nach dem gleichen Vorgang) leer ist?
Theoretisch sollte er noch da sein, da es eine Variable ist und Variablen immer gespeichert werden. Allerdings wird am Anfang alles zurückgesetzt, also müsste man (afaik) einen Trigger erstellen, der den Hero Namen nach dem Laden per Abfrage des Strings wieder ändert.
-
Wozu will man den Namen des Heros verändern? Bei mir heißt er manchmal "Hey du dreckiger Cheater!", weil man ihn eigendlich garnicht mitbekommen dürfte!
Die Namensänderung nach einem Neustart kann auch direkt in die Instanz geschrieben werden.
name = namestring;
-
Code:
[OVERRIDES]
GAME.subTitlesNoise=1
mehr sag ich nicht dazu!
♥ HolyWater ♥ YAY xD
-
17.08.2008 18:07
#18
@max.1114: kannst du mal testen, ob der Name den du deinem Hero ingame zugeteilt hast, nach Spiel speichern, Gothic beenden, neu starten und das Spiel laden immer noch da ist, oder ob er (wie bei mir, nach dem gleichen Vorgang) leer ist?
die variable hat denn neustart nicht überstanden, bzw. wurde nicht abgefragt(von anfang an) , zwar hat sie das laden überstanden das wars aber schon... muss mal das testen was der rest von euch schrieb
-
nach meinen Tests hat die variable selbst es nicht überstanden. Habe sie über einen Dialog abgefragt und demnach war sie leer.
das mit dem name = variable im PC_hero hatte ich auch schon getestet, hat aber das Problem nicht gelöst
Theoretisch sollte er noch da sein, da es eine Variable ist und Variablen immer gespeichert werden. Allerdings wird am Anfang alles zurückgesetzt
der hero.name wird mit der variablen überschrieben, denn er heißt nach dem Laden nicht mehr "Ich" sondern hat keinen Namen mehr, also ist die variable leer.
Wozu will man den Namen des Heros verändern? Bei mir heißt er manchmal "Hey du dreckiger Cheater!", weil man ihn eigendlich garnicht mitbekommen dürfte!
bei mir wird er im Status-Menu angezeigt, und einige Items sind nach ihm benannt (bsp: [hero.name]'s Ring)
-
Code:
var string variable = variablenbackup;
var string variablenbackup = variable;
func void Name (var C_Npc slf)
{
slf.name = variable;
};
vieleicht sollte man soeine funktion in den hero script schreiben, wenn das nicht funktioniert mal als aivar versuchen!
♥ HolyWater ♥ YAY xD
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|