Construction Set Meine Fragen zum CS-Modding

Good Psycho

Neuankömmling
Tach zusammen! :)
Ich habe noch die ein oder andere Frage zum CS-Modding und hoffe ihr könnt mir da ein wenig weiter helfen. Im Moment möchte ich gerade eine bestimmte QuestStage aufrufen, sobald der Spieler drei bestimmte Dinge (hier: 3 riesige Wolfsfelle; neu erstellt) im Inventar hat. Wie mach ich das jetzt? Wahrscheinlich durch ein Script auf der QuestStage, oder? :?
 
Isch glaube das geht per Script so:

scn Wasweisich

begin GameMode
if player.getitemcount [ID des item1] ==1 && player.getitemcount [ID des item2] ==1 && player.getitemcount [ID des item3] ==1
player.setstage [DeinQuestnameeinfügen] [gewünschte Stufe hinschreiben]
endif
end
 
  • Like
Reaktionen: Good Psycho
Ich denke mal, dass die Felle die gleiche ID haben. Und um Fehler vorzubeugen, empfehle ich dir diesen Script:
Code:
scn ScriptName

begin GameMode
if (player.getitemcount [IDdesWoflsfells] >= 3) && (GetStage [QuestID] [MomentaneStage])
setstage [QuestID] [NächsteStage]
endif
end

MfG Gildur
 
  • Like
Reaktionen: Good Psycho
Danke euch! Nur leider funktionierts noch nicht.
Mein Script liegt jetzt unter Result Script auf der QuestStage 10 und sieht so aus:
Code:
scn AAMinishQuestStart

begin GameMode
if (player.getitemcount AAGreatWolfFell >= 3) && (GetStage AAQuestMinish 5)
setStage AAQuestMinish 10
endif
end
Aber wenn ich die 3 Felle im Inventar hab tut sich nichts.. :?
 
Hab ich jetzt getan, nur leider tut sich ingame immer noch nichts, sobald man die Wölfe getötet und ihre Felle genommen hat. Oh Mann.. wieso funktionieren meine Scripts eigentlich nie? :cry:
 
Am Skript liegt es auf jeden Fall nicht.
Vergiss nicht, die eckigen Klammern um die IDs zu entfernen und die richtigen IDs zu verwenden.
Zumindest bei den Klammern müsste das CS allerdings meckern.
 
Nö.
Setstage [QuestID] [Stage] ist vollkommen richtig.
 
Es funktioniert einfach nicht. Ich habs jetzt auch mal mit player.setStage probiert.. nichts!
Also.. das Script (Type: Quest) liegt jetzt auf dem Quest auf der QuestData Seite und so sieht es aus:
Code:
scn AAMinishQuestStart

begin GameMode
if (player.getitemcount AAGreatWolfFell == 3) && (GetStage AAQuestMinish 5)
setStage AAQuestMinish 10
endif
end
Die IDs stimmen auch, aber wenn man halt ingame die Felle von den toten Wölfen entnimmt, passiert immer noch nichts.. :?

Kann man eigentlich auch ein anderes Script auf das neue Fell legen sodass, wenn man es 3x im Inventar hat, die Queststage weiter geht?
 
Zuletzt bearbeitet:
Uups, doch ein Fehler übersehen.
Es muss GetStage AAQuestMinish == 5 heißen.

Kann man eigentlich auch ein anderes Script auf das neue Fell legen sodass, wenn man es 3x im Inventar hat, die Queststage weiter geht?
Ja, aber das wäre das selbe Skript, nur eben als Object-Type.
 
Nächste wichtige Frage: Wie kann ich einen Minotaurenfürsten sprechen lassen? Ich habe extra eine neue ID erstellt für diesen einen Minotaurenfürsten. Er ist friedlich und ist ein essenziell wichtiger Bestandteil einer Quest. Dafür muss er aber sprechen können! Wie kann ich das also einstellen oder geht das gar nicht (was jetzt ziemlich doof wäre)? Ich bin für jede Hilfe dankbar! :)
 
Vielleicht gehts so:
Eine neue Rasse erstellen und ihr eben die Mesh des Minotaur zuweisen (dann denkst das Spiel es wäre ein Mensch, also dass der Minotaur dadurch auch sprechen kann). Dann die Dialoge erstellen.
 
  • Like
Reaktionen: Good Psycho
Du könntest wohl auch einen Sound erstellen, also den Text und ihn per Script abspielen lassen, wenn der Spieler ihn aktiviert/anspricht. Nur wird so sicher kein Dialogfenster möglich sein. Wenn der Sound abgespielt ist, setzt du dann die Quest auf die nächste Stage. Ob und wie das möglich ist, weiß ich aber nicht.
 
  • Like
Reaktionen: Good Psycho
1.Soundaufnehmen

2. Script schreiben

Code:
scn MInoredet

short doonce
float timer

Begin OnTrigger Player (oder etwas anderes)
if doonce == 0
PlaySound [SoundAngabe]
SetStage [Questname] [Nummer]
PlayerDisableControls                         ; damit der Player den Minoteuren nicht angreift
set doonce to 1
set timer to [Wert]
endif
end

Begin GameMode
if timer > 0
set timer to timer - GetSecondsPassed

else 
EnablePlayerControls
endif
end
end
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Good Psycho
Ich hatte eben eine andere kleine Idee: Ich lass das ganze Gespräch eben nur über Messageboxen ablaufen. Da muss ich mich zwar auch erstmal mit befassen, denn das sieht im CS-Wiki in Englisch nicht gerade einfach aus, aber ich werds schon irgendwie hinbekommen. Danke euch trotzdem! :)
 
Vielleicht gehts so:
Eine neue Rasse erstellen und ihr eben die Mesh des Minotaur zuweisen (dann denkst das Spiel es wäre ein Mensch, also dass der Minotaur dadurch auch sprechen kann). Dann die Dialoge erstellen.

@vfb: wenn man eine neue rasse erstellt, dann hat diese immer den menschlichen körper, nur mit einer anderen textur. also wird das nicht funktionieren. bethesda hier müsst ihr echt nachbessern!
 
Ich habe eine neue kleine Frage: Wie bringe ich meinen NPC dazu, wenn er über 70 Disposition hat etwas anderes in einem Topic zu sagen, als wenn die Disposition unter 70 ist?
Ich habe es schon mit GetDisposition versucht. Klappt nur leider nicht. Habe also im gleichen Topic den "Ich kenne Euch nicht"-Spruch mit GetDisposition < 70.00 und den "Ich kenne Euch, also erzähl ich Euch was"-Spruch mit GetDisposition >= 70.00 versehen. (So siehts aus) Es funktioniert aber nicht. Wie gehts denn richtig? :?
 
Zuletzt bearbeitet: