Construction Set Skriptthread zum Construction Set

Code:
scn TrueCitizenScript

short Done
short MainControl
short Button
short Clothing
short Spell

begin Gamemode

    if MainControl == 0

        if player.getitemcount Headskullcrime >= 10

            messagebox "Als Treuer Bürger habt ihr Unrecht und Übel in Cyrodiil bekämpft und zehn Kopfgelder gesammelt. Nun möchte euch belohnen. Wählt eure Belohnung!", "Aurüstung des Treuen Bürgers", "Eigenschaft des Treuen Bürgers", "Trunk des Treuen Bürgers", "Ruhm", "Kopfgeld löschen", "Auszahlen"

            player.removeitem Headskullcrime 10

            
            set Done to 0

            set Button to GetButtonPressed
    
            set MainControl to 1
    
        endif

    endif


	if Done == 0 && MainControl == 1
        if Button == -1

            Set Button to GetButtonPressed

        elseif Button == 0

            if Clothing == 0
                
                player.additem TrueCitizenShoes 1
                player.additem TrueCitizenPants 1
                player.additem TrueCitizenHemd 1
                player.additem TrueCitizenCapy 1
                player.additem TrueCitizenAmulet 1
                player.additem TrueCitizenRing 1
                message "Ihr habt alle Ausrüstungsteile erhalten"
                set Done to 1

            endif

        elseif Button == 1

            if Spell == 0
                
                player.addspell TrueCitizen1Disease
                player.addspell TrueCitizen2Health
                player.addspell TrueCitizen3Elements
                player.addspell TrueCitizen4Shield
                player.addspell TrueCitizen5Restore
                player.addspell TrueCitizen6Spell
                message "Ihr habt alle Eigenschaften erhalten"
                set Done to 1

            endif

        elseif Button == 2

            player.additem TrueCitizenDrink 1
            set Done to 1

        elseif Button == 3

            Player.modpcfame 10
            Player.modpcinfamy -5
            set Done to 1

        elseif Button == 4

            player.setcrimegold 0
            set Done to 1

        elseif Button == 5
            
            player.additem Gold001 500
            set Done to 1

        endif

        set MainControl to 0

endif

end
Versuch es mal so, ich seh nicht so ganz durch dein Script durch, is mir zu unordentlich :-D
 
  • Like
Reaktionen: Unbekannter
Es funktioniert genau wie Return, es wird der selbe befehl wie oben
ausgeführt und der Block geht weiter.
Was da nun steht ob Return oder GetButtonPressed ist eigetnlich egal...
 
Dazu gibst du der Tür eine Reference-ID und setzt einen Haken bei Persistance Reference.

Die Scriptzeile dazu sieht so aus:
Code:
[Ref-ID].Lock [Wert]

Für Wert eine Zahl von 1-100 einsetzen, wobei 100 die Tür "unmöglich" verschließt.

Das kannst du irgendwo in ein Script einbauen.
 
ICh werd mal alle Ratschläge asuprobieren, denke aber, ich hab das Prob selber gefunden. Denn wenn ich sage

if Button == -1

return

elseif Button == 0

blablabla


Endet das ganze sofort, weil Button ja anfangs - 1 ist ja garkeine Chance hat, sich zun ändern, in anderen Scripts ist das auch anders.

trotzdem Danke, werds mal ausprobieren
 
ok danke^^

Hab noch ne frage bei Shivering Isles gibt es doch ein quest da ist man so zeug von käfern und wen mann das nicht ständig isst stirbt man. Kann mir jemand den script geben?
 
Morgen :D
Nun ich hätte da mal eijne frage :)
Und zwar:

Ich möcht das wenn man duch die Triggerbox geht 3 auswahlmöglichkeiten komme dann die dem ensprechende Conversation Startet.
Dann wenn man das zweite mal daduch geht soll es diesaml 2 auswahlmöglichkeiten geben denn die eine Wurde ja schon gewählt und daher nicht mehr zur auswah stehen. und beim Driten mal das gleiche, aber dann nua noch die eine Antwort die üblich bleibt.
Da das ja individuel ist welche fragen übrich bleben beim 2 und dritten mal ist das etwas komplizierter...


Aber ich bedank mich schon einmal im Vorraus :)
Lg yves
 
Sieh es bitte nur als Versuch (Messageboxen sind nicht so mein Ding):

Code:
scn name

short button
short init
short antwort1
short antwort2
short antwort3
short doonce

Begin onTrigger player

	if doonce == 0
		messagebox "Text","Antwort1","Antwort2","Antwort3"
		set doonce to 1

	elseif doonce == 1 && init == 1

		if antwort1 == 1
			messagebox "Text","Antwort2","Antwort3"
			set doonce to 2

		elseif antwort2 == 1
			messagebox "Text","Antwort1","Antwort3"
			set doonce to 2

		elseif antwort3 == 1
			messagebox "Text","Antwort1","Antwort2"
			set doonce to 2

		endif

	elseif doonce == 2 && init == 2

		if antwort1 == 0
			messagebox "Text","Antwort1"
			set doonce to 3

		elseif antwort2 == 0
			messagebox "Text","Antwort2"
			set doonce to 3

		elseif antwort3 == 0
			messagebox "Text","Antwort3"
			set doonce to 3

		endif

	endif

