Eckige Klammern müssen weg ;)
GroßerSeelenstein ist nicht die ObjectID. Die musst du selbst im CS nachgucken...
Druckbare Version
Eckige Klammern müssen weg ;)
GroßerSeelenstein ist nicht die ObjectID. Die musst du selbst im CS nachgucken...
Außerdem bei den neu hinzugefügten Sachen ist wichtig die EditorID und nicht die FormID (diese Zahlenkombination) anzugeben, da das sonst eine bestimmte Position in der Ladereihenfolge voraussetzt.
Kann auch sein, dass das kein Problem mach, ich würde es aber nicht darauf ankommen lassen. ;)
EditorID von dem großen Seelenstein dürfte etwas in der Art von GrandSoulGem sein. Einfach unter Items-->Soulgem nachschauen. ;)
ICh danke euch sehr. jetzt konnte ich mein PI releasen^^.
Da gibt es ein kleines problem.
mit dem script hier.
man bekommt, egal ob man einen großen seelenstein hat oder nicht, einen schwarzen seelenstein für 10k Gold. und die 100HP werden auch nciht abgezogen.Code:ScriptName EaRose
Begin OnActivate
if Player.GetGold >= 10000
Player.removeitem "Gold001" 10000
Player.additem BlackSoulGem 1
else
message "Du hast nicht genügend Gold"
endif
If Player.GetItemCount 'GroßerSeelenstein' != 0
Player.RemoveItem 'GroßerSeelenstein' 1
Player.addspell [01000CEE]
else
Message "Du brauchst einen großen Seelenstein"
endif
end
Lol
Hast du das jetz so veröffentlicht? o_O
Erstens: Du überprüfst in dem sinne ja auch nur ob der Player die 10000 Gold hat.
Du musst also Überprüfen ob der Spieler 10k Gold hat UND ob er einen seelenstein hat...Code:Begin OnActivate
if Player.GetGold >= 10000
Player.removeitem "Gold001" 10000
Player.additem BlackSoulGem 1
else
message "Du hast nicht genügend Gold"
endif
Was mit dem Zauber ist weiß ich nicht.Code:ScriptName EaRose
Begin OnActivate
if Player.GetGold >= 10000 && Player.GetItemCount GroßerSeelenstein != 0
Player.RemoveItem 'GroßerSeelenstein' 1
Player.addspell [01000CEE]
Player.removeitem "Gold001" 10000
Player.additem BlackSoulGem 1
else
message "Du hast nicht genügend Gold, und brauchst einen großen Seelenstein"
endif
end
Ich hätte es mit ModAV2 gemacht.
Ja, scön und gut. Aber was ist wenn der spieler 10k hat, aber kein seelenstein, oder einen seelenstein hat nur keine 10k?
und ich weis nicht was das mit den OBSE so geht. Wie soll ic bitte die scripts von OBSE mit CS laden?
ok, hat sich erledigt. nur das mit den, da brauch ich noch hilfe^^.Zitat:
Aber was ist wenn der spieler 10k hat, aber kein seelenstein, oder einen seelenstein hat nur keine 10k?
In dem du das CS mit OBSE lädst...^^
Denn fügst du eben weitere abfragen ein :p
Nach selben Schema:rolleyes:
Also würde der Script letzendlich so ausehen?
Code:ScriptName EaRose
Begin OnActivate
if Player.GetGold >= 10000 && Player.GetItemCount GroßerSeelenstein != 0
Player.RemoveItem 'GroßerSeelenstein' 1
Player.addspell [01000CEE]
Player.removeitem "Gold001" 10000
Player.additem BlackSoulGem 1
else
if Player.GetGold <= 10000 && Player.GetItemCount GroßerSeelenstein != 0
message "Du hast nicht genügend Gold"
if Player.GetGold >= 10000 && Player.GetItemCount GroßerSeelenstein != 1
message "Du brauchst einen großen Seelenstein"
endif
end
Nicht ganz:
Code:ScriptName EaRose
Begin OnActivate
if Player.GetGold >= 10000 && Player.GetItemCount GroßerSeelenstein != 0
Player.RemoveItem 'GroßerSeelenstein' 1
Player.addspell [01000CEE]
Player.removeitem "Gold001" 10000
Player.additem BlackSoulGem 1
elseif Player.GetGold < 10000 && Player.GetItemCount GroßerSeelenstein != 0
message "Du hast nicht genügend Gold"
elseif Player.GetGold >= 10000 && Player.GetItemCount GroßerSeelenstein == 0
message "Du brauchst einen großen Seelenstein"
endif
end
Du hast noch die Meldung für beides vergessen vergessen. ;)
Code:ScriptName EaRose
Begin OnActivate
if Player.GetGold >= 10000 && Player.GetItemCount GroßerSeelenstein != 0
Player.RemoveItem 'GroßerSeelenstein' 1
Player.addspell [01000CEE]
Player.removeitem "Gold001" 10000
Player.additem BlackSoulGem 1
elseif Player.GetGold < 10000 && Player.GetItemCount GroßerSeelenstein != 0
message "Du hast nicht genügend Gold"
elseif Player.GetGold >= 10000 && Player.GetItemCount GroßerSeelenstein == 0
message "Du brauchst einen großen Seelenstein"
else
Message "Du hast nicht genügend Gold, und brauchst einen großen Seelenstein"
endif
end
brauch neuen script^^. also, der sohl den cheat tcl deaktivieren. fragt nicht wieso. geheimnis. jedenfalls wäre eigentlich ein script gut, womit ich bestimmte cheat befehle ausschalten kann, oder gar die ganze konsole. und einen gegen script, den ich als zauber benutzen kann um die den konsolen-block-script zu deaktivieren. schickt mir bitte diesen per PN.
zum neuen script cheats wirst du denke ich nicht deaktivieren können. Wenn sich jemand, der dein Plugin nutzt, dazu entschliesst zu cheaten ist er selbst schuld.
Ansonsten arbeite mit körperlosen effekten um durch die mauer gehen zu können. also erst die feste mauer von anfang an aktiviert und die körperlose, durch die man gehen kann deaktiviert und dann mit dem zauber beides vertauschen.
Zum Script davor.
Das kann man denke ich auch eleganter lösen. nicht dass es bei einem solch kleinen script von einer tragweite wäre, aber im ungünstigsten fall treten 6 abfragen auf.
wenn man es allerdings ändert, dass die abfragen einzeln sind, aber miteinander verknüpft kommen 2 abfragen vor...
Erste Abfrage hat er das Gold?Code:iptName EaRose
Begin OnActivate
if Player.GetGold < 10000
if Player.GetItemCount GroßerSeelenstein == 0
Message "Du hast nicht genügend Gold, und brauchst einen großen Seelenstein"
else
message "Du hast nicht genügend Gold"
endif
elseif Player.GetItemCount GroßerSeelenstein == 0
message "Du brauchst einen großen Seelenstein"
else
Player.RemoveItem 'GroßerSeelenstein' 1
Player.addspell [01000CEE]
Player.removeitem "Gold001" 10000
Player.additem BlackSoulGem 1
endif
end
wenn nein Zweite Abfrage nach dem Seelenstein um die Message zu bestimmt
wenn ja zweite Abfrage nach dem Seelenstein um ihm den schwarzen zu geben oder die Fehlermeldung rauszurücken.
Es geht einfach darum, dass man sich angewöhnen sollte ressourcensparend zu scripten, da sonst so nen murks wie vista bei herum kommen kann(ich weiss dass bei vista noch anderes hereinspielen kann). das alte script hatte die dreifache menge an möglichen Abfragen stell dir das mal bei einem größeren Projekt vor ;)
LG FH
Wie lautet der Script, wenn eine Tür abgeschlossen ist und nur dann aufgeschlossen ist wenn ein bestimmter gegner tot ist. aber diese tür solte dann auch gegen den cheat "unlock" 100% resi haben. also die tür geht erst auf, wenn der gegener tot ist, und nciht durch unlock?
Simuliere das Schloss über den OnActivate-Block des Scripts der Tür in der du mit GetDead abfrägst, ob betreffender NPC tot ist.
Lässt sich aber über einen Activate-Befehl aushebeln. ;)
Was hast du eigentlich ständig mit deiner Konsolenphobie?
Wenn jemand wirklich cheaten will wirst du es nicht verhindern können, egal wie sehr du dich anstrengst. Lass doch den Kampf gegen Windmühlen sein und konzentriere dich mehr auf die eigentlichen Inhalte der Mod. ;)
also so sieht er aus
falsch oder?Code:ScriptName ActiveDoor
OnActivate-Block
if Actor 01000EE8 GetDead
unlock
else
message "Der Anführer der Rose ist noch am leben!"
endif
end
So sollte das ungefähr aussehen ;)Code:Scriptname ActivateDoorScript01
Begin OnActivate
If Actor.GetDead == 1
Unlock
Else
"Der Anführer der Rose ist noch am Leben!"
Endif
End
Ein Activate muss auch noch mit rein, sonst entfernt man nur das Schloss, kommt durch die Tür selbst aber nicht durch. ;)
Code:scn ActivateDoor
Begin OnActivate
if ( IsActionRef Player )
if ( [Actor].GetDead )
Unlock
Activate
else
Lock 100
Message "Der Anführer der Rose ist noch am Leben!"
endif
elseif ( GetLocked == 0 ) && ( [Actor].GetDead == 0 )
Activate
endif
End
muss ich da die ID oder denn namen eingeben? wenns der nam ist, den englishen oder den deutschenCode:scn ActivateDoor
Begin OnActivate
if ( IsActionRef Player )
if ( [Actor].GetDead )
Unlock
Activate
else
Lock 100
Message "Der Anführer der Rose ist noch am Leben!"
endif
elseif ( GetLocked == 0 ) && ( [Actor].GetDead == 0 )
Activate
endif
End
Die ID also z.B. NPCTroy oda so. Falls es eine Creature ist musst du dieser eine Refercence zuweisen und ein Haken bei Persitent Reference machen (Im Render Window doppelt auf die Creature oder den NPC klicken oben den Namen unten den Haken machen) Und diesen Namen dann im Script benutzen.
Aso, thx. Kruze Off-Topic farge. Gibt es ein Labyrinth zum Downloaden, denn ich benutzen darf ohen die einwilligung des modders? nur das er/sie in den credits erwähnt wird.
und die ID in die eckigen kalmern? oder ohne klammern? ich glaub mit oder?