Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
13.07.2002, 14:38
dErGoO



Also, ich muß euch erneut mit einem Entity-Prob langweilen.
Es geht um folgendes:

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.
zum Seitenanfang zum Seitenende 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]
--
Linus Torvalds (Linux-Programmierer): "Software is like sex, it's better when it's free"

zum Seitenanfang zum Seitenende Profil || Suche
002
13.07.2002, 14:47
dErGoO



Ist bereits aktiviert.
Auch "don't move"...

Und übrigens: Das ist einer der einfacheren Sachen des Entitie-Systems :)
(wird ne Art Glücksrad-Spielshow)

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.
zum Seitenanfang zum Seitenende 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.
Die einzige Möglichkeit, die Buttons "ungültig" werden zu lassen wäre ein Mulimanager der sowohl das "richtige" Target als auch das env_global (über ein anderes Entity mit Master und Target) triggert, wobei dann pro Knopf zwei weitere Multisources fällig werden.

Bedank dich bitte bei den CS-Codern :P

Also langsam:

Quellcode:
echter Button -> multimanager --> Entity mit Master, das "richtige Sachen" triggert
                              '-> Entity mit Master, das "env_global" triggert

zwei env_globals für eine multisource, reset mit Tür nach Rundenende oder
so, dann multisources um das erste entity nach dem ersten mal triggern zu
blockieren und gleichzeitig das zweite zu erlauben.

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.

--

voice - Ruhe in Frieden


Dieser Beitrag wurde am 13.07.2002 um 15:00 von LePrau bearbeitet.
zum Seitenanfang zum Seitenende 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:

--

zum Seitenanfang zum Seitenende 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 ;)

--

voice - Ruhe in Frieden

zum Seitenanfang zum Seitenende 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.
zum Seitenanfang zum Seitenende Profil || Suche
007
13.07.2002, 18:32
Gotenks



mach stat fail ein false und schon hast du javascript in den entities
ich würd sagen die cs entwickler habns mal wieder geschafft die hl resourcen noch weiter zu drücken
bei den max entities isses ja auch so

--

zum Seitenanfang zum Seitenende 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 :(

--

voice - Ruhe in Frieden

zum Seitenanfang zum Seitenende 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.
Ich habe eben etwas rumprobiert und eine funktionierende Testmap gemacht (ja, auch im MP ;). Ich werde sie bis morgen fertig machen (leider ist sie noch nicht 100% Idiotensicher - kriege ich aber noch hin), wenn du sie haben willst, sag bescheid. Eine schriftliche Erklärung wäre mir etwas zu umfangreich . . .

--

zum Seitenanfang zum Seitenende 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.
zum Seitenanfang zum Seitenende Profil || Suche
011
14.07.2002, 18:36
Flann



Gut, dann brauchst du meine ja nicht mehr . . . :)

--

zum Seitenanfang zum Seitenende Profil || Suche