Construction Set Skriptthread zum Construction Set

Dann würde ich dir empfehlen XMarkerHeadings zu platzieren, überall da, wo man hinreisen soll, und gibst denen Referenzen. Dann folgenden Script auf das Boot packen:

Code:
scn ScriptName

short button

Begin OnActivate player
messagebox "Wohin wollt ihr reisen?" "eins" "zwei" "drei"
End

Begin GameMode
set button to getbuttonpressed
If button == -1
	return
Elseif button == 0
	player.MoveToMarker [XMarker1-ID]
Elseif button == 1
	player.MoveToMarker [XMarker2-ID]
Elseif button == 2
	player.MoveToMarker [XMarker3-ID]
Endif
End
 
  • Like
Reaktionen: Nerrok
Hab das Problem jetzt anders gelöst.

Aber zu dem Script, da ich das später nochmal brauche.
Wegen diesen XmarkerHeadings. Muss man die für jedes einzelne Boot nochmal dort hinlegen wo sie hinsollen? Denn man müsste ja sozusagen von jedem Boot aus reisen können. Und dafür bräuchte man doch eigentlich für jedes Boot ein eigenes Script nur mit veränderten IDs oder?

E: andere Frage. Muss man die RefIDs oder die IDs nehmen?

E2: Das hat sich jetzt auch geklärt. nur was ist mit den Booten? Denn wenn ich sie anklicke kommt kein Menu.
das Script sieht zur Zeit so aus:

Code:
scn Ruderbootreise1

short button

Begin OnActivate player
messagebox "Wohin wollt ihr reisen?" "Hafen" "Corvette" "Kriegsschiff"
End

Begin GameMode
set button to getbuttonpressed
If button == -1
    return
Elseif button == 0
    player.MoveToMarker boot1
Elseif button == 1
    player.MoveToMarker boot2
Elseif button == 2
    player.MoveToMarker boot3
Endif

End
Wie muss man das dann für die anderen Boote machen?

Etwa so hier?
Code:
scn Ruderbootreise2-3

short button

Begin OnActivate player
messagebox "Wohin wollt ihr reisen?" "Corvette-Kriegsschiff" "Corvette-Kriegsschiff" "Hafen"
End

Begin GameMode
set button to getbuttonpressed
If button == -1
    return
Elseif button == 0
    player.MoveToMarker boot2-3
Elseif button == 1
    player.MoveToMarker boot2-3
Elseif button == 2
    player.MoveToMarker boot1
Endif

End

Klappt jetzt mit der Abfrage und kann auch reisen, nur halt von den anderen Booten nicht zurück.

Dann ist mir noch aufgefallen: Es gibt ja garkeinen "Nicht reisen Knopf" Was muss man dafür in das Script einfügen? Obwohl man ja mit dem derzeitigen Script zur gleichen Stelle an der man ist reisen kann^^.
 
Zuletzt bearbeitet:
So, ich bräuchte (wieder mal) etwas Script-Hilfe.

1.)
Beim Anlegen eines Ringes soll ein bestimmtes Portal sicht- und passierbar gemacht werden. Und beim Ablegen wieder unsichtbar und unpassierbar. Wie geht das?

2.)
Brauche einen zielspezifischen Zauber, welcher bei einem bestimmtem Gegnertyp wirkt und auch wirklich nur bei dem. Bei dem Effekt habe ich an etwas gedacht, wie dass bei einem Treffer mit diesem Zauber, der Gegner für kurze Zeit den Rüstungsschutz 0 und eine 100% Waffenanfälligkeit hat, ABER dass das nach dieser Zeit wieder weggeht. Deswegen kann ich nicht einfach "Rüstung zerstören" nehmen.

3.)
Einen Script, welcher als Zauber auf Ziel funktioniert und bei Kontakt mit einem Gegner jede Fackel, die dieser ausgerüstet hat, verlöschen lässt. Habe ich bei dem Vanilla-Zauber "Namiras Leichentuch" gesehen, dass es geht, aber ich finde den Script im CS nicht :?

4.)
Eine Aura der Macht :)roll:), welche auf einen Gegner gelegt wird, wodurch er alle X Sekunden auf jeden im Umkreis Y den Zauber Z wirkt. Geht so was überhaupt? Habe das im Spiel Spellforce 2 gesehen und war hellauf begeistert, so etwas einem Bossgegner zu verpassen ;)

5.)
Eine Möglichkeit einen Absorbtionszauber auf Ziel zu erstellen, wenn denn das überhaupt was mit Scripts zu tun hat. Bin mir da jetzt nicht so sicher, aber im Normalspiel ist doch alles immer "Auf Berührung" und wie, wenn nicht mit Scripts, sollte das denn geändert werden.

6.)
Einen Script, welcher dafür sorgt, dass Pfeile, welche auf einen Gegner geschossen werden, welcher diesen Script drauf hat, nicht in sein Fleisch einschlagen, sondern wie bei Skeletten oder Frostatronachen einfach abprallen.



So, das war es erst einmal.
Hoffe, ihr könnt mir helfen ;)
 
Zu den Scriptfragen kann ich jetzt nichts beantworten aber zu 6. Ich glaube das liegt nur daran wie die Kollision der Skelette ist.
 
1)
scn ringscript

begin onequip
portalREF.enable
end

begin onunequip
portalREF.disable
end

2) damit es nur auf einen bestimmten gegner wirkt musst u eine bedingung einfügen

zB: "if target.getisID CreatureDog==1"

3) den script kannst du doch einfach suchen indem du im SPELL menü auf "namiras leichentuch" gehst und guckst welcher script da zugeordnet wurde (dürfte mit "DANamira" anfangen)

4) ist denke ich zimlich aufwenidg zu scripten sollte ber theorethisch möglisch sein

5) absorptionszauber gehen nur auf berühren weil du ja in der nähe des gegners stehen musst.wenn du den zauber gerade auf jmd wirkst und dich zu weit entfernst geht er doch auch weg.das wäre also sinnlos es auf ziel zu machen

6) schließe ich mich nerrok an
 
Ich hab mal wieder Probleme mit meinen Skripten...
Es geht um folgendes:
Ich wollte einen Skript haben, der ausgeführt wird, sobald der Spieler einen bestimmten Bereich betritt. Das ganze sollte dann etwa so aussehen:
1. Der Spieler läuft eine Straße entlang.
2. Der Spieler überquert eine Brücke.
3. Etwa in der Mitte der Brücke sollte dann ein Quest auf die nächste Stufe gesetzt werden.

Ich hab da zar so eine Vermutung, dass es vielleicht mit Collisions-Boxen gehen könnte, aber da ich immernoch am lernen bin, habe ich leider keine Ahnung wie ich das anstelle!

Vielen Dank schonmal im Voraus
Runic
 
@Runic: Fast! Solche Sachen macht man mit Triggerboxen. Einfach eine neue erstellen und in das Skript sowas reinschreiben:
Code:
scn name

short doonce

Begin onTrigger player

if doonce == 0
 setStage <Quest-ID> <Wert>
 set doonce to 1
endif

end


@DarkRuler: Das liegt daran, dass "aaayleidensphaereportal" nicht die Referenz sondern wahrscheinlich Objekt-ID ist. Der Befehl benötigt allerdings eine spezielle Referenz. Ich würde außerdem nicht bloß "onEquip" schreiben, sondern "onEquip player", da es ja nur beim Spieler geschehen soll.
 
  • Like
Reaktionen: Runic
Hallo, eine Frage an die Profis:
Ich möchte dass ein Gegner, nachdem er besiegt wurde sofort verschwindet.
Ist dies mit einem Script möglich?
 
Hallo, eine Frage an die Profis:
Ich möchte dass ein Gegner, nachdem er besiegt wurde sofort verschwindet.
Ist dies mit einem Script möglich?

Mit besiegt meinst du das er stirbt? Dann sollte folgendes den gewünschten Zweck erfüllen, einfach auf den NPC legen, den Namen den Skriptes entsprechend bearbeiten und es sollte klappen. :)

Code:
scn ...

short once

begin onDeath
	if once == 0
		disable
		set once to 1
	endif
end

MfG Master of Worlds
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Meclaton
Danke für die schnelle Hilfe Master of Worlds.

Kann ich da auch einen Zeitfaktor eingeben z.B. nach 30 Sekunden?

Code:
scn ...

short once
float timer

begin onDeath
	if once == 0
		set timer to 30
		set once to 1
	endif
end

begin Gamemode
	if once == 1
		set timer to timer - getsecondspassed
	endif

		if timer <= 0 && once == 1
			disable
			set once to 2
		endif
end

Selbe wie eben, Name des Skriptes ändern, auf den NPC legen und dann sollte es klappen. :)

MfG Master of Worlds
 
  • Like
Reaktionen: Meclaton
Hat sehr gut funktioniert. Danke

Kann ich noch in der Zeit der 30 Sec. dem NPC einen EffectShader zuordnen?
Z.B. effectAtronachFlame
 
So:
Code:
scn name

short once
float timer

Begin onDeath

if once == 0
 set once to 1
 set timer to 30
 pms effectAtronachFlame 30
endif

end


Begin GameMode

if once == 1
 if timer > 0
  set timer to (timer - getSecondsPassed)
 else
  set once to 2
  disable
 endif
endif

end
 
  • Like
Reaktionen: Meclaton
Ich habe folgendes Problem: Ich habe in den ResultSkript eines Dialoges den Befehl gegeben, der Person mit der der Spieler spricht ein Package hinzu zufügen. Das ganze sieht dann auch so aus, wie Diarrhoe es mir beschrieben hat:

Dafür legst du auf den NPC, der den Spieler ansprechen soll dieses Skript:
Code:
scn name

short init

Begin GameMode

if init == 0
 disablePlayerControls
 startConversation player <Topic-ID>
 set init to 1
endif

end
In das Result-Skript des Topics schreibst du:
Code:
enablePlayerControls
<NPC-Ref>.addScriptPackage <Follow-Package-ID>
Das Package musst du vorher erstellen.

Bis zu der Stelle, an welcher der Skript ausgeführt werden soll, läuft alles glatt. Aber sobald der Dialog endet und das Package aktiviert werden sollte, stürzt das Spiel ab!
Was muss ich machen, damit alles funktioniert?