end

Begin GameMode

	set button to GetButtonPressed

	if init == 0 && doonce == 1

		if button == -1
			return

		elseif button == 0
			<startconversation>
			set init to 1
			set antwort1 to 1

		elseif button == 1
			<startconversation>
			set init to 1
			set antwort2 to 1

		elseif button == 2
			<startconversation>
			set init to 1
			set antwort3 to 1

		endif

	elseif init == 1 && doonce == 2

		if button == -1
			return

		end

		if antwort1 == 1

			if button == 0
				<startconversation>
				set init to 2
				set antwort2 to 1

			elseif button == 1
				<startconversation>
				set init to 2
				set antwort3 to 1

			endif

		elseif antwort2 == 1

			if button == 0
				<startconversation>
				set init to 2
				set antwort1 to 1

			elseif button == 1
				<startconversation>
				set init to 2
				set antwort3 to 1

			endif

		elseif antwort3 == 1

			if button == 0
				<startconversation>
				set init to 2
				set antwort1 to 1

			elseif button == 1
				<startconversation>
				set init to 2
				set antwort2 to 1

			endif

		endif

	elseif init == 2 && doonce == 3

		if button == -1
			return

		endif

		if antwort1 == 0

			if button == 0
				<startconversation>
				set init to 3
				set antwort1 to 1

			endif

		elseif antwort2 == 0

			if button == 0
				<startconversation>
				set init to 3
				set antwort2 to 1

			endif

		elseif antwort3 == 0

			if button == 0
				<startconversation>
				set init to 3
				set antwort3 to 1

			endif

		endif

	endif

end

Eventuell die Variable "init" als resultscript im Dialog hochsetzen...

MfG
 
  • Like
Reaktionen: Yves
Ich habe im Thread schon etwas über Triggerzonen gelesen, aber wie kann man es hinbekommen, dass der Skript mit der Triggerzone verbunden ist? Ich möchte nämlich den Stage von einem Quest höher setzen, wenn man ein best. Gebiet betritt. Nun ist eben meine Frage, wie der Skript sich so schreiben lässt, dass er dann auch seine Funktion erfüllt. Hier mal mein bisheriger Skript.
Code:
scn MG20FluchzauberBook3ActivatorScript

Short triggered

Begin OnTriggerActor
    If triggered == 0
        setstage MG20Fluchzauber 70
        Set triggered to 1
    Endif
End
 
Ich habe im Thread schon etwas über Triggerzonen gelesen, aber wie kann man es hinbekommen, dass der Skript mit der Triggerzone verbunden ist? Ich möchte nämlich den Stage von einem Quest höher setzen, wenn man ein best. Gebiet betritt. Nun ist eben meine Frage, wie der Skript sich so schreiben lässt, dass er dann auch seine Funktion erfüllt. Hier mal mein bisheriger Skript.
Code:
scn MG20FluchzauberBook3ActivatorScript

Short triggered

Begin OnTriggerActor
    If triggered == 0
        setstage MG20Fluchzauber 70
        Set triggered to 1
    Endif
End

Hiho!
Am besten du nimmst die Triggerbox, die du gerne hättest (die Form), klickst sie im Objekt-Window mit Rechts an und klickst dann auf "Edit". Dort gibst du dann eine neue Editor-ID im entsprechenden Kästchen an und drückst auf "OK". Wenn er dich fragt, ob er ein neues Objekt erstellen soll ("Create new Form-ID?"), kannst du mit "Ja" bestätigen. Dann suchst du deine selbst erstellte Triggerbox unter deiner ID im Objekt-Window und wählst sie aus. Dort wählst du dann bei der Script-DropDown-Liste dein Script (was du vorher schon gespeichert hast).

MfG
 
Ich hab mal wieder ein Problem :roll:

Folgendes Script soll bewirken, dass eine Leiche disabeld wird und anschließend auf "Respawn" gestellt wird. Nur irgendwie funktioniert das nicht so richtig.
Code:
scn ...
Begin ScriptEffectStart
If GetDead == 1
disable
SetEssential 1
endif
end
 
Kennt jemand einen Befehl, der das Inventar anzeigt, und einen dort gewählten Gegenstandt anzeigt. Ich möchte nämlich gerne eine Referenzvariabele auf einen im Spiel gewählten Gegenstand setzen...
geht das ohne hunderte von messageboxen

thx
 
Hiho!
Am besten du nimmst die Triggerbox, die du gerne hättest (die Form), klickst sie im Objekt-Window mit Rechts an und klickst dann auf "Edit". Dort gibst du dann eine neue Editor-ID im entsprechenden Kästchen an und drückst auf "OK". Wenn er dich fragt, ob er ein neues Objekt erstellen soll ("Create new Form-ID?"), kannst du mit "Ja" bestätigen. Dann suchst du deine selbst erstellte Triggerbox unter deiner ID im Objekt-Window und wählst sie aus. Dort wählst du dann bei der Script-DropDown-Liste dein Script (was du vorher schon gespeichert hast).

MfG
Danke, habe es hinbekommen. :-D