Construction Set [Scripthilfe] Wand zerbrechen

Heledir

Bürger
Guten Abend,

es gibt im CS einen Activator, bzw. eine Holzwand, die auseinander bricht wenn der spieler im spiel mithilfe der Leertaste gegenpresst. Nun möchte ich das nicht das drücken der Leertaste sondern ein Feuerzauber jene Wand auseinanderfliegen lässt. Mal kurz mein bisheriges Script das nicht funzt:? :

SCN......

Begin OnHitWithMagicEffect ID der Feuerzauber
activate
end


Ich wäre für jede Hilfe dankbar, ansonsten müsste ich das weniger elegante disable einsetzen. 8'-(

MfG Heledir
 
Und wenn du Feuerzauber willst, versuch es mal mit "FIDG"
Alle anderen Effekte kannst du auch unter Magic Effects nachsehen :)
 
Code:
scn BrecheduWandmitmeinemFeuerzauber

short stage
short init

begin OnMagicEffectHit EffectID

	if init == 0
		disableLinkedPathPoints
		set init to 1
	endif

	if stage == 2
		playgroup unequip 1
		set stage to 3
		enableLinkedPathPoints
		setDestroyed 1
	elseif stage == 0
		playgroup forward 1
		set stage to 2
	endif

end

begin onReset

	reset3DState
	set stage to 0
	disableLinkedPathPoints
	setDestroyed 0

end

Versuchs mal damit - aber keine Garantie das es klappt.

Gruß, Brachial.
 
  • Like
Reaktionen: Fellan und Heledir
So, jetzt endlich bin ich dazu gekommen es zu testen, wie du dir denken kannst klappt alles wunderbar, herzlichsten Dank.

MfG Heledir
 
Du sagst ja, dass dieser Script funktioniert. Aber inwiefern? Ich möchte, dass wenn ich einmal den Feuerzauber gewirkt habe, die Wand zerbricht, Objekt X aktiviert wird und Peng, soll heißen, die Wand soll nicht nach ein paar Stunden/Tagen wieder "aufgebaut" werden - bewirkt das dieser Script? Also wird die Wand bei diesem Script "resettet" oder nicht? Und wenn nein, wie ermögliche ich das?

edit:
Code:
scn WGTPRPlanksFireBreakawayScpt

short stage
short init
short destroyed

begin OnMagicEffectHit FIDG

    if init == 0
        disableLinkedPathPoints
        set init to 1
    endif

    if stage == 2 && destroyed == 0
        playgroup unequip 1
        set stage to 3
        enableLinkedPathPoints
        setDestroyed 1
        set destroyed to 1
          WGTPRChemineeFire01.Enable
          WGTPRChemineeLogs01.Enable
          WGTPRChemineeLogs02.Enable
          WGTPRChemineeLogs03.Enable
          WGTPRChemineeLogs04.Enable
    elseif stage == 0 && destroyed == 0
        playgroup forward 1
        set stage to 2
    endif

end

begin onReset

if destroyed == 1
   WGTPRPlanksFireBreakawayRef.Disable
endif

end

Funktioniert, danke. :)
 
Zuletzt bearbeitet:
In "meinem" Script wird die Wand resettet, weil der letzte Script-Block das beinhaltet (reset3dState...).
Rein theoretisch müsste es bei Fellan funktionieren, dass es nicht resettet, da er den Block so umgeschrieben hat, dass beim resetten (onReset) nicht die 3DStage wiederhergestellt wird, sondern er abfragt ob es schon destroyed (if destroyed == 1 )ist, und da es das ist, ist die Wand disabled.
So hätte ich es auch gemacht. ;)

Gruß, Brachial.