Construction Set Skriptthread zum Construction Set

@ Shadow King: Was du brauchst ist kein Script, sondern einen Mitarbeiter :lol:
Mit einem Script ist das nicht getan, es ist eine ganze Quest und eine Reihe von (wenn auch simplen) Scripten.

@ der dunkelfürst: Ziemlich schwierig zu realisieren. Ich weiß leider keine Antwort.

@ anima41: Das geht im Prinzip wie mit Rüstungen. Du musst das Lasband "einfach" an den/die benötigten Bone(s) binden. Eigentlich musst du "nur" modellieren können, den Rest erledigen die Bone-Weight-copy-scripts.

MfG Gildur
 
  • Like
Reaktionen: anima41
Zeitungs mod

Hi
bin neu im forum und hab direkt mal ne script frage *g*

Also:
Ich hatte vor eine Mod zu machen welche die zeitungen im spiel abändert!
Es regt mich einfach auf das es im spiel nur 2-3 unterschiedliche zeitungen gibt...also hab ich mich entschlossen den rappenkurier etwas zu "erweitern"

leider habe ich sehr wenig erfahrung im scripten und bitte daher um eure hilfe!
Ich hatte vor (falls möglich...hoffe es ist möglich^^) zeitungen zu machen die immer einen anderen inhalt haben (je nachdem was du angestellt hast *bösegrins*)
also sozusagen "selbstgenerierende" Zeitungen.
Meine erste frage ist: Ist das überhaupt möglich?
und nummer 2: Falls möglich mit welchem script^^
ich sag dann schonmal danke im voraus!


PS:Falls das jetzt ein wenig konfus war,sagt es bitte und ich versuch mich deutlischer auszudrücken^^ aber ich hoffe ihr habt mich verstanden*g*
so und nun noch viel spaß beim scripten und oblivion spielen
gruß
Thal

PPS: Also ich mein wenn mann z.b. ne stadt "auslöscht" bzw in der stadt radau macht, könnte z.b. in dem rappenkurier stehen
Schlagzeile: Amoklauf in anvil
Am ... um ... ist ... in anvil amok gelaufen!
Während dieses amoklaufs wurden 6 wachen getötet und 3 anwohner leicht bis mittelschwer verletzt!...usw
 
Zuletzt bearbeitet:
1. Ja es ist möglich.

2. Nicht so wie du das willst. Es ist derzeit in Oblivion nicht möglich über einen Script ingame ein Buch zu ändern. Dies kommt VIELLEICHT mit dem nächsten OBSE. Momentan müsstest du für jede Situation eine neue Zeitung machen. Außerdem müsstest du feste Conditions machen, nachdenen die vorbereiteten Zeitungen dann enabled/disabled werden. z.B Wenn der Spieler ein CrimeGold hat, das größer 4000 ist, wird er in der Zeitung gesucht "Serienmörder hält Land in Atem".....etc.
 
Hi,

ich hoffe ihr könnt mir helfen, für einen einfach und recht simlen script.

Also ich bruchte einen script der auf ein Ring gelegt wird, wenn man den nutzt soll folgendes passieren. Der Ring soll den Spieler zu Position X teleportieren (Wird interior sein) doch wenn man den Ring wieder nutzt, soll man an den Ort zurück teleportiert werden, an dem der Ausgangs Punkt war.

Sprich der Spieler befindet sich in Position XY und Teleport sich durch den Ring zu Position YZ. An der Position, nutzt der Spieler noch mal den Ring und kommt zur alten Position XY zurück.

Ist das machbar, ohne OBSE?

Ich hoffe ihr könnt mir helfen.

mfg
Blip-Blop
 
Klar doch
Erstmal brauchst du einen X-Marker den du von Anfang an plazierst, z.B mit der Ref MoveBackMarker

Code:
scn Blubb

short PortOnce

Begin OnEquip
Set PortOnce to 1

If PortOnce == 1
    If Player.GetInCell DeinInteritor != 1
       MoveBackMarker.MoveTo Player
       Player.MoveToMarker MarkerindeinerCell
       Set PortOnce to 10
    else
       Player.MoveToMarker MoveBackMarker
       Set PortOnce to 10
    endif
endif
end
 
  • Like
Reaktionen: Xenos
Jo ich brächte auch ausnahmsweise nochmal Hilfe. Ich habe dieses Script erstellt:

Code:
scn SchmutzFenster01

short Dreck
short doonce

Begin OnActivate Player
           if Dreck == 0 && doonce == 0
           Messagebox "Die Fenster sind so mit Dreck und Schmutz verkrustet, dass kein Licht durch sie fällt. Wollte ihr versuchen, den Schmutz abzukratzen?", "Ja", "Nein"
           elseif Dreck == 0 && doonce == 1
           Message "Der Dreck ist zu hart, um ihn abzukratzen."
           endif
End

Begin GameMode
           set Dreck to GetButtonPressed
           if Dreck == 0 && doonce == 0
           Messagebox "Der Dreck ist zu hart, um ihn abzukratzen."
           set doonce to 1
           elseif Dreck == 1
           set Dreck to -1
           endif
End

