Don_King
Специалист
Здравствуйте Ув. пользователи П-и! Такая вот проблема: не идет запись в Бд. На мод с 0 переписал систему фракций с мода SunSity вес вроде бы норм только вот почему-то когда выдаю лидерку все норм но, у игрока не сохряняетсья лидерка после рестарта слетает.Я БД проверил и там тоже вообше запись не идет(не чего не меняеться) не могу разобратсья в чем дело
кто может помогите пожалуйста разумееться за +: вот коды сохранки:
Переменные которые именно не сохряняються:
это в моде SunSity помоему выгрузка данных:
Вот в моем моде:
Вот в моде SunSity вроде сохранка:
а вот в моем моде сохранка:
что не так понять немогу но лидерка не сохроняеться и в бд не записываеться
помогите или подскажите пож
---------- Post added at 21:28 ---------- Previous post was at 21:11 ----------
В БД я написал все как на SunSity по премеру но все ровно такая же хрень
Переменные которые именно не сохряняються:
PHP:
PlayerInfo[playerid][pLeader],
PlayerInfo[playerid][pMember],
PlayerInfo[playerid][pRank]);
PHP:
stock LoadAccount(playerid)
{
new string[64];
new playername[32];
GetPlayerName(playerid,playername,32);
format(query,256, "SELECT * FROM "TABLE_ACCOUNT" WHERE name = '%s' LIMIT 1",playername);
mysql_query(query);
mysql_store_result();
if(mysql_fetch_row(query) == 1)
{
sscanf(query, "p<|>is[32]s[32]s[16]is[32]s[64]iiiis[16]iiiiiiis[16]s[40]s[160]iiiiis[16]s[20]iiiis[32]s[32]fiiiiis[32]s[32]iiiiiiiiiiiiiiiiiiiiiiifiiiiiiiiiiiiiiiiiiis[128]i",
PlayerInfo[playerid][pLeader],
PlayerInfo[playerid][pMember],
PlayerInfo[playerid][pRank]);//тут я все лишнее убрал что бы проше было
mysql_free_result();
sscanf(PlayerInfo[playerid][cVehcom], "p<,>a<i>[14]",PlayerInfo[playerid][cVehcoms]);
LoadMyCar(playerid);
PlayerLogged[playerid] = true;
TimeLogged[playerid] = -1;
TextDrawShowForPlayer(playerid, SiteText);
sscanf(PlayerInfo[playerid][pTexts], "p<,>a<i>[3]", PlayerInfo[playerid][pText]);
sscanf(PlayerInfo[playerid][pPhones], "p<,>a<i>[3]", PlayerInfo[playerid][pPhone]);
sscanf(PlayerInfo[playerid][pLics], "p<,>a<i>[5]",PlayerInfo[playerid][pLic]);
if(PlayerInfo[playerid][pAdmin] > 0) AdminLogged[playerid] = true, SendClientMessage(playerid, COLOR_YELLOW,"Здравствуйте, дорогой администратор!");
if(PlayerInfo[playerid][pLeader] > 0) SendMes(playerid, COLOR_WHITE, "[F] %s приветствует вас как руководителя",FracInfo[PlayerInfo[playerid][pLeader]][fName]);
if(PlayerInfo[playerid][pMember] > 0 && strcmp(PlayerInfo[playerid][pSendername],FracInfo[PlayerInfo[playerid][pMember]][fAssistant],true) == 0) SendMes(playerid, COLOR_YELLOW, "Вы вошл как заместитель: %s",FracInfo[PlayerInfo[playerid][pMember]][fName]);
if(PlayerInfo[playerid][pVIP] == true) SendClientMessage(playerid, COLOR_GREEN, "Возможности VIP аккаунта активированы, приятной игры!");
format(string, 64, "~w~Welcome ~n~~b~ %s", PlayerInfo[playerid][pSendername]);
GameTextForPlayer(playerid, string, 3500, 1);
PlayerPlaySound(playerid, 30800, 0.0, 0.0, 0.0);
if (PlayerInfo[playerid][pText][0] == 1)
{
SendClientMessage(playerid, COLOR_YELLOW, "[КВИТАНЦИЯ] Вы забыли оплатить за кварплату, ваш дом продали!");
SendClientMessage(playerid, COLOR_YELLOW, "[КВИТАНЦИЯ] На ваш банковский счет возвращена стоимость дома по гос-ву");
PlayerInfo[playerid][pText][0] = 0;
format(PlayerInfo[playerid][pTexts], 20, "%i, %i, %i", PlayerInfo[playerid][pText][0], PlayerInfo[playerid][pText][1], PlayerInfo[playerid][pText][2]);
format(query, 256, "UPDATE "TABLE_ACCOUNT" SET text = '%s' WHERE name = '%s'", PlayerInfo[playerid][pTexts], PlayerInfo[playerid][pSendername]);
mysql_query(query);
}
if(PlayerInfo[playerid][pText][1] == 1)
{
SendClientMessage(playerid, COLOR_YELLOW,"[НАЛОГОВАЯ СЛУЖБА] Ваш бизнес закрыли в связи с нехваткой ресурсов");
SendClientMessage(playerid, COLOR_YELLOW,"[НАЛОГОВАЯ СЛУЖБА] Бюджет бизнеса зачислен на ваш банковский счет");
PlayerInfo[playerid][pText][1] = 0;
format(PlayerInfo[playerid][pTexts], 20, "%i, %i, %i", PlayerInfo[playerid][pText][0], PlayerInfo[playerid][pText][1], PlayerInfo[playerid][pText][2]);
format(query, 256, "UPDATE "TABLE_ACCOUNT" SET text = '%s' WHERE name = '%s'", PlayerInfo[playerid][pTexts], PlayerInfo[playerid][pSendername]);
mysql_query(query);
}
if(PlayerInfo[playerid][pText][2] == 1)
{
new p = PlayerInfo[playerid][pRefMoney] / 100000;
for(new i = 1; i <= p; i++)
{
GiveMoney(playerid, 100000);
PlayerInfo[playerid][pRefMoney] -= 100000;
}
PlayerInfo[playerid][pText][2] = 0;
format(PlayerInfo[playerid][pTexts], 20, "%i, %i, %i", PlayerInfo[playerid][pText][0], PlayerInfo[playerid][pText][1], PlayerInfo[playerid][pText][2]);
format(query, 256, "UPDATE "TABLE_ACCOUNT" SET text = '%s', refmoney WHERE name = '%s'", PlayerInfo[playerid][pTexts], PlayerInfo[playerid][pRefMoney], PlayerInfo[playerid][pSendername]);
mysql_query(query);
}
if(PlayerInfo[playerid][pGunSkill][6] >= NORM_SKILLS_PLAYER) VehRe[playerid] = true;
SetSpawnInfo(playerid, 255, PlayerInfo[playerid][pModel], 0, 0, 0, 1.0, -1, -1, -1, -1, -1, -1);
SpawnPlayer(playerid);
new str123[12];
GetPlayerIp(playerid,str123,12);
format(string, 64, "%s зашел в аккаунт с ip: %s",PlayerInfo[playerid][pSendername],str123);
Log("LogInfo",string);
DeletePVar(playerid,"Acc");
SetPlayerInt(PlayerInfo[playerid][pSendername], "online", 1);
}
return 1;
}
PHP:
stock OnPlayerLogin(playerid, password[])
{
new sqlpass[32],
str[2048],
name[32];
GetPlayerName(playerid, name, 32);
mysql_real_escape_string(password, sqlpass);
format(query, sizeof(query), "SELECT * FROM `"T_ACCOUNT"` WHERE `Key` = '%s' AND `Name` = '%s'", sqlpass, name);
mysql_query(query);
mysql_store_result();
if(mysql_num_rows() == 1)
{
mysql_fetch_row_format(str, "|");
sscanf(str, "p<|>sssiiiiiiiiiiiiiiiiis[32]s[32]s[32]s[32]s[32]s[32]s[32]s[32]s[32]s[32]iiiiiiiiiiis[50]",
PlayerInfo[playerid][pName],
PlayerInfo[playerid][pKey],
PlayerInfo[playerid][pEmail],
PlayerInfo[playerid][pDrug],
PlayerInfo[playerid][pSex],
PlayerInfo[playerid][pReg],
PlayerInfo[playerid][pSkin],
PlayerInfo[playerid][pLevel],
PlayerInfo[playerid][pHouse],
PlayerInfo[playerid][pCar],
PlayerInfo[playerid][pCarColor1],
PlayerInfo[playerid][pCarColor2],
PlayerInfo[playerid][pMoney],
PlayerInfo[playerid][pText],
PlayerInfo[playerid][pAdmin],
PlayerInfo[playerid][pExp],
PlayerInfo[playerid][pZakon],
PlayerInfo[playerid][pNumber],
PlayerInfo[playerid][pNumberMny],
PlayerInfo[playerid][pBank],
PhoneList[playerid][0],
PhoneList[playerid][1],
PhoneList[playerid][2],
PhoneList[playerid][3],
PhoneList[playerid][4],
PhoneList[playerid][5],
PhoneList[playerid][6],
PhoneList[playerid][7],
PhoneList[playerid][8],
PhoneList[playerid][9],
PlayerInfo[playerid][pPhoneListPhone][0],
PlayerInfo[playerid][pPhoneListPhone][1],
PlayerInfo[playerid][pPhoneListPhone][2],
PlayerInfo[playerid][pPhoneListPhone][3],
PlayerInfo[playerid][pPhoneListPhone][4],
PlayerInfo[playerid][pPhoneListPhone][5],
PlayerInfo[playerid][pPhoneListPhone][6],
PlayerInfo[playerid][pPhoneListPhone][7],
PlayerInfo[playerid][pPhoneListPhone][8],
PlayerInfo[playerid][pPhoneListPhone][9],
PlayerInfo[playerid][pDrugs],
PlayerInfo[playerid][pModels],
PlayerInfo[playerid][pLeader],
PlayerInfo[playerid][pMember],
PlayerInfo[playerid][pRank]);
mysql_free_result();
sscanf(PlayerInfo[playerid][pModels], "p<,>a<i>[5]",PlayerInfo[playerid][pModel]);
//SetSpawnInfo(playerid, 255, 79, 0, 0, 0, 1.0, -1, -1, -1, -1, -1, -1);
if(PlayerInfo[playerid][pAdmin] > 0) AdminLogged[playerid] = true, SendClientMessage(playerid, COLOR_YELLOW,"Здравствуйте, дорогой администратор!");
if(PlayerInfo[playerid][pLeader] > 0) SendMes(playerid, COLOR_WHITE, "[F] %s приветствует вас как руководителя",FracInfo[PlayerInfo[playerid][pLeader]][fName]);
if(PlayerInfo[playerid][pMember] > 0 && strcmp(PlayerInfo[playerid][pName],FracInfo[PlayerInfo[playerid][pMember]][fAssistant],true) == 0) SendMes(playerid, COLOR_YELLOW, "Вы вошл как заместитель: %s",FracInfo[PlayerInfo[playerid][pMember]][fName]);
//if(PlayerInfo[playerid][pVIP] == true) SendClientMessage(playerid, COLOR_GREEN, "Возможности VIP аккаунта активированы, приятной игры!");
if(PlayerInfo[playerid][pHouse] != 9999)
{
SkinObject(playerid);
caridhouse[playerid] = AddStaticVehicleEx(PlayerInfo[playerid][pCar], HouseInfo[PlayerInfo[playerid][pHouse]][hCarX], HouseInfo[PlayerInfo[playerid][pHouse]][hCarY], HouseInfo[PlayerInfo[playerid][pHouse]][hCarZ], HouseInfo[PlayerInfo[playerid][pHouse]][hCarC], PlayerInfo[playerid][pCarColor1], PlayerInfo[playerid][pCarColor2],5600);
LockCar(caridhouse[playerid]);
}
if(PlayerInfo[playerid][pText] == 1) SendClientMessage(playerid, COLOR_WHITE, "Ваш дом продан за неуплату налогов!"), PlayerInfo[playerid][pText] = 0;
SetPVarInt(playerid, "Logged", 1);
SetSpawnInfo(playerid, 255, PlayerInfo[playerid][pSkin], 0, 0, 0, 1.0, -1, -1, -1, -1, -1, -1);
SpawnPlayer(playerid);
return true;
}
else
{
//SendClientMessage(playerid, COLOR_LIGHTRED, "Неверный ввод пароля, для выхода из игры введите: {ffffff}/q(uit)");
//Kick(playerid);
SetPVarInt(playerid, "WrongPass", GetPVarInt(playerid, "WrongPass") +1);
if(GetPVarInt(playerid, "WrongPass") == 4) return ShowPlayerDialog(playerid,1001,DIALOG_STYLE_MSGBOX,"{E6B122} Лимит попыток авторизации","{FFFFFF} Вы ввели неправильный пароль 3 раза подряд. Ваш IP адрес забанен на сутки","Закрыть",""), SendClientMessage(playerid, COLOR_WHITE, "{FF6347}При неправильном вводе пароля Вы будете забанены"), Kick(playerid);
new logtires = 4 - GetPVarInt(playerid, "WrongPass");
format(stringg,sizeof(stringg),"{FFFFFF}Добро пожаловать на сервер Exotic RolePlay\nВаш ник зарегистрирован\n\nЛогин: {1DBF3A}%s{FFFFFF}\n{FF0000}Неверный пароль! Осталось попыток: %d", PlayerInfo[playerid][pName], logtires);
ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"{3DB6F2}Авторизация",stringg, "Войти","Отмена");
return true;
}
}
PHP:
stock SaveAccount(playerid)
{
if(PlayerLogged[playerid] == 0) return 1;
new src[128], ip[16];
/////////////////////////////////
format(query,sizeof(query),"UPDATE "TABLE_ACCOUNT" SET ");
GetPlayerIp(playerid, ip, 16);
format(src,sizeof(src),"ip='%s',",ip);
strcat(query,src,sizeof(query));
format(src,sizeof(src),"leader=%d,",PlayerInfo[playerid][pLeader]);
strcat(query,src,sizeof(query));
format(src,sizeof(src),"member=%d,",PlayerInfo[playerid][pMember]);
strcat(query,src,sizeof(query));
format(src,sizeof(src),"rank=%d,",PlayerInfo[playerid][pRank]);
strcat(query,src,sizeof(query));
format(PlayerInfo[playerid][pPhones],16,"%i, %i, %i",
PlayerInfo[playerid][pPhone][0],PlayerInfo[playerid][pPhone][1], PlayerInfo[playerid][pPhone][2]);
format(src,sizeof(src),"phone='%s',",PlayerInfo[playerid][pPhones]);
strcat(query,src,sizeof(query));
format(PlayerInfo[playerid][pLics],40,"%i, %i, %i, %i, %i",
PlayerInfo[playerid][pLic][0],PlayerInfo[playerid][pLic][1],PlayerInfo[playerid][pLic][2]
,PlayerInfo[playerid][pLic][3],PlayerInfo[playerid][pLic][4]);
format(src,sizeof(src),"lic='%s',",PlayerInfo[playerid][pLics]);
strcat(query,src,sizeof(query));
if(GetPVarInt(playerid, "GunCheat") == 0)
{
for(new i = 0; i < 13; i++)
{
GetPlayerWeaponData(playerid, i, PlayerInfo[playerid][pGun][i], PlayerInfo[playerid][pAmmo][i]);
}
format(PlayerInfo[playerid][pGuns],40,"%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",
PlayerInfo[playerid][pGun][0],PlayerInfo[playerid][pGun][1],PlayerInfo[playerid][pGun][2],
PlayerInfo[playerid][pGun][3],PlayerInfo[playerid][pGun][4],PlayerInfo[playerid][pGun][5],
PlayerInfo[playerid][pGun][6],PlayerInfo[playerid][pGun][7],PlayerInfo[playerid][pGun][8],
PlayerInfo[playerid][pGun][9],PlayerInfo[playerid][pGun][10],PlayerInfo[playerid][pGun][11],PlayerInfo[playerid][pGun][12]);
format(src,sizeof(src),"guns='%s',",PlayerInfo[playerid][pGuns]);
strcat(query,src,sizeof(query));
format(PlayerInfo[playerid][pAmmos],160,"%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",
PlayerInfo[playerid][pAmmo][0],PlayerInfo[playerid][pAmmo][1],PlayerInfo[playerid][pAmmo][2],
PlayerInfo[playerid][pAmmo][3],PlayerInfo[playerid][pAmmo][4],PlayerInfo[playerid][pAmmo][5],
PlayerInfo[playerid][pAmmo][6],PlayerInfo[playerid][pAmmo][7],PlayerInfo[playerid][pAmmo][8],
PlayerInfo[playerid][pAmmo][9],PlayerInfo[playerid][pAmmo][10],PlayerInfo[playerid][pAmmo][11],PlayerInfo[playerid][pAmmo][12]);
format(src,sizeof(src),"ammos='%s',",PlayerInfo[playerid][pAmmos]);
}
strcat(query,src,sizeof(query));
format(src,sizeof(src),"skills='%d'",PlayerInfo[playerid][pGunSkill][6]);
strcat(query,src,sizeof(query));
new playername[32];
GetPlayerName(playerid,playername,32);
format(src,sizeof(src)," WHERE name='%s'",playername);
strcat(query,src,sizeof(query));
mysql_query(query);
return 1;
}
PHP:
stock SaveAccount(playerid)
{
if(GetPVarInt(playerid, "Logged") == 0) return 1;
new src[1024], name[32];
GetPlayerName(playerid, name, 32);
format(query,sizeof(query),"UPDATE "T_ACCOUNT" SET ");
format(src,40,"AdminLevel=%d,",PlayerInfo[playerid][pAdmin]);
strcat(query,src,sizeof(query));
format(src,40,"Level=%d,",PlayerInfo[playerid][pLevel]);
strcat(query,src,sizeof(query));
format(src,40,"Drug=%d,",PlayerInfo[playerid][pDrug]);
strcat(query,src,sizeof(query));
format(src,40,"Sex=%d,",PlayerInfo[playerid][pSex]);
strcat(query,src,sizeof(query));
format(src,40,"House=%d,",PlayerInfo[playerid][pHouse]);
strcat(query,src,sizeof(query));
format(src,40,"Level=%d,",PlayerInfo[playerid][pLevel]);
strcat(query,src,sizeof(query));
format(src,40,"House=%d,",PlayerInfo[playerid][pHouse]);
strcat(query,src,sizeof(query));
format(src,40,"Car=%d,",PlayerInfo[playerid][pCar]);
strcat(query,src,sizeof(query));
format(src,40,"Drugs=%d,",PlayerInfo[playerid][pDrugs]);
strcat(query,src,sizeof(query));
format(src,40,"CarColor1=%d,",PlayerInfo[playerid][pCarColor1]);
strcat(query,src,sizeof(query));
format(src,40,"CarColor2=%d,",PlayerInfo[playerid][pCarColor2]);
strcat(query,src,sizeof(query));
format(src,40,"Reg=%d,",PlayerInfo[playerid][pReg]);
strcat(query,src,sizeof(query));
format(src,40,"Money=%d,",PlayerInfo[playerid][pMoney]);
strcat(query,src,sizeof(query));
format(src,40,"Text=%d,",PlayerInfo[playerid][pText]);
strcat(query,src,sizeof(query));
format(src,40,"Zakon=%d,",PlayerInfo[playerid][pZakon]);
strcat(query,src,sizeof(query));
format(src,40,"Exp=%d,",PlayerInfo[playerid][pExp]);
strcat(query,src,sizeof(query));
format(src,40,"Skin=%d,",PlayerInfo[playerid][pSkin]);
strcat(query,src,sizeof(query));
format(src,40,"pNumber=%d,",PlayerInfo[playerid][pNumber]);
strcat(query,src,sizeof(query));
format(PlayerInfo[playerid][pModels], 50, "%i, %i, %i, %i, %i", PlayerInfo[playerid][pModel][0],
PlayerInfo[playerid][pModel][1], PlayerInfo[playerid][pModel][2], PlayerInfo[playerid][pModel][3], PlayerInfo[playerid][pModel][4]);
format(src,40,"pModels='%s',",PlayerInfo[playerid][pModels]);
strcat(query,src,sizeof(query));
format(src,40,"pNumberMny=%d,",PlayerInfo[playerid][pNumberMny]);
strcat(query,src,sizeof(query));
format(src,40,"pBank=%d,",PlayerInfo[playerid][pBank]);
strcat(query,src,sizeof(query));
format(src,40,"PhoneListPhone1=%d,",PlayerInfo[playerid][pPhoneListPhone][0]);
strcat(query,src,sizeof(query));
format(src,40,"PhoneListPhone2=%d,",PlayerInfo[playerid][pPhoneListPhone][1]);
strcat(query,src,sizeof(query));
format(src,40,"PhoneListPhone3=%d,",PlayerInfo[playerid][pPhoneListPhone][2]);
strcat(query,src,sizeof(query));
format(src,40,"PhoneListPhone4=%d,",PlayerInfo[playerid][pPhoneListPhone][3]);
strcat(query,src,sizeof(query));
format(src,40,"PhoneListPhone5=%d,",PlayerInfo[playerid][pPhoneListPhone][4]);
strcat(query,src,sizeof(query));
format(src,40,"PhoneListPhone6=%d,",PlayerInfo[playerid][pPhoneListPhone][5]);
strcat(query,src,sizeof(query));
format(src,40,"PhoneListPhone7=%d,",PlayerInfo[playerid][pPhoneListPhone][6]);
strcat(query,src,sizeof(query));
format(src,40,"PhoneListPhone8=%d,",PlayerInfo[playerid][pPhoneListPhone][7]);
strcat(query,src,sizeof(query));
format(src,40,"PhoneListPhone9=%d,",PlayerInfo[playerid][pPhoneListPhone][8]);
strcat(query,src,sizeof(query));
format(src,40,"PhoneListPhone10=%d,",PlayerInfo[playerid][pPhoneListPhone][9]);
strcat(query,src,sizeof(query));
format(src,40,"PhoneList1='%s',",PhoneList[playerid][0]);
strcat(query,src,sizeof(query));
format(src,40,"PhoneList2='%s',",PhoneList[playerid][1]);
strcat(query,src,sizeof(query));
format(src,40,"PhoneList3='%s',",PhoneList[playerid][2]);
strcat(query,src,sizeof(query));
format(src,40,"PhoneList4='%s',",PhoneList[playerid][3]);
strcat(query,src,sizeof(query));
format(src,40,"PhoneList5='%s',",PhoneList[playerid][4]);
strcat(query,src,sizeof(query));
format(src,40,"PhoneList6='%s',",PhoneList[playerid][5]);
strcat(query,src,sizeof(query));
format(src,40,"PhoneList7='%s',",PhoneList[playerid][6]);
strcat(query,src,sizeof(query));
format(src,40,"PhoneList8='%s',",PhoneList[playerid][7]);
strcat(query,src,sizeof(query));
format(src,40,"PhoneList9='%s',",PhoneList[playerid][8]);
strcat(query,src,sizeof(query));
format(src,40,"PhoneList10='%s'",PhoneList[playerid][9]);
strcat(query,src,sizeof(query));
format(src,sizeof(src),"leader=%d,",PlayerInfo[playerid][pLeader]);
strcat(query,src,sizeof(query));
format(src,sizeof(src),"member=%d,",PlayerInfo[playerid][pMember]);
strcat(query,src,sizeof(query));
format(src,sizeof(src),"rank=%d,",PlayerInfo[playerid][pRank]);
strcat(query,src,sizeof(query));
format(src,sizeof(src),"loach=%d,",PlayerInfo[playerid][pChar]);
strcat(query,src,sizeof(query));
format(src,40," WHERE Name='%s'",name);
strcat(query,src,sizeof(query));
mysql_query(query);
return 1;
}
---------- Post added at 21:28 ---------- Previous post was at 21:11 ----------
В БД я написал все как на SunSity по премеру но все ровно такая же хрень
Последнее редактирование:
