.| Autor | Beitrag |
|---|---|
|
000 13.07.2002, 14:38 dErGoO |
Also, ich muß euch erneut mit einem Entity-Prob langweilen. Wie ich in einem anderen Thread schonmal erwähnt habe, benutze ich in meiner Map (für den cstrike.de-funmapcontest) einige Buttons, unter denen einmal "richtige" Buttons sind, die einen "Multi_Manager" (der wiederum einige andere Sachen triggert) auslösen, und "falsche", die ein "env_global" triggern, was einen "multisource" auf "off" setzt, den alle buttons als "Master" haben. Nach 3 Sekunden wird das "env_global" (und dadurch der Multisource) per Multimanager wieder auf "on" gesetzt. Ein "richtiger" Button soll über den "Multimanager" unter anderem auch einen "trigger_changetarget" aktivieren, der den "richtigen" Button zu einem "falschem" macht. Das heißt also, wenn man einen "falschen" Button triggert, soll dieser für 3 Sekunden alle Buttons außer Kraft setzen, und wenn man einen "richtigen" triggert soll dieser, nach dem er sein target aktiviert hat, zu einem "falschen" werden. Das klappt auch eigentlich alles gut, allerdings entsteh folgendes Problem: Wenn ich den "delay before reset"-Wert der "func_buttons" auf "-1" setze, dann funktionieren zwar die "falschen" genau wie sie sollen, und auch die "richtigen" triggern ihre targets, aber nachdem die "richtigen" ihre targets getriggert haben und zu falschen werden, triggern sie beim erneuten Aufruf überhaupt nichts mehr (weder die "richtigen" targets, noch die "falschen"). Wenn ich den "delay before reset"-Wert der "func_buttons" dagegen auf eine Zahl, die "0" bzw. " > 0" ist, dann bleiben die Buttons, auch wenn ein falscher getriggert wurde alle benutzbar. Weiß jemand eine Lösung?! --Dieser Beitrag wurde am 13.07.2002 um 14:39 von dErGoO bearbeitet. |
|
Profil || Suche |
|
001 13.07.2002, 14:45 Mr.Ouch |
Mein gott klingt dass kompliziert! Sowas hab ich zwar noch nie gemacht, aber versuch mal bei den flags der buttons "Toggle" zu aktivieren. --[THE ACCIDENT: A Half-Life Singleplayer mod] |
|
Profil || Suche |
|
002 13.07.2002, 14:47 dErGoO |
Ist bereits aktiviert. Und übrigens: Das ist einer der einfacheren Sachen des Entitie-Systems :) Wens interessiert: http://www.goo-design.de/stuff/quiz_showhall.jpg <-- Ein WC Shot der Map (die Entities mach ich wegen Compile Zeiten erstmal inner kleinen Test-Map) --Dieser Beitrag wurde am 13.07.2002 um 14:52 von dErGoO bearbeitet. |
|
Profil || Suche |
|
003 13.07.2002, 14:59 LePrau |
Das Problem ist, das CS leider die mit "change_target" umgesetzten Targets nicht wieder zurücksetzt. Bedank dich bitte bei den CS-Codern :P Also langsam:
Ich fürchte, das es ziemlich komplex wird, mals dir vorher auf, und bau das auch noch ordentlich ein, also übersichtlich. Bei 10.000 Entities verliert man leicht die Übersicht =) Eine andere Möglichkeit sehe ich spontan nicht, wie gesagt, CS resetted nur Türen, Trains und Breakables. --Dieser Beitrag wurde am 13.07.2002 um 15:00 von LePrau bearbeitet. |
|
Profil || Suche |
|
004 13.07.2002, 15:25 dErGoO |
Hmm das mit dem "zurücksetzen" verstehe ich nicht so ganz, das hört sich danach an als beziehst du dich schon auf die nächste Runde, oder doch nicht? Es muß doch folgendes möglich sein:
|
|
Profil || Suche |
|
005 13.07.2002, 17:08 LePrau |
Jetzt wo ich es sehe: Bei mir hat es _nicht_ geklappt, mit einem einzigen Env_Global sowohl den initial-sate zu setzen als auch den Wert zu ändern, klappt es bei dir, wenn du einfach ein env_global, das den initial-state setzt baust und ein neues, dass dann den Wert toggled? Was ich mit dem reset meine, ist, dass das Target eines Buttons, wenn es mit change_target geändert wurde, anschließend so bleibt. Das heißt, der Button, der am Anfang auf True zeigt, wird zwar einmalig auf fail umgelenkt, zeigt aber im weiteren Verlauf nie wieder auf True, es sei denn, er wird explizit wieder auf True umgelenkt. Und es gibt natürlich auch keine Möglichkeit herauszufinden ob der Button schon auf Fail oder noch auf True zeigt ... Ich wünsch dir trotzdem viel Erfolg und wenn du es schaffs (ich liebe ja komplexe Entity-Schaltungen) verdienst du dir einen großen Respekt ;) -- |
|
Profil || Suche |
|
006 13.07.2002, 17:46 dErGoO |
was genau meinst du denn mit "explizit umgelenkt"?! :) Bzw. Das interesannte ist ja, dass solange der Button als "delay before reset"-Wert "0" bzw. einen Wert ">0" hat, alle Befehle tadelos bei den Multimanagern ankommen. Denn wenn die Buttons diesen Wert haben, klappt eigentlich alles tadelos, auch die trigger_changetargets funktionieren ohne Probleme, nur irgendwas stimmt dann mit der eigentlichen Blockierung (also dem Multisource) nicht. Denn man kann einfach nochmal auf den Button drücken... --Dieser Beitrag wurde am 13.07.2002 um 18:13 von dErGoO bearbeitet. |
|
Profil || Suche |
|
007 13.07.2002, 18:32 Gotenks |
mach stat fail ein false und schon hast du javascript in den entities |
|
Profil || Suche |
|
008 13.07.2002, 19:25 LePrau |
Wie gesagt, zwei env_globals verwenden, eins um den initial-state zu setzen, das andere um den Status zu ändern, sonst weiß ich auch nix :( -- |
|
Profil || Suche |
|
009 13.07.2002, 21:44 Flann |
Wenn ich das was du machen willst richtig verstanden habe, habe ich (glaube ich) deine Lösung. |
|
Profil || Suche |
|
010 13.07.2002, 22:19 dErGoO |
hmm bin ja mal gespannt, ob das für meine Zwecke verwendbar ist, also schick in jedem Fall mal :) Ich probier aber auch noch was rum... EDIT: WUHUUUUUU: Ich habs geschafft, es funzt alles genaus so wie es soll :DDDD Hmm wie genau beschreib ich wann anders (muß jetzt weitermappen), hab aber anstatt env_global und master, etc. einfach mal changetargets und so benutzt (sehr schwer zu erklären, werd wohl nach dem Contest die RMF veröffentlichen) :) --Dieser Beitrag wurde am 13.07.2002 um 23:07 von dErGoO bearbeitet. |
|
Profil || Suche |
|
011 14.07.2002, 18:36 Flann |
Gut, dann brauchst du meine ja nicht mehr . . . :) -- |
|
Profil || Suche |