Aber es geht nicht. Wenn man das Fenster anklickt, passiert nix. Das Script soll normalerweise beim ersten Anklicken der Fenster die Messagebox mit den Auswahlmöglichkeiten kommen lassen. Klickt man "ja" an, kommt die andere Messagebox. Bei "nein" kam gar nix. Bisher funktionierte das auch. Dann kam ich auf die Idee, beim zweiten mal Anklicken nur noch die Message auftauchen zu lassen. Seit dem klappt das Script gar nicht mehr. Hat einer von euch ne Ahnung, woran das liegen könnte?

Sollte ich vielleicht alles in den GameMode-Block packen, oder alles (außer dem set... zu ...) in den OnActivate-Block packen?
 
Zuletzt bearbeitet:
Ich würd den Script ganz anders machen:
Code:
scn Blubb

short once
Short button

Begin OnActivate 
   If once == 0 
      MessageBox "Wollt ihr abkratzen?^^", "Ja", "Nein"
      Set once to 1
   else
      Message "Der Dreck ist zu hart"
    endif
end

Begin GameMode
If once == 1
    Set Button to GetButtonPressed
     If button == 0
       MessageBox "Der Dreck ist zu hart"
       Set once to 5
     elseif button == 1
       Set button to -1
       Set once to 0
     endif
endif
end
 
  • Like
Reaktionen: Blacklands
dann zitiere ich mich mal selbst:
ich brauche für eine mod ein skript. dieses habe ich auch. das problem ist nur, dass ich es nicht abspeichern kann. das skript sieht so aus:

Code:
VLSchwertSkript

short cquest

Begin GameMode

If ( GetStage [QuestID] == [Stage] ) && ( cquest == 0 )
   Player.SetCrimeGold 8000000
   Set cquest To 1
EndIf

If ( Player.GetInCell [CellID] ) && ( GetDead.AnvilGuardCityPatrolDay01 == 1 ) || ( GetDead.AnvilGuardCityPatrolDay02 == 1 ) || ( GetDead.AnvilGuardCityPatrolNight01 == 1 ) || ( GetDead.AnvilGuardCityPatrolNight02 == 1 ) || ( GetDead.AnvilGuardCityPostDay01 == 1 ) || ( GetDead.AnvilGuardCityPostDay02 == 1 ) || ( GetDead.AnvilGuardCityPostDay03 == 1 ) || ( GetDead.AnvilGuardCityPostNight01 == 1 ) || ( GetDead.AnvilGuardCityPostNight02 == 1 ) || ( GetDead.AnvilGuardCityPostNight03 == 1 ) || ( GetDead.AnvilGuardCityPostStablesDay == 1 ) || ( GetDead.AnvilGuardCityPostStablesNight == 1 )
   Player.SetCrimeGold 0
EndIf

If ( Player.GetInCell [CellID] ) && ( GetDead.BravilGuardCityPatrolDay01 == 1 ) || ( GetDead.BravilGuardCityPatrolNight01 == 1 ) || ( GetDead.BravilGuardCityPostDay01 == 1 ) || ( GetDead.BravilGuardCityPostDay02 == 1 ) || ( GetDead.BravilGuardCityPostDay03 == 1 ) || ( GetDead.BravilGuardCityPostNight01 == 1 ) || ( GetDead.BravilGuardCityPostNight02 == 1 ) || ( GetDead.BravilGuardCityPostNight03 == 1 ) || ( GetDead.BravilGuardCityPostStablesDay == 1 ) || ( GetDead.BravilGuardCityPostStablesNight == 1 )
   Player.SetCrimeGold 0
EndIf

If ( Player.GetInCell [CellID] ) && ( GetDead.BrumaGuardCityPatrolDay01 == 1 ) || ( GetDead.BrumaGuardCityPatrolDay02 == 1 ) || ( GetDead.BrumaGuardCityPatrolNight01 == 1 ) || ( GetDead.BrumaGuardCityPatrolNight02 == 1 ) || ( GetDead.BrumaGuardCityPostDay01 == 1 ) || ( GetDead.BrumaGuardCityPostDay02 == 1 ) || ( GetDead.BrumaGuardCityPostDay03 == 1 ) || ( GetDead.BrumaGuardCityPostDay04 == 1 ) || ( GetDead.BrumaGuardCityPostNight01 == 1 ) || ( GetDead.BrumaGuardCityPostNight02 == 1 ) || ( GetDead.BrumaGuardCityPostNight03 == 1 ) || ( GetDead.BrumaGuardCityPostNight04 == 1 ) || ( GetDead.BrumaGuardCityPostStablesDay == 1 ) || ( GetDead.BrumaGuardCityPostStablesNight == 1 )
   Player.SetCrimeGold 0
EndIf

If ( Player.GetInCell [CellID] ) && ( GetDead.CheydinhalGuardCityPatrolDay01 == 1 ) || ( GetDead.CheydinhalGuardCityPatrolDay02 == 1 ) || ( GetDead.CheydinhalGuardCityPatrolNight01 == 1 ) || ( GetDead.CheydinhalGuardCityPatrolNight02 == 1 ) || ( GetDead.CheydinhalGuardCityPostDay01 == 1 ) || ( GetDead.CheydinhalGuardCityPostDay02 == 1 ) || ( GetDead.CheydinhalGuardCityPostDay03 == 1 ) || ( GetDead.CheydinhalGuardCityPostDay04 == 1 ) || ( GetDead.CheydinhalGuardCityPostNight01 == 1 ) || ( GetDead.CheydinhalGuardCityPostNight02 == 1 ) || ( GetDead.CheydinhalGuardCityPostNight03 == 1 ) || ( GetDead.CheydinhalGuardCityPostNight04 == 1 ) || ( GetDead.CheydinhalGuardCityPostStablesDay == 1 ) || ( GetDead.CheydinhalGuardCityPostStablesNight == 1 )
   Player.SetCrimeGold 0
EndIf


If ( Player.GetInCell [CellID] ) && ( GetDead.ChorrolGuardPatrolDay01 == 1 ) || ( GetDead.ChorrolGuardPatrolDay02 == 1 ) || ( 
GetDead.ChorrolGuardPatrolDay03 == 1 ) || ( 
GetDead.ChorrolGuardPatrolNight01 == 1 ) || ( GetDead.ChorrolGuardPatrolNight02 == 1 ) || ( 
GetDead.ChorrolGuardPatrolNight03 == 1 ) || ( 
GetDead.ChorrolGuardPostDay01 == 1 ) || ( GetDead.ChorrolGuardPostDay02 == 1 ) || ( GetDead.ChorrolGuardPostDay03 == 1 ) || ( GetDead.ChorrolGuardPostNight01 == 1 ) || ( GetDead.ChorrolGuardPostNight02 == 1 ) || ( GetDead.ChorrolGuardPostNight03 == 1 ) || ( GetDead.ChorrolGuardPostStablesDay == 1 ) || ( GetDead.ChorrolGuardPostStablesNight == 1 )
   Player.SetCrimeGold 0
EndIf

If ( Player.GetInCell [CellID] ) && ( GetDead.LeyawiinGuardCityPatrolDay01 == 1 ) || ( GetDead.LeyawiinGuardCityPatrolDay03 == 1 ) || ( 
GetDead.LeyawiinGuardCityPatrolNight01 == 1 ) || ( 
GetDead.LeyawiinGuardCityPatrolNight03 == 1 ) || ( 
GetDead.LeyawiinGuardCityPostDay01 == 1 ) || ( GetDead.LeyawiinGuardCityPostDay02 == 1 ) || ( GetDead.LeyawiinGuardCityPostDay03 == 1 ) || ( GetDead.LeyawiinGuardCityPostNight01 == 1 ) || ( GetDead.LeyawiinGuardCityPostNight02 == 1 ) || ( GetDead.LeyawiinGuardCityPostNight03 == 1 ) || ( GetDead.LeyawiinGuardCityStablesPostDay == 1 ) || ( GetDead.LeyawiinGuardCityPostStablesNight == 1 )
   Player.SetCrimeGold 0
EndIf

If ( Player.GetInCell [CellID] ) && ( GetDead.SkingradCastleGuardPatrolDay01 == 1) || ( GetDead.SkingradCastleGuardPatrolDay02 == 1) || ( GetDead.SkingradCastleGuardPatrolNight01 == 1) || ( GetDead.SkingradCastleGuardPatrolNight02 == 1) || ( GetDead.SkingradCastleGuardPostDay01 == 1) || ( GetDead.SkingradCastleGuardPostDay02 == 1) || ( GetDead.SkingradCastleGuardPostNight01 == 1) || ( GetDead.SkingradCastleGuardPostNight02 == 1) || ( GetDead.SkingradGuardPatrolDay01 == 1) || ( GetDead.SkingradGuardPatrolNight01 == 1) || ( GetDead.SkingradGuardPostDay01 == 1) || ( GetDead.SkingradGuardPostDay02 == 1) || ( GetDead.SkingradGuardPostDay03 == 1) || ( GetDead.SkingradGuardPostDay04 == 1) || ( GetDead.SkingradGuardPostNight01 == 1) || ( GetDead.SkingradGuardPostNight02 == 1) || ( GetDead.SkingradGuardPostNight03 == 1) || ( GetDead.SkingradGuardPostNight04 == 1) || ( GetDead.SkingradGuardPostStablesDay == 1) || ( GetDead.SkingradGuardPostStablesNight == 1)
   Player.SetCrimeGold 0
EndIf

End


immer wenn ich speichern will kommt folgende fehlermeldung:



das heißt wohl soviel wie: in zeile 10 sind mehr zeichen, als zugelassen sind. es dürfen maximal 512 zeichen verwendet werden.

weiterspielen?

ja nein


wenn ich auf nein drücke, dann schaltet sich das CS automatisch aus. auf ja bleibt er auf dem skriptfenster.

in zeile 10 steht aber endif. also das sind dann aber keine 512 zeichen:lol:

hoffe, ihr könnt mir helfen, ddf

und da ich nicht scripten kann wäre es echt nett, wenn i-wer die zeilen kürzen würde.

danke im vorraus, der dunkelfürst
 
dann zitiere ich mich mal selbst:

und da ich nicht scripten kann wäre es echt nett, wenn i-wer die zeilen kürzen würde.

danke im vorraus, der dunkelfürst

du hast es im prinzip doch schon in einem gekürzten format, also sollte es auch für dich nicht weiter schwer sein, das noch einmal zu unterteilen...

aus:
Code:
If ( Player.GetInCell [CellID] ) && ( GetDead.AnvilGuardCityPatrolDay01 == 1 ) || ( GetDead.AnvilGuardCityPatrolDay02 == 1 ) || ( GetDead.AnvilGuardCityPatrolNight01 == 1 ) || ( GetDead.AnvilGuardCityPatrolNight02 == 1 ) || ( GetDead.AnvilGuardCityPostDay01 == 1 ) || ( GetDead.AnvilGuardCityPostDay02 == 1 ) || ( GetDead.AnvilGuardCityPostDay03 == 1 ) || ( GetDead.AnvilGuardCityPostNight01 == 1 ) || ( GetDead.AnvilGuardCityPostNight02 == 1 ) || ( GetDead.AnvilGuardCityPostNight03 == 1 ) || ( GetDead.AnvilGuardCityPostStablesDay == 1 ) || ( GetDead.AnvilGuardCityPostStablesNight == 1 )
   Player.SetCrimeGold 0
EndIf

musst du einfach nur:
Code:
If ( Player.GetInCell [CellID] ) && ( GetDead.AnvilGuardCityPatrolDay01 == 1 ) || ( GetDead.AnvilGuardCityPatrolDay02 == 1 ) || ( GetDead.AnvilGuardCityPatrolNight01 == 1 ) || ( GetDead.AnvilGuardCityPatrolNight02 == 1 ) || ( GetDead.AnvilGuardCityPostDay01 == 1 ) || ( GetDead.AnvilGuardCityPostDay02 == 1 )
   Player.SetCrimeGold 0
EndIf

If ( Player.GetInCell [CellID] ) && ( GetDead.AnvilGuardCityPostDay03 == 1 ) || ( GetDead.AnvilGuardCityPostNight01 == 1 ) || ( GetDead.AnvilGuardCityPostNight02 == 1 ) || ( GetDead.AnvilGuardCityPostNight03 == 1 ) || ( GetDead.AnvilGuardCityPostStablesDay == 1 ) || ( GetDead.AnvilGuardCityPostStablesNight == 1 )
   Player.SetCrimeGold 0
EndIf

machen. das ist doch nicht weiter schwer...
 
Hi,

ich hoffe ihr könnt mir helfen, für einen einfach und recht simlen script.

Also ich bruchte einen script der auf ein Ring gelegt wird, wenn man den nutzt soll folgendes passieren. Der Ring soll den Spieler zu Position X teleportieren (Wird interior sein) doch wenn man den Ring wieder nutzt, soll man an den Ort zurück teleportiert werden, an dem der Ausgangs Punkt war.

Sprich der Spieler befindet sich in Position XY und Teleport sich durch den Ring zu Position YZ. An der Position, nutzt der Spieler noch mal den Ring und kommt zur alten Position XY zurück.

Ist das machbar, ohne OBSE?

Ich hoffe ihr könnt mir helfen.

mfg
Blip-Blop

kann man das script was er möchte/wollte auch so umändern, dass man nur teleportiert wird, wenn man in einem bett schläft und den ring ausgerüstet hat?
 
du hast es im prinzip doch schon in einem gekürzten format, also sollte es auch für dich nicht weiter schwer sein, das noch einmal zu unterteilen...

aus:
Code:
If ( Player.GetInCell [CellID] ) && ( GetDead.AnvilGuardCityPatrolDay01 == 1 ) || ( GetDead.AnvilGuardCityPatrolDay02 == 1 ) || ( GetDead.AnvilGuardCityPatrolNight01 == 1 ) || ( GetDead.AnvilGuardCityPatrolNight02 == 1 ) || ( GetDead.AnvilGuardCityPostDay01 == 1 ) || ( GetDead.AnvilGuardCityPostDay02 == 1 ) || ( GetDead.AnvilGuardCityPostDay03 == 1 ) || ( GetDead.AnvilGuardCityPostNight01 == 1 ) || ( GetDead.AnvilGuardCityPostNight02 == 1 ) || ( GetDead.AnvilGuardCityPostNight03 == 1 ) || ( GetDead.AnvilGuardCityPostStablesDay == 1 ) || ( GetDead.AnvilGuardCityPostStablesNight == 1 )
   Player.SetCrimeGold 0
EndIf

musst du einfach nur:
Code:
If ( Player.GetInCell [CellID] ) && ( GetDead.AnvilGuardCityPatrolDay01 == 1 ) || ( GetDead.AnvilGuardCityPatrolDay02 == 1 ) || ( GetDead.AnvilGuardCityPatrolNight01 == 1 ) || ( GetDead.AnvilGuardCityPatrolNight02 == 1 ) || ( GetDead.AnvilGuardCityPostDay01 == 1 ) || ( GetDead.AnvilGuardCityPostDay02 == 1 )
   Player.SetCrimeGold 0
EndIf

