Construction Set Objekte mit Zaubern

Scorch

Fremdländer
Hi,
ich hab mittlerweile ein bisschen erfahrung mit dem TES CS (außer mit dem skripten ;) ) und ich wollt fragen ob es funktioniert, dass wenn man ein objekt mit leertaste anklickt (im spiel) das man dann für kurze zeit verzaubert wird. Funktioniert so etwas? und falls man skripten muss (was ich stark vermute), wie muss man das dann eingeben?
danke schon im voraus
Scorch
 
Willkommen im Forum

Wenn du Scripten lernen willst dann wird dir Scripting_for_Dummis Deutsche version 5 oder Scripting_For_Dummis Englische Version 8 (bei der version bin ich mir nicht sicher) helfen.

Um ein Script zu schreiben gehst du im CS auf den Stift da oben da Machst dsu dann ein neues Script.

Um eine übersicht der Befehle zu haben kannst du dir hier im Scharesoft Portal die Befehle mit erklärung anschauen.
der Link: http://scharesoft.de/joomla/index.php?option=com_content&task=view&id=220&Itemid=140

Das Script:

Code:
Begin NameDesScripts

Float Timer ; Timer ist eine Variable genau wie State
Short State

If ( OnActivate == 1 ) ;alles was hinter dem Semikolom steht wird vom Script nicht gewertet
; das OnActivate bedeutet das drücken der Leertaste im Spiel
If ( State == 0 )
set Sate to 1
player -> AddSpell "Zauber-ID" ;fügt den Zauber auf den player hinzu

EndIf
EndIf

If ( State == 1 )
set Timer to  ( Timer + GetSecondsPassed )

If ( Timer >= 10 ) ; Nach 10 Sekunden
player -> RemoveSpell "Zauber-ID"
Set Timer to 0
Set State to 2
EndIf
EndIf
End

Der Player kann nur einmal den gegenstand Benutzen und dann ist es praktisch erloschen
 
Zuletzt bearbeitet:
Ich glaube, du hast da was verwechselt. So müsste es korrekt sein:
(Hab's kurz überflogen)
Code:
Begin NameDesScripts

Short Timer ; Timer ist eine Variable genau wie State
Short State

If ( OnActivate == 1 ) ;alles was hinter dem Semikolom steht wird vom Script nicht gewertet
; das OnActivate bedeutet das drücken der Leertaste im Spiel
If ( State == 0 )
set Timer to 0 ; Timer auf 0
player -> AddSpell "Zauber-ID" ;fügt den Zauber auf den player hinzu
set State to 1

EndIf
EndIf

If ( State == 1 )
 set Timer to ( Timer + GetSecondsPassed ); Timer aktualisieren


If ( Timer >= 10 ) ; Nach 10 Sekunden
player -> RemoveSpell "Zauber-ID"
Set Timer to 0
Set State to 2
EndIf
endif
End
 
Zuletzt bearbeitet:
oh mann das ist genau das was ich wollte, vielen dank :good:! das forum ist wirklich gut. aber wäre es auch möglich das der zauber nicht erlischt? wenn das nicht geht ist es auch nicht so schlimm.
 
Natürlich geht es.
Wenn das Objekt nur einen Zauber auf den Spieler legen soll oder dem Spieler einen Zauber geben soll, brauchst du nur folgendes machen:

Code:
begin Scriptname

if( OnActivate == 1) ; Wenn benutzt...
if( Player -> GetSpell, "Zaubername" != 1 ) ; und Spieler Zauber nicht hat ...
Player -> AddSpell "Zaubername" ; ... Spieler Zauber / Krankheit / Fähigkeit etc. geben

endif
endif
end
Wenn der Zauber vom Typ Zauber ist bleibt er dem Spieler ewig erhalten.
Wenn der Zauber vom Typ Krankheit ist, bleibt der bis zur Heilung erhalten.
Wenn der Zauber vom Typ Fähigkeit(oder so) ist, liegt er ewig auf dem Spieler.
 
Zuletzt bearbeitet: