Construction Set Skriptthread zum Construction Set

.
.
.

Ich wollts jetzt so machen, dass ein Script überprüft, welchen Vampirissmus zauber der Spieler grad hat 25;50;75;100 und den dann entfernt und einen anderen (gleiche Einstellungen/Zauber nur ohne Sonnenschaden hinzufügt....

Das einzige Problem ist, dass ich die Abfrage ob der Spieler den zauber hat nicht hinbekomme...


PS: Es gibt verschiedene Vampirissmusstärken und jede zieht unterschiedlich viel ab...

Ich wollts nur nochmal nach vorne hohlen, weil ich immer noch keine ahnung habe wie ich abfrage, ob der Spieler einen bestimmten zauber hat...
 
eventuell:

begin gamemode

if player.hasmagiceffect vampirism100 == 1&& if player.hasmagiceffect vampirism100att == 1 && if player.hasmagiceffect vampirism100skills == 1

removemagiceffect <die oben genannten Effekte>
player.addmagiceffect <die neuen Effekte für Vampirismus-Stufe 100>

endif

end

Das natürlich für jede Vampirismusstufe wiederholen...

MfG

edit: Keine Ahnung, ob die Befehle funzen...
 
  • Like
Reaktionen: Schlchter11
Hier:

Skript ist halt noch nicht fertig, aber das geht ja auch noch nicht...

Code:
scn SM003UmhangSkript01

begin gamemode

if player.hasmagiceffect vampirism100 == 1&& if player.hasmagiceffect vampirism100att == 1 && if player.hasmagiceffect

player.removespell vampirism100
player.addspell SM003vampirism100

elseif

endif

end


Hier die Meldung:


 
Was mir noch einfällt: Du brauchst eigentlich nur eine der drei Bedingungen, nämlich die Frage nach dem "Vampirism100".

Versuchs sonst auch mal mit "Vampirism50" o. Ä.
 
Nur um nochmal drauf zurückzukommen:
SirTroy schrieb:
Wie kann ich überprüfen ob der Player von einer bestimmten Kreatur geschlagen wird? Und funktioniert es das man den Player via PushActorAway wegschleudern kann?
Das ganze darf uch OBSE oder Pluggy brauchen.
Danke (Unglaublich wie sich manhce vordrängeln hier :-D )
 
Was mir noch einfällt: Du brauchst eigentlich nur eine der drei Bedingungen, nämlich die Frage nach dem "Vampirism100".

Versuchs sonst auch mal mit "Vampirism50" o. Ä.


Ich weiß, ich hatte es ja schon draußen, aber ich habs wieder reingemacht, weils nicht funktioniert hatte.

Ich hab mich mit Vampirism100 nicht verschrieben und ja es gibt es auch...... Ist halt eine Eigenschaft, falls das was ausmacht...


PS: Ich drängel mich nicht vor!!!! Der Mod steht nur kurz davor endlich fertig zu werden^^ (Ich weiß was ihr jetzt denkt: "Was ist das für ein Typ, der mit dem, was der Mod eigentlich machen soll, erst kurz vor dem Release anfängt^^" Deswegen ist (siehe meine Signatur) auch endlich die Webseite online....

Edit: nicht wegen dem jetzt erst anfangen, sondern wegen dem fast ferig sein...
 
Zuletzt bearbeitet:
ich bekomme aber trotzdem immer das selbe Schwert, egal was ich im Spiel auswähle (Beispiel: Ich wähle Feuerschaden. Bekomme aber trotzdem Untote Vertreiben als Verzauberung.

auch daran wollte ich euch noch mal erinnern (ich weiss, ich nerve evtl ein bisschen damit, es ist aber so, dass ich das für 3 oder mehr Waffen machen muss und ich dann evtl ne beta releasen wollte)

edit: hier nochmal das script: (das mit dem disable funzt jetzt, das habe ich geändert)

Code:
scn zyannickschwertactivator

short Wahl

short donce

Begin OnActivate
MessageBox "Was für eine Verzauberung willst du?" "Feuerschaden" "Untote Vertreiben" "Seelenfalle""Lebensentzug"

set Wahl to GetButtonPressed

set donce to 1
End

Begin GameMode
if (donce == 1)
    if (Wahl == 1)
        player.additem yschwertfire 1
        ; 0100969B.disable
        set donce to 2
     else (Wahl == 2)
         player.additem yschwertundead 1
        ; 0100969B.disable
        set donce to 2
     else (Wahl == 3)
         player.additem yschwertsoultrap 1
        ; 0100969B.disable
        set donce to 2
     else (Wahl == 4)
         player.additem yschwertdahinraffen 1
        ; 0100969B.disable
        set donce to 2
    endif
endif
End
edit2: könnte das daran liegen, dass Wahl eine Variable ist, die nirgendwo geändert wird?
oder muss da vielleicht ein elseif hin statt else?
 
Zuletzt bearbeitet:
Dein Fehler lag darin, dass du falsch gezählt hat. Bei Messageboxen hat die erste Antwortmöglichkeit nicht die Zahl 1, sondern 0. Dementsprechend hat die zweite die Zahl 1 und so weiter...
So müsste es jetzt funktionieren:

Code:
scn ...

short doonce
short wahl

Begin onActivate

if doonce == 0

MessageBox "Was für eine Verzauberung willst du?" "Feuerschaden" "Untote Vertreiben" "Seelenfalle""Lebensentzug"
set Wahl to GetButtonPressed

endif

end


Begin GameMode

if (doonce == 0)

    if (Wahl == 0)
        player.additem yschwertfire 1
        ; 0100969B.disable
        set doonce to 1

     else (Wahl == 1)
         player.additem yschwertundead 1
        ; 0100969B.disable
        set doonce to 1

     else (Wahl == 2)
         player.additem yschwertsoultrap 1
        ; 0100969B.disable
        set donce to 1

     else (Wahl == 3)
         player.additem yschwertdahinraffen 1
        ; 0100969B.disable
        set doonce to 1

    endif

endif

End
 
Ich hab auch mal ne frage an euch. Ich will einen gegenstand nach der aktivierung rotieren lassen (um 100 in 2 sec), was ja mit rotate y, 100 ginge, in einem Script, dass 2 Sekunden lang läuft. Aber irgendwie bin ich zu doof... timer mochte ich noch nie :-D
Code:
scn ercCoffinDoorScript

short open
short active
float timer

begin onactivate
if active == 0
set active to 1
endif
end

Begin gamemode
if active == 1
set timer to getsecondspassed 

if timer <= 2
if open == 0
ercCoffinDoorref01.rotate y, -50
;set open to 1
set active to 0

;else

;ercCoffinDoorref01.rotate y, 50
;set open to 0
;set active to 0

endif
endif
endif
end
mfg erc
 
Code:
scn ercCoffinDoorScript

short open
short active
float timer

begin onactivate
if active == 0
set active to 1
Set Timer to 2 ; Der Timer muss ja erstmal den entsprechenden wert bekommen
endif
end

Begin gamemode
if active == 1
set timer to Timer - getsecondspassed 

if timer == 1
if open == 0
ercCoffinDoorref01.rotate y, -50
;set open to 1
set active to 0

;else
;ercCoffinDoorref01.rotate y, 50
;set open to 0
;set active to 0

endif
endif
endif
end
So der Timer dürfte jetzt funktionieren.
 
  • Like
Reaktionen: ercvomnil
Hi Leute

ums gleich mal auf den punkt zu bringen ich bin neu hier weil ich eure hilfe brauche beim Skript schreiben (wie sollte es auch anders sein8))

Ich hab mir in den kopf gesetzt das es doch möglich sein müsste sich eine art nanosuit von crysis zu basteln

hab das eine skript von Patta93 gelesen mit der Verzauberungsänderung.
müsste das nicht auch für die rüstung funktionieren und in diesem fall auswählen können für :

Maximum Strength - festigen stärke und akrobatik (oder so)
Maximum Speed - festigen schnelligkeit
Maximum Armor - Schild auf 85 oder so
Tarnung - Chameleon Effekt 100

Wäre das irgendwie möglich :huh:

Vielen Dank im Voraus

mfg eagle
 
Das müsste möglich sein, nur müsstest du das ganze noch etwas ausweiten. Man müsste noch wissen, wie man die Rüstung (sprich den Modus) wechseln soll (am besten nich per Hotkey, sons brauchste OBSE).

Eine leichte Möglichkeit, die Modis scripttechnisch zu wechseln wäre
player.removeitem ITEMID1 <- hier z.b. die id von der rüssi mit maximum strength

player.additem ITEMID2 <- hier z.b. die id von der rüssi mit Schild
player.equipitem ITEMID2 <- und schon hat er auf Schildmodus gewechselt ^^


PS: Ich würde einen Rüstungswechsel vorziehen, da du ja nicht nur die Verzauberungen, sondern wahrscheinlich auch die Rüstungsfarbe (wie bei Crysis eben) ändern willst, oder?
 
mh auch ne nette idee
aber das mit den hotkeys hätte ich schon gerne das es so ähnlich wird wie bei crysis mit dem auswählen

gedacht hatte ich es so das man eine rüstung hat bei der eben nur die effekte geändert werden

also eine standart rüstung ohne verzauberung und sobald man eine bestimmte taste drückt und ein Menü erscheint. in diesem man eben eine verzauberungsart auswählen kann wie schon beschrieben.

und diese bei erneutem drücken der hotkeytaste im menü eine andere verzauberungsart auswählen kann

Beispiel :

Hotkeytaste (z.b. alt links) wird betätigt
Menü erscheint mit folgenden auswahlmöglichkeiten :

Maximum Strength - festigen stärke und akrobatik (oder so)
Maximum Speed - festigen schnelligkeit
Maximum Armor - Schild auf 85 oder so
Tarnung - Chameleon Effekt 100
Normal - ohne Verzauberung

nach dem die wahl getroffen wurde (z.b. Maximum Speed) Wird jedes Rüstungsteil des Nanosuits mit festigen Schnelligkeit verzaubert

drückt man erneut die "alt links" taste erscheint erneut das menü

wählt jetzt "maximum Strength" aus und die vorhergehende verzauberung endet und eine neue kommt auf die rüstungsteile in dem fall festigen stärke und akrobatik


so sollte es im großen und ganzen funktionieren

ich hoffe das ist irgendiwe machbar :)
 
ok nurmein problem is ja das ich ein kleiner noob bin in sachen scripten
mal kleinere sachen in bestehenden scripts hab ich geändert aber eines komplett selbst erstellt hab ich noch nie

weil ich die befehle nicht kenne und auch den scriptaufbau nicht selber kann (noch nicht)

bin gerade dabei eines zu erstellen kanns ja hier mal posten aber bittenicht auslachen ;-)

les mir gerade zick seiten durch um die befehle zusammen zu stöpseln ^^