If ( Player.GetInCell [CellID] ) && ( GetDead.AnvilGuardCityPostDay03 == 1 ) || ( GetDead.AnvilGuardCityPostNight01 == 1 ) || ( GetDead.AnvilGuardCityPostNight02 == 1 ) || ( GetDead.AnvilGuardCityPostNight03 == 1 ) || ( GetDead.AnvilGuardCityPostStablesDay == 1 ) || ( GetDead.AnvilGuardCityPostStablesNight == 1 )
   Player.SetCrimeGold 0
EndIf

machen. das ist doch nicht weiter schwer...

nur die hand voll zeilen? ich dachte jetzt das ganze skript:lol:
 
aha, aber an welchen stellen muss ich es denn kürzen?
an der stelle, wo die zeile länger als 512 zeichen wird (bzw. irgendwo davor, eine variable in der mitte durchzuschnibbeln ist vielleicht nicht so ratsam :roll:)
deine nächste frage dürfte jetzt sein, wie du denn die 512. stelle erkennst. da gibts 2 möglichkeiten: entweder du zälst die zeichen von hand ab, oder du kopierst das script in einen editor, der dir die anzahl der zeichen anzeigen kann ;)

und damit sich das nicht noch ewig hier hinzieht:

Code:
VLSchwertSkript

short cquest

Begin GameMode

If ( GetStage [QuestID] == [Stage] ) && ( cquest == 0 )
   Player.SetCrimeGold 8000000
   Set cquest To 1
EndIf

If ( Player.GetInCell [CellID] )
   If ( GetDead.AnvilGuardCityPatrolDay01 == 1 ) || ( GetDead.AnvilGuardCityPatrolDay02 == 1 ) || ( GetDead.AnvilGuardCityPatrolNight01 == 1 ) || ( GetDead.AnvilGuardCityPatrolNight02 == 1 ) || ( GetDead.AnvilGuardCityPostDay01 == 1 ) || ( GetDead.AnvilGuardCityPostDay02 == 1 ) || ( GetDead.AnvilGuardCityPostDay03 == 1 ) || ( GetDead.AnvilGuardCityPostNight01 == 1 ) || ( GetDead.AnvilGuardCityPostNight02 == 1 ) || ( GetDead.AnvilGuardCityPostNight03 == 1 )
      Player.SetCrimeGold 0
   ElseIf ( GetDead.AnvilGuardCityPostStablesDay == 1 ) || ( GetDead.AnvilGuardCityPostStablesNight == 1 ) || ( GetDead.BravilGuardCityPatrolDay01 == 1 ) || ( GetDead.BravilGuardCityPatrolNight01 == 1 ) || ( GetDead.BravilGuardCityPostDay01 == 1 ) || ( GetDead.BravilGuardCityPostDay02 == 1 ) || ( GetDead.BravilGuardCityPostDay03 == 1 ) || ( GetDead.BravilGuardCityPostNight01 == 1 ) || ( GetDead.BravilGuardCityPostNight02 == 1 ) || ( GetDead.BravilGuardCityPostNight03 == 1 )
      Player.SetCrimeGold 0
   ElseIf ( GetDead.BravilGuardCityPostStablesDay == 1 ) || ( GetDead.BravilGuardCityPostStablesNight == 1 ) || ( GetDead.BrumaGuardCityPatrolDay01 == 1 ) || ( GetDead.BrumaGuardCityPatrolDay02 == 1 ) || ( GetDead.BrumaGuardCityPatrolNight01 == 1 ) || ( GetDead.BrumaGuardCityPatrolNight02 == 1 ) || ( GetDead.BrumaGuardCityPostDay01 == 1 ) || ( GetDead.BrumaGuardCityPostDay02 == 1 ) || ( GetDead.BrumaGuardCityPostDay03 == 1 ) || ( GetDead.BrumaGuardCityPostDay04 == 1 )
      Player.SetCrimeGold 0
   ElseIf ( GetDead.BrumaGuardCityPostNight01 == 1 ) || ( GetDead.BrumaGuardCityPostNight02 == 1 ) || ( GetDead.BrumaGuardCityPostNight03 == 1 ) || ( GetDead.BrumaGuardCityPostNight04 == 1 ) || ( GetDead.BrumaGuardCityPostStablesDay == 1 ) || ( GetDead.BrumaGuardCityPostStablesNight == 1 ) || ( GetDead.CheydinhalGuardCityPatrolDay01 == 1 ) || ( GetDead.CheydinhalGuardCityPatrolDay02 == 1 ) || ( GetDead.CheydinhalGuardCityPatrolNight01 == 1 )
      Player.SetCrimeGold 0
   ElseIf ( GetDead.CheydinhalGuardCityPatrolNight02 == 1 ) || ( GetDead.CheydinhalGuardCityPostDay01 == 1 ) || ( GetDead.CheydinhalGuardCityPostDay02 == 1 ) || ( GetDead.CheydinhalGuardCityPostDay03 == 1 ) || ( GetDead.CheydinhalGuardCityPostDay04 == 1 ) || ( GetDead.CheydinhalGuardCityPostNight01 == 1 ) || ( GetDead.CheydinhalGuardCityPostNight02 == 1 ) || ( GetDead.CheydinhalGuardCityPostNight03 == 1 ) || ( GetDead.CheydinhalGuardCityPostNight04 == 1 )
      Player.SetCrimeGold 0
   ElseIf ( GetDead.CheydinhalGuardCityPostStablesDay == 1 ) || ( GetDead.CheydinhalGuardCityPostStablesNight == 1 ) || ( GetDead.ChorrolGuardPatrolDay01 == 1 ) || ( GetDead.ChorrolGuardPatrolDay02 == 1 ) || ( GetDead.ChorrolGuardPatrolDay03 == 1 ) || ( GetDead.ChorrolGuardPatrolNight01 == 1 ) || ( GetDead.ChorrolGuardPatrolNight02 == 1 ) || ( GetDead.ChorrolGuardPatrolNight03 == 1 ) || ( GetDead.ChorrolGuardPostDay01 == 1 ) || ( GetDead.ChorrolGuardPostDay02 == 1 )
      Player.SetCrimeGold 0
   ElseIf ( GetDead.ChorrolGuardPostDay03 == 1 ) || ( GetDead.ChorrolGuardPostNight01 == 1 ) || ( GetDead.ChorrolGuardPostNight02 == 1 ) || ( GetDead.ChorrolGuardPostNight03 == 1 ) || ( GetDead.ChorrolGuardPostStablesDay == 1 ) || ( GetDead.ChorrolGuardPostStablesNight == 1 ) || ( GetDead.LeyawiinGuardCityPatrolDay01 == 1 ) || ( GetDead.LeyawiinGuardCityPatrolDay03 == 1 ) || ( GetDead.LeyawiinGuardCityPatrolNight01 == 1 ) || ( GetDead.LeyawiinGuardCityPatrolNight03 == 1 )
      Player.SetCrimeGold 0
   ElseIf ( GetDead.LeyawiinGuardCityPostDay01 == 1 ) || ( GetDead.LeyawiinGuardCityPostDay02 == 1 ) || ( GetDead.LeyawiinGuardCityPostDay03 == 1 ) || ( GetDead.LeyawiinGuardCityPostNight01 == 1 ) || ( GetDead.LeyawiinGuardCityPostNight02 == 1 ) || ( GetDead.LeyawiinGuardCityPostNight03 == 1 ) || ( GetDead.LeyawiinGuardCityStablesPostDay == 1 ) || ( GetDead.LeyawiinGuardCityPostStablesNight == 1 ) || ( GetDead.SkingradCastleGuardPatrolDay01 == 1)
      Player.SetCrimeGold 0
   ElseIf ( GetDead.SkingradCastleGuardPatrolDay02 == 1) || ( GetDead.SkingradCastleGuardPatrolNight01 == 1) || ( GetDead.SkingradCastleGuardPatrolNight02 == 1) || ( GetDead.SkingradCastleGuardPostDay01 == 1) || ( GetDead.SkingradCastleGuardPostDay02 == 1) || ( GetDead.SkingradCastleGuardPostNight01 == 1) || ( GetDead.SkingradCastleGuardPostNight02 == 1) || ( GetDead.SkingradGuardPatrolDay01 == 1) || ( GetDead.SkingradGuardPatrolNight01 == 1) || ( GetDead.SkingradGuardPostDay01 == 1)
      Player.SetCrimeGold 0
   ElseIf ( GetDead.SkingradGuardPostDay02 == 1) || ( GetDead.SkingradGuardPostDay03 == 1) || ( GetDead.SkingradGuardPostDay04 == 1) || ( GetDead.SkingradGuardPostNight01 == 1) || ( GetDead.SkingradGuardPostNight02 == 1) || ( GetDead.SkingradGuardPostNight03 == 1) || ( GetDead.SkingradGuardPostNight04 == 1) || ( GetDead.SkingradGuardPostStablesDay == 1) || ( GetDead.SkingradGuardPostStablesNight == 1)
      Player.SetCrimeGold 0
   EndIf
