Construction Set Der Scriptthread

@Rocky sorry, hab nen Tippfehler!!
Bei If (controlvar == 0)

Jetz müsste es aber gehen^^

@Neensis : nich hinter "Ja" AlTravel...
sondern als neues "Textfenster" Und dortschreibste nei : Gut ich brine euch hin!
Bei Function/Variable kommt hin
Function -> Choice -> == -> 1
Und bei JA bei Resultsm uss dann das Travel-dingsbums hin^^!!
Und wenn du hinschreibst als antwort Ja/Nein, musst du davor ein Choice setzen!
Also so: Choice "Ja" 1 "Nein" 2
Und dann überlegste dir noch´n text für die antwort neiin zb: Dann halt net oder so^^
mfg
 
  • Like
Reaktionen: 1 Person
So jetzt funzt es danke Dir. Demnächst kommen öfter solche Fragen.
 
@Rocky sorry, hab nen Tippfehler!!
Bei If (controlvar == 0)

Jetz müsste es aber gehen^^

@Neensis : nich hinter "Ja" AlTravel...
sondern als neues "Textfenster" Und dortschreibste nei : Gut ich brine euch hin!
Bei Function/Variable kommt hin
Function -> Choice -> == -> 1
Und bei JA bei Resultsm uss dann das Travel-dingsbums hin^^!!
Und wenn du hinschreibst als antwort Ja/Nein, musst du davor ein Choice setzen!
Also so: Choice "Ja" 1 "Nein" 2
Und dann überlegste dir noch´n text für die antwort neiin zb: Dann halt net oder so^^
mfg


ok ^^ naja xD ich blick noch net ganz durch ... also ich hab 1 topic(des heist bei mir "der weg") ... und was soll ich jetzt in das leere feld reinschreiben ? ich hab da jetzt ein "wollt ihr reisen?" drinn ... und bei result noch nix ... aber wo soll jezt das ja/nein und das gut_gehn_wir/dann_eben_net hin o_O und bei welchen von denen muss ich das Function -> Choice -> == -> 1 reinschreiben .. und was bei den anderen ?
 
HI, ums gleich zu sagen, ich bin ein totaler Script-Vollnoob :oops: , also hab ich auch eine Frage ;)

Ich brauche ein Skript, dass so manche Objekte, wie zb einen Lichtstrahl bei Tag einschaltet und bei Nacht ausschaltet, dabei sollte der Strahl zum Mittag hin stärker werden und zum Abend hin schwächer werden und er sollte natürlich nicht bei Nebel, Regen oder so angezeigt werden ;) .

mfg, Andolin
 
@Andolin
Besorg dir ein Tutorial... Was du brauchst, ist eine einfache Übung... Nur extrem mühsam, weil du alle Bedingungen einzeln abfragen musst. Du könntest es zum Beispiel so gestalten, dass du über den Tag verteilt z.B. sechs Lichter hast, je eines für Morgen- und Abenddämmerung und drei über den Tag verteilt, das letzte ist dann ein schwaches, dunkles für die Nacht.

Dann brauchst du nur eine If-Abfrage für jede Bedingung: Tageszeit später als..., Tageszeit früher als... Wetter nicht gleich (für jedes Wetter einmal, bei dem das Licht nicht brennen soll)... Brennt das Licht schon oder nicht...

Im Prinzip ganz einfach, weil du nur die If-Abfrage brauchst und die Enable/Disable-Befehle (naja, evtl. noch return). Aber extrem mühsam zum Scripten und in grosser Anzahl nicht mehr spielbar...

Gruss
Kensen
 
Ich binn ein kompletter vollnoop was skripten angeht hab noch nie was mit skritpts gemacht:oops: und ich breuchte einen dass wenn ich an einen bestimten punkt komme (selbst ersteltes lager) mich in einen acheguhl verwandle
aber ich meine alten werte behalte und wieterhin alle ganz normal nit mir reden
(und angreifen) so wie foher halt also nur gestaltwechsel hofentlich kann mir jemand helfen:?
 
Ich binn ein kompletter vollnoop was skripten angeht hab noch nie was mit skritpts gemacht:oops: und ich breuchte einen dass wenn ich an einen bestimten punkt komme (selbst ersteltes lager) mich in einen acheguhl verwandle
aber ich meine alten werte behalte und wieterhin alle ganz normal nit mir reden
(und angreifen) so wie foher halt also nur gestaltwechsel hofentlich kann mir jemand helfen:?

1. Rechtschreibung (nur ma so ja:lol:)
2. Ich glaube nicht, dass das funktioniert (in Ascheghul verwandeln)
 
Möglich ist es. Siehe PI: MW Script Extender: Da kann man sich ja auch in einen Bürstenrücken, Bären und Wolf verwandeln. Man müsste dann nur die Scripts auf den Ascheguhl anpassen.

