Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
30.01.2010, 17:02
Bungler pdm



hallo leute,

nach dem ich eine weile die suche durch stöbert habe aber nichts gescheites gefunden habe, erstelle ich nun ein thema

also ich habe eine etwas größere map gebaut und habe in der map eingänge in eine halle.
jedoch will ich das so haben, das von den sagen wir mal 8 eingängen, immer nur 6 offen sind und 2 geschlossen.

jedoch soll jede runde 2 andere türen zu sein

also nicht das die tür einfach nur zu ist man läuft gegen und dann geht sie auf ... sondern das man die tür die runde nicht nutzen kann

ja habe schon wild rum probiert aber weis nicht wie es gehen soll, es geht aber habe ich mal vor lange zeit auf einer map gemacht :)

mfg

BungLer

--

zum Seitenanfang zum Seitenende Profil || Suche
001
30.01.2010, 18:29
Bluthund



Da du von Runden sprichst, folgere ich mal, dass du für Gegenschlag kartierst?

Nutz doch einen Zufallsgenerator, der multisource-Entities triggert, die als Master-Eintrag der Türen agieren.
Reset der multisource-Entities wird hier auch in einem Tutorial beschrieben.

--

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-

zum Seitenanfang zum Seitenende Profil || Suche
002
30.01.2010, 18:30
Bungler pdm



deine erste frage versteh ich nicht xP

aber das andere guck ich mir mal an

dafür schon mal danke

wenn andere noch ideen haben wie man das machen könnte, ich höre gern zu :)

--

zum Seitenanfang zum Seitenende Profil || Suche
003
02.02.2010, 15:10
Bungler pdm



so ich habe den "zufallsgenerator" mal ausprobiert

aber irgendwie klappt das nicht
hier mal die .rmf
http://www.file-upload.net/download-2220418/zufallsgenerator.rmf.html

vllt sieht einer den fehler

ich will das der zufalls genarator 1mal zum runden start auslöst und dann erst wieder zur nächsten runde

--

zum Seitenanfang zum Seitenende Profil || Suche
004
02.02.2010, 16:16
Bodybag



Dein Problem ist recht einfach:

Du hast dem Button den Namen des Ziels gegeben, ergo hat bei der Zerstörung des Buttons der Button sich selbst getriggert, was zu keinem Ergebnis geführt hat.
Die Buttons brauchen keinen Namen, aber gib als target die jeweilige Tür ein.

Allerdings gehen die Türen nach einer gewissen Zeit alle auf, und sie gehen vor allem nicht mehr zu. Leider weiß ich nicht wie du das Problem lösen kannst.

MfG

Bodybag

--

zum Seitenanfang zum Seitenende Profil || Suche
005
02.02.2010, 16:18
Bungler pdm



oh ok naaj man sieht die eig. fehler manchmal nicht ^^

aber wenn das mit den türen so ist da sie dann zu gehen das soll so ja nicht sein

die tür soll ja nach drücken des button die ganze runde auf bleiben :-S

EDIT:

hab das jetzt mal geändert ... die tür/en geht/en nun auf ... problem ist nur ich will nicht das alle türen auf gehen sondern nur eine

und die tür soll die ganze runde halt auf bleiben und das bleibt sie wohl auch

--


Dieser Beitrag wurde am 02.02.2010 um 16:38 von Bungler pdm bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
006
02.02.2010, 16:35
Bodybag



Achso, na dann ist doch alles Wunderbar, hab doch geschrieben, das die Türen NICHT wieder zu gehen. Allerdings sind nach einer bestimmten Zeit aber eben alle auf...

--

zum Seitenanfang zum Seitenende Profil || Suche
007
02.02.2010, 16:38
Bungler pdm



ja und genau das sollen sie nicht ... es soll nur eine tür auf gehen :-S

--


Dieser Beitrag wurde am 02.02.2010 um 16:39 von Bungler pdm bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
008
05.02.2010, 10:05
Bungler pdm



ich bekomm es immer noch nicht hin ...

der "laser" soll nur ein mal pro runde schiesen

es gibt ja auch nen tutorial für das was ich machen will nur leider ist das noch leer
Zufällige Wege

EDIT: ok hab es doch hin bekommen

die "Strike again time" musste nur hoch gesetzt werden :)

jetzt muss ich es nur noch bin bekommen das der "laser" an jedem runden start 1mal auslöst
dazu muss ich das hier eig. bauen, nur irgendwie bekomm ich das einfach nciht hin oO da wär hilfe ganz nett, vllt bauen und mir die rmf schicken? :)

