Archiv verlassen und diese Seite im Standarddesign anzeigen : Skriptfrage
schneida
02.07.2006, 07:34
Hallo Leute und Genies! Ich arbeite gerade an einem kleinem Quest PI und nun bräuchte ich einen Skript. Ich hab ein klein bissche Erfahrung, aber hier reicht das sicher nicht aus.
Ich setze im CS ein Tunnel aus CollisionBoxes oben und unten. Der Spieler läuft hinein und dort wartet eine TriggerBox auf ihn. Er aktiviert sie. Vor und hinter ihm werden plötzlich zwei weitere Collision Boxes aktiviert und dann sollten die CollisionBoxes nach unten geschoben werden. Also unterwasser. Eine zeitlange dort untenbleiben, aber rechtzeitig bevor der Spieler ertrinkt wieder auftauchen. Kurz luft schnappen und das selbe von vorne. Danach werden die Verschlusskappen (also Kollisionboxes die am anfang eneabled wurden) wieder diesabled und der Weg kann fortgesetzt werden.
Kann mir jemand so ein Skript schreiben? Bitte bitte! http://www.multimediaxis.de/images/smilies/old/sm_12.gif http://www.multimediaxis.de/images/smilies/old/sm_12.gif
edit: oder eine KI zum Schachspielen?
schneida
03.07.2006, 12:04
Gibts einen Script um objekte zu bewegen? Bitte wenigstens das beantworten! :\
CollisionBoxes, TriggerBoxes. Hm. Habe ich noch nicht mit gearbeitet. Skript wäre sicherlich möglich. Würde mir das ankucken, habe aber direkt gesgt keinen Bock, mir jetzt extra die Höhle nachzubauen. (P.S. bin ab 17 Uhr nicht mehr da, also nicht mosern, wenn nachher keine Antwort mehr kommt. ;))
Objekte würde ich mit SetPos bewegen. Über GetPos die entpsrechenden Koordinaten des Objektes abfragen, in einer Variablen abspeichern und dann in der GameMode-Schleife die Koordinaten so lange erhöhen und wieder zuweisen, bis irgend eine Vorgabe erfüllt ist.
Schach-KI skripten...vergiß es. Das ist in einer regulären Programmiersprache schon ziemlich hart, in einem Oblivion-Skript imho unmöglich.
schneida
03.07.2006, 14:29
Sch**** mit dem Schachskript, aber danke mit den Restlichen Infos! Werd mal schauen ob ich was draus machen kann!
Nachtrag: "Keinen Bock, Höhle zu bauen" bedeuet genau das. Wenn die Höhle dagegen schon fertig wäre... ;)
Koruppter Bulle
03.07.2006, 14:59
Kannste nicht eine vorgebaute von "Bethesda" nehmen?;)
MFG Ritter der PI´s
schneida
03.07.2006, 15:02
gibts sowas schon von Beth?
Lagerhaus_Jonny
03.07.2006, 16:05
Vergiss es, du kannst Collisionboxes nicht bewegen.
Das einzige was zum Thema bewegen funktionieren könnte, ist, wenn du mit Markern arbeitest und die Boxen dann per Script jeweils zu den Markern spawnst. Problem ist nur, das es plötzlich passieren wird und diese boxen von a nach b teleportiert werden. D.h. da ist nix mit Spieler im Wasser hoch und runter schieben. Dazu bräuchtest du einen animierten Activator. Für jemand, der sich mit 3D Progs auskennt sicherlich kein großes Thema, aber ohne sowas geht es nicht.
wieso denn unbedingt kollisions-boxen. wenn sich in oblivion nicht all zu viel verändert hat, dann ist direkte bewegung mit setpos auch am spieler möglich.
du nimmst dem spieler die kontrolle, sei es mit einem direkten script-befehl oder mit einem schweren gegenstand im inventar und führst dann setpos in verbindung mit getpos am spieler aus.
der teil mit der bewegung könnte dann so aussehn:
float currZ
begin gamemode
set currZ to player.getpos z
set currZ to currZ + 100
player.setpos to currZ
end in diesem zustand würde der script den spieler natürlich nach oben tragen bis in alle ewigkeit. du musst jetzt nur noch den ablauf von dem ganzen regeln, also wie tief der spieler untergetaucht wird, wie oft etc.
edit: wurde mein post jetzt stur überlesen, oder was?
schneida
03.07.2006, 16:29
Das heißt es wäre ohne weiters möglich, mit 3dsmax ein objekt zu importieren und dort dann eine Animation einzubauen und wieder zu exportieren? Ich hab 3dsmax daher wär das für mich kein problem!
ne nicht ueberlesen *meine Tastaur ist Englisch!( aber nicht gany kappiert! Wie soll ich den Skript direkt auf den Spieler legen_
du musst den script ja nicht auf den spieler legen, sondern auf irgendein object in seiner nähe.
mit der deklarierung "player.setpos" wird dann die position des spielers verändert
schneida
03.07.2006, 19:02
wie meinst du in seiner Nähe, wie nahe? In der Selben Celle?
wie meinst du in seiner Nähe, wie nahe? In der Selben Celle?ja.
[und damit das kein einwörtler wird...]
du könntest das ganze auch über einen quest-script steuern, der unabhängig von einem objekt agieren kann, aber bei dem hab ich bemerkt, dass er nur alle paar sekunden ausgeführt wird.
platziere in der nähe (in der selben zelle) also einfach ein script-tragfähiges objekt, klatsch ne neue ID drauf und gib ihm den script.
schneida
05.07.2006, 18:25
So hab jetzt noch ne frage: wie skripte ich eine Pause?
Lagerhaus_Jonny
05.07.2006, 18:31
mit ner If-Funktion und einer Timer Variabele.
Timer Funktion ist GetSecondsPassed.
Im CS Wiki steht was darüber.
Da wird allerdings nicht erwähnt, das man anstatt - GetSecondspassed auch + GetSecondsPassed verwenden kann und sogar muss, wenn man ne Pause scripten will.
schneida
05.07.2006, 19:32
ok, danke!
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.