Beiträge von Beavis

    Morgen zusammen


    Ich habe ein kleines Problem
    Bei mir wird von SSCANF nichts an mein Enum übermittelt
    Ich kann alles in der Datenbank stehen haben aber imgame kommt nix an
    Holen tut er alles nach den Log

    Code
    [Tue Dec 04 11:28:53 2012] Function: mysql_fetch_row executed with result: "1|Beavis|Snipped|5|1|4|172761|181|6|6|560|0|0|1|0|Test123|Beavis|127.0.|11880|NULL".


    So ist der Code
    stock LoadPlayer(playerid,Key[])
    {
    new Get[100],Data[1024];
    format(query, 256, "SELECT `Passwort` FROM `player` WHERE `Name` = '%s'", PlayerInfo[playerid][Name]);
    mysql_query(query, (-1), (0), SQL);
    mysql_store_result(SQL);
    mysql_fetch_row(Get, "|", SQL);
    if(!strcmp(MD5_Hash(Key), Get, true))
    {
    mysql_free_result(SQL);
    format(query, sizeof(query),"SELECT * FROM `player` WHERE `Name` = '%s'",PlayerInfo[playerid][Name]);
    mysql_query(query, (-1), (0), SQL);
    mysql_store_result(SQL);
    while(mysql_fetch_row(Data, "|", SQL))
    {
    sscanf(Data, "e<p<|>ds[64]s[128]dddddddddddds[128]s[128]s[16]dd>",PlayerInfo[playerid]);
    }
    GivePlayerMoney(playerid,PlayerInfo[playerid][Geld]);
    SetPlayerScore(playerid,PlayerInfo[playerid][Userid]);
    format(query, 128, "{006100}[Join] %s hat den Server betreten.", PlayerInfo[playerid][Name]);
    SendClientMessageToAll(cGreen, query);
    SpawnPlayer(playerid);
    }
    else
    {
    format(query, 128, "{FFFFFF}Fehler{FF6E00} %s {FFFFFF}Das Passwort war Falsch", PlayerInfo[playerid][Name]);
    ShowPlayerDialog(playerid,diaLogin,DIALOG_STYLE_PASSWORD,Servername,query,"Login","");
    }
    mysql_free_result(SQL);
    }


    und zu guter letzt die enum struktur
    enum PlayerEnum
    {
    Userid,
    Name[MAX_PLAYER_NAME],
    Passwort[128],
    Admin,
    Job,
    Team,
    Geld,
    Skin,
    Level,
    Respekt,
    PayDay,
    PayDayTog,
    Rank,
    Leader,
    Banned,
    BanGrund[128],
    BanAdmin[128],
    IP[16],
    Nummer,
    Safeban
    };


    Ich steh hier mit einen Fragezeichen
    Mein enum steht genau so wie es in der Reienfolge der Datenbank ist



    Ich hoffe auf hilfe von euch


    Das hab ich dir doch geschrieben X(
    so
    mysql_fetch_field_row("Handynummer",data); _Handy[playerid][Handynummer] = strval(data);

    public OnFilterScriptExit()


    schreib da mal mysql_close rein, denn wenn einer ein gmx ingame macht, baut er wieder eine neue Verbindung auf
    mach einiger Zeit geht dann nichts mehr

    Guten zusammen


    Ich habe ein kleines Problem
    wenn ich Offline gehe, und dann noch ein Spieler auf den Server ist, erhält er komischerweise meine gesammten daten
    Warum auch immer


    Ich bin Ratlos, da ich es Mit enums versucht habe und mit PVars
    es kommt immer das selbe bei raus.
    Den Player lass ich so laden:
    stock LoadPlayerData(playerid)
    {
    mysql_reconnect();
    new string[512],Get[100],Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,MAX_PLAYER_NAME);
    format(string, 128, "SELECT * FROM player WHERE Name = '%s'",Name);
    mysql_query(string);
    mysql_store_result();
    while(mysql_fetch_row_format(string,"|"))
    {
    mysql_fetch_field_row(Get, "Admin"); SetPVarInt(playerid,"Admin",strval(Get));
    mysql_fetch_field_row(Get, "Job"); SetPVarInt(playerid,"Job",strval(Get));
    mysql_fetch_field_row(Get, "Team"); SetPVarInt(playerid,"Team",strval(Get));
    mysql_fetch_field_row(Get, "Skin"); SetPVarInt(playerid,"Skin",strval(Get));
    mysql_fetch_field_row(Get, "Level"); SetPVarInt(playerid,"Level",strval(Get));
    mysql_fetch_field_row(Get, "Job"); SetPVarInt(playerid,"Job",strval(Get));
    mysql_fetch_field_row(Get, "Cash"); SetPVarInt(playerid,"Cash",strval(Get));
    mysql_fetch_field_row(Get, "Respekt"); SetPVarInt(playerid,"Respekt",strval(Get));
    mysql_fetch_field_row(Get, "PayDay"); SetPVarInt(playerid,"PayDay",strval(Get));
    mysql_fetch_field_row(Get, "PayDayTog"); SetPVarInt(playerid,"PayDayTog",strval(Get));
    mysql_fetch_field_row(Get, "Rank"); SetPVarInt(playerid,"Rank",strval(Get));
    mysql_fetch_field_row(Get, "Leader"); SetPVarInt(playerid,"Leader",strval(Get));
    mysql_fetch_field_row(Get, "Nummer"); SetPVarInt(playerid,"Nummer",strval(Get));
    }
    mysql_free_result();
    format(string, 128,"%s%d",Name,0);
    if(B_MySQL_CheckData("playercars","Name",string)!=0)
    {
    LoadPlayerCar(playerid,0);
    }
    format(string, 128,"%s%d",Name,1);
    if(B_MySQL_CheckData("playercars","Name",string)!=0)
    {
    LoadPlayerCar(playerid,1);
    }
    format(string, 128,"%s%d",Name,2);
    if(B_MySQL_CheckData("playercars","Name",string)!=0)
    {
    LoadPlayerCar(playerid,2);
    }
    }


    Speichern lass ich den Spaß so
    stock SavePlayer(playerid)
    {
    mysql_reconnect();
    new Name[MAX_PLAYER_NAME],string[512];
    GetPlayerName(playerid,Name,MAX_PLAYER_NAME);
    format(string,512,"UPDATE `player` SET `Admin` = '%d',`Job` = '%d',`Team` = '%d',`Cash` = '%d',`Skin` = '%d',`Level` = '%d',`Respekt` = '%d',`PayDay` = '%d',`PayDayTog` = '%d',`Rank` = '%d',`Leader` = '%d',`Nummer` = '%d' WHERE `Name` = '%s'",
    GetPVarInt(playerid,"Admin"),GetPVarInt(playerid,"Job"),GetPVarInt(playerid,"Team"),GetPlayerMoney(playerid),GetPlayerSkin(playerid),GetPVarInt(playerid,"Level"),GetPVarInt(playerid,"Respekt"),GetPVarInt(playerid,"PayDay"),
    GetPVarInt(playerid,"PayDayTog"),GetPVarInt(playerid,"Rank"),GetPVarInt(playerid,"Leader"),GetPVarInt(playerid,"Nummer"),Name);
    mysql_query(string);
    return 1;
    }


    Wenn ich dann wieder onlinke komme, hab ich meine alten daten noch, aber Spieler 2 hat auch meine Daten.
    Ratlos bin ich wirklich, da mir keine Lösung mehr dazu einfällt.
    Daher hoffe ich auf eure hilfe

    Guten zusammen


    Ich habe ien kleines Prolem
    Ich mlöchte 2 MySQL verbindungen aufbauen, jedoch scheint dies nicht zu funktionieren
    Ich habe 2mal sowas ganz oben deklairt
    new testconnect[2];
    anwenden tue ich es so


    testconnect[0] = mysql_connect(HostIP,HostUser,HostDatabase,HostPasswort);
    testconnect[1] = mysql_connect(HostIP2,HostUser2,HostDatabase2,HostPasswort2);
    if(mysql_ping(testconnect[0])) print("MySQL connection hergestellt!");
    if(!mysql_ping(testconnect[0])) print("MySQL connection ist tot!");
    if(mysql_ping(testconnect[1])) print("MySQL connection hergestellt!");
    if(!mysql_ping(testconnect[1])) print("MySQL connection ist tot!");


    Das problem ist jetzt, das wenn ich bei Testconnect0 die zugangsdaten richtig habe und bei 1 falsch, gibt er die 1 als verbunden an
    ich versteh nicht wiso
    Darum hoffe ich auf eure hilfen