--


Dieser Beitrag wurde am 05.02.2010 um 12:12 von Bungler pdm bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
009
05.02.2010, 13:43
Bluthund



Wenn du nur willst, dass er einmal auslöst wäre wahrscheinlich -1 passender als ein hoher Wert, da der hohe Wert durchaus zu einem erneuten Feuern führen könnte bei einer entsprechend hohen Rundenzeit.
Einmal am Rundenstart triggern:

Zitat:
http://www.thewall.de/content/counter-strike:tutorials:zufallsgenerator
Der ganze Generator kann entweder durch ein anderes Entity ausgelöst werden - oder mit dem namen “game_player_spawn” gleich am Rundenstart getriggert werden. Der Flag RandomStrike sorgt dafür, dass in jeder Runde ein beliebiges target als Ziel benutzt wird.
Auch lesen und nicht nur die Bilder ankucken und Entity-Einstellungen kopieren.

--

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-

zum Seitenanfang zum Seitenende Profil || Suche
010
05.02.2010, 13:46
Bungler pdm



ja nun geb ich dem den namen "game_player_spawn" ... dann passiert nur irgendwie nichts

und zu dem -1 wo soll ich das den einfügen oO

--

zum Seitenanfang zum Seitenende Profil || Suche
011
05.02.2010, 13:50
Bluthund



Den Wert, den du in #008 als ganz hoch eingestellt beschrieben hast ._.
Evtl. könnte statt game_player_spawn auch game_playerspawn der richtige Wert für den Namen sein. Die beiden verlinkten Tutorials (zufallsgenerator und trigger_once für CS) sind da leider nicht einer Meinung.

--

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-

zum Seitenanfang zum Seitenende Profil || Suche
012
05.02.2010, 14:00
Bungler pdm



ok es geht wenn man als namen "game_playerspawn" nimmt danke dafür schon mal

nur ist es so wenn ich -1 als wert nehme dann schiest er ununterbrochen heist alle türen öffnen sich sofort

EDIT:
ansich würde es gehen wenn ich den wert nicht auf -1 mache sondern auch 60 sag ich mal die map die ich gebaut habe würde länger als 1min dauern ... problem was dann nur ist

läuft die map eine min und es kommt jemand auf dem server und spawn löst der generator wieder aus :-S

--


Dieser Beitrag wurde am 05.02.2010 um 14:15 von Bungler pdm bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
013
05.02.2010, 14:41
Bluthund



Ok ich hab grad nochmal in den Code geschaut und Valve hat da die Sonderfunktion von -1 wie bei anderen Entities nicht mit drin.

Möglichkeiten:
* Du nimmst wieder nen extrem hohen Wert (womit du wie gesagt Gefahr läuft, dass wenn irgendein Verrückter die Map auf einem Server mit höherer Rundenzeit laufen lässt die Maplogik zerbricht)
* Du schaltest einen multi_manager vor, der game_playerspawn heißt und den env_beam zweimal hintereinander triggert (einmal an und einmal aus). Entsprechend kannst du Strike Again und Life des Beams dann auf 0 lassen und Toggle Flag nicht vergessen.

Sollte "game_playerspawn" als Name tatsächlich durch jeden spawnenden Spieler triggern (was bei dem Namen ja Sinn machen würde ^^), kannst du zum Triggern auch den Umweg über die Tür nehmen welche beim Rundenstart zurückgesetzt wird und dabei ihr Target triggert.

--

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-

zum Seitenanfang zum Seitenende Profil || Suche
014
05.02.2010, 14:57
Bungler pdm



ok ich habe jetzt ne 16x16x16 block gemacht den zum func_door

Name game_playerspawn
target beam
delay before close -1

damit geht es soweit ...
nur noch eine frage, ist hier -1 passend oda ein hoher wert?
also löst die tür erneut aus wenn jemand connecten würde oda ist die tür erst wieder nutzbar wenn die wieder zu ist?

aber -1 heist ja sie bleibt die ganze runde offen oda?

--

zum Seitenanfang zum Seitenende Profil || Suche
015
05.02.2010, 14:58
Skuldoon



-1 heißt sie bleibt offen bis zum rundenrestart, ja

--

Nur die, welche sich für ganz stark und extra erwachsen halten trinken Kaffee ohne Milch. Das sind meist auch die Leute, welche rassistisch und homophob sind. Da Rassismus von Minderwertigkeitsgefühlen und Homophobie von latenter Homosexualität stammt, trinken also nur ängstliche Schwule Kaffee ohne Milch. Das wurde wissenschaftlich durch Galileo auf Pro7 bewiesen.

zum Seitenanfang zum Seitenende Profil || Suche
016
05.02.2010, 14:58
Bungler pdm



ok dann müsste es ja so klappen ... dann kann ich die map ja endlich zu ende bauen :)

ich danke für die hilfe :)

--

zum Seitenanfang zum Seitenende Profil || Suche
017
05.02.2010, 15:08
Bungler pdm



ah es geht doch nicht

dadurch das die tür offen bleibt ... löst er den laser ständig aus :-S

und wenn ich 1 nehme da sie gleich wieder zu geht ... klappt es auch nicht da sobald jemand erneut auf den server connectet die tür wieder auf geht :-S

aber dazu müsste ich doch das "fire on close" nutzen können ... welches etwas auslöst das die tür so blockiert das die tür nicht mehr aufgehen kann die runde?
aber wie würde ich das hin bekommen oO ... bzw. habt ihr ne andere idee

ohman auf was hab ich mich da nur eingelassen ^^

--


Dieser Beitrag wurde am 05.02.2010 um 15:10 von Bungler pdm bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
018
05.02.2010, 17:56
Bluthund



Okay, dein Problem beweist mal wieder eindrucksvoll, dass CS leider nur ein einziger großer Hack ist.

Ich hab mich mal hingesetzt und was zusammengeschraubt, was ziemlich genau deinen Ansprüchen entsprechen sollte. Basis dafür war das Tutorial von Herr Freimann zum Zufallsgenerator, was leider einige Probleme hat wenn es mit Umschalt(Toggle)-Mechanismen oder Rundenneustarts (was ja ein wichtiger Punkt bei dir ist) genutzt wird.
Wenn ich Zeit habe, schreib ich nen Tutorial, bin nur gerade mitten in den Prüfungsvorbereitungen und eigentlich waren die fast 2h für den Prototypen schon viel zu viel Zeit ;)
Hier mal ne Kurzfassung:

Benötigte Entities:
1 env_beam
2 info_target
1 func_door

n func_button
n info_target
n multi_manager
2*n trigger_changetarget

Aufbau:

Der Beam (env_beam):
Stellt den eigentlichen Strahl zur Verfügung der zufällig Ziele über Schaden triggern soll. Leider setzt an- und ausschalten den internen Zufallsgenerator für die Zielauswahl zurück womit immer wieder das selbe Ziel getriggert werden würde. Daher lassen wir ihn einfach die gesamte Zeit an.Quellcode: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
Anm.: Random Strike sollte nicht aktiviert sein, da dieser Flag bewirkt, dass die Zeit zwischen den einzelnen Stößen zufällig zwischen 0 und der angegebenen "Strike again time" gewählt wird.
Sobald es mehrere Entities in einer Map gibt die alle den Namen (targetname) des eingetragenen Ending Entities tragen wird automatisch zufällig eins der Ziele gewählt pro Stoß.

Beam-Start (info_target):
Stellt den Startpunkt des Strahls bereit.Quellcode:Name(targetname): beam_start Null-Target (info_target):
Stellt ein Dummy-Entity, das nichts tut, für das spätere Zielwechseln bereit.Quellcode:Name(targetname): dev_null Reset-Tür (func_door):
Setzt die Ziele der per Zufall aktivierten Schalter am Anfang jeder Runde nach der ersten zurück.
Quellcode:Delay before close(wait): -1
Target(target): reset_buttons

Flags:
Starts Open
Passable
Toggle
Die Ziele (func_button + info_target):
Um den Startpunkt des Strahls werden nun die Ziele bestehend aus einem func_button und einem dahinterliegenden (vom Startpunkt des Strahls aus gesehen) info_target positioniert. Die Schalter werden durchnummeriert (mit folgenden mit <i> gekennzeichnet) und alle info_targets bekommen den selben Namen (targetname).

Die Schalter (func_button):Quellcode:Name(targetname): b<i>
Target(target): multi_b<i>
Delay before reset(wait): 2

Flags:
Don't move
Die Beam-Enden (info_target):Quellcode:Name(targetname): beam_end Der Changetarget-Hack (multi_manager + 2 trigger_changetarget):
Zu jedem Ziel gesellt sich jetzt jeweils noch eine dieser changetarget-Schaltungen (hier entspricht <i> der Zahl des zugehörigen Ziels).