mfg Pagan
 
ich brauch jetzt mal ein script das folgendes macht:

es soll einen zauber auslösen wenn der spieler sich dem activator auf 10 fußnähert.


wäre das möglich?
 
Es gibt in Bloodmoon in der Eisfalterfestung einen Teppich, der einen Zauber auslöst, sobald man ihn betritt. Das gehört zu dem Quest der Rabenfelskolonie, wo man die Berichte abliefern muss. Das Script ist also ähnlich, man müsste es nur anpassen. Ich kenne mich nicht gut mit dem Scripten aus, aber in Killfetzters Konsolenbefehl-Tutorial müsstest du den entsprechenden Befehl finden.

Begin ColonyRugTrap

;controls triggering of trapped rug for quest CO_9



short doonce




if ( GetJournalIndex "CO_9" > 10 )
if ( GetJournalIndex "CO_9" < 50 )
if ( doonce == 0 )
if ( GetStandingPC == 1 )
cast, "colony_rug", Player
MessageBox "Ihr habt eine Falle ausgelöst!"
set "Constans Atrius".rugtrap to 1
set doonce to 1
endif
endif
endif
endif

End ColonyRugTrap
 
Zuletzt bearbeitet:
@Hellchrist ja es ist möglich.:-D

HTML:
Begin your_script

short state

If ( state == 0 )
     If (GetDistance, Player < 10 )
         set state to 1
      endif
endif
If ( state == 1) 
    AddSpell, "zauber ID"
endif

End
Jetz word der Zauber auf den Activator losgelassen. Wenn der zauber auf jemand anderen losgelassen werden soll siehts so aus:lol:

Begin your_script

short state

If ( state == 0 )
If (GetDistance, Player < 10 )
set state to 1
endif
endif

If ( state == 1)
ID des getroffenen-> AddSpell, "zauber ID"
endif

End
Wenn du willst, das sich der Zauber später entfernt, sagen wir nach 10 CS-Zeiteinheiten:8)

Begin your_script

short timer
short state

If ( state == 0 )
If ( GetDistance, Player < 10 )
set state to 1
endif
endif

If ( state == 1 )
AddSpell, "ID"
set state to 2
endif

If ( state == 2 )
set timer to ( timer + GetSecondsPassed )
If (timer > 10 )
ID (nicht nötig wenn zauber auf activator ausgeführt wird) des Getroffenen -> RemoveSpell, "ID des zaubers"
set timer to 0
set state to 5
End
Müste so gehen:roll:
mfg:D
 
begin HauMichGross

float resizeMe
float myScale
short isDead
short OnPCHitMe

if ( menumode == 1 )
return
endif

if ( isDead == 1 )
return
endif

set isDead to OnDeath
set resizeMe to OnPCHitMe * 0.25

if ( resizeMe == 0 )
return
endif

if ( myScale < 10 )
if ( myScale > 0 )

set myScale to myScale + resizeMe
setScale myScale

else
setscale 1.25
set myScale 1.25
endif
endif

end

Es fehlt ein to es muss

begin HauMichGross

float resizeMe
float myScale
short isDead
short OnPCHitMe

if ( menumode == 1 )
return
endif

if ( isDead == 1 )
return
endif

set isDead to OnDeath
set resizeMe to OnPCHitMe * 0.25

if ( resizeMe == 0 )
return
endif

if ( myScale < 10 )
if ( myScale > 0 )

set myScale to myScale + resizeMe
setScale myScale

else
setscale 1.25
set myScale to 1.25
endif
endif

end

heissen ansonsten ist der script riessen geil! :D
 
HI Hellchrist,
probier das mal, am besten das Script an einen Gegenstand hängen, der sich in der Zelle befindet und nicht an diesen Skrib direkt, ich weiß nicht, ob das Skript weiter ausgeführt wird, wenn er disabled, also unsichtbar gemacht, wird.
Der Rauchwolke müßtest Du dann auch eine eigene Id geben (ich habe sie mal xxxrauchwolke genannt und das Kästchen bei "persistent" ankreuzen)
In die Zelle müßtest Du den Skrib, die Rauchwolke und den Dremora an die gleiche Stelle platzieren


begin skripscript
float timer
short status

if ( status == 0 )
"xxxrauchwolke"->disable
"01_endboss1real"->disable
set status to 1

elseif ( status == 1 )
if ( "01_endboss1false"->getattacked == 1 )
"01_endboss1false"->disable
"xxxrauchwolke"->enable
set status to 2
endif

elseif ( status == 2 )
set timer to ( timer + getsecondspassed )
if ( timer > 4 )
"xxxrauchwolke"->disable
"01_endboss1real"->enable
set timer to 0
set status to 3
endif
endif
end



hi ich brauch nochmal hilfe.
also,ich brauche in script das folgendes macht:
es soll auf einen skrib.der skrib hat die ID "01_endboss1false" (ohne die "" zeichen)
der skrib soll verschwinden wenn man ihn schlägt uns an seiner stelle eine rauchwolke auftauchen,die verschwindet dann nach 3-4 sekunden und da wo der skrib stand soll ein dremora mit folgender id "01_endboss1real" (ohne die "") auftauchen.
wäre das möglich?
wäre cool
ist das möglich das mir das einer macht?

und mr.hlallu
das script funktioniert nicht im richtigen sinne,die tür soll sich öffnen wenn die richtige antwort kam und soll ewig verschlossen sein wenn die antwort falsch ist,
bei beiden antworten ist die tür verschlossen geblieben
 
Zuletzt bearbeitet:
Begin script

Short controlvar
Short button

If ( MenuMode == 1 )
Return
Endif

If ( OnActivate == 1)
If ( controlvar == 2)
activate
endif
endif

If ( OnActivate == 1 )
If ( controlvar == 0 )
MessageBox "Wie heißt Vivec?", "Vivec", "Gerfriede"
Set controlvar to 1
elseif controlvar > 1
activate
endif
endif

if ( controlvar == 1 )
set button to GetButtonPressed
if ( button == -1 )
return
elseif ( button == 1 )
MessageBox "Deine Wahl war richtig"
Activate
set controlvar to 2
else
set controlvar to –1
Endif
elseif ( controlvar == 2 )
Activate
endif
endif

End

@Hellchrist: hab ich überlesen:oops:
Hast du auch die Fragen richtig zugeornet?
button 0 == 1 Antwortmöglichkeit
button2 == 2 usw...
Aber es müsste jetz so gehen
Schau dir mal das Script an, das man im Scripting for Dummies am anfang macht^^
 
ich hab ja auch keine ahnung von scripts, bräuchte aber eins für "Snikkrot"
also frag ich mal hier:

Ein Orkjäger soll am Schießstand stehen und alle 15 sekunden auf eine übungspuppe einen Pfeil abfeuern;
ist das möglich??

thx im vorraus^^
 
ich denke schon^^
Die Trainingspuppe muss: - Eine Kreatur sein.
- persist aktiviert haben.
Das Script kommt auf den Orc.

HTML:
Begin  your_script

short fight
short timer

If ( timer == 0 )
    Start Combat, ID-Puppe
    set fight to 1
endif

If ( fight == 1 )    
      set timer to ( timer + GetSecondsPassed )
      If ( timer > 2 )
           StopCombat, ID 
      endif
endif

If ( timer > 17 )
      set timer to 0
      set fight to 0
endif

End
Wenn der orc keine zeit zum schießen haben sollte, verändere das erste If ( timer > 2 ) die 2 immer größer machen bis es geht.
ABER du musst proportional dazu auch das hier verändern
If ( timer > 17 )

Auf die Puppe

HTML:
Begin not_dead

tgm

End
 
  • Like
Reaktionen: Pagan und Ratgitt
Möglich ist es. Aber ich denke ein wenig umständlich. Mann müsste dann ein Dummie Monster haben (gibt es in diversen Scripts wie z.B. Japanisches Haus, Steinthorhall ...)
Dann müsst man per Script einfach einstellen das er immer nach 15 Sekunden für ein paar Sekunden mit der Puppe kämpft, solange wie er halt zum einmal abfeuern braucht. Und dann den Kampf wieder unterbrechen. Is aber nen ziehmliches Script gefummel.

Begin schießaufpuppe

float timer
short helper

if ( GetDistance, Player < 500 )
set helper to 1
endif

if ( helper == 1 )
set timer to ( timer + getsecondspassed )
endif

if ( timer > 15 )
"ID des Schützen" -> StartCombat "DummieID"
endif

if ( timer > 20 )
"ID des Schützen" -> StopCombat "DummieID"
set timer to 0
endif

end

Da is garantiert noch irgendwo was falsch. Z.B. weiß ich nicht, ob das ganze jetzt endlos ausgeführt wird oder nur einmal. Aber ungefähr so könnte es wahrscheinlich aussehen.

Die GetDistance funktion hab ich eingeführt, damit die Zeitfunktion eingeführt werden kann. du kannst den Wert 500 auch abändern wie du willst. (die Distancefunktion bewirkt nur, am Beispiel des oberen Scripts, das der Typ anfängt mit dem Bogen zu schießen wenn der Spieler ihm näher als 500 Game units kommt) (1 Game unit= 1.42cm)

mfg Pagan

EDIT: Mist, da war Mr Hlallu vor mir. Außerdem ist das ne einfachere Lösung XD
 
  • Like
Reaktionen: Mr. Hlallu