PVars und MySQL , Verträgt das sich ?

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
    Ich habe vor ein Dini Script mit PVars auf MySQL Umzuschreiben.


    Aber das wäre einwenig viel, die ganzen PVars dann auch umzuändern, da wollte ich Fragen, ob es auch möglich ist, MySQL und PVars zusammen zu Nutzen,
    Denn das Script hat 32K Zeilen, und ist das Selfmade von Gamer-Forces


    Und joa,
    Ist das Möglich ?


    Danke im Vorraus


    MFG
    Raphael

  • Wieso sollte es nicht möglich sein? PVar's sind Variablen, die im Script gesetzt werden. MySQL ist eine Dateispeicherungsmethode - Also komplett andere Sachen.
    Natürlich kannst du die Werte von PVar's in MySQL-Tabellen speichern lassen, und diese dann auch wieder auslesen, wo sollte da ein Problem sein?


    Mit freundl. Grüßen
    Padarom

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • Also brauche ich bei den CMDS nicht
    GetPVarInt(playerid, und so weiter
    und
    SetPVarInt(playerid
    machen ?


    Das kann also so bleiben, solange ich das mit der Speicherung auf MySQL mache ?

  • Das kansnt du, nur wenn dein stock/Public von SpielerSpeichern/SaveSpieler (oder so) aufgerufen wird... muss er die werte was in PVar gespeichert sind dann in mysql weiterleiten :D (denke ich mal)

  • ob du aus einer Datei liest und es in eine PVar schreibst, bzw aus einer PVar liest und es in eine Datei schreibst
    oder
    ob du aus einer Datenbank liest und es in eine PVar schreibst, bzw aus einer PVar liest und es in eine Datenbank schreibst
    ...


    Natürlich geht das! :pinch:


    Ist doch genau das selbe :D

  • Du meinst also, dass du nirgends PVar's verwendest, sondern alles direkt aus der MySQL liest?
    Ist ein bisschen unnötig/zeitraubend, wenn du überall wo du Werte brauchst wieder MySQL-Querys ausführen und auswerten musst.
    Die jeweiligen Werte musst/solltest du schon in Variablen speichern, damit du sie nur einmal (beim Login o.Ä.) laden musst.

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • ne ich wollt fragen, ob die beiden zusammen auch gehen, das ich nicht alles in SQL machen muss ;)

  • Wie gesagt, das geht.
    MySQL ist ja immerhin nichts anderes als dini, SQLite oder jede andere Dateispeicherungsmethode.

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • Ok,
    Dann die Erste Frage


    Wie schreibe ich das hier um, denn ich Arbeite nicht mit Enums


    stock LoadPlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
    SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pGeld] = mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pKills] = mysql_GetInt("accounts", "Kills", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pTode] = mysql_GetInt("accounts", "Tode", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pAdmin] = mysql_GetInt("accounts", "Admin", "Name", SpielerInfo[playerid][pName]);
    }
    return 1;
    }
    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    mysql_SetInt("accounts", "Level", SpielerInfo[playerid][pLevel], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Geld", SpielerInfo[playerid][pGeld], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Tode", SpielerInfo[playerid][pTode], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "Health", SpielerInfo[playerid][pHealth], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Admin", SpielerInfo[playerid][pAdmin], "Name", SpielerInfo[playerid][pName]);


    }
    }
    return 1;
    }


    Denn das war aus nem TUT wo ich gemacht habe ;D