Die Durchreicher (multi_manager; ohne SmartEdit editieren):
Realisiert die Weiterleitung des Signals vom Schalter an die eigentlichen Zielentities und triggert alle trigger_changetargets (mit Namen disable_buttons), die für die Unterbrechung der Schaltung bis zum Rundenende sorgen.Quellcode:targetname: multi_b<i>
disable_buttons: 0
Anm.: Hier werden zusätzlich noch Schlüssel für jedes Entity hinzugefügt, das durch den jeweiligen Schalter aktiviert werden soll (in deinem Fall deine Tür die sich öffnen soll).

Der Abschalter (trigger_changetarget):
Unterbricht die Entityschaltung.Quellcode:Name(targetname): disable_buttons
Target(target): b<i>
New target(m_iszNewTarget): dev_null
Der Rücksetzer (trigger_changetarget):
Setzt die Ziele der Schalter zurück damit die Entityschaltung wieder funktioniert.Quellcode:Name(targetname): reset_buttons
Target(target): b<i>
New target(m_iszNewTarget): multi_b<i>
Doch länger geworden als ich gedacht hätte :/

--

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 05.02.2010 um 17:59 von Bluthund bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
019
05.02.2010, 18:04
Bungler pdm



ohman ... hab heute so viel tigger und target gelesen das ich das heute nichts mehr hin bekomme

ich setz mich da morgen mal ran und probiere das mal nach zu bauen ... ob das was wird oO

aber ich danke dir für die arbeit trotz deines prüfungsstress ... ansonsten viel glück natürlich bei den prüfungen

ich meld mich dann mal ob es was geworden ist :)

--

zum Seitenanfang zum Seitenende Profil || Suche
020
05.02.2010, 21:33
Instinkt



Zitat:
Bluthund postete
Der Beam (env_beam):
Stellt den eigentlichen Strahl zur Verfügung der zufällig Ziele über Schaden triggern soll. Leider setzt an- und ausschalten den internen Zufallsgenerator für die Zielauswahl zurück womit immer wieder das selbe Ziel getriggert werden würde. Daher lassen wir ihn einfach die gesamte Zeit an.
Das Problem tritt nicht auf wenn das env_beam über ein trigger_relay ausgeschaltet wird.

--


Dieser Beitrag wurde am 05.02.2010 um 21:33 von Instinkt bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
021
05.02.2010, 22:38
Bluthund



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:Quellcode: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:
Quellcode: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.

--

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 05.02.2010 um 22:55 von Bluthund bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
022
06.02.2010, 00:03
Bungler pdm



nun seh ich garnicht mehr durch oO

--

zum Seitenanfang zum Seitenende Profil || Suche
023
06.02.2010, 01:24
Bluthund



Dann gibt es jetzt zwei Möglichkeiten:
1. Es liegt daran, dass es Freitag Abend(/Samstag Morgen) ist und du unter alkoholisiertem Verständnisdefizit leidest, was sich nach dem Schlafen gelegt hat oder,
2. du die Grundlagen von Entity-Schaltungen in GoldSource noch nicht verstanden hast.

Ersteres wird sich von selbst lösen. Bei letzterem kann man dir nur ans Herz legen dich nochmal mit einigen der Grundlagen-Tutorials und der Entity-Bibliothek auseinander zu setzen bevor du weitermappst.
Nur Tutorial-Vorlagen kopieren ist kein Mappen.

--

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-

zum Seitenanfang zum Seitenende Profil || Suche
024
06.02.2010, 02:18
Bungler pdm



da ich kein alk trinke kannst du das auschliesen ... ich denke eher es ist die müdigtkeit ^^

ich muss mich da später in ruhe ran setzen, ich kann die grundlagen der entity-bibliothek. nur hab ich mir die zu letzt vor jahren angeguckt ... den wenn ich eine funktion mal gemappt habe dann kann ich die auch, ab dann ohne hilfe ... bedeute hab ich den zufallsgenerator ein mal richtig hin bekommen, werd ich damit keine probleme mehr haben ^^

und ich weis das ich noch ne menge zu lernen haben, das was du da geschieben hast da wär ich nie von alleine drauf gekommen, aber dazu bin ich ja hier um zu lernen :)

und so schlecht mapp ich eig. nicht, da meine mapps auf deren server genre richtig gut laufen und auch recht beliebt sind :)

--

zum Seitenanfang zum Seitenende Profil || Suche