Beiträge von Jeffry

    Was für Errors?
    Hast du den gesamten Befehl ersetzt? Wenn ja, dann ist es klar, da ja unten eine Klammer fehlt. Ich habe diese mit Absicht weg gelassen, da ich nicht weiß ob da noch etwas folgt.
    Falls nicht, so:
    ocmd:autoparken(playerid, params[])
    {
    for (new i = 0; i < sizeof(AutoInfo); i++)
    {
    if(!strcmp(AutoInfo[i][Besitzer], SpielerName(playerid)))
    {
    //Er sucht ab, ob der spieler ein auto besitzt, wenn ja:
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, dunkelgrün, "Du bist in kein Auto!");
    new vID = GetPlayerVehicleID(playerid);
    if(vID == AutoInfo[i] [Fahrzeugid])
    {
    new query[128];
    GetVehiclePos(vID, AutoInfo[i][c_x],AutoInfo[i][c_y],AutoInfo[i][c_z]);
    GetVehicleZAngle(vID,AutoInfo[i][c_r]);
    format(query, sizeof(query), "UPDATE Autos SET x='%f',y='%f',z='%f',r='%f' WHERE id='%i' ",AutoInfo[i] [c_x],AutoInfo[i] [c_y],AutoInfo[i] [c_z],AutoInfo[i] [c_r],AutoInfo[i] [db_id]);
    printf("query: %s", query);
    mysql_function_query(dbhandle,query,false," "," ");
    SendClientMessage(playerid, dunkelgrün, "Du hast dein Auto geparkt.");
    return 1;
    }
    return SendClientMessage(playerid, dunkelgrün, "Du sitzt nicht in deinem Auto!");
    }
    }
    return 1;
    }

    Versuche es so:
    stock SpielerSpeichern(playerid)
    {
    new mainQuery[2048];
    if(SpielerInfo[playerid][pEingeloggt] == 0)return 1;
    SpielerInfo[playerid][pEingeloggt] = 0;


    //Query 1
    format(mainQuery, sizeof(mainQuery), "UPDATE `"SERVER_TAG"_accounts` SET `InternetProtocol` = '%s', `Eingeloggt`='%d', `Admin`='%d', `Tutorial`='%d', `Level`='%d', `Payday`='%d', `Respekt`='%d', `MaxRespekt`='%d', `Geld`='%d',",
    SpielerIP(playerid), SpielerInfo[playerid][pEingeloggt], SpielerInfo[playerid][pAdmin], SpielerInfo[playerid][pTutorial],SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pPayday],
    SpielerInfo[playerid][pRespekt],SpielerInfo[playerid][pMaxRespekt],SpielerInfo[playerid][pGeld]);

    format(mainQuery, sizeof(mainQuery), "%s`Bank`='%d', `Festgeld`='%d', `Lohn`='%d', `Skin`='%d', `Spawnchange`='%d', `Fraktion`='%d', `FrakRank`='%d', `FrakSkin`='%d', `Verheiratet`='%d',",
    mainQuery,SpielerInfo[playerid][pBank],SpielerInfo[playerid][pFestgeld],SpielerInfo[playerid][pLohn],SpielerInfo[playerid][pSkin],SpielerInfo[playerid][pSpawnchange],SpielerInfo[playerid][pFraktion],
    SpielerInfo[playerid][pFrakRank],SpielerInfo[playerid][pFrakSkin],SpielerInfo[playerid][pVerheiratet]);

    format(mainQuery, sizeof(mainQuery), "%s`Job`='%d', `Geschlecht`='%d' WHERE Name = '%s'",
    mainQuery,SpielerInfo[playerid][pJob],SpielerInfo[playerid][pGeschlecht],Spielername(playerid));
    mysql_function_query(Handle, mainQuery, false, "", "");

    //Query 2
    format(mainQuery, sizeof(mainQuery), "UPDATE `"SERVER_TAG"_scheine` SET `Autoschein` = '%d', `AutoscheinPunkte` = '%d', `Flugschein` = '%d', `Waffenschein` = '%d', `Fischschein` = '%d', `Zollschein` = '%d', `Personalausweis` = '%d' WHERE `Name` = '%s'",
    SpielerInfo[playerid][pAutoschein],SpielerInfo[playerid][pAutoscheinPunkte],SpielerInfo[playerid][pFlugschein],SpielerInfo[playerid][pWaffenschein],SpielerInfo[playerid][pFischschein],SpielerInfo[playerid][pZollschein],SpielerInfo[playerid][pPersonalausweis],Spielername(playerid));

    mysql_function_query(Handle, mainQuery, false, "", "");
    return 1;
    }


    Falls es nicht geht, was sagt der Log?

    Problem 1:
    Versuche es so:
    new query[128];
    format(query,sizeof(query),"UPDATE accounts SET Knast='%d', JailTime='%d' WHERE id='%i'",PlayerInfo[playerid][pJailed], PlayerInfo[playerid][pJailTime], PlayerInfo[playerid][db_id]);


    Problem 2:
    forward savePlayer();
    public savePlayer()
    {
    printf("savePlayer aufgerufen");
    for(new playerid = 0; playerid < MAX_PLAYERS; playerid++)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    new query[256];
    format(query,sizeof(query),"UPDATE accounts SET PayDay='%d', PayDayHead='%d', Paycheck='%d', Respect='%d' WHERE id='%i'",
    PlayerInfo[playerid][pPayDay],PlayerInfo[playerid][pPayDayHad],PlayerInfo[playerid][pPayCheck],PlayerInfo[playerid][pExp],PlayerInfo[playerid][db_id]);
    mysql_function_query(dbhandle,query,false,"",""); //Hat gefehlt.
    printf("SAVE: %s Account hat gespeichert!",pName);
    }
    }
    return 1;
    }

    ocmd:autoparken(playerid, params[])
    {
    for (new i = 0; i < sizeof(AutoInfo); i++)
    {
    if(!strcmp(AutoInfo[i][Besitzer], SpielerName(playerid)))
    {
    //Er sucht ab, ob der spieler ein auto besitzt, wenn ja:
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, dunkelgrün, "Du bist in kein Auto!");
    new vID = GetPlayerVehicleID(playerid);
    if(vID == AutoInfo[i] [Fahrzeugid])
    {
    new query[128];
    GetVehiclePos(vID, AutoInfo[i][c_x],AutoInfo[i][c_y],AutoInfo[i][c_z]);
    GetVehicleZAngle(vID,AutoInfo[i][c_r]);
    format(query, sizeof(query), "UPDATE Autos SET x='%f',y='%f',z='%f',r='%f' WHERE id='%i' ",AutoInfo[i] [c_x],AutoInfo[i] [c_y],AutoInfo[i] [c_z],AutoInfo[i] [c_r],AutoInfo[i] [db_id]);
    printf("query: %s", query);
    mysql_function_query(dbhandle,query,false," "," ");
    SendClientMessage(playerid, dunkelgrün, "Du hast dein Auto geparkt.");
    return 1;
    }
    return SendClientMessage(playerid, dunkelgrün, "Du sitzt nicht in deinem Auto!");
    }
    }


    Falls es nicht klappt, poste was im Server Log steht wenn du den Befehl ausgeführt hast.

    Das machst du doch hier schon:
    stock GiveMoney(playerid, value)
    {
    if(!IsPlayerConnected(playerid))return 0;
    sInfo[playerid][sMoney] += value;
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid, sInfo[playerid][sMoney]);
    return 1;
    }


    Deshalb hatte es es ja zuvor doppelt (+1000) geladen.

    Was hast denn du gemacht? Das Level passt ja jetzt auch nicht mehr.
    stock SpielerLaden(playerid)
    {
    new Spielerdatei[128];
    format(Spielerdatei,sizeof(Spielerdatei),"/User/%s.ini",SpielerName(playerid));
    sInfo[playerid][sLevel] = SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    sInfo[playerid][sMoney] = 0;
    GiveMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    sInfo[playerid][sBankKonto] = dini_Int(Spielerdatei,"BankKonto");
    sInfo[playerid][sBankMoney] = dini_Int(Spielerdatei,"BankKontoGeld");
    sInfo[playerid][sALevel] = dini_Int(Spielerdatei,"Adminlevel");
    sInfo[playerid][sFraktion] = dini_Int(Spielerdatei,"Fraktion");
    sInfo[playerid][sFRang] = dini_Int(Spielerdatei,"FraktionRang");
    return 1;
    }


    So.

    Was wird dir so geprintet?
    ocmd:vehiclelock(playerid,params[])
    {
    new veh = GetOwnVehicle(playerid);
    if(veh == INVALID_VEHICLE_ID) return SendClientMessage(playerid,COLOR_RED,!"Es befindet sich keines deiner Fahrzeuge in der Nähe.");
    new engine,lights,alarm,bonnet,boot,objective;
    GetVehicleParamsEx(veh,engine,lights,alarm,vehdoor,bonnet,boot,objective);
    GameTextForPlayer(playerid, (vehdoor)?("~w~Fahrzeug ~g~aufgeschlossen"):("~w~Fahrzeug ~g~abgeschlossen"), 3000, 5);
    PlaySoundForPlayer(playerid,1147);
    SetTimerEx("PlaySoundForPlayer",500,0,"id",playerid,1147);
    printf("vehdoor war: %d", vehdoor);
    if(vehdoor!=0) vehdoor = 1;
    else vehdoor = 0;
    printf("vehdoor ist: %d (veh: %d)", vehdoor, veh);
    SetVehicleParamsEx(veh,engine,lights,alarm,vehdoor,bonnet,boot,objective);
    return 1;
    }

    Wenn du den nativechecker drin lässt, dann darfst du keine zweite "plugins" Zeile in der server.cfg anlegen, sondern dann muss es dazu.
    plugins sscanf nativechecker
    bzw. mit .so eben.




    EDIT: (Post unten)
    IsoStar123: Alles klar! Da dein Problem behoben ist, wäre es gut, wenn du den Thread auf erledigt setzt. Danke!

    In der SpielerLaden-Funktion die Zeile
    sInfo[playerid][sMoney] = GiveMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    damit ersetzen.

    Oh, du zählst das in der Funktion auch hoch.
    Dann so:
    sInfo[playerid][sMoney] = 0;
    GiveMoney(playerid,dini_Int(Spielerdatei,"Geld"));

    sInfo[playerid][sMoney] = GiveMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    zu:
    sInfo[playerid][sMoney] = dini_Int(Spielerdatei,"Geld");
    GiveMoney(playerid,sInfo[playerid][sMoney]);

    new text[144],string[145],string1[145];


    Mehr geht nicht anzuzeigen.
    Außerdem solltest du etwas sparsamer mit deinen Variablen umgehen, string1 ist nicht notwendig, du kannst das erneut in string schreiben.