Construction Set Benötige Hilfe beim Scripten

Suney

Neuankömmling
Hi,
ich bin ein großer Oblivion Fan und habe mir neulich so gedacht warum versuchst du nicht mal im Cs ein Plugin zu erstellen. Leichter gesagt als getan :lol:

Das ganze Problem ich besitze kaum/nicht vorhandene Script Fähigkeiten :?. Ich habe Stunden lang gesucht in Google und Foren aber nichts passendes gefunden (Vllt. habe ich ja was übersehen :huh:).

Nun zur Frage: Ist jemand bereit einen Script Neuling den Weg zu weisen? Ich wäre über jede Hilfe dankbar!

Zum Plugin: Es soll im groben und ganzen ein Teleporter werden (Ja ich weiss die gibt es wie Sand am Meer. Aber ich möchte ein ganz Spezielles Teleport Plugin :-D. Es soll mich in einem Raum "Beamen" wo sich Türen in alle Welt befinden und ich nur noch durchgehen muss :D.
Das ganze mit den Türen und so ist kein Problem! Nur beim Scripten von diesem "Zauber" hänge ich mich einfach auf. Ansich funktioniert er ja (Also er bringt mich schon an den Ort wo ich hin möchte) aber es soll bestimmte Vorgaben geben wann und wie es klappen soll. Den derzeit kann ich schwimmen und mich "Beamen"... Also enstehen so Bugs die sich Unangenehm aufs Spiel auswirken und da kommt ihr ins Spiel :).

Der Code bisher (ja bitte nicht lachen ich weiss es einfach nicht besser :oops:)
scn MoveToTeleporter

short spellFail

begin ScriptEffectStart
player.moveto MoveToTeleporterMarker

player.IsInCombat > 0
message "Dieser Zauber kann während eines Kampfes nicht gesprochen werden."
set spellFail to 1

player.GetAttacked > 0
message "Dieser Zauber kann während eines Kampfes nicht gesprochen werden."
set spellFail to 1

player.IsPlayerInJail > 0
message "Dieser Zauber kann im Gefängnis nicht gesprochen werden."
set spellFail to 1

player.IsRidingHorse > 0
message "Dieser Zauber kann während des Reiten nicht gesprochen werden."
set spellFail to 1

player.IsActorDetected > 0
message "Dieser Zauber kann nicht während feinde in der Nähe sind gesprochen werden."
set spellFail to 1

player.IsSwimming > 0
message "Dieser Zauber kann beimSchwimmen nicht gesprochen werden."
set spellFail to 1
end

Ich hoffe Ihr könnt mir Helfen. Freue mich auf jede Antwort/Hilfe.


mfg Suney
 
Zuletzt bearbeitet:
  1. Das gehört in den Skriptthread.
  2. Sollte das mit dem Schwimmen eigentlich so stimmen.
 
Meiner Meinung nach müsste das Script ungefähr so aussehen, damit es funktioniert:
Code:
scn MoveToTeleporter

short spellFail

begin ScriptEffectStart

player.IsInCombat > 0
message "Dieser Zauber kann während eines Kampfes nicht gesprochen werden."
set spellFail to 1

player.GetAttacked > 0
message "Dieser Zauber kann während eines Kampfes nicht gesprochen werden."
set spellFail to 1

player.IsPlayerInJail > 0
message "Dieser Zauber kann im Gefängnis nicht gesprochen werden."
set spellFail to 1

player.IsRidingHorse > 0
message "Dieser Zauber kann während des Reiten nicht gesprochen werden."
set spellFail to 1

player.IsActorDetected > 0
message "Dieser Zauber kann nicht während feinde in der Nähe sind gesprochen werden."
set spellFail to 1

player.IsSwimming > 0
message "Dieser Zauber kann beimSchwimmen nicht gesprochen werden."
set spellFail to 1

If spellFail == 0
player.moveto MoveToTeleporterMarker
endif

end
 
Also bitte, als ob ich mich um 7.14 Uhr um ifs kümmere.:lol:
Da sitze ich mit einem halb geöffneten Auge vorm PC, da kann man schon mal ein zwei fehlende ifs übersehen. Ok, sind sechs.
Aber es fehlen auch sechs endifs.
Haste übersehen:p
 
ich würds so machen:
Code:
scn MoveToTeleporter

short spellFail

begin ScriptEffectStart

 if player.IsInCombat > 0
message "Dieser Zauber kann während eines Kampfes nicht gesprochen werden."
set spellFail to 1

elseif player.GetAttacked > 0
message "Dieser Zauber kann während eines Kampfes nicht gesprochen werden."
set spellFail to 1

elseif player.IsPlayerInJail > 0
message "Dieser Zauber kann im Gefängnis nicht gesprochen werden."
set spellFail to 1

elseif player.IsRidingHorse > 0
message "Dieser Zauber kann während des Reiten nicht gesprochen werden."
set spellFail to 1

elseif player.IsActorDetected > 0
message "Dieser Zauber kann nicht während feinde in der Nähe sind gesprochen werden."
set spellFail to 1

elseif player.IsSwimming > 0
message "Dieser Zauber kann beimSchwimmen nicht gesprochen werden."
set spellFail to 1

elseif spellFail == 0
player.moveto MoveToTeleporterMarker
endif
end

edit: schneller :p
 
Zuletzt bearbeitet:
Hast recht, das habe ich ja total übersehen :eek:

So müsste es jetzt funktionieren:

Code:
scn MoveToTeleporter

short spellFail

begin ScriptEffectStart

If player.IsInCombat > 0
message "Dieser Zauber kann während eines Kampfes nicht gesprochen werden."
elseif player.GetAttacked > 0
message "Dieser Zauber kann während eines Kampfes nicht gesprochen werden."
elseif player.IsPlayerInJail > 0
message "Dieser Zauber kann im Gefängnis nicht gesprochen werden."
elseif player.IsRidingHorse > 0
message "Dieser Zauber kann während des Reiten nicht gesprochen werden."
elseif player.IsActorDetected > 0
message "Dieser Zauber kann nicht während feinde in der Nähe sind gesprochen werden."
elseif player.IsSwimming > 0
message "Dieser Zauber kann beimSchwimmen nicht gesprochen werden."
else
player.moveto MoveToTeleporterMarker
endif

end

Edit: Zu spät, aber ich würde die Variable weglassen, da diese nichts mehr bringt :?
 
Zuletzt bearbeitet:
wobei, ich bin mir net ganz sicher ob z.B.
IsPlayerInJail
richtig ist. aber da kenn ich mich net aus
 
:book:
Ah, da stehts ja. Es ist richtig.

Edit: Aber ohne Player. Die Funktion ist ja schon auf den Player bezogen. Also nur
IsPlayerInJail > 0
oder
IsPlayerInJail = 1
 
Danke für eure Hilfe!

So, erstmal möchte ich mich für eure zahlreiche Hilfe bedanken! Echt Klasse :).

Ich habe mir mein Script nochmal nach einer Mützeschlaf angeschaut und bin auch auf die fehlenden "Ifs" gestoßen :roll:.

Desweiteren hat mir die Hilfe mit dem setzen von spellFail sehr geholfen!
If spellFail == 0
player.moveto MoveToTeleporterMarker

Als ich das heute Morgen sah wurde mir einiges kla wie man solche Scripts beendet :D.

Weiterhin habe ich es "Alleine, mit Hilfe von euch und Google" folgendermaßen zum laufen gebracht:

scn MoveToTeleporter

short spellFail

begin ScriptEffectStart
If ( player.GetAttacked == 1 )
message "Dieser Zauber kann nicht gesprochen werden wenn Feinde in der Nähe sind."
set spellFail to 1

endif

If ( player.IsRidingHorse == 1 )
message "Dieser Zauber kann während des Reiten nicht gesprochen werden."
set spellFail to 1

endif

If ( player.IsSwimming == 1 )
message "Dieser Zauber kann beim Schwimmen nicht gesprochen werden."
set spellFail to 1

endif

If ( spellFail == 0 )
player.moveto MoveToTeleporterMarker

endif
end

Nochmals ein großes DANKE an alle die geholfen haben!

Sollte von jmd. Interesse bestehen das ganze Plugin zu bekommen der muss sich noch etwas gedulden denn im Moment ist der Zauber fertig jedoch der Rest noch eine Baustelle. Sobald es fertig ist stelle ich es gerne Public.

So Far
mfg Suney
 
tu das. könnte zwar als cheaten interpretiert werden, aber es bietet abkürzungen, und ist realistischer als Schnellreise