Fraktionsdatenbank erstellen?

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 ich habe eine Frage wie mache ich z.B eine Fraktionsdatenbank wie z.B das hier: http://prntscr.com/gjy6su



    habe z.B jetzt dieses Enum "angelegt":


    enum fraktionkammerEnum{
    fraktion,
    frakdrugs,
    frakmats,
    frakweapons


    }


    Weiteres würde halt noch folgen etc. aber wie z.B mache ich das wenn ich jetzt Drogen in die fraktionskammer packe das sie in der Datenbank gespeichert werden, ich weiß normalerweise müsste ich das wissen weil ich es ja schon mit den Autos gemacht habe aber irgendwie fühlt sich das so "anders" an ich will jetzt nicht verlangen das ihr mir das fertig macht würde halt einfach nur ein bisschen Hilfe haben wollen und paar stützen etc. :)


    es gibt zudem bis jetzt nur das Enum! ich habe noch kein Befehl etc. erstellt aber die Drogen und die Mats werden vom "Spieler" schon gespeichert will halt nurnoch das es eine "zweite" Datenbank gibt wo ich halt sehe wieviel Drogen etc. diese Fraktion hat usw. denke ihr wisst was ich damit meine :)


    /edit habe jetzt versucht es zu erstellen sieht so aus: http://prntscr.com/gjycet bei fraktion habe ich bei A_I einen haken gesetzt hoffe ist richtig so :)
    Mfg. ^^

    Einmal editiert, zuletzt von KinGRaPTiiC ()

  • Also ich empfehle ich dir fraktion umbenennen, in irgendetwas wie fraktionid oder frakid, weil das später, oder auch für andere Entwickler, sehr verwirrend sein kann. Ob A_I jetzt so zwingend notwendig ist weiß ich jetzt auch nicht, das kommt halt immer auf den Anwendungsbereich drauf an.


    Mit der Fraktionskammer ist es eigentlich (in meinen Augen) einfacher, als mit Autos: Du lädst unter OnGameModeInit() sämtliche Daten innerhalb der Tabelle (einfacher SELECT * FROM frakkammer), weist per cache_* den einzelnen Variablen die richtigen Werte zu und nutzt dann die Variablen in deinen Befehlen, z.B. fraktionkammer[2][frakdrugs] -= 10; zieht 10 Drogen der Fraktion ab, die im Index 2 verwaltet wird.


    Dann hast du die Möglichkeit, nach jeder Veränderung der Variable die jeweilige Information zu speichern, in einem bestimmten Intervall zu speichern, oder manuell per Befehl oder eben OnGameModeExit().

  • @Douq soweit ich das jetzt verstanden habe müsste es so eigentlich aussehen sonst hätte ich echt keine Ahnung aber es funktioniert halt aufgrund der errors nicht:


    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(297) : error 035: argument type mismatch (argument 3)
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(298) : error 035: argument type mismatch (argument 3)
    C:\Users\Dustin\Desktop\SA-MP Server\gamemodes\selfmade.pwn(299) : error 035: argument type mismatch (argument 3)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.



    Meine Datenbank sieht jetzt genau so aus: http://prntscr.com/gk87fw



    und mein Enum sieht jetzt so aus:


    enum fraktionskammerEnum{
    frakid,
    frakdrugs,
    frakmats


    }


    und die Codes mit den errors:


    cache_get_value_name_int(0, "frakid", fraktionskammerEnum); //297
    cache_get_value_name_int(0, "frakdrugs", fraktionskammerEnum); //298
    cache_get_value_name_int(0, "frakmats", fraktionskammerEnum); //299