vasyok28
Умник
Код из OnPlayerDisconnect(playerid, reason) не до конца срабатывает.
Очень нуждаюсь в вас.
Крашдетектер ничего не выводит в server_log.
Только что заметил файлик crashinfo.txt
Сам OnPlayerDisconnect:
Тут сами функции:
Очень нуждаюсь в вас.
Крашдетектер ничего не выводит в server_log.
Только что заметил файлик crashinfo.txt
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Сам OnPlayerDisconnect:
PHP:
public OnPlayerDisconnect(playerid, reason)
{
if(PlayerInfo[playerid][pVehBackID] >= CarTaxi[0] && PlayerInfo[playerid][pVehBackID] <= CarTaxi[1])
{
SCM(TaxiJob[PlayerInfo[playerid][pVehBackID]][TaxiArendaID], COLOR_WHITE, "Ваш договор с пасажиром был анулирован в вашу пользу.");
TaxiJob[PlayerInfo[playerid][pVehBackID]][TaxiStart] = false;
DisablePlayerCheckpoint(TaxiJob[PlayerInfo[playerid][pVehBackID]][TaxiArendaID]);
TaxiJob[PlayerInfo[playerid][pVehBackID]][TaxiPassagerID] = INVALID_VEHICLE_ID;
PlayerInfo[playerid][pVehBackID] = INVALID_VEHICLE_ID;
}
else if(PlayerInfo[playerid][pJobID] == 2 && PlayerInfo[playerid][pCarJob] != INVALID_VEHICLE_ID)
{
SetVehicleToRespawn(PlayerInfo[playerid][pCarJob]);
ClearVarTaxi(PlayerInfo[playerid][pCarJob]);
}
print("1");// больше этого не работает код.
HouseInfo[PlayerInfo[playerid][pHouseKeyID]][hOnline] = false;
print("2");// не работает
SaveAccount(playerid);
print("3");// не работает
ClearInfoPlayer(playerid);
print("4");// не работает
return 1;
}
PHP:
publics SaveAccount(playerid) // Сохранение аккаунта
{
if(!PlayerInfo[playerid][pLogged]) return printf("[MySQL]: Ошибка сохранения аккаунта %s", PlayerInfo[playerid][pName]);
new sql[(21)+(25+MAX_PLAYER_NAME)+(35+12)+(25+10)+(25+MAX_PLAYER_NAME)+(25)+(29+MAX_PLAYER_NAME)+30+26] = "UPDATE `players` SET";
mysql_format(mysql_connect_ID, sql, sizeof(sql), "%s `player_name` = '%s',", sql, PlayerInfo[playerid][pName]);
mysql_format(mysql_connect_ID, sql, sizeof(sql), "%s `player_skin` = '%d,%d,%d,%d',", sql, PlayerInfo[playerid][pSkin][0], PlayerInfo[playerid][pSkin][1], PlayerInfo[playerid][pSkin][2], PlayerInfo[playerid][pSkin][3]);
mysql_format(mysql_connect_ID, sql, sizeof(sql), "%s `player_money` = '%d',", sql, PlayerInfo[playerid][pMoney]);
mysql_format(mysql_connect_ID, sql, sizeof(sql), "%s `player_houses` = '%d',", sql, PlayerInfo[playerid][pHouseKey]);
mysql_format(mysql_connect_ID, sql, sizeof(sql), "%s `player_car` = '%d',", sql, PlayerInfo[playerid][pCar]);
mysql_format(mysql_connect_ID, sql, sizeof(sql), "%s `player_job` = '%d',", sql, PlayerInfo[playerid][pJobID]);
mysql_format(mysql_connect_ID, sql, sizeof(sql), "%s `car_fuel` = '%.2f',", sql, VehicleInfo[PlayerInfo[playerid][pVehicleKey]][vFuel]);
mysql_format(mysql_connect_ID, sql, sizeof(sql), "%s `player_lvl` = '%d',", sql, PlayerInfo[playerid][pLvl]);
mysql_format(mysql_connect_ID, sql, sizeof(sql), "%s `player_bilet` = '%d'", sql, PlayerInfo[playerid][pBiletTaxi]);
mysql_format(mysql_connect_ID, sql, sizeof(sql), "%s WHERE `player_name` = '%s'", sql, PlayerInfo[playerid][pName]);
mysql_function_query(mysql_connect_ID, sql, false, "", "");
return 1;
}
PHP:
publics ClearInfoPlayer(playerid) // Очистка масива с данными PlayerInfo
{
PlayerInfo[playerid][pID] = (-1);
PlayerInfo[playerid][pPassword] = (-1);
PlayerInfo[playerid][pSex] = (-1);
PlayerInfo[playerid][pLvl] = (-1);
PlayerInfo[playerid][pMoney] = 0;
PlayerInfo[playerid][pLogged] = false;
PlayerInfo[playerid][pInvite] = (-1);
PlayerInfo[playerid][pEmail] = (-1);
PlayerInfo[playerid][pSkin][0] = (-1);
PlayerInfo[playerid][pJobID] = 0;
PlayerInfo[playerid][pCarJob] = INVALID_VEHICLE_ID;
PlayerInfo[playerid][pCount] = 0;
PlayerInfo[playerid][pWrongJob] = 0;
PlayerInfo[playerid][pJobStatus][0] = 1;
PlayerInfo[playerid][pHouseKey] = (-1);
PlayerInfo[playerid][pHouseKeyID] = (-1);
PlayerInfo[playerid][pInHouse] = 0;
PlayerInfo[playerid][pAdmin] = (-1);
PlayerInfo[playerid][pCar] = (-1);
PlayerInfo[playerid][pVehID] = INVALID_VEHICLE_ID;
PlayerInfo[playerid][pVehBackID] = INVALID_VEHICLE_ID;
PlayerInfo[playerid][pLastVeh] = INVALID_VEHICLE_ID;
PlayerInfo[playerid][pFuel] = 0;
PlayerInfo[playerid][pVehicleKey] = INVALID_VEHICLE_ID;
PlayerInfo[playerid][pCheckpoint] = (-1);
PlayerInfo[playerid][pBiletTaxi] = 0;
CancelSelectTextDraw(playerid);
for(new i; i != 4; i++)RemovePlayerAttachedObject(playerid, i);
return 1;
}
Последнее редактирование:
