MYSQL speichert biz sbiz house besitzer nicht obwohl db vorhanden

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 Community,


    Und zwar habe ich folgendes Problem, immer wenn ich ein haus oder ein biz kaufe speichert dieser nicht ab wenn ich alles neu starte. Woran kann dies liegen? Die datenbank ist vorhanden
    ich habe mal nach gekuckt und alles sollt eig richtig sein. Kann mir einer weiter helfen?



    public LoadProperty()
    {
    new string[128];
    for(new i = 0; i < sizeof(HouseInfo); i++)
    {
    format(string, sizeof(string),"SELECT * FROM `houses` WHERE `HouseID` = '%d'", i);
    self_mysql_queryEx(string);
    mysql_store_result(MySQLConnection);
    if(mysql_num_rows(MySQLConnection) != 0)
    {
    mysql_fetch_row_format(string);
    new val[ 256 ];
    self_mysql_get_field("Owner", val); strmid(HouseInfo[i][hOwner], val, 0, strlen(val), 255);
    self_mysql_get_field("Beschreibung", val); strmid(HouseInfo[i][hBeschreibung], val, 0, strlen(val), 255);
    self_mysql_get_field("Preis", val); HouseInfo[i][hPreis] = strval( val );
    self_mysql_get_field("HealUpgrade", val); HouseInfo[i][hHealUpgrade] = strval( val );
    self_mysql_get_field("ArmorUpgrade", val); HouseInfo[i][hArmorUpgrade] = strval( val );
    self_mysql_get_field("Lock", val); HouseInfo[i][hLock] = strval( val );
    self_mysql_get_field("Owned", val); HouseInfo[i][hOwned] = strval( val );
    self_mysql_get_field("Rooms", val); HouseInfo[i][hRooms] = strval( val );
    self_mysql_get_field("Rent", val); HouseInfo[i][hRent] = strval( val );
    self_mysql_get_field("Rentabil", val); HouseInfo[i][hRentabil] = strval( val );
    self_mysql_get_field("Kasse", val); HouseInfo[i][hKasse] = strval( val );
    //self_mysql_get_field("Date", val); HouseInfo[i][hDate] = strval( val );
    self_mysql_get_field("Level", val); HouseInfo[i][hLevel] = strval( val );
    self_mysql_get_field("MedickitUpgradeTime", val); HouseInfo[i][hMedickitUpgradeTime] = strval( val );
    }
    mysql_free_result(MySQLConnection);
    }
    return 1;
    }


    public LoadBiz()
    {
    new string[128];
    for(new i = 0; i < sizeof(BizInfo); i++)
    {
    format(string, sizeof(string),"SELECT * FROM `biz` WHERE `BizID` = '%d'", i);
    self_mysql_queryEx(string);
    mysql_store_result(MySQLConnection);
    if(mysql_num_rows(MySQLConnection) != 0)
    {
    mysql_fetch_row_format(string);
    new val[ 256 ];
    self_mysql_get_field("Owned", val); BizInfo[i][bOwned] = strval( val );
    self_mysql_get_field("Owner", val); strmid(BizInfo[i][bOwner], val, 0, strlen(val), 255);
    self_mysql_get_field("Message", val); strmid(BizInfo[i][bMessage], val, 0, strlen(val), 255);
    self_mysql_get_field("Extortion", val); strmid(BizInfo[i][bExtortion], val, 0, strlen(val), 255);
    self_mysql_get_field("LevelNeeded", val); BizInfo[i][bLevelNeeded] = strval( val );
    self_mysql_get_field("BuyPrice", val); BizInfo[i][bBuyPrice] = strval( val );
    self_mysql_get_field("EntranceCost", val); BizInfo[i][bEntranceCost] = strval( val );
    self_mysql_get_field("Till", val); BizInfo[i][bTill] = strval( val );
    self_mysql_get_field("Locked", val); BizInfo[i][bLocked] = strval( val );
    self_mysql_get_field("Products", val); BizInfo[i][bProducts] = strval( val );
    self_mysql_get_field("MaxProducts", val); BizInfo[i][bMaxProducts] = strval( val );
    self_mysql_get_field("PriceProd", val); BizInfo[i][bPriceProd] = strval( val );
    }
    mysql_free_result(MySQLConnection);
    }
    return 1;
    }


    public LoadSBiz()
    {
    for(new i = 0; i < sizeof(SBizInfo); i++)
    {
    new string[256];
    format(string, sizeof(string),"SELECT * FROM `sbiz` WHERE `SBizID` = '%d'", i);
    self_mysql_queryEx(string);
    mysql_store_result(MySQLConnection);
    if(mysql_num_rows(MySQLConnection) != 0)
    {
    mysql_fetch_row_format(string);
    new val[ 256 ];
    self_mysql_get_field("Owned", val); SBizInfo[i][sbOwned] = strval( val );
    self_mysql_get_field("Owner", val); strmid(SBizInfo[i][sbOwner], val, 0, strlen(val), 255);
    self_mysql_get_field("Message", val); strmid(SBizInfo[i][sbMessage], val, 0, strlen(val), 255);
    self_mysql_get_field("Extortion", val); strmid(SBizInfo[i][sbExtortion], val, 0, strlen(val), 255);
    self_mysql_get_field("LevelNeeded", val); SBizInfo[i][sbLevelNeeded] = strval( val );
    self_mysql_get_field("BuyPrice", val); SBizInfo[i][sbBuyPrice] = strval( val );
    self_mysql_get_field("EntranceCost", val); SBizInfo[i][sbEntranceCost] = strval( val );
    self_mysql_get_field("Till", val); SBizInfo[i][sbTill] = strval( val );
    self_mysql_get_field("Locked", val); SBizInfo[i][sbLocked] = strval( val );
    self_mysql_get_field("Products", val); SBizInfo[i][sbProducts] = strval( val );
    self_mysql_get_field("MaxProducts", val); SBizInfo[i][sbMaxProducts] = strval( val );
    self_mysql_get_field("PriceProd", val); SBizInfo[i][sbPriceProd] = strval( val );
    }
    mysql_free_result(MySQLConnection);
    }
    return 1;
    }


    public LoadTankenBiz()
    {
    new string[128];
    for(new i = 1; i < sizeof(TankenBizInfo); i++)
    {
    format(string, sizeof(string),"SELECT * FROM `tankenbiz` WHERE `TankenBizID` = '%d'", i);
    self_mysql_queryEx(string);
    mysql_store_result(MySQLConnection);
    if(mysql_num_rows(MySQLConnection) != 0)
    {
    mysql_fetch_row_format(string);
    new val[ 256 ];
    self_mysql_get_field("Owned", val); TankenBizInfo[i][TBOwned] = strval( val );
    self_mysql_get_field("Owner", val); strmid(TankenBizInfo[i][TBOwner], val, 0, strlen(val), 255);
    self_mysql_get_field("Message", val); strmid(TankenBizInfo[i][TBMessage], val, 0, strlen(val), 255);
    self_mysql_get_field("Extortion", val); strmid(TankenBizInfo[i][TBExtortion], val, 0, strlen(val), 255);
    self_mysql_get_field("LevelNeeded", val); TankenBizInfo[i][TBLevelNeeded] = strval( val );
    self_mysql_get_field("KaufPreis", val); TankenBizInfo[i][TBKaufPreis] = strval( val );
    self_mysql_get_field("Spritpreis", val); TankenBizInfo[i][TBSpritPreis] = strval( val );
    self_mysql_get_field("Kasse", val); TankenBizInfo[i][TBKasse] = strval( val );
    self_mysql_get_field("Locked", val); TankenBizInfo[i][TBLocked] = strval( val );
    self_mysql_get_field("Products", val); TankenBizInfo[i][TBProducts] = strval( val );
    self_mysql_get_field("MaxProducts", val); TankenBizInfo[i][TBMaxProducts] = strval( val );
    self_mysql_get_field("ProdPreis", val); TankenBizInfo[i][TBProdPreis] = strval( val );
    }
    mysql_free_result(MySQLConnection);
    printf("Eigentümer:%s Name:%s Spritpreis:%d Kasse:%d Produkte:%d/%d",
    TankenBizInfo[i][TBOwner],
    TankenBizInfo[i][TBMessage],
    TankenBizInfo[i][TBSpritPreis],
    TankenBizInfo[i][TBKasse],
    TankenBizInfo[i][TBProducts],
    TankenBizInfo[i][TBMaxProducts]);
    print("Tanken laden");
    }
    return 1;
    }

  • gneau das ist das problem, ich finde nichts davon das es speichern soll ^^


    //edit habe folgendes gefunden



    public SaveStuff()
    {
    new var[256];
    format(var, sizeof(var), "UPDATE `stuff` SET `Steuern`='%d', `Steuerkasse`='%d', `Jackpot`='%d', `VerfuegbareDrogen`='%d', `DrogenBank`='%d', `AktuellesWetter`='%d', `WetterVorhersage`='%d', `UserRekord`='%d', `LastNumber`='%d' WHERE `DatensatzID`='0'",
    StuffInfo[sSteuern],
    StuffInfo[sSteuerkasse],
    StuffInfo[sJackpot],
    StuffInfo[sVerfuegbareDrogen],
    StuffInfo[sDrogenBank],
    StuffInfo[sAktuellesWetter],
    StuffInfo[sWetterVorhersage],
    StuffInfo[sUserRekord],
    StuffInfo[sLastNumber]);
    self_mysql_queryEx(var);
    format(var, sizeof(var), "UPDATE `stuff` SET `Tode`='%d' WHERE `DatensatzID`='0'", StuffInfo[sToteUser]);
    self_mysql_queryEx(var);
    format(var, sizeof(var), "UPDATE `stuff` SET `SMS`='%d' WHERE `DatensatzID`='0'", StuffInfo[sSendSMS]);
    self_mysql_queryEx(var);
    format(var, sizeof(var), "UPDATE `stuff` SET `CarsDead`='%d' WHERE `DatensatzID`='0'", StuffInfo[sSchrotCars]);
    self_mysql_queryEx(var);
    format(var, sizeof(var), "UPDATE `stuff` SET `Commands`='%d' WHERE `DatensatzID`='0'", StuffInfo[sCommands]);
    self_mysql_queryEx(var);
    format(var, sizeof(var), "UPDATE `stuff` SET `NeueUser`='%d' WHERE `DatensatzID`='0'", StuffInfo[sNeuUser]);
    self_mysql_queryEx(var);
    format(var, sizeof(var), "UPDATE `stuff` SET `Verbrechen`='%d' WHERE `DatensatzID`='0'", StuffInfo[sVerbrechen]);
    self_mysql_queryEx(var);
    format(var, sizeof(var), "UPDATE `stuff` SET `Loggins`='%d' WHERE `DatensatzID`='0'", StuffInfo[sLoggins]);
    self_mysql_queryEx(var);
    format(var, sizeof(var), "UPDATE `stuff` SET `Waffen`='%d' WHERE `DatensatzID`='0'", StuffInfo[sWeaponPreis]);
    self_mysql_queryEx(var);
    format(var, sizeof(var), "UPDATE `stuff` SET `Einnahmen`='%d' WHERE `DatensatzID`='0'", StuffInfo[sEinnahmen]);
    self_mysql_queryEx(var);
    format(var, sizeof(var), "UPDATE `stuff` SET `Ausgaben`='%d' WHERE `DatensatzID`='0'", StuffInfo[sAusgaben]);
    self_mysql_queryEx(var);
    format(var, sizeof(var), "UPDATE `stuff` SET `EventKasse`='%d' WHERE `DatensatzID`='0'", StuffInfo[sEventKasse]);
    self_mysql_queryEx(var);
    format(var, sizeof(var), "UPDATE `stuff` SET `logzeile`='%d' WHERE `DatensatzID`='0'", StuffInfo[slogzeile]);
    self_mysql_queryEx(var);
    format(var, sizeof(var), "UPDATE `stuff` SET `CasinoMoney`='%d' WHERE `DatensatzID`='0'", StuffInfo[sCasinoMoney]);
    self_mysql_queryEx(var);
    format(var, sizeof(var), "UPDATE `stuff` SET `LastOrgaID`='%d' WHERE `DatensatzID`='0'", StuffInfo[LastOrgaID]);
    self_mysql_queryEx(var);
    format(var, sizeof(var), "UPDATE `stuff` SET `Produkte`='%d' WHERE `DatensatzID`='0'", StuffInfo[Produkte]);
    self_mysql_queryEx(var);
    format(var, sizeof(var), "UPDATE `stuff` SET `Fahrschulpreise`='%d' WHERE `DatensatzID`='0'", StuffInfo[sFahrschulpreise]);
    self_mysql_queryEx(var);
    format(var, sizeof(var), "UPDATE `stuff` SET `Kreditkartenpreise`='%d' WHERE `DatensatzID`='0'", StuffInfo[sKreditkartenpreise]);
    self_mysql_queryEx(var);
    return 1;
    }

    • Offizieller Beitrag

    Das scheinen nur die Spielerdaten zu sein, es gibt vermutlich noch weitere Funktionen für das Speichern deiner Geschäfte etc.

  • Such doch einfach mal weiter nach "Save..." (SaveBiz, SaveTankenBiz,...)


    public SaveServer()
    {
    new string[128];
    for(new i = 0; i < sizeof(HouseInfo); i++)
    {
    format(string, sizeof(string),"SELECT * FROM `houses` WHERE `HouseID` = '%d'", i);
    self_mysql_queryEx(string);
    mysql_store_result(MySQLConnection);
    if(mysql_num_rows(MySQLConnection) == 0)
    {
    format(string, sizeof(string), "INSERT INTO `houses` (`HouseID`) VALUES ('%d')", i);
    self_mysql_queryEx(string);
    }
    mysql_free_result(MySQLConnection);
    new var[768];
    format(var, sizeof(var), "UPDATE `houses` SET `Owner`='%s', `Beschreibung`='%s', `Preis`='%d', `HealUpgrade`='%d', `ArmorUpgrade`='%d', `Lock`='%d', `Owned`='%d', `Rooms`='%d', `Rent`='%d', `Rentabil`='%d', `Kasse`='%d', `Level`='%d', `MedickitUpgradeTime`='%d' WHERE `HouseID`='%d'",
    HouseInfo[i][hOwner],
    HouseInfo[i][hBeschreibung],
    HouseInfo[i][hPreis],
    HouseInfo[i][hHealUpgrade],
    HouseInfo[i][hArmorUpgrade],
    HouseInfo[i][hLock],
    HouseInfo[i][hOwned],
    HouseInfo[i][hRooms],
    HouseInfo[i][hRent],
    HouseInfo[i][hRentabil],
    HouseInfo[i][hKasse],
    //HouseInfo[i][hDate],
    HouseInfo[i][hLevel],
    HouseInfo[i][hMedickitUpgradeTime],
    i);
    self_mysql_queryEx(var);
    }
    for(new i = 0; i < sizeof(BizInfo); i++) //MySQL Speicherung
    {
    format(string, sizeof(string),"SELECT * FROM `biz` WHERE `BizID` = '%d'", i);
    self_mysql_queryEx(string);
    mysql_store_result(MySQLConnection);
    if(mysql_num_rows(MySQLConnection) == 0)
    {
    format(string, sizeof(string), "INSERT INTO `biz` (`BizID`) VALUES ('%d')", i);
    self_mysql_queryEx(string);
    }
    mysql_free_result(MySQLConnection);
    new var[768];
    format(var, sizeof(var), "UPDATE `biz` SET `Owned`='%d', `Owner`='%s', `Message`='%s', `Extortion`='%s', `LevelNeeded`='%d', `BuyPrice`='%d', `EntranceCost`='%d', `Till`='%d', `Locked`='%d', `Products`='%d', `MaxProducts`='%d', `PriceProd`='%d' WHERE `BizID`='%d'",
    BizInfo[i][bOwned],
    BizInfo[i][bOwner],
    BizInfo[i][bMessage],
    BizInfo[i][bExtortion],
    BizInfo[i][bLevelNeeded],
    BizInfo[i][bBuyPrice],
    BizInfo[i][bEntranceCost],
    BizInfo[i][bTill],
    BizInfo[i][bLocked],
    BizInfo[i][bProducts],
    BizInfo[i][bMaxProducts],
    BizInfo[i][bPriceProd],
    i);
    self_mysql_queryEx(var);
    }
    for(new i = 0; i < sizeof(SBizInfo); i++)
    {
    format(string, sizeof(string),"SELECT * FROM `sbiz` WHERE `SBizID` = '%d'", i);
    self_mysql_queryEx(string);
    mysql_store_result(MySQLConnection);
    if(mysql_num_rows(MySQLConnection) == 0)
    {
    format(string, sizeof(string), "INSERT INTO `sbiz` (`SBizID`) VALUES ('%d')", i);
    self_mysql_queryEx(string);
    }
    mysql_free_result(MySQLConnection);
    new var[768];
    format(var, sizeof(var), "UPDATE `sbiz` SET `Owned`='%d', `Owner`='%s', `Message`='%s', `Extortion`='%s', `LevelNeeded`='%d', `BuyPrice`='%d', `EntranceCost`='%d', `Till`='%d', `Locked`='%d', `Products`='%d', `MaxProducts`='%d', `PriceProd`='%d' WHERE `SBizID`='%d'",
    SBizInfo[i][sbOwned],
    SBizInfo[i][sbOwner],
    SBizInfo[i][sbMessage],
    SBizInfo[i][sbExtortion],
    SBizInfo[i][sbLevelNeeded],
    SBizInfo[i][sbBuyPrice],
    SBizInfo[i][sbEntranceCost],
    SBizInfo[i][sbTill],
    SBizInfo[i][sbLocked],
    SBizInfo[i][sbProducts],
    SBizInfo[i][sbMaxProducts],
    SBizInfo[i][sbPriceProd],
    i);
    self_mysql_queryEx(var);
    }
    for(new i = 0; i < sizeof(TankenBizInfo); i++)
    {
    format(string, sizeof(string),"SELECT * FROM `tankenbiz` WHERE `TankenBizID` = '%d'", i);
    self_mysql_queryEx(string);
    mysql_store_result(MySQLConnection);
    if(mysql_num_rows(MySQLConnection) == 0)
    {
    format(string, sizeof(string), "INSERT INTO `tankenbiz` (`TankenBizID`) VALUES ('%d')", i);
    self_mysql_queryEx(string);
    }
    mysql_free_result(MySQLConnection);
    new var[768];
    format(var, sizeof(var), "UPDATE `tankenbiz` SET `Owned`='%d', `Owner`='%s', `Message`='%s', `Extortion`='%s', `LevelNeeded`='%d', `KaufPreis`='%d', `SpritPreis`='%d', `Kasse`='%d', `Locked`='%d', `Products`='%d', `MaxProducts`='%d', `ProdPreis`='%d' WHERE `TankenBizID`='%d'",
    TankenBizInfo[i][TBOwned],
    TankenBizInfo[i][TBOwner],
    TankenBizInfo[i][TBMessage],
    TankenBizInfo[i][TBExtortion],
    TankenBizInfo[i][TBLevelNeeded],
    TankenBizInfo[i][TBKaufPreis],
    TankenBizInfo[i][TBSpritPreis],
    TankenBizInfo[i][TBKasse],
    TankenBizInfo[i][TBLocked],
    TankenBizInfo[i][TBProducts],
    TankenBizInfo[i][TBMaxProducts],
    TankenBizInfo[i][TBProdPreis],
    i);
    self_mysql_queryEx(var);
    }
    SaveKassenInfo();
    SaveGangAutos();
    SaveStuff();
    SaveGangfightZones();
    SaveGangWarInfos();
    SaveGangmotd();
    SaveGangBNDInfos();
    return 1;
    }

  • wann wird Save Server ausgeführt?

    habe mal alles was mit saveserver zu tun hat aus dem script raus kopiert


    forward SaveServer();
    public OnGameModeExit()
    {
    KillTimer(timer1);
    new string[123];
    ForAllPlayers(i){
    if(IsPlayerConnected(i)){
    format(string, sizeof(string), "UPDATE `users` SET `Status`='0'");
    self_mysql_queryEx(string);
    format(string, sizeof(string), "UPDATE `users` SET `Legende`='0'");
    self_mysql_queryEx(string);
    }
    }
    forEx(sizeof FerrisWheelObjects,x)DestroyObject(FerrisWheelObjects[x]);
    SaveAll();
    SaveServer(); //<---- da ist der saveserver
    #if defined MySQL
    mysql_close(MySQLConnection);
    #endif
    return 1;
    }


    public UpdateTime()
    {
    new string[64],
    TimeString[256],
    TimeString2[256];
    getdate(Jahr, Monat, Tag);
    gettime(Stunde, Minute, Sekunde);
    FixHour(Stunde);
    Stunde = shifthour;
    if((Stunde > ghour) || (Stunde == 0 && ghour == 23))
    {
    if(Stunde == 0)
    {
    getdate(Jahr, Monat, Tag);
    printf(">Neuer Tag %d.%d.%d<", Tag, Monat, Jahr);
    StuffInfo[sAusgaben] = 0;
    StuffInfo[sEinnahmen] = 0;
    Update3DTexte();
    self_mysql_queryEx("UPDATE `users` SET `Quest`='0' WHERE `Quest` != '0'");
    }
    if(Stunde >= 0)
    {
    StartLotto1();
    }
    format(string, sizeof(string), "SERVER: Es ist %d:00 Uhr.", Stunde);
    BroadCast(COLOR_WHITE, string);
    if(Stunde == 5 && Minute == 0)
    {
    SendClientMessageToAll(COLOR_GRAD2,""); SendClientMessageToAll(COLOR_GRAD2,""); SendClientMessageToAll(COLOR_GRAD2,"Server wird gespeichert! Dies kann zu Lags führen!");
    SaveServer();
    ForAllPlayers(i){
    if(IsPlayerConnected(i) && gPlayerLogged[i] && !IsPlayerNPC(i)){
    PlayerUpdate(i);
    PlayerCarUpdate(i);
    }
    }
    SendClientMessageToAll(COLOR_GRAD2,"Server erfolgreich gespeichert!"); SendClientMessageToAll(COLOR_GRAD2,""); SendClientMessageToAll(COLOR_GRAD2,"");
    }
    ghour = Stunde;
    if(realtime)
    {
    SetWorldTime(Stunde);
    }
    if(Stunde == 10 && Minute == 0 || Stunde == 12 && Minute == 0 || Stunde == 14 && Minute == 0 || Stunde == 16 && Minute == 0 || Stunde == 18 && Minute == 0 || Stunde == 20 && Minute == 0 || Stunde == 22 && Minute == 0)
    {
    Gangkassenverzinsung();
    }
    }
    if(Minute <= 9)
    {
    format(TimeString,25,"%d:0%d", Stunde, Minute);
    }
    else
    {
    format(TimeString,25,"%d:%d" ,Stunde, Minute);
    }
    if(Tag <= 9)
    {
    format(TimeString2,25,"0%d.%d.%d", Tag, Monat, Jahr);
    }
    else
    {
    format(TimeString2,25,"%d.%d.%d", Tag, Monat, Jahr);
    }
    TextDrawSetString(UhrzeitStundeMinute,TimeString);
    TextDrawShowForAll(UhrzeitStundeMinute);
    TextDrawSetString(DatumTagMonat,TimeString2);
    TextDrawShowForAll(DatumTagMonat);
    return 1;
    }


    public SaveAll()
    {
    SendClientMessageToAll(COLOR_GRAD2,"");
    SendClientMessageToAll(COLOR_GRAD2,"");
    SendClientMessageToAll(COLOR_GRAD2,"Server wird gespeichert! Dies kann zu Lags führen!");
    SavePlayers();
    SaveServer(); //<--- saveserver
    SendClientMessageToAll(COLOR_GRAD2,"Server erfolgreich gespeichert!");
    SendClientMessageToAll(COLOR_GRAD2,"");
    SendClientMessageToAll(COLOR_GRAD2,"");
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Es wird nichts bringen, wenn du den ganzen Server speicherst, nur weil du ein Haus kaufst, dafür ist MySQL nicht geeignet.
    Poste bitte mal den Befehl, mit dem du das Haus/Biz kaufst, welches du gekauft hast aber nicht gespeichert wurde.

  • if(strcmp("/buybiz", cmd, true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    GetPlayerName(playerid, playername, sizeof(playername));
    if(PlayerInfo[playerid][pBizKey] != -1)
    {
    SendClientMessage(playerid, COLOR_ERRORTEXT, " Du besitzt bereits ein Biz, benutze /sellbiz um es zu verkaufen!");
    return 1;
    }
    for(new b = 0; b < sizeof(SBizInfo); b++){
    if(PlayerToPoint(2.0, playerid, SBizInfo[b][sbEntranceX], SBizInfo[b][sbEntranceY], SBizInfo[b][sbEntranceZ]) && SBizInfo[b][sbOwned] == 0){
    if(PlayerInfo[playerid][pLevel] < SBizInfo[b][sbLevelNeeded])
    {
    format(string, sizeof(string), " Du musst Level %d sein um dieses Biz kaufen zu können!",SBizInfo[b][sbLevelNeeded]);
    SendClientMessage(playerid, COLOR_ERRORTEXT, string);
    return 1;
    }
    if(PlayerInfo[playerid][pCash] >= SBizInfo[b][sbBuyPrice]){
    PlayerInfo[playerid][pBizKey] = b+100;
    SBizInfo[b][sbOwned] = 1;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    StuffInfo[sSteuerkasse] += SBizInfo[b][sbBuyPrice];
    strmid(SBizInfo[b][sbOwner], sendername, 0, strlen(sendername), 255);
    GivePlayerMoneys(playerid,-SBizInfo[b][sbBuyPrice]);
    PlayerPlayMusic(playerid);
    SendClientMessage(playerid, COLOR_WHITE, "Gratulation, zum Erwerb eines Biz!");
    SendClientMessage(playerid, COLOR_WHITE, "Benutze /help um die neuen Befehle zu sehen.");
    Update3DTextsBiz(b);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_ERRORTEXT, " Soviel Geld hast du nicht!");
    return 1;
    }}}
    for(new b = 0; b < sizeof(TankenBizInfo); b++){
    if(PlayerToPoint(2.0, playerid, TankenBizInfo[b][TBPosX], TankenBizInfo[b][TBPosY], TankenBizInfo[b][TBPosZ]) && TankenBizInfo[b][TBOwned] == 0){
    if(PlayerInfo[playerid][pLevel] < TankenBizInfo[b][TBLevelNeeded])
    {
    format(string, sizeof(string), " Du musst Level %d sein um dieses Biz kaufen zu können!", TankenBizInfo[b][TBLevelNeeded]);
    SendClientMessage(playerid, COLOR_ERRORTEXT, string);
    return 1;
    }
    if(PlayerInfo[playerid][pCash] >= TankenBizInfo[b][TBKaufPreis])
    {
    PlayerInfo[playerid][pBizKey] = b+200;
    TankenBizInfo[b][TBOwned] = 1;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    strmid(TankenBizInfo[b][TBOwner], sendername, 0, strlen(sendername), 255);
    if(PlayerInfo[playerid][pKreditkarte] == 1 && PlayerInfo[playerid][pKreditkartebenutzen] == 1)
    {
    PlayerInfo[playerid][pBank] -= TankenBizInfo[b][TBKaufPreis];
    SendClientMessage(playerid,COLOR_YELLOW,"Du hast erfolgreich mit deiner Kreditkarte bezahlt, der Betrag wurde von deinem Konto abgebucht.");
    }
    else
    {
    GivePlayerMoneys(playerid, - TankenBizInfo[b][TBKaufPreis]);
    }
    StuffInfo[sSteuerkasse] += TankenBizInfo[b][TBKaufPreis];
    SendClientMessage(playerid, COLOR_WHITE, "Gratulation, zum Erwerb eines Tanken Biz!");
    SendClientMessage(playerid, COLOR_WHITE, "Benutze /help um die neuen Befehle zu sehen.");
    Update3DTextTanke(b);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_ERRORTEXT, " Soviel Geld hast du nicht!");
    return 1;
    }}}
    for(new b = 0; b < sizeof(BizInfo); b++){
    if(PlayerToPoint(2.0, playerid, BizInfo[b][bEntranceX], BizInfo[b][bEntranceY], BizInfo[b][bEntranceZ]) && BizInfo[b][bOwned] == 0){
    if(PlayerInfo[playerid][pLevel] < BizInfo[b][bLevelNeeded])
    {
    format(string, sizeof(string), "Du musst mindestens Level %d sein um die das kaufen zu können.",BizInfo[b][bLevelNeeded]);
    SendClientMessage(playerid, COLOR_ERRORTEXT, string);
    return 1;
    }
    if(PlayerInfo[playerid][pCash] >= BizInfo[b][bBuyPrice])
    {
    PlayerInfo[playerid][pBizKey] = b;
    BizInfo[b][bOwned] = 1;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    strmid(BizInfo[b][bOwner], sendername, 0, strlen(sendername), 255);
    GivePlayerMoneys(playerid,-BizInfo[b][bBuyPrice]);
    PlayerPlayMusic(playerid);
    // SetPlayerInterior(playerid,BizInfo[b][bInterior]);
    StuffInfo[sSteuerkasse] += BizInfo[b][bBuyPrice];
    // SetPlayerPos(playerid,BizInfo[b][bExitX],BizInfo[b][bExitY],BizInfo[b][bExitZ]);
    GameTextForPlayer(playerid, "~w~Willkommen~n~Du kannst das Biz jederzeit verlassen mit /exit", 5000, 3);
    PlayerInfo[playerid][pLocal] = b;
    SendClientMessage(playerid, COLOR_WHITE, "Gratulation, du bist nun in deinem Biz!");
    SendClientMessage(playerid, COLOR_WHITE, "Benutze /help um die neuen Befehle zu sehen.");
    Update3DTextBiz(b);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_ERRORTEXT, " Soviel Geld hast du nicht!");
    return 1;
    }}}}
    return 1;
    }


    if(strcmp("/buyhouse", cmd, true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    GetPlayerName(playerid, playername, sizeof(playername));
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    for(new h = 0; h < sizeof(HouseInfo); h++)
    {
    if(PlayerToPoint(2.0, playerid, HouseInfo[h][hEntrancex], HouseInfo[h][hEntrancey], HouseInfo[h][hEntrancez]) && HouseInfo[h][hOwned] == 0)
    {
    if(PlayerInfo[playerid][pLevel] < HouseInfo[h][hLevel])
    {
    format(string, sizeof(string), " Du musst Level %d sein um dieses Haus kaufen zu können!", HouseInfo[h][hLevel]);
    SendClientMessage(playerid, COLOR_ERRORTEXT, string);
    return 1;
    }
    if(PlayerInfo[playerid][pPhousekey] != -1 && strcmp(playername, HouseInfo[PlayerInfo[playerid][pPhousekey]][hOwner], true) == 0)
    {
    SendClientMessage(playerid, COLOR_ERRORTEXT, " Du besitzt bereits ein Haus, benutze /sellhouse um es zu verkaufen!");
    return 1;
    }
    if(PlayerInfo[playerid][pPhotelkey] != -1)
    {
    SendClientMessage(playerid, COLOR_ERRORTEXT, " Du bist noch in einem Hotel angemeldet, benutze /abmelden.");
    return 1;
    }
    if(PlayerInfo[playerid][pCash] > HouseInfo[h][hPreis])
    {
    PlayerInfo[playerid][pPhousekey] = h;
    HouseInfo[h][hOwned] = 1;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    strmid(HouseInfo[h][hOwner], sendername, 0, strlen(sendername), 255);
    if(PlayerInfo[playerid][pKreditkarte] == 1 && PlayerInfo[playerid][pKreditkartebenutzen] == 1)
    {
    PlayerInfo[playerid][pBank] -= HouseInfo[h][hPreis];
    SendClientMessage(playerid,COLOR_YELLOW,"Du hast erfolgreich mit deiner Kreditkarte bezahlt, der Betrag wurde von deinem Konto abgebucht.");
    }
    else
    {
    GivePlayerMoneys(playerid, - HouseInfo[h][hPreis]);
    }
    StuffInfo[sSteuerkasse] += HouseInfo[h][hPreis];
    PlayerPlayMusic(playerid);
    SetPlayerInterior(playerid,HouseInfo[h][hInt]);
    HouseInfo[h][hKasse] = 0;
    SetPlayerPos(playerid,HouseInfo[h][hExitx],HouseInfo[h][hExity],HouseInfo[h][hExitz]);
    new h2 = h + 300;
    SetPlayerVirtualWorld(playerid,h2);
    GameTextForPlayer(playerid, "~w~Willkommen Zuhause~n~Du kannst dein Haus jederzeit mit /exit verlassen", 5000, 3);
    PlayerInfo[playerid][pLocal] = h+300;
    SendClientMessage(playerid, COLOR_WHITE, "Gratulation, du bist nun in deinem Haus!");
    SendClientMessage(playerid, COLOR_WHITE, "Benutze /help um die neuen Befehle zu sehen.");
    DateProp(playerid);
    Update3DTextHouse(h);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_ERRORTEXT, " Du hast nicht genug Geld um dir das Haus kaufen zu können !");
    return 1;
    }
    }
    }
    }
    return 1;
    }

  • Ok, ich zeige es dir an einem Beispiel.
    Erstelle diesen Stock:
    stock SaveTanke(i)
    {
    format(string, sizeof(string),"SELECT * FROM `tankenbiz` WHERE `TankenBizID` = '%d'", i);
    self_mysql_queryEx(string);
    mysql_store_result(MySQLConnection);
    if(mysql_num_rows(MySQLConnection) == 0)
    {
    format(string, sizeof(string), "INSERT INTO `tankenbiz` (`TankenBizID`) VALUES ('%d')", i);
    self_mysql_queryEx(string);
    }
    mysql_free_result(MySQLConnection);
    new var[768];
    format(var, sizeof(var), "UPDATE `tankenbiz` SET `Owned`='%d', `Owner`='%s', `Message`='%s', `Extortion`='%s', `LevelNeeded`='%d', `KaufPreis`='%d', `SpritPreis`='%d', `Kasse`='%d', `Locked`='%d', `Products`='%d', `MaxProducts`='%d', `ProdPreis`='%d' WHERE `TankenBizID`='%d'",
    TankenBizInfo[i][TBOwned],
    TankenBizInfo[i][TBOwner],
    TankenBizInfo[i][TBMessage],
    TankenBizInfo[i][TBExtortion],
    TankenBizInfo[i][TBLevelNeeded],
    TankenBizInfo[i][TBKaufPreis],
    TankenBizInfo[i][TBSpritPreis],
    TankenBizInfo[i][TBKasse],
    TankenBizInfo[i][TBLocked],
    TankenBizInfo[i][TBProducts],
    TankenBizInfo[i][TBMaxProducts],
    TankenBizInfo[i][TBProdPreis],
    i);
    self_mysql_queryEx(var);
    return 1;
    };
    Das ist einfach aus der Speicher-Funktion kopiert, nur ohne die Schleife.


    Dann füge nach
    Update3DTextTanke(b);
    das hier ein:
    SaveTanke(b);


    Dann kaufe dir eine Tanke und schau ob es gespeichert wurde.

  • Hast du auch
    SaveTanke(b);
    nach dem Update3DTextTanke eingefügt?


    Schreibe den stock bitte so:
    stock SaveTanke(i)
    {
    format(string, sizeof(string),"SELECT * FROM `tankenbiz` WHERE `TankenBizID` = '%d'", i);
    printf("string: %s", string);
    self_mysql_queryEx(string);
    mysql_store_result(MySQLConnection);
    if(mysql_num_rows(MySQLConnection) == 0)
    {
    format(string, sizeof(string), "INSERT INTO `tankenbiz` (`TankenBizID`) VALUES ('%d')", i);
    printf("string: %s", string);
    self_mysql_queryEx(string);
    }
    mysql_free_result(MySQLConnection);
    new var[768];
    format(var, sizeof(var), "UPDATE `tankenbiz` SET `Owned`='%d', `Owner`='%s', `Message`='%s', `Extortion`='%s', `LevelNeeded`='%d', `KaufPreis`='%d', `SpritPreis`='%d', `Kasse`='%d', `Locked`='%d', `Products`='%d', `MaxProducts`='%d', `ProdPreis`='%d' WHERE `TankenBizID`='%d'",
    TankenBizInfo[i][TBOwned],
    TankenBizInfo[i][TBOwner],
    TankenBizInfo[i][TBMessage],
    TankenBizInfo[i][TBExtortion],
    TankenBizInfo[i][TBLevelNeeded],
    TankenBizInfo[i][TBKaufPreis],
    TankenBizInfo[i][TBSpritPreis],
    TankenBizInfo[i][TBKasse],
    TankenBizInfo[i][TBLocked],
    TankenBizInfo[i][TBProducts],
    TankenBizInfo[i][TBMaxProducts],
    TankenBizInfo[i][TBProdPreis],
    i);
    printf("var: %s", var);
    self_mysql_queryEx(var);
    return 1;
    };
    Dann kaufe dir eine Tankstelle und poste was im Server Log steht, wenn du die gekauft hast.

  • Naja, bis jetzt, zumindest mit dem Code den ich dir gegeben habe, würde er nur die Tanken speichern, wenn du sie kaufst. Die anderen Sachen zu speichern kannst du analog machen, wenn es mit den Tanken geht.
    Speichern die, wenn du sie kaufst?


    Wenn nicht, dann poste bitte die prints die im Log stehen, wenn du eine Tanke kaufst.

  • Naja, bis jetzt, zumindest mit dem Code den ich dir gegeben habe, würde er nur die Tanken speichern, wenn du sie kaufst. Die anderen Sachen zu speichern kannst du analog machen, wenn es mit den Tanken geht.
    Speichern die, wenn du sie kaufst?


    Wenn nicht, dann poste bitte die prints die im Log stehen, wenn du eine Tanke kaufst.

    Nein es wird nichts gespeichert, auch nicht die Tanken mit diesem Code ...