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

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

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

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

Проблема с регистрацией/авторизацией(State 99)

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

Vaise

Умник
Всем привет! Не думал, что когда нибудь я обращусь сюда, но сегодня получилось так, что я просто обязан сюда прийти и спросить у вас, дорогие скриптеры. В общем, проблема такая, переписал регистрацию, и после ввода возраста, или входа на сервер я просто появляюсь на Ферме в замороженном виде. Надеюсь на вашу помощь!

колбэк OnPlayerSpawn:
PHP:
public OnPlayerSpawn(playerid)
{
	StopAudioStreamForPlayer(playerid);
	pTemp[playerid][pAbletoGun] = 2;
	SetPlayerColor(playerid,0xFFFFFF11);
	pTemp[playerid][pChangingSkin] = false;
	HidePlayerClothesTD(playerid);
	//pTemp[playerid][pControllable] = true;
	TogglePlayerControllable(playerid,0);
	new Float:x, Float:y, Float:z;
	GetPlayerPos(playerid,x,y,z);
	pTemp[playerid][pWork] = 0;
	if(!pTemp[playerid][pLogined] || !pTemp[playerid][pJoined]) return 1;
	if(!pData[playerid][pSkin]) //Если игрок не выбрал скин
	{
		/*SetPlayerInterior(playerid,1);
		SetPlayerPos(playerid, 1.6953,28.5131,1199.5938);
		SetPlayerFacingAngle(playerid,180.0);
		SetPlayerCameraPos(playerid,1.6935,24.8664,1200.0);
		SetPlayerCameraLookAt(playerid,1.6953,28.5131,1199.5938);
		SetPlayerVirtualWorld(playerid,playerid);
		TogglePlayerControllable(playerid,0);
		pTemp[playerid][pChoosingSkin] = true;
		TextDrawShowForPlayer(playerid,TD[tdNextSkin]);
		TextDrawShowForPlayer(playerid,TD[tdBackSkin]);
		TextDrawShowForPlayer(playerid,TD[tdSelSkin]);
		SelectTextDraw(playerid, 0xAFAFAFAA);
		SetPVarInt(playerid,"skinid",0);
		new cat = 0;
		if(pData[playerid][pSex] == 2) cat = 1;
		new color = pData[playerid][pColor];
		SetPlayerSkin(playerid,gRegSkins[cat][color][0]);
		SendClientMessage(playerid,CWHITE,"Следующий скин: {"#cGREEN"}Вправо (по умолчнию)");
		SendClientMessage(playerid,CWHITE,"Предыдущий скин: {"#cRED"}Влево (по умолчнию)");
		SendClientMessage(playerid,CWHITE,"Выбрать скин: {"#cYELLOW"}Пробел (по умолчнию)");
		SelectTextDraw(playerid, 0xFFFFFFFF);*/
		pData[playerid][pSkin] = gRegSkins[pData[playerid][pSex]-1][pData[playerid][pColor]][random(3)];
		SetPlayerSkin(playerid, pData[playerid][pSkin]);
		UpdatePlayerData(playerid,"skin",pData[playerid][pSkin]);
		//return 1;
	}
	if (pData[playerid][pJail])
	{
		TogglePlayerControllable(playerid,0);
		SetTimerEx("Unfreez",2000,false,"i",playerid);
		new prison = pData[playerid][pPrison];
		new camid = random(3);
		SetPlayerVirtualWorld(playerid,prison + 1);
		SetPlayerInterior(playerid,6);
		SetPlayerPos(playerid,camSpawn[camid][0],camSpawn[camid][1],camSpawn[camid][2],0);
		SetPlayerFacingAngle(playerid,camSpawn[camid][3]);
		if(pData[playerid][pFraction]) SetPlayerSkin(playerid,pData[playerid][pFractionSkin]);
		else SetPlayerSkin(playerid,pData[playerid][pSkin]);
		if(pData[playerid][pFraction]) SetPlayerColor(playerid,gFractionColor[pData[playerid][pFraction] - 1]);
	}
	else if(pTemp[playerid][pDead] || pData[playerid][pHealth] < 10.0)
	{
		pTemp[playerid][pDead] = false;
		new Float:c[4][4] = {
			{957.7189,2156.0740,1019.0859,90.0725},//Болькааа
			{940.5134,2150.4282,1019.0859,359.0601},//
			{936.4810,2166.0544,1019.0859,270.6992},//
			{948.9666,2155.1650,1019.0859,88.8192}//
		};
		new f = RandomEx(0,4);
		SetPlayerInterior(playerid,1);
		SetPlayerVirtualWorld(playerid,RandomEx(0,3));
		pTemp[playerid][pInHospital] = true;
		SetPlayerPos(playerid,c[f][0],c[f][1],c[f][2]);
		SetPlayerFacingAngle(playerid,c[f][3]);
		TogglePlayerControllable(playerid,0);
		if(pData[playerid][pFraction]) SetPlayerSkin(playerid,pData[playerid][pFractionSkin]);
		else SetPlayerSkin(playerid,pData[playerid][pSkin]);
		SetTimerEx("Unfreez",2000,false,"i",playerid);
		SetPlayerHealthEx(playerid,1.0);
	}
	else if(pData[playerid][pHouse])
	{
		SetPlayerVirtualWorld(playerid,pData[playerid][pHouse]);
		new interior, Float:r;
		new houseid = pData[playerid][pHouse] - 1;
		new hint = gHouses[houseid][houseHint];
		if(pData[playerid][pFraction])
		{
			if(gHouses[houseid][houseImprove][3] && gHouses[houseid][houseOwnerID] == pData[playerid][pMysqlID]) SetPlayerSkin(playerid,pData[playerid][pSkin]);
			else SetPlayerSkin(playerid,pData[playerid][pFractionSkin]);
		}
		else SetPlayerSkin(playerid,pData[playerid][pSkin]);
		pTemp[playerid][pSelectedHouseID] = houseid;
		x = gHints[hint][hintSX];
		y = gHints[hint][hintSY];
		z = gHints[hint][hintSZ];
		r = gHints[hint][hintSR];
		interior = gHints[hint][hintInterior];
		SetPlayerInterior(playerid,interior);
		SetPlayerPos(playerid,x,y,z);
		SetPlayerFacingAngle(playerid,r);
		pTemp[playerid][pIsInHouse] = true;
		if(pData[playerid][pFraction]) SetPlayerColor(playerid,gFractionColor[pData[playerid][pFraction] - 1]);
	}
	else if(pData[playerid][pHotel])
	{
		new hotelid = pData[playerid][pHotel]-1;
		new room = pData[playerid][pHotelRoom];
		if(gHotelResidents[hotelid][room] != pData[playerid][pMysqlID])
		{
			SendClientMessage(playerid,CORANGE,"Вы были выселены из отеля за неуплату");
			SendClientMessage(playerid,CORANGE,"Если у Вас было т/с, то оно было продано гос-у за 80 процентов от цены на рынке");
			pData[playerid][pHotel] = 0;
			pData[playerid][pHotelRoom] = 0;
			new query[128];
			format(query,sizeof(query),"UPDATE `accounts` SET `hotel` = '0', `hotelroom` = '0' WHERE `id` = '%d'",pData[playerid][pMysqlID]);
			mysql_query(query);
			SpawnPlayer(playerid);
		}
		else
		{
			SetPVarInt(playerid,"selectedhotel",hotelid);
			if(pData[playerid][pFraction]) SetPlayerSkin(playerid,pData[playerid][pFractionSkin]);
			else SetPlayerSkin(playerid,pData[playerid][pSkin]);
			SetPlayerVirtualWorld(playerid,hotelid);
			SetPlayerInterior(playerid,15);
			SetPlayerPos(playerid,gHotelRoomExits[room][0],gHotelRoomExits[room][1],gHotelRoomExits[room][2]);
			SetPlayerFacingAngle(playerid,gHotelRoomExits[room][3]);
			new remain;
			remain = gHotelEndurance[hotelid][room] - gCurDay;
			if(remain <= 2) SendClientMessage(playerid,CYELLOW,"ВНИМАНИЕ! У Вас осталось менее 2-х дней до того как Вас Выселят из отеля, если Вы не оплатите за проживание.");
		}
	}
	else if(pData[playerid][pFraction])
	{
		new fractionid = pData[playerid][pFraction]-1;
		if(pData[playerid][pSubfraction])
		{
			new frid;
			frid = GetSubfractionID(fractionid);
			new subid = pData[playerid][pSubfraction] - 1;
			SetPlayerInterior(playerid,gSubfractionSpawnData[frid][subid][0]);
			SetPlayerVirtualWorld(playerid,gSubfractionSpawnData[frid][subid][1]);
			SetPlayerPos(playerid,gSubfractionSpawnC[frid][subid][0],gSubfractionSpawnC[frid][subid][1],gSubfractionSpawnC[frid][subid][2]);
			SetPlayerFacingAngle(playerid,gSubfractionSpawnC[frid][subid][3]);
			if(frid == 1 && subid == 0)
			{
				TogglePlayerControllable(playerid,0);
				SetTimerEx("Unfreez",2000,false,"i",playerid);
			}
			if(frid == 2 && subid >= 0)
			{
				TogglePlayerControllable(playerid,0);
				SetTimerEx("Unfreez",2000,false,"i",playerid);
			}
		}
		else
		{
			SetPlayerVirtualWorld(playerid,gFractionSpawnData[fractionid][1]);
			SetPlayerInterior(playerid,gFractionSpawnData[fractionid][0]);
			SetPlayerPos(playerid,gFractionSpawnC[fractionid][0],gFractionSpawnC[fractionid][1],gFractionSpawnC[fractionid][2]);
		}
		SetPlayerSkin(playerid,pData[playerid][pFractionSkin]);
		SetCameraBehindPlayer(playerid);
		SetPlayerColor(playerid,gFractionColor[fractionid]);
		if((fractionid >= 0 && fractionid <= 7) || fractionid == 9)
		{
			if(fractionid == 1) pTemp[playerid][pInHospital] = true;
			TogglePlayerControllable(playerid,0);
			SetTimerEx("Unfreez",2000,false,"i",playerid);
		}
	}
	else
	{
		SetPlayerSkin(playerid,pData[playerid][pSkin]);
		SetPlayerVirtualWorld(playerid,0);
		SetPlayerInterior(playerid,0);
		TogglePlayerControllable(playerid,1);
		SetPlayerPos(playerid,1293.6625,-1871.2214,13.5859);
		SetPlayerFacingAngle(playerid,270.0);
		SetCameraBehindPlayer(playerid);
		SetPlayerColor(playerid,0xFFFFFF11);
	}
	if(pData[playerid][pMoney])
	{
		ResetPlayerMoney(playerid);
		GivePlayerMoney(playerid,pData[playerid][pMoney]);
	}
	//if(pData[playerid][pHealth]) SetPlayerHealthEx(playerid,pData[playerid][pHealth]);
	//SetPlayerHealthEx(playerid,100.0);
	UpdatePlayerHunger(playerid);
	SetPlayerScore(playerid,pData[playerid][pLevel]);
	new gun[128];
	GetPVarString(playerid,"mysqlgun",gun,128);
	DeletePVar(playerid,"mysqlgun");
	if(strlen(gun))
	{
		new guns[6],ammos[6],datas[2][56];
		explode(datas,gun,":");
		printf("%s:%s",datas[0],datas[1]);
		sscanf(datas[0],"p<|>a<i>[6]",guns);
		sscanf(datas[1],"p<|>a<i>[6]",ammos);
		for(new i;i<6;i++)
		{
			GivePlayerWeaponEx(playerid,guns[i],ammos[i]);
		}
	}
	if(pTemp[playerid][pSpectating])
	{
		x = GetPVarFloat(playerid,"oldx");
		y = GetPVarFloat(playerid,"oldy");
		z = GetPVarFloat(playerid,"oldz");
		SetPlayerPos(playerid,x,y,z);
		SetPlayerInterior(playerid,GetPVarInt(playerid,"oldint"));
		SetPlayerVirtualWorld(playerid,GetPVarInt(playerid,"oldworld"));
		pTemp[playerid][pSpectating] = false;
		return 1;
	}
	if(pData[playerid][pWanted])
	{
		new level = del(pData[playerid][pWanted],WANTED_TIME);
		SetPlayerWantedLevel(playerid,level);
		AddPlayerInWantedList(playerid);
	}
	SetPlayerDrunkLevel(playerid, pData[playerid][pDrunk]);
	ApplyAnimation(playerid,"BD_FIRE","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"BEACH","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"benchpress","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"BOMBER","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"CAR","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"COP_AMBIENT","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"CRACK","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"CARRY","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"DANCING","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"DEALER","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"FAT","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"FOOD","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"GANGS","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"GHANDS","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"GRAFFITI","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"GRAVEYARD","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"MISC","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"SNM","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"VENDING","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"OTB","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"SMOKING","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"SHOP","null",0.0,0,0,0,0,0);
	ApplyAnimation(playerid,"RIOT","null",0.0,0,0,0,0,0);
	return 1;
}
Skype: vlad_krest
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу