Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Вопрос про OnPlayerDisconnect(playerid, reason)

Статус
В этой теме нельзя размещать новые ответы.

vasyok28

Умник
Код из OnPlayerDisconnect(playerid, reason) не до конца срабатывает.
Очень нуждаюсь в вас.

Крашдетектер ничего не выводит в 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;
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу