Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 6 из 6
  1. #1
    Аватар для Kovshevoy
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.07.2015
    Сообщений
    190
    Репутация:
    25 ±

    Проблема с сохранением MySQL

    Доброго времени суток. Лазав по своему моду, решил его чутка оптимизировать, но видимо, что-то пошло не так.

    Вот старое сохранение аккаунта игрока:
      Открыть/закрыть
    PHP код:
    stock OnPlayerUpdateRL(playerid)
    {
        
    //if(IsPlayerNPC(playerid)) return 1;
        
    if(gPlayerLogged[playerid] == 1)
        {
            
    OnUpdateInvPlayer(playerid);
            new 
    sql[4700];
            
    format(sqlsizeof(sql), "UPDATE `players` SET `Level`='%d',\
            `AdminLevel`='%d',\
            `MestoJail`='%d',\
            `Housecash`='%d',\
            `Text`='%s',\
            `Car`='%d',\
            `Fuelcar`='%f',\
            `Proz`='%d',\
            `DonateRank`='%d',\
            `Donatemoney`='%d',\
            `Radio`='%d',\
            `RadioTime`='%d',\
            `Object`='%d',\
            `ObjectData`='%d',\
            `StyleText`='%d',\
            `GPS`='%d',\
            `GPS2`='%d',\
            `Alarm`='%d',\
            `Alarm2`='%d',"
    ,
            
    PlayerInfo[playerid][pLevel],
            
    PlayerInfo[playerid][pAdmin],
            
    PlayerInfo[playerid][pMestoJail],
            
    PlayerInfo[playerid][pHousecash],
            
    PlayerInfo[playerid][pText],
            
    PlayerInfo[playerid][pCar],
            
    PlayerInfo[playerid][pFuelcar],
            
    PlayerInfo[playerid][pProz],
            
    PlayerInfo[playerid][pDonateRank],
            
    PlayerInfo[playerid][pDonatemoney],
            
    PlayerInfo[playerid][pRadio],
            
    PlayerInfo[playerid][pRadioTime],
            
    PlayerInfo[playerid][pObject],
            
    PlayerInfo[playerid][pObjectData],
            
    PlayerInfo[playerid][pStyleText],
            
    PlayerInfo[playerid][pGPS],
            
    PlayerInfo[playerid][pGPS2],
            
    PlayerInfo[playerid][pAlarm],
            
    PlayerInfo[playerid][pAlarm2]);//Çàêîí÷åííûé ôîðìàò
            
    format(sqlsizeof(sql), "%s `BanSave`='%d',\
            `WarnSave`='%d',\
            `KickSave`='%d',\
            `LeaderSave`='%d',\
            `Mats`='%d',\
            `Sex`='%d',\
            `Muted`='%d',\
            `Mutedreport`='%d',\
            `Exp`='%d',\
            `Cash`='%d',\
            `WantedDeaths`='%d',\
            `PayCheck`='%d',\
            `Jailed`='%d',\
            `JailTime`='%d',\
            `Drugs`='%d',\
            `Leader`='%d',\
            `Member`='%d',\
            `Rank`='%d',\
            `Skin`='%d',\
            `Job`='%d',"
    ,
            
    sql,
            
    PlayerInfo[playerid][pBanSave],
            
    PlayerInfo[playerid][pWarnSave],
            
    PlayerInfo[playerid][pKickSave],
            
    PlayerInfo[playerid][pLeaderSave],
            
    PlayerInfo[playerid][pMats],
            
    PlayerInfo[playerid][pSex],
            
    PlayerInfo[playerid][pMuted],
            
    PlayerInfo[playerid][pMutedreport],
            
    PlayerInfo[playerid][pExp],
            
    PlayerInfo[playerid][pCash],
            
    PlayerInfo[playerid][pWantedDeaths],
            
    PlayerInfo[playerid][pPayCheck],
            
    PlayerInfo[playerid][pJailed],
            
    PlayerInfo[playerid][pJailTime],
            
    PlayerInfo[playerid][pDrugs],
            
    PlayerInfo[playerid][pLeader],
            
    PlayerInfo[playerid][pMember],
            
    PlayerInfo[playerid][pRank],
            
    PlayerInfo[playerid][pChar],
            
    PlayerInfo[playerid][pJob]);//Çàêîí÷åííûé ôîðìàò
            
    format(sqlsizeof(sql), "%s `Health`='%.1f',\
            `Intt`='%d',\
            `Local`='%d',\
            `Model`='%d',\
            `Pnumber`='%d',\
            `Age`='%d',\
            `Directory`='%d',\
            `VodPrava`='%d',\
            `FlyLic`='%d',\
            `BoatLic`='%d',\
            `MedLic`='%d',\
            `Hotel`='%d',\
            `HotelRoom`='%d',\
            `TheftSkill`='%d',\
            `nblood`='%d',\
            `Nick`='%s',"
    ,
            
    sql,
            
    PlayerInfo[playerid][pHealth],
            
    PlayerInfo[playerid][pInt],
            
    PlayerInfo[playerid][pLocal],
            
    PlayerInfo[playerid][pModel],
            
    PlayerInfo[playerid][pPnumber],
            
    PlayerInfo[playerid][pAge],
            
    PlayerInfo[playerid][pDirectory],
            
    PlayerInfo[playerid][pVodPrava],
            
    PlayerInfo[playerid][pFlyLic],
            
    PlayerInfo[playerid][pBoatLic],
            
    PlayerInfo[playerid][pMedLic],
            
    PlayerInfo[playerid][pHotel],
            
    PlayerInfo[playerid][pHotelRoom],
            
    PlayerInfo[playerid][pTheftSkill],
            
    PlayerInfo[playerid][pnblood],
            
    PlayerInfo[playerid][pNick]);//Çàêîí÷åííûé ôîðìàò
            
    format(sqlsizeof(sql), "%s `GunLic`='%d',\
            `BizLic`='%d',\
            `Phousekey`='%d',\
            `Pbiskey`='%d',\
            `NarcoZavisimost`='%d',\
            `PayDay`='%d',\
            `PayDayHad`='%d',\
            `Tut`='%d',\
            `Warns`='%d',\
            `unWarns`='%d',\
            `unWarnstime`='%d',\
            `Fuel`='%d',\
            `Married`='%d',\
            `MuteTime`='%d',\
            `Bank`='%d',\
            `Mobile`='%d',\
            `Dostup`='%d',\
            `Locked`='%d',"
    ,
            
    sql,
            
    PlayerInfo[playerid][pGunLic],
            
    PlayerInfo[playerid][pBizLic],
            
    PlayerInfo[playerid][pPhousekey],
            
    PlayerInfo[playerid][pPbiskey],
            
    PlayerInfo[playerid][pNarcoZavisimost],
            
    PlayerInfo[playerid][pPayDay],
            
    PlayerInfo[playerid][pPayDayHad],
            
    PlayerInfo[playerid][pTut],
            
    PlayerInfo[playerid][pWarns],
            
    PlayerInfo[playerid][punWarns],
            
    PlayerInfo[playerid][punWarnstime],
            
    PlayerInfo[playerid][pFuel],
            
    PlayerInfo[playerid][pMarried],
            
    PlayerInfo[playerid][pMuteTime],
            
    PlayerInfo[playerid][pBank],
            
    PlayerInfo[playerid][pMobile],
            
    PlayerInfo[playerid][pDostup],
            
    PlayerInfo[playerid][pLocked]);//Çàêíîí÷åííûé ôîðìàò
            
    format(sqlsizeof(sql), "%s `Zvezdi`='%d',\
            `Slot1`='%d',\
            `Slot2`='%d',\
            `Slot3`='%d',\
            `Slot4`='%d',\
            `Slot5`='%d',\
            `Slot6`='%d',\
            `Slot7`='%d',\
            `Slotammo1`='%d',\
            `Slotammo2`='%d',\
            `Slotammo3`='%d',\
            `Slotammo4`='%d',\
            `Slotammo5`='%d',\
            `Slotammo6`='%d',\
            `Slotammo7`='%d',\
            `TimeGame`='%d',"
    ,
            
    sql,
            
    PlayerInfo[playerid][pZvezdi],
            
    PlayerInfo[playerid][pSlot1],
            
    PlayerInfo[playerid][pSlot2],
            
    PlayerInfo[playerid][pSlot3],
            
    PlayerInfo[playerid][pSlot4],
            
    PlayerInfo[playerid][pSlot5],
            
    PlayerInfo[playerid][pSlot6],
            
    PlayerInfo[playerid][pSlot7],
            
    PlayerInfo[playerid][pSlotammo1],
            
    PlayerInfo[playerid][pSlotammo2],
            
    PlayerInfo[playerid][pSlotammo3],
            
    PlayerInfo[playerid][pSlotammo4],
            
    PlayerInfo[playerid][pSlotammo5],
            
    PlayerInfo[playerid][pSlotammo6],
            
    PlayerInfo[playerid][pSlotammo7],
            
    PlayerInfo[playerid][pTimeGame]);
            
    format(sqlsizeof(sql), "%s `BoxSkill`='%d',\
            `KongfuSkill`='%d',\
            `KickboxSkill`='%d',\
            `SDPistol`='%d',\
            `DesertEagle`='%d',\
            `ShotGun`='%d',\
            `MP5`='%d',\
            `AK47`='%d',\
            `M4`='%d',\
            `Kolesocar`='%d',\
            `Spoiler`='%d',\
            `Bamper1`='%d',\
            `Bamper2`='%d',\
            `Cvet1`='%d',\
            `Cvet2`='%d',\
            `Nitro`='%d',\
            `Gidra`='%d',\
            `Pokraska`='%d',\
            `BanData`='%d',\
            `BanTime`='%d',\
            `Hospital`='%d',"
    ,
            
    sql,
            
    PlayerInfo[playerid][pBoxSkill],
            
    PlayerInfo[playerid][pKongfuSkill],
            
    PlayerInfo[playerid][pKickboxSkill],
            
    PlayerInfo[playerid][pSDPistol],
            
    PlayerInfo[playerid][pDesertEagle],
            
    PlayerInfo[playerid][pShotGun],
            
    PlayerInfo[playerid][pMP5],
            
    PlayerInfo[playerid][pAK47],
            
    PlayerInfo[playerid][pM4],
            
    PlayerInfo[playerid][pKolesocar],
            
    PlayerInfo[playerid][pSpoiler],
            
    PlayerInfo[playerid][pBamper1],
            
    PlayerInfo[playerid][pBamper2],
            
    PlayerInfo[playerid][pCvet1],
            
    PlayerInfo[playerid][pCvet2],
            
    PlayerInfo[playerid][pNitro],
            
    PlayerInfo[playerid][pGidra],
            
    PlayerInfo[playerid][pPokraska],
            
    PlayerInfo[playerid][pBanData],
            
    PlayerInfo[playerid][pBanTime],
            
    PlayerInfo[playerid][pHospital]);
            
    format(sqlsizeof(sql), "%s `DMgruz`='%d',\
            `GLevel`='%d',\
            `Ggruz`='%d',\
            `Shkaf0`='%d',\
            `Shkaf1`='%d',\
            `Shkaf2`='%d',\
            `Shkaf3`='%d',\
            `DalSkill`='%d',\
            `Golod`='%d',\
            `Drinking`='%d',\
            `Gigiena`='%d',\
            `Shkaf00`='%d',\
            `Clock`='%d',\
            `Lube`='%d',\
            `Shlem`='%d',\
            `PID`='%d',\
            `Pnum`='%d',\
            `bolnica`='%d',"
    ,
            
    sql,
            
    PlayerInfo[playerid][pDMgruz],
            
    PlayerInfo[playerid][pGLevel],
            
    PlayerInfo[playerid][pGgruz],
            
    PlayerInfo[playerid][pShkaf0],
            
    PlayerInfo[playerid][pShkaf1],
            
    PlayerInfo[playerid][pShkaf2],
            
    PlayerInfo[playerid][pShkaf3],
            
    PlayerInfo[playerid][pDalSkill],
            
    PlayerInfo[playerid][pGolod],
            
    PlayerInfo[playerid][pDrinking],
            
    PlayerInfo[playerid][pGigiena],
            
    PlayerInfo[playerid][pShkaf00],
            
    PlayerInfo[playerid][pClock],
            
    PlayerInfo[playerid][pLube],
            
    PlayerInfo[playerid][pShlem],
            
    PlayerInfo[playerid][pPID],
            
    PlayerInfo[playerid][pPnum],
            
    PlayerInfo[playerid][pBolnica]);
            
    format(sqlsizeof(sql), "%s `operation`='%d',\
            `gospital`='%d',\
            `grupa`='%d',\
            `gospitalop`='%d',\
            `medical`='%d',\
            `MusSkill`='%d',\
            `AdDonate`='%d',\
            `konkurs`='%d',\
            `kt1`='%d',\
            `kt2`='%d',\
            `kt3`='%d',\
            `kt4`='%d',\
            `kt5`='%d',\
            `kt6`='%d',\
            `kt7`='%d',\
            `kt8`='%d',\
            `kt9`='%d',\
            `kt10`='%d',\
            `TwoCarsOn`='%d',\
            `Car2`='%d',\
            `TwoCarsData`='%d',\
            `CarNow`='%d',\
            `Weight+`='%d',\
            `WeightData`='%d',"
    ,
            
    sql,
            
    PlayerInfo[playerid][pOperation],
            
    PlayerInfo[playerid][pGospital],
            
    PlayerInfo[playerid][pGrupa],
            
    PlayerInfo[playerid][pGospitalop],
            
    PlayerInfo[playerid][pMedical],
            
    PlayerInfo[playerid][pMusSkill],
            
    PlayerInfo[playerid][pAdDonate],
            
    PlayerInfo[playerid][pkonkurs],
            
    PlayerInfo[playerid][pkt1],
            
    PlayerInfo[playerid][pkt2],
            
    PlayerInfo[playerid][pkt3],
            
    PlayerInfo[playerid][pkt4],
            
    PlayerInfo[playerid][pkt5],
            
    PlayerInfo[playerid][pkt6],
            
    PlayerInfo[playerid][pkt7],
            
    PlayerInfo[playerid][pkt8],
            
    PlayerInfo[playerid][pkt9],
            
    PlayerInfo[playerid][pkt10],
            
    PlayerInfo[playerid][pTwoCarsOn],
            
    PlayerInfo[playerid][pCar2],
            
    PlayerInfo[playerid][pTwoCarsData],
            
    PlayerInfo[playerid][pCarNow],
            
    PlayerInfo[playerid][pWeightPlus],
            
    PlayerInfo[playerid][pWeightData]);
            
    format(sqlsizeof(sql), "%s `Kolesocar2`='%d',\
            `Spoiler2`='%d',\
            `Bamper12`='%d',\
            `Bamper22`='%d',\
            `Nitro2`='%d',\
            `Gidra2`='%d',\
            `Pokraska2`='%d',\
            `Cvet12`='%d',\
            `Cvet22`='%d',\
            `DataVhod`='%s',\
            `DataVhod2`='%d',\
            `DShkaf1`='%d',\
            `DShkaf2`='%d',\
            `DShkaf3`='%d',\
            `DataShkaf1`='%d',\
            `DataShkaf2`='%d',\
            `DataShkaf3`='%d',\
            `Indicator`='%d',\
            `Mestopos`='%d',\
            `Speedindi`='%d',\
            `Animraz`='%d',\
            `VIPData`='%d',\
            `Gonka1`='%d',\
            `Gonka2`='%d',\
            `Gonka3`='%d',\
            `AppX`='%f',\
            `AppY`='%f',\
            `AppZ`='%f',"
    ,
            
    sql,
            
    PlayerInfo[playerid][pKolesocar2],
            
    PlayerInfo[playerid][pSpoiler2],
            
    PlayerInfo[playerid][pBamper12],
            
    PlayerInfo[playerid][pBamper22],
            
    PlayerInfo[playerid][pNitro2],
            
    PlayerInfo[playerid][pGidra2],
            
    PlayerInfo[playerid][pPokraska2],
            
    PlayerInfo[playerid][pCvet12],
            
    PlayerInfo[playerid][pCvet22],
            
    PlayerInfo[playerid][pDataVhod],
            
    PlayerInfo[playerid][pDataVhod2],
            
    PlayerInfo[playerid][pDShkaf1],
            
    PlayerInfo[playerid][pDShkaf2],
            
    PlayerInfo[playerid][pDShkaf3],
            
    PlayerInfo[playerid][pDataShkaf1],
            
    PlayerInfo[playerid][pDataShkaf2],
            
    PlayerInfo[playerid][pDataShkaf3],
            
    PlayerInfo[playerid][pIndicator],
            
    PlayerInfo[playerid][pMestopos],
            
    PlayerInfo[playerid][pSpeedindi],
            
    PlayerInfo[playerid][pAnimraz],
            
    PlayerInfo[playerid][pVIPData],
            
    PlayerInfo[playerid][pGonka1],
            
    PlayerInfo[playerid][pGonka2],
            
    PlayerInfo[playerid][pGonka3],
            
    PlayerInfo[playerid][pAppX],
            
    PlayerInfo[playerid][pAppY],
            
    PlayerInfo[playerid][pAppZ]);
            
    format(sqlsizeof(sql), "%s `AppInt`='%d',\
            `AppWorld`='%d',\
            `CarX`='%f',\
            `CarY`='%f',\
            `CarZ`='%f',\
            `CarF`='%f',\
            `FormaFrac`='%d',\
            `Dead`='%d',\
            `BlockCar1`='%d',\
            `BlockCar2`='%d',\
            `HealthCar1`='%f',\
            `HealthCar2`='%f',\
            `SafeCar1`='%d',\
            `SafeCar2`='%d',\
            `BChat`='%d',\
            `AdminChat`='%d',\
            `CNNChat`='%d',\
            `AirSkill`='%d',\
            `RPTest`='%d',\
            `RPTime`='%d',\
            `LeaderWarn`='%d',\
            `Vote`='%d',\
            `back`='%d',"
    ,
            
    sql,
            
    PlayerInfo[playerid][pAppInt],
            
    PlayerInfo[playerid][pAppWorld],
            
    PlayerInfo[playerid][pCarX],
            
    PlayerInfo[playerid][pCarY],
            
    PlayerInfo[playerid][pCarZ],
            
    PlayerInfo[playerid][pCarF],
            
    FormaFrac[playerid],
            
    DeadPlayer[playerid],
            
    PlayerInfo[playerid][pBlockCar1],
            
    PlayerInfo[playerid][pBlockCar2],
            
    PlayerInfo[playerid][pHealthCar1],
            
    PlayerInfo[playerid][pHealthCar2],
            
    PlayerInfo[playerid][pSafeCar1],
            
    PlayerInfo[playerid][pSafeCar2],
            
    PlayerInfo[playerid][pBChat],
            
    PlayerInfo[playerid][pAdminChat],
            
    PlayerInfo[playerid][pCNNChat],
            
    PlayerInfo[playerid][pAirSkill],
            
    PlayerInfo[playerid][pRPTest],
            
    PlayerInfo[playerid][pRPTime],
            
    PlayerInfo[playerid][pLeaderWarn],
            
    PlayerInfo[playerid][pVote],
            
    PlayerInfo[playerid][pBack]);
            
    format(sqlsizeof(sql), "%s `Hood`='%d',\
            `Hood2`='%d',\
            `Roof`='%d',\
            `Roof2`='%d',\
            `Sideskirt`='%d',\
            `Sideskirt2`='%d',\
            `Lamps`='%d',\
            `Lamps2`='%d',\
            `Exhaust`='%d',\
            `Exhaust2`='%d',\
            `Bullbar0`='%d',\
            `Bullbar02`='%d',\
            `Bullbar1`='%d',\
            `Bullbar12`='%d',\
            `Bullbar2`='%d',\
            `Bullbar22`='%d',\
            `Bullbar3`='%d',\
            `Bullbar32`='%d',\
            `Sign`='%d',\
            `Sign2`='%d',\
            `Vents`='%d',\
            `Vents2`='%d',\
            `Stereo`='%d',\
            `Stereo2`='%d',\
            `BolnicaArmy`='%d',\
            `MPAd`='%d',"
    ,
            
    sql,
            
    PlayerInfo[playerid][pHood],
            
    PlayerInfo[playerid][pHood2],
            
    PlayerInfo[playerid][pRoof],
            
    PlayerInfo[playerid][pRoof2],
            
    PlayerInfo[playerid][pSideskirt],
            
    PlayerInfo[playerid][pSideskirt2],
            
    PlayerInfo[playerid][pLamps],
            
    PlayerInfo[playerid][pLamps2],
            
    PlayerInfo[playerid][pExhaust],
            
    PlayerInfo[playerid][pExhaust2],
            
    PlayerInfo[playerid][pBullbar0],
            
    PlayerInfo[playerid][pBullbar02],
            
    PlayerInfo[playerid][pBullbar1],
            
    PlayerInfo[playerid][pBullbar12],
            
    PlayerInfo[playerid][pBullbar2],
            
    PlayerInfo[playerid][pBullbar22],
            
    PlayerInfo[playerid][pBullbar3],
            
    PlayerInfo[playerid][pBullbar32],
            
    PlayerInfo[playerid][pSign],
            
    PlayerInfo[playerid][pSign2],
            
    PlayerInfo[playerid][pVents],
            
    PlayerInfo[playerid][pVents2],
            
    PlayerInfo[playerid][pStereo],
            
    PlayerInfo[playerid][pStereo2],
            
    PlayerInfo[playerid][pBolnicaArmy],
            
    PlayerInfo[playerid][pMPAd]);
            
    format(sqlsizeof(sql), "%s `quest`='%d',\
            `q1`='%d',\
            `q2`='%d',\
            `q3`='%d',\
            `q4`='%d',\
            `q5`='%d',\
            `q6`='%d',\
            `q7`='%d',\
            `q8`='%d',\
            `q9`='%d',\
            `q10`='%d',\
            `q11`='%d',\
            `q12`='%d',\
            `q13`='%d',\
            `q14`='%d',\
            `q15`='%d',\
            `medic`='%d',\
            `quest2`='%d' WHERE `ID` = '%d' LIMIT 1"
    ,
            
    sql,
            
    PlayerInfo[playerid][pQuest],
            
    PlayerInfo[playerid][pQ1],
            
    PlayerInfo[playerid][pQ2],
            
    PlayerInfo[playerid][pQ3],
            
    PlayerInfo[playerid][pQ4],
            
    PlayerInfo[playerid][pQ5],
            
    PlayerInfo[playerid][pQ6],
            
    PlayerInfo[playerid][pQ7],
            
    PlayerInfo[playerid][pQ8],
            
    PlayerInfo[playerid][pQ9],
            
    PlayerInfo[playerid][pQ10],
            
    PlayerInfo[playerid][pQ11],
            
    PlayerInfo[playerid][pQ12],
            
    PlayerInfo[playerid][pQ13],
            
    PlayerInfo[playerid][pQ14],
            
    PlayerInfo[playerid][pQ15],
            
    PlayerInfo[playerid][pMedic],
            
    PlayerInfo[playerid][pQuest2],
            
    PlayerInfo[playerid][pID]);
            
    //mysql_query(mysql_connection_ID, sql, false);
            
    mysql_tquery(mysql_connection_IDsql"""");
            return 
    1;
        }
        return 
    1;



    Сидел думал, как бы уменьшить это "4700". Решил сделать вот так:
    PHP код:
    #define     MAX_STRING     1024
    new sql_p[MAX_PLAYERS][MAX_STRING]; 
    И соответственно, вот Сам новый запрос на сохранение.
      Открыть/закрыть
    PHP код:
    stock OnPlayerUpdateRL(playerid)
    {
        if(
    IsPlayerNPC(playerid)) return 1;
        if(
    gPlayerLogged[playerid] == 1)
        {
            
    OnUpdateInvPlayer(playerid);
            
    format(sql_p[playerid], MAX_STRING"UPDATE `players` SET `Level`='%d', `AdminLevel`='%d', `MestoJail`='%d', `Housecash`='%d', `Text`='%s', `Car`='%d',\
            `Fuelcar`='%f', `Proz`='%d', `DonateRank`='%d', `Donatemoney`='%d', `Radio`='%d', `RadioTime`='%d', `Object`='%d', `ObjectData`='%d',\
            `StyleText`='%d', `GPS`='%d', `GPS2`='%d', `Alarm`='%d',`Alarm2`='%d', WHERE `ID` = '%d'"
    ,
            
    PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pAdmin], PlayerInfo[playerid][pMestoJail], PlayerInfo[playerid][pHousecash], PlayerInfo[playerid][pText], PlayerInfo[playerid][pCar],
            
    PlayerInfo[playerid][pFuelcar], PlayerInfo[playerid][pProz], PlayerInfo[playerid][pDonateRank], PlayerInfo[playerid][pDonatemoney], PlayerInfo[playerid][pRadio],
            
    PlayerInfo[playerid][pRadioTime], PlayerInfo[playerid][pObject], PlayerInfo[playerid][pObjectData], PlayerInfo[playerid][pStyleText], PlayerInfo[playerid][pGPS], PlayerInfo[playerid][pGPS2],
            
    PlayerInfo[playerid][pAlarm], PlayerInfo[playerid][pAlarm2], PlayerInfo[playerid][pID]);//Законченный формат
            
    mysql_function_query(mysql_connection_IDsql_p[playerid], false""""), sql_p[playerid][0] = 0;
            
            
    format(sql_p[playerid], MAX_STRING"UPDATE `players` SET `BanSave`='%d', `WarnSave`='%d', `KickSave`='%d', `LeaderSave`='%d', `Mats`='%d',`Sex`='%d',\
            `Muted`='%d', `Mutedreport`='%d',`Exp`='%d',`Cash`='%d',`WantedDeaths`='%d',`PayCheck`='%d',`Jailed`='%d',`JailTime`='%d',`Drugs`='%d',\
            `Leader`='%d',`Member`='%d',`Rank`='%d',`Skin`='%d',`Job`='%d', WHERE `ID` = '%d'"
    ,
            
    PlayerInfo[playerid][pBanSave], PlayerInfo[playerid][pWarnSave], PlayerInfo[playerid][pKickSave], PlayerInfo[playerid][pLeaderSave], PlayerInfo[playerid][pMats], PlayerInfo[playerid][pSex],
            
    PlayerInfo[playerid][pMuted], PlayerInfo[playerid][pMutedreport], PlayerInfo[playerid][pExp], PlayerInfo[playerid][pCash], PlayerInfo[playerid][pWantedDeaths], PlayerInfo[playerid][pPayCheck],
            
    PlayerInfo[playerid][pJailed], PlayerInfo[playerid][pJailTime], PlayerInfo[playerid][pDrugs], PlayerInfo[playerid][pLeader], PlayerInfo[playerid][pMember], PlayerInfo[playerid][pRank],
            
    PlayerInfo[playerid][pChar], PlayerInfo[playerid][pJob], PlayerInfo[playerid][pID]);//Законченный формат
            
    mysql_function_query(mysql_connection_IDsql_p[playerid], false""""), sql_p[playerid][0] = 0;
            
            
    format(sql_p[playerid], MAX_STRING"UPDATE `players` SET `Health`='%.1f', `Intt`='%d', `Local`='%d', `Model`='%d', `Pnumber`='%d', `Age`='%d', `Directory`='%d',\
            `VodPrava`='%d', `FlyLic`='%d', `BoatLic`='%d', `MedLic`='%d', `Hotel`='%d', `HotelRoom`='%d', `TheftSkill`='%d', `nblood`='%d',\
            `Nick`='%s', WHERE `ID` = '%d'"
    ,
            
    PlayerInfo[playerid][pHealth], PlayerInfo[playerid][pInt], PlayerInfo[playerid][pLocal], PlayerInfo[playerid][pModel], PlayerInfo[playerid][pPnumber], PlayerInfo[playerid][pAge],
            
    PlayerInfo[playerid][pDirectory], PlayerInfo[playerid][pVodPrava], PlayerInfo[playerid][pFlyLic], PlayerInfo[playerid][pBoatLic], PlayerInfo[playerid][pMedLic], PlayerInfo[playerid][pHotel],
            
    PlayerInfo[playerid][pHotelRoom],PlayerInfo[playerid][pTheftSkill], PlayerInfo[playerid][pnblood], PlayerInfo[playerid][pNick], PlayerInfo[playerid][pID]);//Законченный формат
            
    mysql_function_query(mysql_connection_IDsql_p[playerid], false""""), sql_p[playerid][0] = 0;
            
            
    format(sql_p[playerid], MAX_STRING"UPDATE `players` SET `GunLic`='%d', `BizLic`='%d', `Phousekey`='%d', `Pbiskey`='%d', `NarcoZavisimost`='%d', `PayDay`='%d',\
            `PayDayHad`='%d', `Tut`='%d', `Warns`='%d', `unWarns`='%d', `unWarnstime`='%d', `Fuel`='%d', `Married`='%d', `MuteTime`='%d', `Bank`='%d',\
            `Mobile`='%d', `Dostup`='%d', `Locked`='%d', WHERE `ID` = '%d'"
    ,
            
    PlayerInfo[playerid][pGunLic], PlayerInfo[playerid][pBizLic], PlayerInfo[playerid][pPhousekey], PlayerInfo[playerid][pPbiskey], PlayerInfo[playerid][pNarcoZavisimost],
            
    PlayerInfo[playerid][pPayDay], PlayerInfo[playerid][pPayDayHad], PlayerInfo[playerid][pTut], PlayerInfo[playerid][pWarns], PlayerInfo[playerid][punWarns],
            
    PlayerInfo[playerid][punWarnstime], PlayerInfo[playerid][pFuel], PlayerInfo[playerid][pMarried], PlayerInfo[playerid][pMuteTime], PlayerInfo[playerid][pBank],
            
    PlayerInfo[playerid][pMobile], PlayerInfo[playerid][pDostup], PlayerInfo[playerid][pLocked], PlayerInfo[playerid][pID]);//Закнонченный формат
            
    mysql_function_query(mysql_connection_IDsql_p[playerid], false""""), sql_p[playerid][0] = 0;
            
            
    format(sql_p[playerid], MAX_STRING"UPDATE `players` SET `Zvezdi`='%d', `Slot1`='%d', `Slot2`='%d', `Slot3`='%d', `Slot4`='%d', `Slot5`='%d', `Slot6`='%d',`Slot7`='%d',\
            `Slotammo1`='%d', `Slotammo2`='%d', `Slotammo3`='%d', `Slotammo4`='%d', `Slotammo5`='%d', `Slotammo6`='%d', `Slotammo7`='%d',`TimeGame`='%d', WHERE `ID` = '%d'"
    ,
            
    PlayerInfo[playerid][pZvezdi], PlayerInfo[playerid][pSlot1], PlayerInfo[playerid][pSlot2], PlayerInfo[playerid][pSlot3], PlayerInfo[playerid][pSlot4], PlayerInfo[playerid][pSlot5],
            
    PlayerInfo[playerid][pSlot6], PlayerInfo[playerid][pSlot7], PlayerInfo[playerid][pSlotammo1], PlayerInfo[playerid][pSlotammo2], PlayerInfo[playerid][pSlotammo3],
            
    PlayerInfo[playerid][pSlotammo4], PlayerInfo[playerid][pSlotammo5], PlayerInfo[playerid][pSlotammo6], PlayerInfo[playerid][pSlotammo7], PlayerInfo[playerid][pTimeGame], PlayerInfo[playerid][pID]);
            
    mysql_function_query(mysql_connection_IDsql_p[playerid], false""""), sql_p[playerid][0] = 0;
            
            
    format(sql_p[playerid], MAX_STRING"UPDATE `players` SET `BoxSkill`='%d', `KongfuSkill`='%d', `KickboxSkill`='%d', `SDPistol`='%d', `DesertEagle`='%d',`ShotGun`='%d',\
            `MP5`='%d', `AK47`='%d', `M4`='%d', `Kolesocar`='%d', `Spoiler`='%d', `Bamper1`='%d', `Bamper2`='%d', `Cvet1`='%d', `Cvet2`='%d', `Nitro`='%d', `Gidra`='%d',\
            `Pokraska`='%d', `BanData`='%d', `BanTime`='%d',`Hospital`='%d', WHERE `ID` = '%d'"
    ,
            
    PlayerInfo[playerid][pBoxSkill], PlayerInfo[playerid][pKongfuSkill], PlayerInfo[playerid][pKickboxSkill], PlayerInfo[playerid][pSDPistol], PlayerInfo[playerid][pDesertEagle],
            
    PlayerInfo[playerid][pShotGun], PlayerInfo[playerid][pMP5], PlayerInfo[playerid][pAK47], PlayerInfo[playerid][pM4], PlayerInfo[playerid][pKolesocar], PlayerInfo[playerid][pSpoiler],
            
    PlayerInfo[playerid][pBamper1], PlayerInfo[playerid][pBamper2], PlayerInfo[playerid][pCvet1], PlayerInfo[playerid][pCvet2], PlayerInfo[playerid][pNitro], PlayerInfo[playerid][pGidra],
            
    PlayerInfo[playerid][pPokraska], PlayerInfo[playerid][pBanData], PlayerInfo[playerid][pBanTime], PlayerInfo[playerid][pHospital], PlayerInfo[playerid][pID]);
            
    mysql_function_query(mysql_connection_IDsql_p[playerid], false""""), sql_p[playerid][0] = 0;
            
            
    format(sql_p[playerid], MAX_STRING"UPDATE `players` SET `DMgruz`='%d', `GLevel`='%d', `Ggruz`='%d', `Shkaf0`='%d', `Shkaf1`='%d', `Shkaf2`='%d', `Shkaf3`='%d',\
            `DalSkill`='%d', `Golod`='%d', `Drinking`='%d', `Gigiena`='%d', `Shkaf00`='%d', `Clock`='%d', `Lube`='%d', `Shlem`='%d', `PID`='%d', `Pnum`='%d',\
            `bolnica`='%d', WHERE `ID` = '%d'"
    ,
            
    PlayerInfo[playerid][pDMgruz], PlayerInfo[playerid][pGLevel], PlayerInfo[playerid][pGgruz], PlayerInfo[playerid][pShkaf0], PlayerInfo[playerid][pShkaf1], PlayerInfo[playerid][pShkaf2],
            
    PlayerInfo[playerid][pShkaf3], PlayerInfo[playerid][pDalSkill], PlayerInfo[playerid][pGolod], PlayerInfo[playerid][pDrinking], PlayerInfo[playerid][pGigiena], PlayerInfo[playerid][pShkaf00],
            
    PlayerInfo[playerid][pClock], PlayerInfo[playerid][pLube], PlayerInfo[playerid][pShlem], PlayerInfo[playerid][pPID], PlayerInfo[playerid][pPnum], PlayerInfo[playerid][pBolnica], PlayerInfo[playerid][pID]);
            
    mysql_function_query(mysql_connection_IDsql_p[playerid], false""""), sql_p[playerid][0] = 0;
            
            
    format(sql_p[playerid], MAX_STRING"UPDATE `players` SET `operation`='%d', `gospital`='%d', `grupa`='%d', `gospitalop`='%d', `medical`='%d', `MusSkill`='%d',\
            `AdDonate`='%d', `konkurs`='%d', `kt1`='%d', `kt2`='%d', `kt3`='%d', `kt4`='%d', `kt5`='%d', `kt6`='%d', `kt7`='%d', `kt8`='%d', `kt9`='%d', `kt10`='%d',\
            `TwoCarsOn`='%d', `Car2`='%d', `TwoCarsData`='%d', `CarNow`='%d',`Weight+`='%d', `WeightData`='%d', WHERE `ID` = '%d'"
    ,
            
    PlayerInfo[playerid][pOperation], PlayerInfo[playerid][pGospital], PlayerInfo[playerid][pGrupa], PlayerInfo[playerid][pGospitalop], PlayerInfo[playerid][pMedical],
            
    PlayerInfo[playerid][pMusSkill], PlayerInfo[playerid][pAdDonate], PlayerInfo[playerid][pkonkurs], PlayerInfo[playerid][pkt1], PlayerInfo[playerid][pkt2], PlayerInfo[playerid][pkt3],
            
    PlayerInfo[playerid][pkt4], PlayerInfo[playerid][pkt5], PlayerInfo[playerid][pkt6], PlayerInfo[playerid][pkt7], PlayerInfo[playerid][pkt8], PlayerInfo[playerid][pkt9], PlayerInfo[playerid][pkt10],
            
    PlayerInfo[playerid][pTwoCarsOn], PlayerInfo[playerid][pCar2], PlayerInfo[playerid][pTwoCarsData], PlayerInfo[playerid][pCarNow], PlayerInfo[playerid][pWeightPlus], PlayerInfo[playerid][pWeightData], PlayerInfo[playerid][pID]);
            
    mysql_function_query(mysql_connection_IDsql_p[playerid], false""""), sql_p[playerid][0] = 0;
            
            
    format(sql_p[playerid], MAX_STRING"UPDATE `players` SET `Kolesocar2`='%d', `Spoiler2`='%d', `Bamper12`='%d', `Bamper22`='%d', `Nitro2`='%d', `Gidra2`='%d',\
            `Pokraska2`='%d',`Cvet12`='%d',`Cvet22`='%d',`DataVhod`='%s',`DataVhod2`='%d',`DShkaf1`='%d', `DShkaf2`='%d', `DShkaf3`='%d', `DataShkaf1`='%d',\
            `DataShkaf2`='%d', `DataShkaf3`='%d',`Indicator`='%d',`Mestopos`='%d',`Speedindi`='%d',`Animraz`='%d',`VIPData`='%d',`Gonka1`='%d',`Gonka2`='%d',\
            `Gonka3`='%d',`AppX`='%f',`AppY`='%f',`AppZ`='%f', WHERE `ID` = '%d'"
    ,
            
    PlayerInfo[playerid][pKolesocar2], PlayerInfo[playerid][pSpoiler2], PlayerInfo[playerid][pBamper12], PlayerInfo[playerid][pBamper22], PlayerInfo[playerid][pNitro2], PlayerInfo[playerid][pGidra2],
            
    PlayerInfo[playerid][pPokraska2], PlayerInfo[playerid][pCvet12], PlayerInfo[playerid][pCvet22], PlayerInfo[playerid][pDataVhod], PlayerInfo[playerid][pDataVhod2], PlayerInfo[playerid][pDShkaf1],
            
    PlayerInfo[playerid][pDShkaf2], PlayerInfo[playerid][pDShkaf3], PlayerInfo[playerid][pDataShkaf1], PlayerInfo[playerid][pDataShkaf2], PlayerInfo[playerid][pDataShkaf3],
            
    PlayerInfo[playerid][pIndicator], PlayerInfo[playerid][pMestopos], PlayerInfo[playerid][pSpeedindi], PlayerInfo[playerid][pAnimraz], PlayerInfo[playerid][pVIPData], PlayerInfo[playerid][pGonka1],
            
    PlayerInfo[playerid][pGonka2], PlayerInfo[playerid][pGonka3], PlayerInfo[playerid][pAppX], PlayerInfo[playerid][pAppY], PlayerInfo[playerid][pAppZ], PlayerInfo[playerid][pID]);
            
    mysql_function_query(mysql_connection_IDsql_p[playerid], false""""), sql_p[playerid][0] = 0;
            
            
    format(sql_p[playerid], MAX_STRING"UPDATE `players` SET `AppInt`='%d', `AppWorld`='%d', `CarX`='%f',`CarY`='%f',`CarZ`='%f', `CarF`='%f', `FormaFrac`='%d',\
            `Dead`='%d', `BlockCar1`='%d', `BlockCar2`='%d', `HealthCar1`='%f', `HealthCar2`='%f', `SafeCar1`='%d', `SafeCar2`='%d', `BChat`='%d',\
            `AdminChat`='%d', `CNNChat`='%d', `AirSkill`='%d', `RPTest`='%d', `RPTime`='%d', `LeaderWarn`='%d', `Vote`='%d', `back`='%d', WHERE `ID` = '%d'"
    ,
            
    PlayerInfo[playerid][pAppInt], PlayerInfo[playerid][pAppWorld], PlayerInfo[playerid][pCarX], PlayerInfo[playerid][pCarY], PlayerInfo[playerid][pCarZ], PlayerInfo[playerid][pCarF],
            
    FormaFrac[playerid], DeadPlayer[playerid], PlayerInfo[playerid][pBlockCar1], PlayerInfo[playerid][pBlockCar2], PlayerInfo[playerid][pHealthCar1], PlayerInfo[playerid][pHealthCar2],
            
    PlayerInfo[playerid][pSafeCar1], PlayerInfo[playerid][pSafeCar2], PlayerInfo[playerid][pBChat], PlayerInfo[playerid][pAdminChat], PlayerInfo[playerid][pCNNChat], PlayerInfo[playerid][pAirSkill],
            
    PlayerInfo[playerid][pRPTest], PlayerInfo[playerid][pRPTime], PlayerInfo[playerid][pLeaderWarn], PlayerInfo[playerid][pVote], PlayerInfo[playerid][pBack], PlayerInfo[playerid][pID]);
            
    mysql_function_query(mysql_connection_IDsql_p[playerid], false""""), sql_p[playerid][0] = 0;
            
            
    format(sql_p[playerid], MAX_STRING"UPDATE `players` SET `Hood`='%d', `Hood2`='%d', `Roof`='%d', `Roof2`='%d', `Sideskirt`='%d', `Sideskirt2`='%d',\
            `Lamps`='%d', `Lamps2`='%d', `Exhaust`='%d', `Exhaust2`='%d', `Bullbar0`='%d', `Bullbar02`='%d', `Bullbar1`='%d', `Bullbar12`='%d',\
            `Bullbar2`='%d', `Bullbar22`='%d', `Bullbar3`='%d', `Bullbar32`='%d', `Sign`='%d', `Sign2`='%d', `Vents`='%d', `Vents2`='%d',\
            `Stereo`='%d', `Stereo2`='%d', `BolnicaArmy`='%d',`MPAd`='%d', WHERE `ID` = '%d'"
    ,
            
    PlayerInfo[playerid][pHood], PlayerInfo[playerid][pHood2], PlayerInfo[playerid][pRoof], PlayerInfo[playerid][pRoof2], PlayerInfo[playerid][pSideskirt],
            
    PlayerInfo[playerid][pSideskirt2], PlayerInfo[playerid][pLamps], PlayerInfo[playerid][pLamps2], PlayerInfo[playerid][pExhaust], PlayerInfo[playerid][pExhaust2],
            
    PlayerInfo[playerid][pBullbar0], PlayerInfo[playerid][pBullbar02], PlayerInfo[playerid][pBullbar1], PlayerInfo[playerid][pBullbar12], PlayerInfo[playerid][pBullbar2],
            
    PlayerInfo[playerid][pBullbar22], PlayerInfo[playerid][pBullbar3], PlayerInfo[playerid][pBullbar32], PlayerInfo[playerid][pSign], PlayerInfo[playerid][pSign2],
            
    PlayerInfo[playerid][pVents], PlayerInfo[playerid][pVents2], PlayerInfo[playerid][pStereo], PlayerInfo[playerid][pStereo2], PlayerInfo[playerid][pBolnicaArmy],
            
    PlayerInfo[playerid][pMPAd], PlayerInfo[playerid][pID]);
            
    mysql_function_query(mysql_connection_IDsql_p[playerid], false""""), sql_p[playerid][0] = 0;
            
            
    format(sql_p[playerid], MAX_STRING"UPDATE `players` SET `quest`='%d', `q1`='%d', `q2`='%d', `q3`='%d', `q4`='%d', `q5`='%d', `q6`='%d', `q7`='%d',\
            `q8`='%d', `q9`='%d', `q10`='%d', `q11`='%d', `q12`='%d', `q13`='%d', `q14`='%d', `q15`='%d', `medic`='%d', `quest2`='%d' WHERE `ID` = '%d'"
    ,
            
    PlayerInfo[playerid][pQuest], PlayerInfo[playerid][pQ1], PlayerInfo[playerid][pQ2], PlayerInfo[playerid][pQ3], PlayerInfo[playerid][pQ4], PlayerInfo[playerid][pQ5],
            
    PlayerInfo[playerid][pQ6], PlayerInfo[playerid][pQ7], PlayerInfo[playerid][pQ8], PlayerInfo[playerid][pQ9], PlayerInfo[playerid][pQ10], PlayerInfo[playerid][pQ11],
            
    PlayerInfo[playerid][pQ12], PlayerInfo[playerid][pQ13], PlayerInfo[playerid][pQ14], PlayerInfo[playerid][pQ15], PlayerInfo[playerid][pMedic], PlayerInfo[playerid][pQuest2],
            
    PlayerInfo[playerid][pID]);
            
    mysql_function_query(mysql_connection_IDsql_p[playerid], false""""), sql_p[playerid][0] = 0;
            
    //mysql_query(mysql_connection_ID, sql, false);
            //mysql_tquery(mysql_connection_ID, sql, "", "");
            
    return 1;
        }


    Pastebin, если там вдруг легче читать.

    Ошибка стандартная идет в запросе, 1064, в mysql_log, пишет (null) no callback и как-то так.

    Ошибка в логе:
      Открыть/закрыть
    PHP код:
    ID соединения1
    ID ошибки
    1064
    Ошибка
    You have an error in your SQL syntaxcheck the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE `ID` = '11'' at line 1
    Коллбэк

    ЗапросUPDATE `playersSET `Level`='4', `AdminLevel`='0', `MestoJail`='0', `Housecash`='0', `Text`='', `Car`='480',`Fuelcar`='15.932700', `Proz`='0', `DonateRank`='1', `Donatemoney`='9', `Radio`='0', `RadioTime`='0', `Object`='0', `ObjectData`='0',`StyleText`='0', `GPS`='0', `GPS2`='0', `Alarm`='0',`Alarm2`='0'WHERE `ID` = '11' 

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    PHP код:
    #define     MAX_STRING     1024 
    new sql_p[MAX_PLAYERS][MAX_STRING]; 
    Это ты так уменьшил? :D
    Допустим, у тебя всего 10 слотов и MAX_PLAYERS будет равно 10.
    Получается такой массив
    PHP код:
    new sql_p[10][1024]; 
    Который займёт 10240 ячейки. Соответственно, при 100-ах игроках этот массив займёт 102400. И так далее.
    Да и к чему это? У тебя же все 4700 ячеек использовались по делу. Сам себе проблем создал ради того, чтоб сэкономить памяти, при этом, и личное время потерял, и процессорное.


    Ну а запросы твои не срабатывают, ибо ты их неправильно строишь. Перед WHERE лишняя запятая
    PHP код:
    `...`='%d'WHERE `ID` = '%d' 

    И да, то, что ты тут на ваял, делается и с одномерным массивом легко. Ты ведь не хранишь текст запросов постоянно. Для чего тебе там разделение на каждого игрока?
    Хотя делить подобным образом запросы ради того, чтоб экономить памяти - не лучшая затея. Как я уже сказал, ты только процессорное время теряешь, да MySQL нагружаешь (при рестарте и онлайне в 1000 игроков MySQL сервер может даже загнуться, если таблица реализована криво или MySQL настроена не очень правильно. Ну или если для MySQL мало мощностей на сервере выделено). Либо отправляй одном запросом, либо откажись вообще от сохранении всего при выходе и сохраняй при изменении, оставив на выход только то, что часто изменяется (лучше всего будет).
    Последний раз редактировалось DeimoS; 15.02.2018 в 08:12.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #3
    Аватар для Kovshevoy
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.07.2015
    Сообщений
    190
    Репутация:
    25 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Это ты так уменьшил? :D
    Допустим, у тебя всего 10 слотов и MAX_PLAYERS будет равно 10.
    Получается такой массив
    PHP код:
    new sql_p[10][1024]; 
    Который займёт 10240 ячейки. Соответственно, при 100-ах игроках этот массив займёт 102400. И так далее.
    Да и к чему это? У тебя же все 4700 ячеек использовались по делу. Сам себе проблем создал ради того, чтоб сэкономить памяти, при этом, и личное время потерял, и процессорное.


    Ну а запросы твои не срабатывают, ибо ты их неправильно строишь. Перед WHERE лишняя запятая
    PHP код:
    `...`='%d'WHERE `ID` = '%d' 

    И да, то, что ты тут на ваял, делается и с одномерным массивом легко. Ты ведь не хранишь текст запросов постоянно. Для чего тебе там разделение на каждого игрока?
    Хотя делить подобным образом запросы ради того, чтоб экономить памяти - не лучшая затея. Как я уже сказал, ты только процессорное время теряешь, да MySQL нагружаешь (при рестарте и онлайне в 1000 игроков MySQL сервер может даже загнуться, если таблица реализована криво или MySQL настроена не очень правильно. Ну или если для MySQL мало мощностей на сервере выделено). Либо отправляй одном запросом, либо откажись вообще от сохранении всего при выходе и сохраняй при изменении, оставив на выход только то, что часто изменяется (лучше всего будет).
    Ну, на самом деле, когда стоял стандартный 4700, был стек около 38к. Сейчас я поправил, стек стал 33к. Да и старый размер амх был 9мб, после того как я со всеми запросами сделал подобным образом - стал весить 7 мб, и на сервере, заметно стало легче играть, уменьшились фризы.

  4. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Эмм, так ты просто перенёс массив в сегмент данных из стэка, потому он и уменьшился. То же самое было бы, если бы ты старый массив сделал бы глобальным или вместо "new" прописал "static".
    Но то, что ты сейчас сделал, и памяти больше потребляет, и процессор сильнее нагружает.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  5. #5
    Аватар для Kovshevoy
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.07.2015
    Сообщений
    190
    Репутация:
    25 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Эмм, так ты просто перенёс массив в сегмент данных из стэка, потому он и уменьшился. То же самое было бы, если бы ты старый массив сделал бы глобальным или вместо "new" прописал "static".
    Но то, что ты сейчас сделал, и памяти больше потребляет, и процессор сильнее нагружает.
    Ну, пока, играет народ (20 человек), все наоборот говорят что стало меньше фризов, смотрел нагрузку CPU, стала не сильно, но меньше.

  6. #6
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от NichWell Посмотреть сообщение
    Ну, пока, играет народ (20 человек), все наоборот говорят что стало меньше фризов, смотрел нагрузку CPU, стала не сильно, но меньше.
    То, что ты изменил код сохранения аккаунтов, никак не должно повлиять на работу сервера в целом (разве что ты не сохраняешь аккаунты по таймеру или ещё как, а не только при выходе). Тем более, то, что ты потребление стэка уменьшил, раздув сегмент данных впустую.

    И дабы не гадать на кофейной гуще, лучше бы просто подключил профайлер, прогнал денёк без рестартов и посмотрел какие функции больше всего грузят сервер
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •