Wieso wird das Level nicht geladen - Mysql

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
  • Ingame Level 0 obwohl in der Datenbank ein anderes Level ist, was eigentlich ausgelesen werden soll.



    //LoadPlayer
    new query[500];
    format(query,sizeof(query),"UPDATE `accounts` SET `Level` WHERE `Name` = '%s'",SpielerInfo[playerid][pLevel],PlayerName(playerid));
    mysql_query(query);
    SetPlayerScore(playerid,SpielerInfo[playerid][pLevel]);

  • Du hast kein Parameter für Level angegeben :)

    //LoadPlayer
    new query[500];
    format(query,sizeof(query),"UPDATE `accounts` SET `Level` = '%d' WHERE `Name` = '%s'",SpielerInfo[playerid][pLevel],PlayerName(playerid));
    mysql_query(query);
    SetPlayerScore(playerid,SpielerInfo[playerid][pLevel]);

  • Also LADEN macht das überhaupt nichts.
    format(query,sizeof(query),"UPDATE `accounts` SET `Level` WHERE `Name` = '%s'",SpielerInfo[playerid][pLevel],PlayerName(playerid));
    Du machst einen UPDATE Befehl, der nichts lädt sondern überschribt. Nutze einen SELECT Befehl. Ausserdem hast du nur einen String (%s) in der Abfrage, du möchtest jedoch zwei verschiedene Variablen benutzen (SpielerInfo[playerid][pLevel],PlayerName(playerid)).

  • Code
    //LoadPlayer
    new query[500];
    		format(query,sizeof(query),"SELECT * FROM `accounts` WHERE `Name` = '%s'",PlayerName(playerid));
    		mysql_query(query);
    		SetPlayerScore(playerid,SpielerInfo[playerid][pLevel]);


    Wenn schon..


    Edit: Wie ladest du den die anderen Sachen? sprich Money usw??

    Zitat von Sharpadox

    Echt fantastisch, dieses "Google" ^^



  • Code
    //LoadPlayer
    new query[500];
    		format(query,sizeof(query),"SELECT * FROM `accounts` WHERE `Name` = '%s'",PlayerName(playerid));
    		mysql_query(query);
    		SetPlayerScore(playerid,SpielerInfo[playerid][pLevel]);


    Wenn schon..


    Edit: Wie ladest du den die anderen Sachen? sprich Money usw??


    Garnicht habe das Tutorial von Maddin genommen, aber ich da es nun mit einem Query laden möchte, wollte ich es erstmal mit dem Level testen aber kein Erfolgt :S
    Dein Code geht auch nicht :S

  • So wie es aussieht benutzt du noch die älteren Versionen des MySQL Plugins, daher
    musst du nach einem SELECT Query erst mysql_store_result verwenden, und dann die einzelnen Werte in die Variablen laden lassen.


    LG

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • So wie es aussieht benutzt du noch die älteren Versionen des MySQL Plugins, daher
    musst du nach einem SELECT Query erst mysql_store_result verwenden, und dann die einzelnen Werte in die Variablen laden lassen.


    LG


    So ?
    Benutze das R5 Plugin by BlueG
    new query[500];
    mysql_store_result();
    format(query,sizeof(query),"SELECT * FROM `accounts` WHERE `Name` = '%s'",PlayerName(playerid));
    mysql_query(query);
    SetPlayerScore(playerid,SpielerInfo[playerid][pLevel]);


    //Edit immer noch ingame Level 0 :S

  • Schau mal was in meinem Post steht, da steht nach dem Query.
    Irgendwie glaube ich, dass du nur alles schnell haben willst, dich aber nicht mal richtig in ein Tutorial einließt und dich dann wunderst, warum du nichts
    auf die Reihe bekommst.

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Du kannst nicht SELECT * FROM benutzen und dann SET. Das wiederspricht sich. Schau dir mal MySQL Tutorials im Internet an, damit du die Basis hast (SELECT, UPDATE, INSERT INTO) und versuche dann MySQL Tutorials in Verbindung mit PAWNO zu lesen und verstehen. Denn die Resultate müssen nicht bur abgerufen sondern auch gespeichert und ausgegeben werden.

  • Schau mal was in meinem Post steht, da steht nach dem Query.
    Irgendwie glaube ich, dass du nur alles schnell haben willst, dich aber nicht mal richtig in ein Tutorial einließt und dich dann wunderst, warum du nichts
    auf die Reihe bekommst.


    Musste schnell machen - morgen schule und muss pennen :D Danke teste es mal

  • Hast du den Stock:




    Wenn ja, kannst du mit Dem Befehl das Level Abfragen:


    Code
    SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", SpielerInfo[playerid][pName]);



    Dem Spieler gibst du den Score mit:


    Code
    SetPlayerScore(playerid, SpielerInfo[playerid][pLevel]);
    Zitat von Sharpadox

    Echt fantastisch, dieses "Google" ^^



  • W

    Will es mit einem Query :D

  • Es ist echt Wahnsinn, wie viel hier mit Halbwissen geworfen wird.
    Nach dem Anwenden des mysql_store_result() Befehl, musst du mit, ich glaube der hieß mysql_fetch_field,
    dann die Werte in deine Variablen laden lassen.
    Danach darfst du natürlich nicht vergessen, mit mysql_free_result() das Ergebnis wieder freizugeben.


    Trotzdem empfehle ich keinem mehr, die Versionen unter R7 zu benutzen.


    LG

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • Es ist echt Wahnsinn, wie viel hier mit Halbwissen geworfen wird.
    Nach dem Anwenden des mysql_store_result() Befehl, musst du mit, ich glaube der hieß mysql_fetch_field,
    dann die Werte in deine Variablen laden lassen.
    Danach darfst du natürlich nicht vergessen, mit mysql_free_result() das Ergebnis wieder freizugeben.


    Trotzdem empfehle ich keinem mehr, die Versionen unter R7 zu benutzen.


    LG


    Kannst du mir ein Beispiel geben - Mysql ist schwer :P