EndIf

End
 
an der stelle, wo die zeile länger als 512 zeichen wird (bzw. irgendwo davor, eine variable in der mitte durchzuschnibbeln ist vielleicht nicht so ratsam :roll:)
deine nächste frage dürfte jetzt sein, wie du denn die 512. stelle erkennst. da gibts 2 möglichkeiten: entweder du zälst die zeichen von hand ab, oder du kopierst das script in einen editor, der dir die anzahl der zeichen anzeigen kann ;)

und damit sich das nicht noch ewig hier hinzieht:

Code:
VLSchwertSkript

short cquest

Begin GameMode

If ( GetStage [QuestID] == [Stage] ) && ( cquest == 0 )
   Player.SetCrimeGold 8000000
   Set cquest To 1
EndIf

If ( Player.GetInCell [CellID] )
   If ( GetDead.AnvilGuardCityPatrolDay01 == 1 ) || ( GetDead.AnvilGuardCityPatrolDay02 == 1 ) || ( GetDead.AnvilGuardCityPatrolNight01 == 1 ) || ( GetDead.AnvilGuardCityPatrolNight02 == 1 ) || ( GetDead.AnvilGuardCityPostDay01 == 1 ) || ( GetDead.AnvilGuardCityPostDay02 == 1 ) || ( GetDead.AnvilGuardCityPostDay03 == 1 ) || ( GetDead.AnvilGuardCityPostNight01 == 1 ) || ( GetDead.AnvilGuardCityPostNight02 == 1 ) || ( GetDead.AnvilGuardCityPostNight03 == 1 )
      Player.SetCrimeGold 0
   ElseIf ( GetDead.AnvilGuardCityPostStablesDay == 1 ) || ( GetDead.AnvilGuardCityPostStablesNight == 1 ) || ( GetDead.BravilGuardCityPatrolDay01 == 1 ) || ( GetDead.BravilGuardCityPatrolNight01 == 1 ) || ( GetDead.BravilGuardCityPostDay01 == 1 ) || ( GetDead.BravilGuardCityPostDay02 == 1 ) || ( GetDead.BravilGuardCityPostDay03 == 1 ) || ( GetDead.BravilGuardCityPostNight01 == 1 ) || ( GetDead.BravilGuardCityPostNight02 == 1 ) || ( GetDead.BravilGuardCityPostNight03 == 1 )
      Player.SetCrimeGold 0
   ElseIf ( GetDead.BravilGuardCityPostStablesDay == 1 ) || ( GetDead.BravilGuardCityPostStablesNight == 1 ) || ( GetDead.BrumaGuardCityPatrolDay01 == 1 ) || ( GetDead.BrumaGuardCityPatrolDay02 == 1 ) || ( GetDead.BrumaGuardCityPatrolNight01 == 1 ) || ( GetDead.BrumaGuardCityPatrolNight02 == 1 ) || ( GetDead.BrumaGuardCityPostDay01 == 1 ) || ( GetDead.BrumaGuardCityPostDay02 == 1 ) || ( GetDead.BrumaGuardCityPostDay03 == 1 ) || ( GetDead.BrumaGuardCityPostDay04 == 1 )
      Player.SetCrimeGold 0
   ElseIf ( GetDead.BrumaGuardCityPostNight01 == 1 ) || ( GetDead.BrumaGuardCityPostNight02 == 1 ) || ( GetDead.BrumaGuardCityPostNight03 == 1 ) || ( GetDead.BrumaGuardCityPostNight04 == 1 ) || ( GetDead.BrumaGuardCityPostStablesDay == 1 ) || ( GetDead.BrumaGuardCityPostStablesNight == 1 ) || ( GetDead.CheydinhalGuardCityPatrolDay01 == 1 ) || ( GetDead.CheydinhalGuardCityPatrolDay02 == 1 ) || ( GetDead.CheydinhalGuardCityPatrolNight01 == 1 )
      Player.SetCrimeGold 0
   ElseIf ( GetDead.CheydinhalGuardCityPatrolNight02 == 1 ) || ( GetDead.CheydinhalGuardCityPostDay01 == 1 ) || ( GetDead.CheydinhalGuardCityPostDay02 == 1 ) || ( GetDead.CheydinhalGuardCityPostDay03 == 1 ) || ( GetDead.CheydinhalGuardCityPostDay04 == 1 ) || ( GetDead.CheydinhalGuardCityPostNight01 == 1 ) || ( GetDead.CheydinhalGuardCityPostNight02 == 1 ) || ( GetDead.CheydinhalGuardCityPostNight03 == 1 ) || ( GetDead.CheydinhalGuardCityPostNight04 == 1 )
      Player.SetCrimeGold 0
   ElseIf ( GetDead.CheydinhalGuardCityPostStablesDay == 1 ) || ( GetDead.CheydinhalGuardCityPostStablesNight == 1 ) || ( GetDead.ChorrolGuardPatrolDay01 == 1 ) || ( GetDead.ChorrolGuardPatrolDay02 == 1 ) || ( GetDead.ChorrolGuardPatrolDay03 == 1 ) || ( GetDead.ChorrolGuardPatrolNight01 == 1 ) || ( GetDead.ChorrolGuardPatrolNight02 == 1 ) || ( GetDead.ChorrolGuardPatrolNight03 == 1 ) || ( GetDead.ChorrolGuardPostDay01 == 1 ) || ( GetDead.ChorrolGuardPostDay02 == 1 )
      Player.SetCrimeGold 0
   ElseIf ( GetDead.ChorrolGuardPostDay03 == 1 ) || ( GetDead.ChorrolGuardPostNight01 == 1 ) || ( GetDead.ChorrolGuardPostNight02 == 1 ) || ( GetDead.ChorrolGuardPostNight03 == 1 ) || ( GetDead.ChorrolGuardPostStablesDay == 1 ) || ( GetDead.ChorrolGuardPostStablesNight == 1 ) || ( GetDead.LeyawiinGuardCityPatrolDay01 == 1 ) || ( GetDead.LeyawiinGuardCityPatrolDay03 == 1 ) || ( GetDead.LeyawiinGuardCityPatrolNight01 == 1 ) || ( GetDead.LeyawiinGuardCityPatrolNight03 == 1 )
      Player.SetCrimeGold 0
   ElseIf ( GetDead.LeyawiinGuardCityPostDay01 == 1 ) || ( GetDead.LeyawiinGuardCityPostDay02 == 1 ) || ( GetDead.LeyawiinGuardCityPostDay03 == 1 ) || ( GetDead.LeyawiinGuardCityPostNight01 == 1 ) || ( GetDead.LeyawiinGuardCityPostNight02 == 1 ) || ( GetDead.LeyawiinGuardCityPostNight03 == 1 ) || ( GetDead.LeyawiinGuardCityStablesPostDay == 1 ) || ( GetDead.LeyawiinGuardCityPostStablesNight == 1 ) || ( GetDead.SkingradCastleGuardPatrolDay01 == 1)
      Player.SetCrimeGold 0
   ElseIf ( GetDead.SkingradCastleGuardPatrolDay02 == 1) || ( GetDead.SkingradCastleGuardPatrolNight01 == 1) || ( GetDead.SkingradCastleGuardPatrolNight02 == 1) || ( GetDead.SkingradCastleGuardPostDay01 == 1) || ( GetDead.SkingradCastleGuardPostDay02 == 1) || ( GetDead.SkingradCastleGuardPostNight01 == 1) || ( GetDead.SkingradCastleGuardPostNight02 == 1) || ( GetDead.SkingradGuardPatrolDay01 == 1) || ( GetDead.SkingradGuardPatrolNight01 == 1) || ( GetDead.SkingradGuardPostDay01 == 1)
      Player.SetCrimeGold 0
   ElseIf ( GetDead.SkingradGuardPostDay02 == 1) || ( GetDead.SkingradGuardPostDay03 == 1) || ( GetDead.SkingradGuardPostDay04 == 1) || ( GetDead.SkingradGuardPostNight01 == 1) || ( GetDead.SkingradGuardPostNight02 == 1) || ( GetDead.SkingradGuardPostNight03 == 1) || ( GetDead.SkingradGuardPostNight04 == 1) || ( GetDead.SkingradGuardPostStablesDay == 1) || ( GetDead.SkingradGuardPostStablesNight == 1)
      Player.SetCrimeGold 0
   EndIf
EndIf

End

das ist jetzt das richtige skript?
 
Hallo!

Ich habe hier auch gerade ein Skript-Problem. Da mein Skript zu lange ist, muss ich das auf zwei Skripte aufteilen.
Skript A wird mit einem Aktivator aufgerufen, Skript B liegt auf einem anderen Aktivator mit der Objektreferenz "mdeAktivatorSkriptBRef". Nur leider wird das zweite Skript nicht aufgerufen. Wie müsste ich das anpassen ? Habe es schon mit "OnActivate" und "OnActivate Player" ausprobiert, funktioniert leider beides nicht.


Code:
Scriptname mdeSkriptA

short button

Begin OnActivate
     If (IsActionRef Player == 1)
          MessageBox "xxx", "Ja", "Nein"
     EndIf
End

Begin GameMode
     Set button to GetButtonPressed

     If (button == 0)
        Message "Skript 1 laeuft"
        [...]
    EndIf


[...]

activate mdeAktivatorSkriptBRef

End
Code:
Scriptname mdeSkriptB

Begin OnActivate Player

   Message "Skript 2 laeuft"

   [...]

End
Gruß, mde.
 
Hallo!

Ich habe hier auch gerade ein Skript-Problem. Da mein Skript zu lange ist, muss ich das auf zwei Skripte aufteilen.
Skript A wird mit einem Aktivator aufgerufen, Skript B liegt auf einem anderen Aktivator mit der Objektreferenz "mdeAktivatorSkriptBRef". Nur leider wird das zweite Skript nicht aufgerufen. Wie müsste ich das anpassen ? Habe es schon mit "OnActivate" und "OnActivate Player" ausprobiert, funktioniert leider beides nicht.


