MySQL Hilfe!Und eine Kleine andere Frage

  • MySQL Hilfe!Und eine Kleine andere Frage

    Hallo Leute,
    Ich habe seit ca 2Tagen MySQL auf mein Script nun habe ich ein Problem ich habe das alles gespeichert:

    [pwn]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][pFraktion] = mysql_GetInt("accounts", "Fraktion", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pBan] = mysql_GetInt("accounts", "Ban", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pAdmin] = mysql_GetInt("accounts", "Admin", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pAFK] = mysql_GetInt("accounts", "AFK", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pLeader] = mysql_GetInt("accounts", "Leader", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pDrogen] = mysql_GetInt("accounts", "Drogen", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pMats] = mysql_GetInt("accounts", "Mats", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pAutoschein] = mysql_GetInt("accounts", "Autoführerschein", "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", "Fraktion", SpielerInfo[playerid][pFraktion], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Ban", SpielerInfo[playerid][pBan], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Admin", SpielerInfo[playerid][pAdmin], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "AFK", SpielerInfo[playerid][pAFK], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Leader", SpielerInfo[playerid][pLeader], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Drogen", SpielerInfo[playerid][pDrogen], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Mats", SpielerInfo[playerid][pMats], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Autoführerschein", SpielerInfo[playerid][pAutoschein], "Name", SpielerInfo[playerid][pName]);
    }
    }
    return 1;
    }[/pwn]

    Aber wenn ich in der Tabelle das oder das ändern Passiert nichts habe ich was falsch gemacht(Kollege hat getestet).


    [pwn]enum SpielerDaten
    {
    pName[MAX_PLAYER_NAME],
    pLevel,
    pGeld,
    pKills,
    pTode,
    Float:pHealth,
    pFraktion,
    pBan,
    pAdmin,
    pAFK,
    pLeader,
    pDrogen,
    pMats,
    pAutoschein

    }
    new SpielerInfo[MAX_PLAYERS][SpielerDaten];[/pwn]

    So habe ich das aber wenn ich es in der Tabelle ändern geht es nicht.UNd nochmal eine kleine andere Frage Thema Fraktion ich habe mit:

    [pwn]static gTeam[MAX_PLAYERS];
    #define TEAM_ZIVILIST 0
    #define TEAM_LSPD 1
    #define TEAM_SFPD 2
    #define TEAM_LVPD 3
    #define TEAM_VATOSLOCOS 4
    #define TEAM_BALLAS 5
    #define TEAM_COSANOSTRA 6
    #define TEAM_NEWSREPORTER 7
    #define TEAM_MEDIC 8
    #define TEAM_OAMT 9
    #define TEAM_RUSSENMAFIA 10
    #define TEAM_YAKUZA 11
    #define TEAM_BLOODS 12
    #define TEAM_CRIPS 13
    #define TEAM_FBI 14[/pwn]

    Fraktion erstellt und hier mein ocmd:makeleader Befehl:

    [pwn]ocmd:makeleader(playerid,params[])
    {
    if(SpielerInfo[playerid][pAdmin] >= 3)
    {
    new pID, fID, string[128], string2[128], string3[128];
    if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,COLOR_DUNKELGRAU,"Benutze: /makeleader [Name/ID] [Fraktions ID(Fraktionen unter '/fl')]");
    if(fID<0 || fID>10)return SendClientMessage(playerid,COLOR_ROT,"Es gibt nur 10 Fraktionen!");
    //SpielerInfo[pID][pFraktion] = fID;
    gTeam[pID] = fID;
    SpielerInfo[pID][pLeader] = fID;
    //SpielerInfo[pID][pRank] = 1;
    Rank[pID] = 6;
    TEAMCOLOR(pID);
    format(string,sizeof(string),"Sie haben den Spieler %s in der Fraktion %d gemacht!", pID, fID);
    SendClientMessage(playerid,COLOR_ROT,string);
    format(string2,sizeof(string2),"Sie wurden von %s, Leader der Fraktion %d gemacht",SpielerName(playerid),fID);
    SendClientMessage(pID,COLOR_GRÜN,string2);
    format(string3,sizeof(string3),"AdmCmd: %s hat den Spieler %s Leader der Fraktion %d gemacht!",SpielerName(playerid), pID, fID);
    SendAdminMessage(COLOR_ROT,string3);
    }
    else
    {
    SendClientMessage(playerid,COLOR_ROT,"Sie sind kein Admin/Supporter");
    }
    return 1;
    }[/pwn]

    würde das so gehen?Kann es leider selber nicht Testen PC kaputt und bin auf dem Notebook hoffe es kann mir jemand helfen danke im voraus!.

    //EDIT
    //EDIT Danke das du immer hilfst TutNichts!Passt ja der Name :D


    MFG
    T_Pain

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von T_Pain ()

  • Hallo der Beitrag ist zwar schon ein bisschen Länger her aber ich Poste Trotzdem mal die Lösung

    Also wen man ein Script hat was Auf Mysql basiert ist das Grundscript und das mysql_SetInt Vollkommen Richtig es liegt auch nicht an Pawn weil man beim Compilen keinen Fehler bekommt Das Problem Liegt wo Anders.


    Das Problem ist das in der Mysql Db kein Standart wert gesetzt ist das bedeutet das wenn sich das script Connectet versucht pawn alles aus zu lesen dadurch das nichts in der Tabelle steht gibt mysql Nartürlich ein Leeres Resultat zurück SOOOO und da ist der Hacken wen die mysql datenbank keinen wert wie 0 oder 1 Zurück gibt Bricht Pawn bzw der Server den Stock ab und es Passeirt nichts.

    Mann hat zwar für den eingeloggten zustand einen Account aber der Acoount oder auch Andere sachen wurde nicht in die Mysql eingetragen.

    Lösung = Standartwerte Eintragen und ggf. bei OnGameModInt Folgedes Eintragen.

    [pwn]

    public OnGameModeInit()
    {
    mysql_debug(1); Mysql wir Geloggt

    mysql_debug(0); Mysql log ist Deaktiviert


    return 1;
    }
    [/pwn]

    Dann wird eine Logdatei Angelegt und dort wirst du wahrscheinlich paar errors finden wie z.B: Error Table is not Defult value oder so ähnlich :D


    Ich Hoffe ich konnte helfen MFG Ben