Construction Set Skriptthread zum Construction Set

Ich hab da jetzt doch noch ne frage,
wie änder ich denn ein package auf einer Levelnden Creature? :D

Kenn mich mit Packages nämlich nicht so aus. :oops:

mfg
Shadow-King
 
Du machst in der ObjectListe einen Doppelklick auf die Creatur und gehst dann auf den Ai Button. Dann klickst du das Package das du ändern willst doppelt an und machst deine Änderungen.
 
  • Like
Reaktionen: Shadow-King
Tür und Zauber

Hallo,

ich brauche 3 Scripts:

- Der erste soll bewirken: - ''wenn ich aus einer bestimmten
Tür herausgehen, dann soll
diese Tür zugesperrt werden''

- Der zweite soll bewirken: - ''wenn ich in einem Haus bin, und eine
bestimmte Tür anwähle, sollen 2 Optionen
erscheinen: - Hinausgehen (soll es auch
bewirken ^^)
- Zuschließen (soll es auch
bewirken^^)''

- Der dritte soll bewirken: - ''einen Zauber, den man aus einem Buch
erlernen kann:
- Teleportiert dich in eine
bestimmte Celle (interior) ''

Danke schonmal und ich hoffe es war nicht zu viel auf einmal.

Gruß aufspringer
 
Hallo,

ich brauche 3 Scripts:

- Der erste soll bewirken: - ''wenn ich aus einer bestimmten
Tür herausgehen, dann soll
diese Tür zugesperrt werden''
Code:
scn blubb

short once
Begin OnActivate
If once == 0
Activate 
lock 100
Set once to 1
endif
end


- Der zweite soll bewirken: - ''wenn ich in einem Haus bin, und eine
bestimmte Tür anwähle, sollen 2 Optionen
erscheinen: - Hinausgehen (soll es auch
bewirken ^^)
- Zuschließen (soll es auch
bewirken^^)''

Code:
scn blubb

short chosen

Begin OnActivate
MessageBox "Was wollt ihr machen?", "Hinausgehen", "Hineingehen","Abschließen","Aufschließen"
end

Begin GameMode
Set chosen to GetButtonPressed
If chosen == 0
   Set Chosen to -1
   Player.MoveTo RefIdMarkerausßerhalb des Hauses
elseif chosen == 1
   Set chosen to -1
   Player.MoveTo RefIdMarker innerhalb
elseif chosen == 2
   Set chosen to -1
   RefIdTür.lock 100
elseif chosen == 3
   Set chosen to -1
   ReFIdTür.unlcok
endif
end

- Der dritte soll bewirken: - ''einen Zauber, den man aus einem Buch
erlernen kann:
- Teleportiert dich in eine
bestimmte Celle (interior) ''

Danke schonmal und ich hoffe es war nicht zu viel auf einmal.

Gruß aufspringer

Code:
scn blubb

Begin Onactivate
Player.AddSpell SpellId
end

Code:
scn blubb                   ;Script Typ = Magic Effect

Begin ScriptEffectStart
Player.MoveTo RefIdMarkerinderZelle
end

Begin ScriptEffectFinish
Player.MoveTo RefIdMarkerinderZelle
end
 
  • Like
Reaktionen: aufspringer
aufspringer schrieb:
Hallo,

ich brauche 3 Scripts:

- Der erste soll bewirken: - ''wenn ich aus einer bestimmten
Tür herausgehen, dann soll
diese Tür zugesperrt werden''

- Der zweite soll bewirken: - ''wenn ich in einem Haus bin, und eine
bestimmte Tür anwähle, sollen 2 Optionen
erscheinen: - Hinausgehen (soll es auch
bewirken ^^)
- Zuschließen (soll es auch
bewirken^^)''

- Der dritte soll bewirken: - ''einen Zauber, den man aus einem Buch
erlernen kann:
- Teleportiert dich in eine
bestimmte Celle (interior) ''

Danke schonmal und ich hoffe es war nicht zu viel auf einmal.

Gruß aufspringer

Für 2 der 3 fragen gibt es leichtere lösungswege...

Code:
scn blubb

short chosen

Begin OnActivate
MessageBox "Was wollt ihr machen?", "Hinausgehen", "Hineingehen","Abschließen","Aufschließen"
end

Begin GameMode
Set chosen to GetButtonPressed
If chosen == 0
   Set Chosen to -1
   Player.MoveTo RefIdMarkerausßerhalb des Hauses
elseif chosen == 1
   Set chosen to -1
   Player.MoveTo RefIdMarker innerhalb
elseif chosen == 2
   Set chosen to -1
   RefIdTür.lock 100
elseif chosen == 3
   Set chosen to -1
   ReFIdTür.unlcok
endif
end

Wie kann ihc in ein haus gehen wenn ich schon drinnen bin?
und wie kann ich iene tür zuschliesen die schon zugesperrt ist?
und sollen 4 antwortmöglichkeiten hier sein, wenn nur 2 benötig werden?

aufspringer schrieb:
- Der zweite soll bewirken: - ''wenn ich in einem Haus bin, und eine
bestimmte Tür anwähle, sollen 2 Optionen
erscheinen: - Hinausgehen (soll es auch
bewirken ^^)
- Zuschließen (soll es auch
bewirken^^)''

Eher so:

Code:
scn blubb

short chosen

Begin OnActivate
MessageBox "Was wollt ihr machen?", "Hinausgehen", "Abschließen"
end

Begin GameMode
Set chosen to GetButtonPressed
If chosen == 0
   Set Chosen to -1
   Player.MoveTo RefIdMarkerausßerhalb des Hauses
elseif chosen == 1
   Set chosen to -1
   RefIdTür.lock 100
endif
end

Dann:

Code:
scn blubb

Begin Onactivate
Player.AddSpell SpellId
end

Es geht auch einfacher nämlich mit dem cs:
Man erstellt ein buch und gibt dort an das man den Zauber erlernt der den folgenden effect bewirken soll^^

Code:
scn blubb                   ;Script Typ = Magic Effect

Begin ScriptEffectStart
Player.MoveTo RefIdMarkerinderZelle
end

Begin ScriptEffectFinish
Player.MoveTo RefIdMarkerinderZelle
end

Wieso soll der spieler 2 mal zum gleichen fleck teleportiert werden???

Der script hier geht nicht so auf die cpu:

Code:
scn blubb

Begin ScriptEffectStart
Player.MoveTo RefIdMarkerinderZelle
end

natürlich muss der script ein magic effect sein vom typ her.

das wars dann^^

Edit:

Des wars dann doch nicht!^^

Erstens:

Zitat:Zitat von AjAeXx
Nein! Geht nicht.

Jedenfalls nicht so einfach.

warum denn nicht? blacklands hat doch nicht nach nem resurrect gefragt, sondern wollte bloß den toten spieler zu der tür teleportiert haben, und genau das müsste mein script doch eigentlich machen, oder?

das es dadrauf hinauslaufen soll, ist mir aber natürlich klar gewesen, da wären wir dann aber später zu gekommen (und dann hätte ich einfach empfohlen, mal in andere mods reinzugucken )

außerdem soll das mit dem resurrect schon funktionieren, allerdings muss man einige sachen beachten, und man verliert dabei wohl auch seine sternzeichen-boni und ein paar andere sachen, das alles wieder vernünftig herzustellen ist also nicht gerade leicht.

Zitat:Zitat von AjAeXx
Mach lieber eine Abfrage, das der Script oben eintritt, wenn der Spieler weniger als eine gewisse Anzahl Lebenspunkte hat.

das ist aber auch nicht gerade elegant. was ist denn, wenn das script erst bei unter 20hp anspringt, ich hab aber noch 25 hp, und bekomme einen schlag mit 30 schaden reingedonnert? grenze auf 50hp setzen? der magier, der da mit 100hp ankommt, und schon bei halber hp als tot gilt, wird sich freuen...

Lasst doch ienfach den pc rechnen (er heist ja nicht umsonnst rechner)
Also die hp des spielers abfragen, denn wert dann einer variable geben, die variable durch 10 dividieren und das wars dann:

Code:
...
short hp
...
Set hp to player.getactorvalue xy(die bkürzung für hp weis ich grad nicht,sry)
...
if player.getlevel <= 20
   if player.getactorvalue <= xy / 10 (also ein zehntel wenn man unter lvl 20 ist
      [was dann passieren soll]
   endif
else
   if player.getactorvalue <= xy / 20 (also unter 5 % bei lvl 21 =
      [was dann passieren soll]
   endif
endif
....

Dann noch etwas(^^):

Zitat von Shadow-King
Hallo,
ich brauch hilfe bei 3 scripts.

1: Was muss ich bei einem script schreiben, wenn es erst starten soll, wenn ein bestimmter quest eine bestimmte stufe erreicht hat? (das script ist auf einer triggerbox)

@AjAeXx

er hat den script auf ner triggerbox also sollte der script vermutlich dann starten wenn getriggert wird^^
Also so:

Code:
Begin OnTriggerActor player
If [QuestID].Getstage == [Zahlenwert]
......
endif
end

Soll nicht beleidigent wirken aber, AjAeXx , ich glaub du wirst langsam alt... (hoffe mal du verstehst spaß^^)

mfg,
Trisaster
 
Zuletzt bearbeitet:
Code:
scn blubb

short chosen

Begin OnActivate
MessageBox "Was wollt ihr machen?", "Hinausgehen", "Hineingehen","Abschließen","Aufschließen"
end

Begin GameMode
Set chosen to GetButtonPressed
If chosen == 0
   Set Chosen to -1
   Player.MoveTo RefIdMarkerausßerhalb des Hauses
elseif chosen == 1
   Set chosen to -1
   Player.MoveTo RefIdMarker innerhalb
elseif chosen == 2
   Set chosen to -1
   RefIdTür.lock 100
elseif chosen == 3
   Set chosen to -1
   ReFIdTür.unlcok
endif
end

Wie kann ihc in ein haus gehen wenn ich schon drinnen bin?
und wie kann ich iene tür zuschliesen die schon zugesperrt ist?
und sollen 4 antwortmöglichkeiten hier sein, wenn nur 2 benötig werden?

Das ist da, damit man sich nicht versehentlich ausperrt, außerdem wäre es unlogisch, wenn man eine Tür nur abschließen und nie wieder aufschließen könnte, dass zweite ist da, falls man draußen ist. Damit man nur eine anstatt zwei unterschiedlichen Türen nehmen muss. Man kann auch noch mit GetInCell arbeiten wenn man das will.
Dann:

Code:
scn blubb

Begin Onactivate
Player.AddSpell SpellId
end

Es geht auch einfacher nämlich mit dem cs:
Man erstellt ein buch und gibt dort an das man den Zauber erlernt der den folgenden effect bewirken soll^^

Womit es aber ab und an Probleme gibt...

Code:
scn blubb                   ;Script Typ = Magic Effect

Begin ScriptEffectStart
Player.MoveTo RefIdMarkerinderZelle
end

Begin ScriptEffectFinish
Player.MoveTo RefIdMarkerinderZelle
end

Wieso soll der spieler 2 mal zum gleichen fleck teleportiert werden???

Weil es mit manchen Zaubern Probleme gibt, wenn ihnen der Finish Teil fehlt.

@AjAeXx

er hat den script auf ner triggerbox also sollte der script vermutlich dann starten wenn getriggert wird^^
Also so:


Code:
Begin OnTriggerActor player
If [QuestID].Getstage == [Zahlenwert]
......
endif
endSoll nicht beleidigent wirken aber, AjAeXx , ich glaub du wirst langsam alt... (hoffe mal du verstehst spaß^^)

mfg,
Trisaster

Das mit dem Trigger dürfte daran liegen, dass ich mich bei der Frage von Anfang an verlesen hab :)
 
Zuletzt bearbeitet:
ok alles gute erklärungen... aber ich handle und schreibe nach meinen wissen und hatte noch nie probleme mit den Funktionen des cs (wegen buch^^)
mit solchen scripten wo man teleportiert wird hatte ich bis jetzt auch keine probleme (teleport script^^)
und wegen dem mit der messagebox ist es eher so gemeint: entweder, oder!^^
wenn man sich ausperrt wird man vermutlich einen schlüssel suchen müssen^^

EDIT: Grobe schreibfehler ausgebessert
 
Zuletzt bearbeitet:
Jetzt hab ich schonwieder ein Problem mit meinem Script.

Code:
ScN 02Shadowquestscript

Begin OnTriggerActor Player

If 01Shadowquest.getstage == 10
Setstage 01Shadowquest 20
Shadowentrance.unlock

endif

end

Wenn ich das nun abspeichern will kommt die Meldung
Script, 02Shadowquestsript, line 5:
Missing Parameter Quest.
Complid script not save!

Was hab ich falsch gemacht?
Und kann mir einer Helfen?

mfg
Shadow-King
 
Ja, du gehst auf Character-->Quest klickst einmal auf deine Quest, so dass die markiert wird und dann nocheinmal.

Eine andere Möglichkeit ist, den Namen in Anführungszeichen zu setzen, was dann alledings immer gemacht werden müsste.
 
  • Like
Reaktionen: Shadow-King
Danke, aber jetzt habe ich wieder ein Problem.
Ich habe nun mehr als eine Topic hinzugefügt, wie ich die erste hinzugefügt habe, Weil der Text den Er mir erzählen soll mehr als 150 Zeichen hat,
also habe ich es wie folgt gemacht:
Code:
AddTopic mytopic01
AddTopic mytopic02
StartConversation Player mytopic01
Startconversation Player mytopic02

Mein prob. ist jetzt Das Er mir jetzt nur die 2te Topic erzählt, und ich dann ins Fenster komme, wo ich die Topics auswählen kann, (was ich garnicht will :D)
Und wenn ich auf Gespräch beenden klicke (das X), das gleich schonwieder von vorne losgeht.

Kann mir einer Helfen?
thy im vorraus.

mfg
Shadow-King
 
Hat sich erledigt. Ich hab mal wieder vor dem Posten nicht nachgedacht. :roll:
Wo ist eigentlich der "Beitrag löschen" Button hin?
 
Zuletzt bearbeitet:
Danke, aber jetzt habe ich wieder ein Problem.
Ich habe nun mehr als eine Topic hinzugefügt, wie ich die erste hinzugefügt habe, Weil der Text den Er mir erzählen soll mehr als 150 Zeichen hat,
also habe ich es wie folgt gemacht:
Code:
AddTopic mytopic01
AddTopic mytopic02
StartConversation Player mytopic01
Startconversation Player mytopic02

Mein prob. ist jetzt Das Er mir jetzt nur die 2te Topic erzählt, und ich dann ins Fenster komme, wo ich die Topics auswählen kann, (was ich garnicht will :D)
Und wenn ich auf Gespräch beenden klicke (das X), das gleich schonwieder von vorne losgeht.

Kann mir einer Helfen?
thy im vorraus.

mfg
Shadow-King

Viel Einfacher, wenn du den Inhalt, also die 150 Zeichen verbraucht hast, bleibst du weiter unter diesem Auswahltopic, in der Mitte der Dialogfenster gibt es eine Liste, wo bis jetzt nur eintrag,nämlich die vorhin geschriebenen 150 Zeichen seien sollte. Dort erstellst du jetzt noch einen neuen Eintrag, der wird nacher direkt im Anschluss zum ersten Abgespielt.
 
  • Like
Reaktionen: Shadow-King