Code:
Scriptname mdeSkriptA

short button

Begin OnActivate
     If (IsActionRef Player == 1)
          MessageBox "xxx", "Ja", "Nein"
     EndIf
End

Begin GameMode
     Set button to GetButtonPressed

     If (button == 0)
        Message "Skript 1 laeuft"
        [...]
    EndIf


[...]

activate mdeAktivatorSkriptBRef

End
Code:
Scriptname mdeSkriptB

Begin OnActivate Player

   Message "Skript 2 laeuft"

   [...]

End
Gruß, mde.

Code:
Scriptname mdeSkriptA

ref MySelf
short button

Begin OnActivate Player
Set MySelf to GetSelf
          MessageBox "xxx", "Ja", "Nein"
     EndIf
End

Begin GameMode
     Set button to GetButtonPressed

     If (button == 0)
        Message "Skript 1 laeuft"
        [...]
    EndIf


[...]

mdeAktivatorSkriptBRef.Activate MySelf 1

End
 
Hallo, bin wieder da, und brauche auch gleich hilfe für ein Script.
Ich habe folgendes Script geschrieben:

Code:
Scn 01MeinQuestScript

Begin GameMode

If ( ShadowNPC01.Getdead == 1 )

Setstage 01ShadowQuest 50

endif

end

Hab das Script auf den NPC gelegt, aber es funktionirt nicht.

kann mir einer Helfen?
thy im vorraus.

Ps: Noch ne frage; Was muss man nochmal schreiben, damit ein script anfängt, wenn ein Item ins Inventar komm?

PPS: OK hat sich erledigt.
mfg
Shadow-King
 
Zuletzt bearbeitet: