globales enum

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo Brotfischler,


    Ich frage einfach mal ganz platt->


    Wie kann ich ein enum erstellen das für alle Spieler gilt ?


    Als beispiel nehme ich mal die Terrobombe, wenn ein Terrorist eine Bombe legt möchte ich das zb das FBI diese Bombe entschärfen kann. Dazu muss das FBI aber auch auf die gleiche Datenquelle zugreifen können wie der Terrorist.Würde ich die Daten der Bombe einfach in die pInfo einbinden dann könnte zwar der Terrorist seine Bombe selbst entschärfen aber sonst kein anderer.....



    Ist so etwas möglich ?



    Mit freundlichen Grüßen


    Anubis

  • Ja genau aber wenn jetzt in TTT zb 1 gespeichert ist was bedeutet das die Bombe scharf ist dann kann doch auch nur der Spieler selbst den Status wieder auf 0 setzen ?

  • Die Enum selber ist dazu da, damit du Strukturen erschaffen kannst & die Ordnung behältst, die Enum Daten kannst du natürlich auch erweitern


    new test[50] /*50x Diese Datenstruktur */[enumname];


    so kannst du auf die Datenmitglieder zugreifen


    test[0][miglied] = Wert;


    Der Index 50 existiert nur da du mehrere Daten speichern möchtest um sie später aufzurufen, so kannst du alles beliebige eintragen zudem sind enum Strukturen auch da
    um mehrere Datentypen zu verwenden wieder um die Ordnung zu bewahren.


    enum enumname
    {
    mitglied,
    Float:Kommazahl,
    Array[20]
    }


    So könntest du auch jeder Bombe eine Eigenschaft zuweisen, jede Bombe von 50 Maximalen hätte ihre Eigenschaft somit kannst du auch festlegen wer was bei welcher Bombe dürfte

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • jo dann machs so



    enum bInfo
    {
    Scharf,
    }
    new BombInfo[10][bInfo];//die 10 steht für 10 Bomben



    BombInfo[BID][Scharf]=0;


    die kann trozdem jeder unscharf machen


    //edit Blackfox hat schon nen beispiel gepostet

    RFT

  • Ah ok, ein enum für die pinfo verwende ich schon lange und hatte damit bisher nie probleme aber wusste eben nicht welche möglichkeiten sich damit noch bieten da ich kein "profi" bin :) Zb auf das enum anderer Spieler zuzugreifen wenn man die ID weiß war an sich kein problem ( zb beim vergeben von wanteds etc) aber wie man jetzt ein enum erstellt das an keinen spieler gebunden ist und auf das jeder "zugreifen" kann wusste ich nicht.


    Ich werds mal so versuchen.



    Danke :)

  • ich schätze dass du eine einfache variable willst, in welcher du die coordinaten der bombe einspeichern kannst, dafür gibt es 2 wege:
    new Float: BombX;
    new Float: BombY;
    new Float: BombZ;
    oder mit einer enum:
    enum bombcoord
    {
    Float: BombX,
    Float: BombY,
    Float: BombZ
    }
    new Bombe[bombcoord];


    keine ahnung ob das so alles richtig ist habe ich ausm kopf getippt.

  • Ja genau, aber die Koords in der variable soll jeder löschen könen und nicht nur derjenige der sie gespeichert hat. Imo werden die bombenkoords bei mir in der pInfo gespeichert sobald ich eine Bombe lege. Wenn ein FBI`ler die Bombe nun entschärfen wollte, müsste er wissen das ich die Bombe gelegt habe um dann die Koords in meiner pInfo zu löschen.


    Ich könnte natürlich auch eine schleife nehmen die auf FBI Befehl hin alle Spieler nach Bombenkoords durchsucht und dann überall löscht aber das wäre ja umständlich und geht sicher einfacher.




    Denke aber mit den informationen die ich jetzt hier bekommen habe bekomm ich das hin :) Thx @ all

  • die kann doch auch jeder löschen



    if (strcmp("/defuse", cmdtext, true, 10) == 0)
    {
    Bombe[BombX]=0;
    Bombe[BombY]=0;
    Bombe[BombZ]=0;
    //musst halt auch den jeweiligen Timer killen der die Explosion ausführt und das Object entfernen
    return 1;
    }

    RFT

  • Echt, so einfach ? Timer killen ist klar, sonst gibts ja ne explosion auf 0 0 0 ^^


    Das muss ich doch gleich mal testen :)



    Danke nochmal an alle, ich mach dann hier erstmal zu um den verkehr nicht unnötig zu behindern^^ und probiere die verschiedenen möglichkeiten aus.

    Einmal editiert, zuletzt von Anubis ()