Тоби
Ученик
Приветствую многоуважаемые юзеры P-I, как сделать чтобы игроки фракции, при авторизации, спавнились у себя дома, а не на базе фракции? чтобы ехали начинать рабочий день на базу, вроде доходчиво объяснил ;D
p.s заранее спасибо)
КОД SetPlayerSpawn:
p.s заранее спасибо)
КОД SetPlayerSpawn:
Код:
publics: SetPlayerSpawn(playerid)
{
FormaFrac[playerid] = PlayerInfo[playerid][pForma];
DollahScoreUpdate(playerid);
if(PlayerInfo[playerid][pLogin] == 0 && GetPVarInt(playerid,"Register") == 0)
{
SendClientMessage(playerid, COLOR_WHITE, "Необходимо авторизоваться!");
Kick(playerid);
return true;
}
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pHP] > 100) PlayerInfo[playerid][pHP] = 100;
if(PlayerInfo[playerid][pWantedLevel] >= 1) SetPlayerWantedLevel(playerid,PlayerInfo[playerid][pWantedLevel] );
SetPlayerHealthAC(playerid, PlayerInfo[playerid][pHP]);
new house = PlayerInfo[playerid][pPhousekey];
SetCameraBehindPlayer(playerid);
if(PlayerInfo[playerid][pMember] >= 1 && PlayerInfo[playerid][pMember] <= 4)
{
if(PlayerInfo[playerid][pMember] == 3 && PlayerInfo[playerid][pRank] <= 2) { FormaFrac[playerid] = 3; }
if(FormaFrac[playerid] >= 1 && FormaFrac[playerid] <= 4)
{
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerToTeamColor(playerid);
}
}
if(PlayerInfo[playerid][pMember] == 7)
{
if(FormaFrac[playerid] == 1)
{
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerToTeamColor(playerid);
}
}
if(PlayerInfo[playerid][pMember] >= 9 && PlayerInfo[playerid][pMember] <= 11)
{
if(FormaFrac[playerid] >= 9 && FormaFrac[playerid] <= 11)
{
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerToTeamColor(playerid);
}
}
if(PlayerInfo[playerid][pMember] == 16)
{
if(FormaFrac[playerid] == 16)
{
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerToTeamColor(playerid);
}
}
if(PlayerInfo[playerid][pMember] >= 19 && PlayerInfo[playerid][pMember] <= 22)
{
if(PlayerInfo[playerid][pMember] == 19 && PlayerInfo[playerid][pRank] <= 2) { FormaFrac[playerid] = 19; }
if(FormaFrac[playerid] >= 19 && FormaFrac[playerid] <= 22)
{
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerToTeamColor(playerid);
}
}
if(PlayerInfo[playerid][pMember] == 33)
{
if(FormaFrac[playerid] == 33)
{
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerToTeamColor(playerid);
}
}
if(PlayerInfo[playerid][pMember] == 8)
{
if(FormaFrac[playerid] == 8)
{
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerToTeamColor(playerid);
}
}
if(PlayerInfo[playerid][pMember] >= 5 && PlayerInfo[playerid][pMember] <= 6)
{
FormaFrac[playerid] = 35;
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerToTeamColor(playerid);
}
if(PlayerInfo[playerid][pMember] >= 12 && PlayerInfo[playerid][pMember] <= 15)
{
FormaFrac[playerid] = 35;
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerToTeamColor(playerid);
}
if(PlayerInfo[playerid][pMember] >= 17 && PlayerInfo[playerid][pMember] <= 18)
{
FormaFrac[playerid] = 35;
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerToTeamColor(playerid);
}
if(PlayerInfo[playerid][pMember] >= 23 && PlayerInfo[playerid][pMember] <= 32)
{
FormaFrac[playerid] = 35;
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerToTeamColor(playerid);
}
if(PlayerInfo[playerid][pMember] >= 34 && PlayerInfo[playerid][pMember] <= 34)
{
FormaFrac[playerid] = 35;
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerToTeamColor(playerid);
}
if(FormaFrac[playerid] == 0)
{
SetPlayerSkin(playerid, PlayerInfo[playerid][pChar][PlayerInfo[playerid][pViborChar]]);
SetPlayerColor(playerid, 0xFFFFFF20);
}
if(PlayerInfo[playerid][pJailed] == 1)
{
if(PlayerInfo[playerid][pMestoJail] == 1)
{
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid,264.1425,77.4712,1001.0391);
SetPlayerFacingAngle(playerid, 263.0160);
return true;
}
if(PlayerInfo[playerid][pMestoJail] == 2)
{
SetPlayerInterior(playerid, 10);
SetPlayerPos(playerid,219.5400,109.9767,999.0156);
SetPlayerFacingAngle(playerid, 1.0000);
return true;
}
if(PlayerInfo[playerid][pMestoJail] == 3)
{
SetPlayerInterior(playerid, 3);
SetPlayerPos(playerid,198.3642,161.8103,1003.0300);
SetPlayerFacingAngle(playerid, 1.0000);
return true;
}
}
if(PlayerInfo[playerid][pCheat] == 1)
{
SetPlayerInterior(playerid, 18);
SetPlayerPos(playerid,-219.7144,1410.6461,27.7734);
SetPlayerFacingAngle(playerid, 276.6526);
SetPlayerVirtualWorld(playerid, 1);
SendClientMessage(playerid, COLOR_LIGHTRED, "Мы Вам крайне рекомендуем удалить чит программу");
return true;
}
else if(PlayerInfo[playerid][pJailed] == 4)
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,5508.3706,1244.7594,23.1886);
return true;
}
if(GetPVarInt(playerid, "napeinte") == 2 && paintt[1] == 2)
{
GiveWeapon(playerid, PaintGun[random(sizeof(PaintGun))], 300);
new rand = random(sizeof(PaintballSpawns));
SetPlayerPos(playerid, PaintballSpawns[rand][0], PaintballSpawns[rand][1], PaintballSpawns[rand][2]);
SetPlayerInterior(playerid,0);
return true;
}
SetPlayerVirtualWorld(playerid, 0);
if(house != 999)
{
if(SpawnChange[playerid])
{
SetPlayerInterior(playerid,HouseInfo[house][hInt]);
SetPlayerPos(playerid, HouseInfo[house][hExitx], HouseInfo[house][hExity],HouseInfo[house][hExitz]);
PlayerInfo[playerid][pLocal] = house;
PlayerInfo[playerid][pInt] = HouseInfo[house][hInt];
SetPlayerVirtualWorld(playerid, house+50);
umer[playerid] = 0;
return true;
}
}
if(PlayerInfo[playerid][pKvartirakey] != 0)
{
if(SpawnChange[playerid])
{
SetPVarInt(playerid, "podeezd", kvartinfo[PlayerInfo[playerid][pKvartirakey]][virtmir]);
SetPlayerPos(playerid,2283.3474,-1139.2313,1050.8984);
SetPlayerInterior(playerid,11);
SetPlayerVirtualWorld(playerid, PlayerInfo[playerid][pKvartirakey]);
return true;
}
}
if(FormaFrac[playerid] >= 1)
{
switch(PlayerInfo[playerid][pMember])
{
case 1:
{
if(PlayerInfo[playerid][pJobHeal] == 1)
{
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid, 235.8750,73.5106,1005.0391);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
PlayerInfo[playerid][pInt] = 6;
SetPlayerVirtualWorld(playerid, 0);
return true;
}
else if(PlayerInfo[playerid][pJobHeal] == 2)
{
SetPlayerInterior(playerid, 10);
SetPlayerPos(playerid, 221.2526,111.5752,1010.2118);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerFacingAngle(playerid, 268.9050);
PlayerInfo[playerid][pInt] = 10;
return true;
}
else if(PlayerInfo[playerid][pJobHeal] == 3)
{
SetPlayerInterior(playerid, 3);
SetPlayerPos(playerid, 211.3636,184.3113,1003.0313);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerFacingAngle(playerid, 174.3579);
PlayerInfo[playerid][pInt] = 122;
SetPlayerVirtualWorld(playerid, 122);
return true;
}
return true;
}
case 2:
{
SetPlayerInterior(playerid, 3);
SetPlayerPos(playerid, 229.0945,181.8857,1003.0313);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerFacingAngle(playerid, 183.8705);
PlayerInfo[playerid][pInt] = 130;
SetPlayerVirtualWorld(playerid, 130);
return true;
}
case 3:
{
if(forma[playerid] == 1)
{
SetPlayerSkin(playerid, 252);
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, -1346.2050,492.3983,11.2027);
PlayerInfo[playerid][pInt] = 0;
SetPlayerVirtualWorld(playerid, 0);
return true;
}
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, -1346.2050,492.3983,11.2027);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
PlayerInfo[playerid][pInt] = 0;
SetPlayerVirtualWorld(playerid, 0);
return true;
}
case 4:
{
if(PlayerInfo[playerid][pJobHeal] == 1)
{
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid, 1176.9198,-1323.4261,14.0451);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerFacingAngle(playerid, 90.0000);
}
else if(PlayerInfo[playerid][pJobHeal] == 1)
{
SetPlayerInterior(playerid, 15);
SetPlayerVirtualWorld(playerid, 4);
SetPlayerPos(playerid, 1607.3810,1819.5177,10.8280);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerFacingAngle(playerid, 90.0000);
}
else if(PlayerInfo[playerid][pJobHeal] == 1)
{
SetPlayerInterior(playerid, 15);
SetPlayerVirtualWorld(playerid, 5);
SetPlayerPos(playerid, 1176.9198,-1323.4261,14.0451);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerFacingAngle(playerid, 90.0000);
}
return true;
}
case 7:
{
SetPlayerInterior(playerid, 3);
SetPlayerVirtualWorld(playerid,1);
SetPlayerPos(playerid, 1235.5042,-975.6297,1086.6849);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerFacingAngle(playerid, 356.0948);
TogglePlayerControllable(playerid, false);
SetTimerEx("UnfreezeSpawn", 2000, false, "i", playerid);
return true;
}
case 8:
{
SetPlayerInterior(playerid, 1);
SetPlayerPos(playerid, 2151.4502,1602.8522,1006.1752);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerFacingAngle(playerid, 269.7087);
SetPlayerVirtualWorld(playerid, 0);
return true;
}
case 9:
{
SetPlayerInterior(playerid, 15);
SetPlayerPos(playerid, 2650.1089,-1814.8424,3135.8562);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerFacingAngle(playerid, 94.3240);
SetPlayerVirtualWorld(playerid, 2);
gNews[playerid] = 0;
return true;
}
case 10:
{
SetPlayerInterior(playerid, 10);
SetPlayerPos(playerid, 221.2526,111.5752,1010.2118);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerFacingAngle(playerid, 268.9050);
PlayerInfo[playerid][pInt] = 10;
return true;
}
case 11:
{
SetPlayerPos(playerid, -2031.7778,-117.3789,1035.1719);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerFacingAngle(playerid, 268.5241);
SetPlayerInterior(playerid,3);
PlayerInfo[playerid][pInt] = 3;
SetPlayerVirtualWorld(playerid, 1);
return true;
}
case 16:
{
SetPlayerInterior(playerid, 15);
SetPlayerPos(playerid, 162.3769,-116.0388,1076.5938);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerFacingAngle(playerid, 94.3240);
SetPlayerVirtualWorld(playerid, 1);
lNews[playerid] = 0;
return true;
}
case 19:
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 241.7503,1852.6790,8.7578);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
PlayerInfo[playerid][pInt] = 0;
SetPlayerVirtualWorld(playerid, 0);
return true;
}
case 20:
{
SetPlayerInterior(playerid, 15);
SetPlayerPos(playerid, 2650.1089,-1814.8424,3135.8562);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerFacingAngle(playerid, 94.3240);
SetPlayerVirtualWorld(playerid, 3);
LvNews[playerid] = 0;
return true;
}
case 21:
{
SetPlayerInterior(playerid, 3);
SetPlayerPos(playerid, 211.3636,184.3113,1003.0313);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerFacingAngle(playerid, 174.3579);
PlayerInfo[playerid][pInt] = 122;
SetPlayerVirtualWorld(playerid, 122);
return true;
}
case 22:
{
SetPlayerInterior(playerid, 15);
SetPlayerVirtualWorld(playerid, 4);
SetPlayerPos(playerid, 372.0985,-53.2946,1076.4708);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerFacingAngle(playerid, 90.0000);
return true;
}
case 33:
{
SetPlayerInterior(playerid, 15);
SetPlayerVirtualWorld(playerid, 5);
SetPlayerPos(playerid, 372.0985,-53.2946,1076.4708);
SetPlayerFacingAngle(playerid, 90.0000);
return true;
}
case 34:
{
SetPlayerInterior(playerid, 3);
SetPlayerVirtualWorld(playerid, 1);
SetPlayerPos(playerid, 1491.0817,1306.0920,1093.2964);
return true;
}
}
}
switch(PlayerInfo[playerid][pMember])
{
case 5:
{
SetPlayerInterior(playerid, 5);
SetPlayerPos(playerid, 1265.7104,-793.7453,1084.0078);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
PlayerInfo[playerid][pInt] = 5;
SetPlayerVirtualWorld(playerid, 2);
return true;
}
case 6:
{
SetPlayerInterior(playerid, 5);
SetPlayerPos(playerid, 1265.7104,-793.7453,1084.0078);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
PlayerInfo[playerid][pInt] = 5;
SetPlayerVirtualWorld(playerid, 0);
return true;
}
case 12:
{
SetPlayerPos(playerid, 2449.9924,-1690.0642,1013.5078);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerFacingAngle(playerid, 100);
SetPlayerInterior(playerid,2);
SetPlayerVirtualWorld(playerid, 1);
PlayerInfo[playerid][pInt] = 6;
return true;
}
case 13:
{
SetPlayerInterior(playerid, 4);
SetPlayerVirtualWorld(playerid, 75);
SetPlayerFacingAngle(playerid, 263.0497);
SetPlayerPos(playerid, 303.63,309.25,999.15);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
PlayerInfo[playerid][pInt] = 0;
return true;
}
case 14:
{
SetPlayerInterior(playerid, 5);
SetPlayerPos(playerid, 1265.7104,-793.7453,1084.0078);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
PlayerInfo[playerid][pInt] = 5;
SetPlayerVirtualWorld(playerid, 1);
return true;
}
case 15:
{
SetPlayerInterior(playerid, 3);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid, 2496.012939,-1708.923217,1014.742187);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerFacingAngle(playerid, 0.191693);
PlayerInfo[playerid][pInt] = 3;
SetPlayerVirtualWorld(playerid, 1);
return true;
}
case 17:
{
SetPlayerFacingAngle(playerid, 90.4248);
SetPlayerPos(playerid, -49.7558,1400.3553,1084.4297);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerInterior(playerid,8);
SetPlayerVirtualWorld(playerid, 36);
PlayerInfo[playerid][pInt] = 0;
return true;
}
case 18:
{
SetPlayerInterior(playerid, 8);
SetPlayerVirtualWorld(playerid, 63);
SetPlayerPos(playerid, 2808.9631,-1169.0806,1025.5703);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
RemovePlayerAttachedObject(playerid, 1);
PlayerInfo[playerid][pInt] = 0;
return true;
}
case 34:
{
SetPlayerInterior(playerid, 3);
SetPlayerSkin(playerid, PlayerInfo[playerid][pModel]);
SetPlayerVirtualWorld(playerid, 1);
PlayerInfo[playerid][pInt] = 1;
SetPlayerPos(playerid, 1491.0817,1306.0920,1093.2964);
return true;
}
}
if(PlayerInfo[playerid][pLevel] >= 1 && PlayerInfo[playerid][pLevel] <= 9999)
{
if(spawnEx[playerid] == -1) spawnEx[playerid] = random(2);
SetPlayerPos(playerid,mestospawna[spawnEx[playerid]][0],mestospawna[spawnEx[playerid]][1],mestospawna[spawnEx[playerid]][2]);
SetPlayerFacingAngle(playerid, mestospawna[spawnEx[playerid]][3]);
SetPlayerInterior(playerid,0);
PlayerInfo[playerid][pInt] = 0;
SetPlayerVirtualWorld(playerid, 0);
return true;
}
}
return true;
}
