000
11.03.2010, 00:51
wallex
|
Hallo liebe Community,
Also ich hab mich jetzt seit 4 Stunden an einen Zufallsgenerator rangesetzt. Habe diesen auch hinbekommen zu bauen (nach ca. 2 1/2 Stunden) aber nun habe ich ein Problem unzwar wenn ich den Button zum aktivieren des Zufallsgenerator drücke hört dieser garnicht mehr auf sich zu aktivieren, sprich der Zufallsgenerator aktiviert alle 3 Ziele aber in unterschiedlichen abständen..(1 Button press = 1 mal aktivieren) Ich habe dem Zufallsgenerator 3 Ziele zur verfügung gestellt, klappt auch soweit, bloss er aktiviert nach einer gewissen Zeit alle 3 obwohl er bloss einen aktivieren soll.
Sprich mein Problem:
Button gedrückt = Alle 3 Ziele werden nach gewisser Zufallszeit aktiviert(und das mehrmals)
Mein Ziel:
Button gedrückt = 1 Ziel aktiviert und erst beim nächsten mal drücken des Button das nächstemal aktiviert!
Ich hoffe Ihr versteht was ich meine, wenn Ihr mehr Infos braucht bitte melden.
Zufallsgenerator vom tut nachgebaut: http://www.thewall.de/content/counter-strike:tutorials:zufallsgenerator
Ähnlichen Problem aber halt nicht meins: http://www.thewall.de/forum/thread/cs-zufallsgenerator-und-buttons/59047.1.html
Suchfunktion wurde benutzt.
Gruß, Wallex
--
Dieser Beitrag wurde am 11.03.2010 um 00:56 von wallex bearbeitet.
|
|
Profil || Suche
|
001
11.03.2010, 01:28
Bluthund
|
Das hier sollte dir weiterhelfen: http://www.thewall.de/forum/thread/tuer-nicht-jede-runde-offen/64277.1.html#post-701974 Da hatte ich in #018 und #021 (zuerst lesen dann bauen, #021 enthält einige Vereinfachungen der Schaltung) mal das im Tutorial beschriebene Konstrukt für eben jenes "nur einmal ausführen" etwas abgewandelt. In der Lösung ist das automatische Feuern bei Rundenstart vorgesehen (env_beam mit Start On für die erste Runde und Reset-Tür, die das Relay zum Umschalten des Beams triggert, bei weiteren Rundenstarts). Das müsstest du anpassen.
Entsprechend triggerst du mit deinem Button dann beam_toggle, lässt Start On beim env_beam und die Reset-Tür weg.
--
The C language combines all the power of assembly language with all the ease-of-use of assembly language. "humorig is n blödwort :>" by -CarniGGeLjumpR-
Dieser Beitrag wurde am 11.03.2010 um 01:57 von Bluthund bearbeitet.
|
|
Profil || Suche
|
002
11.03.2010, 12:05
wallex
|
Bluthund postete Tatsächlich, damit lässt sich natürlich einiges an Komplexität einsparen (vor allem dieses bittere changetarget-Gehure ^^):
* Beim env_beam wird das Toggle-Flag gesetzt und es bekommt einen Namen:Name(targetname): jim_beam Start Entity(LightningStart): beam_start Ending Entity(LightningEnd): beam_end Life(life): 1 Strike again time(StrikeTime): 1 Damage per second(damage): 1000
Flags: Start On Toggle scnr ;)
* Sämtliche Abschalter, Rücksetzer und das Null-Target von oben können entfallen. * Dafür kommt ein trigger_relay hinzu:
Name(targetname): beam_toggle Target(target): jim_beam Trigger State(triggerstate): Toggle (2) * Die Durchreicher aktivieren statt disable_buttons nun beam_toggle (und natürlich weiterhin die gewünschten Ziele). * Die Reset-Tür bekommt ebenfalls beam_toggle als Target.
Funktioniert ganz ausgezeichnet, danke für die Vereinfachung, Instinkt. Da die trigger_relay funktion wohl etwas einfacher ist, wollte ich mich dieser annehmen, aber ich verstehe jetzt nicht was mit Durchreicher gemeint ist... Sind das die Buttons die um den env_beam sitzen?
Habe jetzt bei meinem bestehenden Zufallsgenerator einen trigger_relay gesetzt. Target hab ich mein env_beam angegeben & als Name - beamtoggle. Bloss welche Sachen bekommen jetzt den Namen - beamtoggle?
Und die Reset-Tür (func_door) muss doch auch einen Namen bekommen und von irgendwem getriggert werden, nach jeder benutzung des Button (will den Zufallsgenerator mehrmals in einer runde nutzen)
Hab mich ja schon gestern damit rungeschalgen das überhaupt zum laufen zu bekommen aber jetzt irgendwo eingreifen und nochmal was zu verändern, ist für ein Newbie wie mich bisschen schwer.
Gruß, Wallex
--
Dieser Beitrag wurde am 11.03.2010 um 12:06 von wallex bearbeitet.
|
|
Profil || Suche
|
003
11.03.2010, 14:33
Bluthund
|
Die Durchreicher sind in #018 beschrieben. Das sind die multi_manager, die für das Abschalten des Beams und das Durchreichen - daher der kreative Name ;) - des Signals an das eigentliche Ziel zuständig sind.
beamtoggle wird von den Durchreichern aktiviert um den Beam abzuschalten.
Die Reset-Tür brauchst du prinzipiell überhaupt nicht. Die ist nur dafür da die Schaltung beim Start aller Runden nach der ersten anzustoßen, da CS Türen beim Rundenstart automatisch zurücksetzt, im Gegensatz zu vielen anderen Entities bei denen es das nicht richtig tut.
--
The C language combines all the power of assembly language with all the ease-of-use of assembly language. "humorig is n blödwort :>" by -CarniGGeLjumpR-
|
|
Profil || Suche
|
004
11.03.2010, 14:58
wallex
|
Bluthund postete Die Durchreicher sind in #018 beschrieben. Das sind die multi_manager, die für das Abschalten des Beams und das Durchreichen - daher der kreative Name ;) - des Signals an das eigentliche Ziel zuständig sind.
beamtoggle wird von den Durchreichern aktiviert um den Beam abzuschalten.
Die Reset-Tür brauchst du prinzipiell überhaupt nicht. Die ist nur dafür da die Schaltung beim Start aller Runden nach der ersten anzustoßen, da CS Türen beim Rundenstart automatisch zurücksetzt, im Gegensatz zu vielen anderen Entities bei denen es das nicht richtig tut. Wie viele Multi_manager brauch ich denn wenn du schreibst "Das sind die Multi_manager"
Meine jetztige Situation: Also, ich hab ein Button, wenn dieser gedrückt wird, geht von dem Button ein Signal zum env_beam, dieser wird aktiviert und feuert ein Strahl aus zufall in eines meiner 3 Ziele. Wo und wie soll ich jetzt hier noch ein Multi_manager hinbauen?
Mein versuch war schon: Wenn ich den Button drücke das dann der multi_manager aktiviert wird ........ Und dann? Ich hab um ehrlich zu sein, noch nichts mit dem multi_manager gemacht... Bei diesem kann man doch bloss nen Namen eintragen oder? Verstehe das per Smartedit noch nicht. Muss ich dort dann den env_beam aktivieren lassen?
Vllt. übersteigt das zur Zeit meine Fähigkeiten, bloss ich brauch unbedingt ein Zufallsgenerator der beim drücken eines meiner Ziele aktiviert. Bei einem erneuten drücken dann aus zufall ein anderes Ziel aktiviert.
Ich probier jetzt schon seit 2 Stunden wieder aus deinem Thread was rauszulesen und zu verstehen...
Gruß, Wallex
EDIT:
Hab jetzt den Multi_manager eingebaut gleich nach dem Button. Sprich Button wird aktiviert dann wird der multi_manager angesteuert und dieser steuert dann den env_beam an. Bloss mein Problem jetzt: Ich muss den Button drücken zum aktivieren & nochmal drücken zum deaktivieren. Will aber das sich der env_beam automatisch abstellt.
EDIT2:
Ich habs hinbekommen mit nochmal durchlesen deines Posts ich mir jetzt ein Licht aufgegangen. habe jetzt im multi_manager den env_beam und den trigger-relay drinne :)
Vielen Dank.
Gruß, Wallex
--
Dieser Beitrag wurde am 11.03.2010 um 15:23 von wallex bearbeitet.
|
|
Profil || Suche
|
005
11.03.2010, 15:34
Bluthund
|
Die multi_managers sollen eigentlich von den Buttons des Zufallsgenerators aktiviert werden (die Buttons die durch den Beam mittels Schaden getriggert werden). Deshalb bekommen sie einen Eintrag für das trigger_relay (zum Ausschalten des Beams) und weitere Einträge für jedes Ziel was durch den jeweiligen Zufallswert aktiviert werden soll.
Dein Button für die Aktivierung des Zufallsgenerators sollte nur das trigger_relay als Target haben.
--
The C language combines all the power of assembly language with all the ease-of-use of assembly language. "humorig is n blödwort :>" by -CarniGGeLjumpR-
Dieser Beitrag wurde am 11.03.2010 um 15:34 von Bluthund bearbeitet.
|
|
Profil || Suche
|