Сообщение от
DeimoS
Эмм, а зачем вообще перезаписывать IP, который был у игрока при регистрации?
Покажи код того, как загружаешь и как сохраняешь
Ток я не перезаписываю его он слетает когда сервер выключить и заного включить если игрок зайдет на сервер.
Это в enum pInfo
Сохранение аккаунта.
PHP код:
stock SaveAccount(playerid)
{
if(Player[playerid][pLogged] == true)
{
CheckMySQLConnection();
new str[1500];
new sqlname[MAX_PLAYER_NAME];
mysql_real_escape_string(Player[playerid][pName], sqlname);
format(str, sizeof(str), "UPDATE `Accounts` SET `Nickname`= '%s',`Level`= '%i', `Admin`= '%i', `Reg`= '%i', `Sex`= '%i', `Spawn`= '%i', `Exp`= '%i', `BankPass`= '%i', `Money` = '%i', `Bank` = '%i', `MuteTime` = '%i', `Job`= '%i',",
sqlname,
Player[playerid][pLevel],
Player[playerid][pAdmin],
Player[playerid][pReg],
Player[playerid][pSex],
Player[playerid][pSpawn],
Player[playerid][pExp],
Player[playerid][pBankPass],
Player[playerid][pMoney],
Player[playerid][pBank],
Player[playerid][pMuteTime],
Player[playerid][pJob]);
format(str, sizeof(str), "%s `PayCheck` = '%i',`Jailed` = '%i',`JailTime`= '%i',`MedicTime` = '%i',`Mats` = '%i',`Drugs`= '%i',`JobTime`= '%i',`Member` = '%i',`Leader` = '%i',`Zam` = '%i',`Rank` = '%i',`Model` = '%i',`Char` = '%i',`Phousekey` = '%i',`Carkey1` = '%i',",
str,
Player[playerid][pPayCheck],
Player[playerid][pJailed],
Player[playerid][pJailTime],
Player[playerid][pMedicTime],
Player[playerid][pMats],
Player[playerid][pDrugs],
Player[playerid][pJobTime],
Player[playerid][pMember],
Player[playerid][pLeader],
Player[playerid][pZam],
Player[playerid][pRank],
Player[playerid][pModel],
Player[playerid][pChar],
Player[playerid][pPhousekey],
Player[playerid][pCarkey1]);
format(str, sizeof(str), "%s `Carkey2` = '%i',`Pbiskey` = '%i',`TWarns` = '%i',`CarLic` = '%i',`MotoLic` = '%i',`TruckLic` = '%i',`TruckELic` = '%i',`FlyLic` = '%i',`BoatLic` = '%i',`SD` = '%i',",
str,
Player[playerid][pCarkey2],
Player[playerid][pPbiskey],
Player[playerid][pTWarns],
Player[playerid][pCarLic],
Player[playerid][pMotoLic],
Player[playerid][pTruckLic],
Player[playerid][pTruckELic],
Player[playerid][pFlyLic],
Player[playerid][pBoatLic],
Player[playerid][pSD]);
format(str, sizeof(str), "%s `GunLic` = '%i',`TaxiLic`= '%i',`GruzSkill` = '%i',`DrugSkill` = '%i',`GunSkill` = '%i',`CarSkill` = '%i',`JackSkill` = '%i',`RobSkill` = '%i',`RobHouseSkill` = '%i',`TimePizdanul` = '%i',`RobHouseTime` = '%i',`MechSkill` = '%i',`TruckSkill` = '%i',`DetSkill` = '%i',`HeadValue` = '%i',`HunterValue` = '%i',`TruckTime` = '%i',`TruckETime` = '%i',",
str,
Player[playerid][pGunLic],
Player[playerid][pTaxiLic],
Player[playerid][pGruzSkill],
Player[playerid][pDrugSkill],
Player[playerid][pGunSkill],
Player[playerid][pCarSkill],
Player[playerid][pJackSkill],
Player[playerid][pRobSkill],
Player[playerid][pRobHouseSkill],
Player[playerid][pTimePizdanul],
Player[playerid][pRobHouseTime],
Player[playerid][pMechSkill],
Player[playerid][pTruckSkill],
Player[playerid][pDetSkill],
Player[playerid][pHeadValue],
Player[playerid][pHunterValue],
Player[playerid][pTruckTime],
Player[playerid][pTruckETime]);
format(str, sizeof(str), "%s `PayDay` = '%i',`Warns`= '%i',`Boxing` = '%i',`Kunfu` = '%i',`Kneehead` = '%i',`Grabkick` = '%i',`FStyle` = '%i',`Rope` = '%i',`CheatPassword` = '%i',`GPS` = '%i',`Sigs` = '%i',`Pivo` = '%i',`Wanted` = '%i',`RobTime` = '%i',`JackTime` = '%i',`Vipe` = '%i',`AdminOnline` = '%i',`Vip` = '%i', `MissionKeis` = '%i', `Donate` = '%i',",
str,
Player[playerid][pPayDay],
Player[playerid][pWarns],
Player[playerid][pBoxing],
Player[playerid][pKunfu],
Player[playerid][pKneehead],
Player[playerid][pGrabkick],
Player[playerid][pFStyle],
Player[playerid][pRope],
Player[playerid][pCheatPassword],
Player[playerid][pGPS],
Player[playerid][pSigs],
Player[playerid][pPivo],
Player[playerid][pWanted],
Player[playerid][pRobTime],
Player[playerid][pJackTime],
Player[playerid][pVipe],
Player[playerid][pAdminOnline],
Player[playerid][pVip],
Player[playerid][pMissionKeis],
Player[playerid][pDonate]);
format(str,sizeof(str),"%s `IpReg` = '%s' WHERE `ID` = '%i'",
str,
Player[playerid][pIpReg],
Player[playerid][pID]);
mysql_query(str);
}
return 1;
}
Вот при регистрации сохраняю рег ip.
PHP код:
stock CreateAccount(playerid,password[])
{
new query[128],sqlname[MAX_PLAYER_NAME],sqlpassword[32],ipreg[16];
GetPlayerIp(playerid,ipreg,sizeof(ipreg));
mysql_real_escape_string(Player[playerid][pName], sqlname);
mysql_real_escape_string(password, sqlpassword);
format(query, sizeof(query), "INSERT INTO `Accounts` (`Nickname`, `Password`) VALUE ('%s', '%s')", sqlname, sqlpassword);
mysql_query(query);
Player[playerid][pID] = GetAccountID(playerid);
strmid(Player[playerid][pKey],sqlpassword, 0, 64, 255);
strmid(Player[playerid][pIpReg],ipreg,0,64,255);
Player[playerid][pLogged] = true;
new string[120];
SetPlayerColor(playerid,0xFFFFFF80);
format(string,sizeof(string),"(( %s[%d] подключился к серверу. IP {FFFFFF}%s ))",sqlname,playerid,ipreg);
ABroadCast(COLOR_GREY,string,1);
return 1;
}
Вот собственно загружаю из бд.
PHP код:
stock LoadAccount(playerid, password[])
{
if(strfind(password,"|") != -1)return Kick(playerid);
new query[500],sqlpass[32],result[512],string[120];
mysql_real_escape_string(password,sqlpass);
format(query,sizeof(query),"SELECT * FROM `Accounts` WHERE `Password` = '%s' AND `ID` = '%i'",sqlpass,Player[playerid][pID]);
mysql_query(query);
mysql_store_result();
if(mysql_num_rows() == 1)
{
mysql_fetch_row_format(result, "|");
sscanf(result,"p<|>is[64]s[64]iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii", Player[playerid][pID],Player[playerid][pName],Player[playerid][pKey],Player[playerid][pLevel],
Player[playerid][pAdmin],Player[playerid][pReg],Player[playerid][pSex],Player[playerid][pSpawn],Player[playerid][pExp],Player[playerid][pBankPass],Player[playerid][pMoney],Player[playerid][pBank],Player[playerid][pMuteTime],Player[playerid][pJob],
Player[playerid][pPayCheck],Player[playerid][pJailed],Player[playerid][pJailTime],Player[playerid][pMedicTime],Player[playerid][pMats],Player[playerid][pDrugs],Player[playerid][pJobTime],Player[playerid][pMember],Player[playerid][pLeader],
Player[playerid][pZam],Player[playerid][pRank],Player[playerid][pModel],Player[playerid][pChar],Player[playerid][pPhousekey],Player[playerid][pCarkey1],Player[playerid][pCarkey2],Player[playerid][pPbiskey],Player[playerid][pTWarns],
Player[playerid][pCarLic],Player[playerid][pMotoLic],Player[playerid][pTruckLic],Player[playerid][pTruckELic],Player[playerid][pFlyLic],Player[playerid][pBoatLic],Player[playerid][pSD],Player[playerid][pGunLic],Player[playerid][pTaxiLic],
Player[playerid][pGruzSkill],Player[playerid][pDrugSkill],Player[playerid][pGunSkill],Player[playerid][pCarSkill],Player[playerid][pJackSkill],Player[playerid][pRobSkill],Player[playerid][pRobHouseSkill],Player[playerid][pTimePizdanul],
Player[playerid][pRobHouseTime],Player[playerid][pMechSkill],Player[playerid][pTruckSkill],Player[playerid][pDetSkill],Player[playerid][pHeadValue],Player[playerid][pHunterValue],Player[playerid][pTruckTime],Player[playerid][pTruckETime],
Player[playerid][pPayDay],Player[playerid][pWarns],Player[playerid][pBoxing],Player[playerid][pKunfu],Player[playerid][pKneehead],Player[playerid][pGrabkick],Player[playerid][pFStyle],Player[playerid][pRope],Player[playerid][pCheatPassword],
Player[playerid][pGPS],Player[playerid][pSigs],Player[playerid][pPivo],Player[playerid][pWanted],Player[playerid][pRobTime],Player[playerid][pJackTime],Player[playerid][pVipe],Player[playerid][pAdminOnline],Player[playerid][pVip],
Player[playerid][pMissionKeis],Player[playerid][pDonate],Player[playerid][pIpReg]);
Player[playerid][pLogged] = true;
Logged[playerid] = 1;
DisablePlayerCheckpoint(playerid);