[GTA V]Enum erstellen - wie richtig?

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
  • hey habe versucht ein enum zu erstellen aus nem Samp skript für Gta V Network jedoch weiß ich nicht wie ich alles umschreiben muss damits klappt will halt aus Mysql meine daten auslesen können und setzen.


    //übers handy geschrieben


    Kennt da jemand eine Variante Lösung wie ich den Code richtig hinbekomme.. vielen dank im vorraus.


    Bisheriger Code:
    enum PlayerInfo {
    admin,
    pegalwat,
    };
    new pDaten[MAX_PLAYERS][PlayerInfo];
    //stock in public ändern
    stock SavePlayer(player)
    {
    pDaten[player][AdminLevel] = API.exported.database.executeQuery("UPDATE spieler SET admin='%s' WHERE name=" +sender.name+"",PlayerInfo[player][admin]);
    return 1
    }
    stock LoadPlayer(player)
    {
    pDaten[player][AdminLevel] = API.exported.database.executeQuery("SELECT admin FROM spieler WHERE name=" +sender.name+"");
    return 1;
    }
    //befehle
    [Command("logintest")]
    public void logintest(Client sender)
    {
    API.sendChatMessageToPlayer(player, "logintest");
    LoadPlayer(player);
    }
    [Command("lesen")]
    public void lesen(Client sender)
    {
    API.sendChatMessageToPlayer(player, "dein adminrank ist %d",PlayerInfo[player][admin]);
    }
    [Command("gibadmin")]
    public void gibadmin(Client sender)
    {
    API.sendChatMessageToPlayer(player, "du bist jetzt admin rank 5 teste: /lesen",PlayerInfo[player][admin]);
    PlayerInfo[player][admin]=5;
    SavePlayer(player);
    }

  • dein enum müsste so aussehen


    enum PlayerInfo
    {
    admin,
    pegalwat
    }


    und zum inititalisieren brauchst du eine List(e)
    etwa so
    System.Collections.Generic.List<PlayerInfo> DeineListe = new System.Collections.Generic.List<PlayerInfo>;


    Allerdings kann ich dir nicht sagen, ob das nun eine sinnvolle/effektive Lösung ist, da man den User auch dem Eintrag in der Liste hinzufügen und auch wieder löschen muss.

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Bitte fängt nicht an zu versuchen Sachen aus PAWN in C# zu übernehmen.
    Nicht nur das es völlig dumm ist, sondern ihr verspielt damit auch alle Vorteile die C# hat.
    So habt ihr im nachhinein ein Script was lauffähig ist aber zb. Performancetechnisch fürn Arsch ist. (PAWN ist singel Thread, C# ist Multi-Threading fähig)


    PAWN ist nicht C#

    Stellt lieber fragen wie man das Problem in C# angehen könnte.

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2
  • Wie kann ich Abfragen bei einem Befehl das man Admin sein muss bzw. Z.B. admin rank 1?


    Dann kannst du ja mal erklären wie es geht mit C# Würde mich mal Interessieren halt wie man sachen wie Admin,level speichert/lädt und bei einem befehl abfragen kann ob der jenige Admin ist. Natürlich nur wenn du magst

    Bitte fängt nicht an zu versuchen Sachen aus PAWN in C# zu übernehmen.
    Nicht nur das es völlig dumm ist, sondern ihr verspielt damit auch alle Vorteile die C# hat.
    So habt ihr im nachhinein ein Script was lauffähig ist aber zb. Performancetechnisch fürn Arsch ist. (PAWN ist singel Thread, C# ist Multi-Threading fähig)


    PAWN ist nicht C#


    Stellt lieber fragen wie man das Problem in C# angehen könnt

  • Beitrag von Pride ()

    Dieser Beitrag wurde von Developer aus folgendem Grund gelöscht: Spam ().
  • Wie kann ich Abfragen bei einem Befehl das man Admin sein muss bzw. Z.B. admin rank 1?


    Dann kannst du ja mal erklären wie es geht mit C# Würde mich mal Interessieren halt wie man sachen wie Admin,level speichert/lädt und bei einem befehl abfragen kann ob der jenige Admin ist. Natürlich nur wenn du magst

    Du kannst mithilfe von setEntityData, getEntityData & hasEntityData Objekte im Zusammenhang zu Entities ablegen.


    Sprich du würdest wenn der Spieler sich einloggt, und du die Daten aus der Datenbank oder sonstwo geladen hast, dem Spieler einfach sein Admin Rank vie setEntityData(player, "ADMIN_RANK", 1337); z.B. setzen.
    Im Befehl kannst du dann über getEntityData prüfen ob der Spieler den entsprechenden Rang besitzt ( if(getEntityData(player, "ADMIN_RANK") >= 1337)) )

  • Du kannst mithilfe von setEntityData, getEntityData & hasEntityData Objekte im Zusammenhang zu Entities ablegen.
    Sprich du würdest wenn der Spieler sich einloggt, und du die Daten aus der Datenbank oder sonstwo geladen hast, dem Spieler einfach sein Admin Rank vie setEntityData(player, "ADMIN_RANK", 1337); z.B. setzen.
    Im Befehl kannst du dann über getEntityData prüfen ob der Spieler den entsprechenden Rang besitzt ( if(getEntityData(player, "ADMIN_RANK") >= 1337)) )

    und wie lade ich die Daten aus der Datenbank so? Also wie kann man ein account sys machen das man die daten lädt und speichert weil so funktioniert der Code nicht bin neu in c# js
    using System;using System.Collections.Generic;using eLifeRp.Data;namespace Data.Interfaces{public interface IAccountData{string Id { get; set; }string name{ get; set;}string admin{ get; set;}}


    //andere datei:
    using Data.Interfaces;using System;using System.Collections.Generic;using System.ComponentModel.DataAnnotations;using System.ComponentModel.DataAnnotations.Schema;using eLifeRp.Data;namespace eLifeRp.Server.Account{[Table("spieler")]public class Account : IAccountData{public Account() { }[Key]public string Id { get; set; }public string name { get; set; }[StringLength(25)]public string admin { get;set;}}

    Einmal editiert, zuletzt von PEMU ()

  • Ganz ehrlich. Hör(t) auf mit dem Copy & Pasten. Wie du schon gesagt hast, hast du nicht wirklich eine Ahnung von C#.
    Dann ist es sicherlich nicht die beste Idee direkt von einem Script zu kopieren, welches von einem mit Erfahrung Programmiert wurde. Du hast wahrscheinlich zum teil keine Ahnung was du das kopiert hast.


    Es kommt ganz darauf an wie du die Daten Speichern willst. Hierzu gibt es genügend Beispiele im GTA:N Forum:
    Kannst es zb von dem her herleiten: https://forum.gtanet.work/inde…veweapons.1678/#post-9453 (ist glaub ich Lokal Gespeichert ohne Datenbank)
    Wenn du mit Datenbank arbeiten willst, solltest du dich erstmal über Datenbanken und deren Verbindungsmöglichkeiten mit C# informieren.

    seekrass approved
    4x vom Discord geflogen


    shoxinat0r 4
    dennismitzwein 2
    Trooper[Y] 2
    maddin 1
    Unbekannter Discord Kick 2
  • Ich kann @toor nur zustimmen. PAWN geht mit Copy&Paste vielleicht noch, aber auch wenn C# nicht soo viel schwerer ist, man braucht wegen setup und compiling (ggf) mehr Ahnung. Das sollte eigentlich kein Problem sein, wenn man die Struktur beim Programmieren bzw. jene hinter PAWN verstanden hat, aber das hast du wohl leider nicht. Sorry, auch wenn es hart klingt. Ich würde dir einfach nen C# Tutorial empfehlen. Fürs Handy gibts ne extrem gute App, von SoloLearn "Learn C#". Ohne jegliches Wissen wird das hier besonders am Anfang, da man nicht von irgendeinem Gotfather kopieren kann, keinen Sinn, ohne Kenntnisse C&P fürn Server zu benutzen. Wenn du bereit bist zu lernen und desbezüglich Fragen stellst, sind wir aber sicherlich gern bereit, sie dir zu beantworten. Doch Basics sollte man schon besitzen


    Ich würde entweder das Object als Entity im Client speichern, oder eine globale Liste erstellen bzw. ebenso eine Object Klasse als Entity speichern, welche die Daten beherbergt. Das hatte ich bisher immer über eine Globale Liste mit Player Objects geregelt, da man so gleich ein integriertes ID System hat.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen