Создание личного ТС (MySQL)
Здравствуйте. Система приобретения личного транспортного средства.
Создается личное ТС путём создания строки в отдельной таблице "cars".
После создания ТС, массив pCarKey (таблица accounts) должен приравняться к массиву cID (таблица cars).
Таким образом игрок получает уникальный ключ для личного ТС.
Массив в таблице cars "cID" - AUTO_INCREMENT.
Проблема: строка в таблице cars создаётся как надо, но не получается приравнять pCarKey к cID.
Код:
Код:
CMD:buyc(playerid)//carsMSQL
{
new string[500];
new c;
CarInfo[c][cModel] = 559;
CarInfo[c][cColor] = 3;
CarInfo[c][cColor2] = 3;
CarInfo[c][cFuel] = 200;
CarInfo[c][cMaxFuel] = 200;
CarInfo[c][cExpense] = 0.0001;
CarInfo[c][cCarparkX] = 2350.0410;
CarInfo[c][cCarparkY] = -1457.5046;
CarInfo[c][cCarparkZ] = 6.6009;
CarInfo[c][cCarparkC] = 319.2456;
CarInfo[c][cPaint] = -1;
CarInfo[c][cSlot][0] = 1065;//Exhaust -=Alien=-
CarInfo[c][cSlot][1] = 1067;//Roof
CarInfo[c][cSlot][2] = 1069;//Sideskirt
CarInfo[c][cSlot][3] = 1159;//Rear Bumper
CarInfo[c][cSlot][4] = 1160;//Front Bumper
CarInfo[c][cSlot][5] = 1162;//Spoiler
CarInfo[c][cSlot][6] = 1079;//Wheels
CarInfo[c][cSlot][7] = 1009;//Nitro
CarInfo[c][cSlot][8] = 1087;//Hydraulics
mysql_format(ConnectMySQL, string, sizeof(string), "INSERT INTO `cars` (`cOwner`, `cModel`, `cColor`, `cColor2`, `cFuel`, `cMaxFuel`, `cExpense`, `cCarparkX`, `cCarparkY`, `cCarparkZ`, `cCarparkC`, `cPaint`, `cSlot0`, `cSlot1`, `cSlot2`, `cSlot3`, `cSlot4`, `cSlot5`, `cSlot6`, `cSlot7`, `cSlot8`) VALUES ('%s', '%d', '%d', '%d', '%f', '%d', '%f', '%f', '%f', '%f', '%f', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d')",
PlayerInfo[playerid][pName], CarInfo[c][cModel], CarInfo[c][cColor], CarInfo[c][cColor2], CarInfo[c][cFuel], CarInfo[c][cMaxFuel], CarInfo[c][cExpense], CarInfo[c][cCarparkX], CarInfo[c][cCarparkY], CarInfo[c][cCarparkZ], CarInfo[c][cCarparkC], CarInfo[c][cPaint], CarInfo[c][cSlot][0], CarInfo[c][cSlot][1], CarInfo[c][cSlot][2], CarInfo[c][cSlot][3], CarInfo[c][cSlot][4], CarInfo[c][cSlot][5], CarInfo[c][cSlot][6], CarInfo[c][cSlot][7], CarInfo[c][cSlot][8]);
mysql_function_query(ConnectMySQL, string, false, "", "");
SCM(playerid,COLOR_GREEN,"Создание ТС");
PlayerInfo[playerid][pCarKey] = CarInfo[c][cID];//Почему не получается?
SavePlayer(playerid);
SaveCar(playerid);
return 1;
}
Код:
stock SavePlayer(i)
{
new scr[100];
new string[500];
f("UPDATE `accounts` SET");
format(scr, sizeof(scr), "`Level` = %d,", PlayerInfo[i][pLevel]);
strcat(string, scr);
format(scr, sizeof(scr), "`Money` = %d,", PlayerInfo[i][pMoney]);
strcat(string, scr);
format(scr, sizeof(scr), "`Sex` = %d,", PlayerInfo[i][pSex]);
strcat(string, scr);
format(scr, sizeof(scr), "`Skin` = %d,", PlayerInfo[i][pSkin]);
strcat(string, scr);
format(scr, sizeof(scr), "`Admin` = %d,", PlayerInfo[i][pAdmin]);
strcat(string, scr);
format(scr, sizeof(scr), "`Akey` = %d,", PlayerInfo[i][pAkey]);
strcat(string, scr);
format(scr, sizeof(scr), "`Warn` = %d,", PlayerInfo[i][pWarn]);
strcat(string, scr);
format(scr, sizeof(scr), "`HouseKey` = %d,", PlayerInfo[i][pHouseKey]);
strcat(string, scr);
format(scr, sizeof(scr), "`CarKey` = %d,", PlayerInfo[i][pCarKey]);
strcat(string, scr);
format(scr, sizeof(scr), "`Pass` = '%s'", PlayerInfo[i][pPass]);
strcat(string, scr);
format(scr, sizeof(scr), "WHERE `Name` = '%s'", PlayerInfo[i][pName]);
strcat(string, scr, sizeof(string));
mysql_function_query(ConnectMySQL, string, false, "", "");
PlayerInfo[i][pMoney] = Money(i);
}
Код:
stock SaveCar(i)
{
new scr[200];
new string[500];
new c = PlayerInfo[i][pCarKey];
CarInfo[c][cFuel] = Fuel[car[i]];
f("UPDATE `cars` SET");
format(scr, sizeof(scr), "`cModel` = %d,", CarInfo[c][cModel]);
strcat(string, scr);
format(scr, sizeof(scr), "`cColor` = %d,", CarInfo[c][cColor]);
strcat(string, scr);
format(scr, sizeof(scr), "`cColor2` = %d,", CarInfo[c][cColor2]);
strcat(string, scr);
format(scr, sizeof(scr), "`cFuel` = %f,", CarInfo[c][cFuel]);
strcat(string, scr);
format(scr, sizeof(scr), "`cMaxFuel` = %d,", CarInfo[c][cMaxFuel]);
strcat(string, scr);
format(scr, sizeof(scr), "`cExpense` = %f,", CarInfo[c][cExpense]);
strcat(string, scr);
format(scr, sizeof(scr), "`cCarparkX` = %d,", CarInfo[c][cCarparkX]);
strcat(string, scr);
format(scr, sizeof(scr), "`cCarparkY` = %d,", CarInfo[c][cCarparkY]);
strcat(string, scr);
format(scr, sizeof(scr), "`cCarparkZ` = %d,", CarInfo[c][cCarparkZ]);
strcat(string, scr);
format(scr, sizeof(scr), "`cCarparkC` = %d,", CarInfo[c][cCarparkC]);
strcat(string, scr);
format(scr, sizeof(scr), "`cPaint` = %d,", CarInfo[c][cPaint]);
strcat(string, scr);
format(scr, sizeof(scr), "`cSlot0` = %d,", CarInfo[c][cSlot][0]);
strcat(string, scr);
format(scr, sizeof(scr), "`cSlot1` = %d,", CarInfo[c][cSlot][1]);
strcat(string, scr);
format(scr, sizeof(scr), "`cSlot2` = %d,", CarInfo[c][cSlot][2]);
strcat(string, scr);
format(scr, sizeof(scr), "`cSlot3` = %d,", CarInfo[c][cSlot][3]);
strcat(string, scr);
format(scr, sizeof(scr), "`cSlot4` = %d,", CarInfo[c][cSlot][4]);
strcat(string, scr);
format(scr, sizeof(scr), "`cSlot5` = %d,", CarInfo[c][cSlot][5]);
strcat(string, scr);
format(scr, sizeof(scr), "`cSlot6` = %d,", CarInfo[c][cSlot][6]);
strcat(string, scr);
format(scr, sizeof(scr), "`cSlot7` = %d,", CarInfo[c][cSlot][7]);
strcat(string, scr);
format(scr, sizeof(scr), "`cSlot8` = %d,", CarInfo[c][cSlot][8]);
strcat(string, scr);
format(scr, sizeof(scr), "`cOwner` = '%s'", CarInfo[c][cOwner]);
strcat(string, scr);
format(scr, sizeof(scr), "WHERE `cID` = '%s'", CarInfo[c][cID]);
strcat(string, scr, sizeof(string));
mysql_function_query(ConnectMySQL, string, false, "", "");
}
- - - Добавлено - - -
Вероятно, после создания таблицы "cars", нужно выгрузить из ячейки cID информацию в массив CarInfo[c][cID].
Если я ошибаюсь, поправьте, подскажите. Я ещё много чего не понимаю в скриптинге.