Question

У меня проблема такая иногда когда пишешь /aspawn ID Заспавнить то Тпшит в Координат 0.0, 0.0, 0.0 Когда пишешь второй раз потом тпшит домой или во фракцию и когда кто то купил авто и не припорковал его и машины заспавнились то тоже их тпшит в координаты 0.0, 0.0, 0.0 как решить проблему?

Share this post


Link to post

13 answers to this question

  • 0

@MaJoR Вас же уже пользователь @stibs спрашивал какой скин выдается. Если мы будем по триста раз одно и то же спрашивать, то мы так и за неделю не управимся. 

Из-за того, что весь код спавна заюзан в OnPlayerSpawn, он сначала спавнит игрока по координатам и данными из AddPlayerClass. Поэтому, либо нужно перенести код из OnPlayerSpawn в другой сток, и использовать уже его, либо просто забить. В самом OnPlayerSpawn можно оставить только код, не производящий телепорт по координатам (т.е. не сам спавн). Если будете перекидывать все из паблика в сток, то чтобы вручную в моде не менять все ко всем #define: 

#define SpawnPlayer название_стока

 

Share this post


Link to post
  • 0

@MaJoR Скиньте команду /aspawn. Насчет авто, так и должно быть. Уведомляйте своих игроков о необходимости припарковать личный транспорт. 

Share this post


Link to post
  • 0
1 час назад, stibs сказал:

@MaJoR Скиньте команду /aspawn. Насчет авто, так и должно быть. Уведомляйте своих игроков о необходимости припарковать личный транспорт. 

Спойлер

CMD:aspawn(playerid, params[])
{
    if(PI[playerid][pAdmin] < 2) return 1;
    else if(AdminLogged[playerid] == false) return SCM(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
    else if(sscanf(params, "u", params[0])) return SCM(playerid, COLOR_WHITE, "• {66CC00}[ Подсказка ] {ffffff}Введите: /aspawn [id игрока]");
    else if(!IsPlayerConnected(params[0])) return SCM(playerid, COLOR_GREY, PlayerIsNotOnline);
    else if(PlayerLogged[params[0]] == false) return SCM(playerid, COLOR_GREY, PlayerIsNotAuthorized);
    else if(UseWork[params[0]] != 0) return SCM(playerid, COLOR_GREY, "Нельза заспавнить игрока который работает.");
    new string[128];
    format(string, sizeof(string), "[A] %s[%d] заспавнил игрока %s[%d]", GetName(playerid), playerid, GetName(params[0]), params[0]);
    SendAdminMessage(COLOR_GREY, string);
    SpawnPlayer(params[0]);
    return 1;
}

 

 

Edited by stibs

Share this post


Link to post
  • 0
1 минуту назад, stibs сказал:

Паблик OnPlayerSpawn скиньте. 

Спойлер

public OnPlayerSpawn(playerid)
{
    if(PI[playerid][pCash])
	{
		ResetPlayerMoney(playerid);
		GivePlayerMoney(playerid, PI[playerid][pCash]);
	}

    if(PI[playerid][pModel] == 0)
	{
		SetHealth(playerid,100);
		SetPlayerPosEx(playerid, 334.6500, -172.7800, 1002.9600);
	    SetPlayerFacingAngle(playerid, -26.1600);
	    SetPlayerCameraPos(playerid, 336.4800, -169.2100, 1003.5600);
		SetPlayerCameraLookAt(playerid, 336.2200, -170.1800, 1003.5000);
		TogglePlayerControllable(playerid, 0);
		SetPlayerVirtualWorld(playerid,playerid);
		SetPlayerInterior(playerid,5);
		for(new i; i < 10; i++) TextDrawShowForPlayer(playerid,Customization[i]);
		SetPVarInt(playerid,"SKIN-STEP",0);
		SelectTextDrawEx(playerid,0xcfcfcfAA);
		SCM(playerid, 0xcececeFF, "Сейчас Вам доступна функция {1383b4}\"Кастомизация\"");
		SCM(playerid, 0xcececeFF, "Система подобрала Вам внешность персонжа по указанному возрасту и полу при регистрации.");
		SCM(playerid, 0xcececeFF, "От Вас требуется выбрать наиболее подходящую одежду для Вашего персонажа.");
		return true;
	}
	if(GetPVarInt(playerid, "SpecBool") == 1)
        {
                DeletePVar(playerid, "SpecBool");
                new Float:X = GetPVarFloat(playerid, "SpecX"), Float:Y = GetPVarFloat(playerid, "SpecY"), Float:Z = GetPVarFloat(playerid, "SpecZ"),
                Float:FA = GetPVarFloat(playerid, "SpecFA"), inter = GetPVarInt(playerid, "SpecInt"), world = GetPVarInt(playerid, "SpecWorld");
                DeletePVar(playerid, "SpecX");
                DeletePVar(playerid, "SpecY");
                DeletePVar(playerid, "SpecZ");
                DeletePVar(playerid, "SpecFA");
                DeletePVar(playerid, "SpecInt");
                DeletePVar(playerid, "SpecWorld");
                SetPlayerPos(playerid, X, Y, Z);
                SetPlayerFacingAngle(playerid, FA);
                SetPlayerVirtualWorld(playerid, world);
                SetPlayerInterior(playerid, inter);
                SetPlayerScore(playerid, PI[playerid][pLevel]);
                if(PI[playerid][pWanted] > 0) SetPlayerWantedLevel(playerid, PI[playerid][pWanted]);
                if(PI[playerid][pSkin] > 0) SetPlayerSkin(playerid,PI[playerid][pSkin]);
                else SetPlayerSkin(playerid, PI[playerid][pModel]);
                return true;
        }
	if(ClothesRound[playerid] == true)
	{
		SetHealth(playerid,100);
		SetPlayerPosEx(playerid, 334.6500, -172.7800, 1002.9600);
	    SetPlayerFacingAngle(playerid, -26.1600);
	    SetPlayerCameraPos(playerid, 336.4800, -169.2100, 1003.5600);
		SetPlayerCameraLookAt(playerid, 336.2200, -170.1800, 1003.5000);
		TogglePlayerControllable(playerid, 0);
		SetPlayerVirtualWorld(playerid,playerid);
		SetPlayerInterior(playerid,5);
		for(new i; i < 10; i++) TextDrawShowForPlayer(playerid, SkinShopBox[i]);
		PlayerTextDrawShow(playerid,SkinShopDraw[playerid]);
		SelectTextDrawEx(playerid,0xcfcfcfAA);

		if(PI[playerid][pSex] == 1) SetPlayerSkin(playerid, SkinShopM[SelectCharPlace[playerid]][0]);
		else SetPlayerSkin(playerid, SkinShopZ[SelectCharPlace[playerid]][0]);

		new russtring[64];
		f(russtring,"Стоимость: 2000 руб."),RussianString(russtring);
		PlayerTextDrawSetString(playerid,SkinShopDraw[playerid],russtring);
		return true;
	}

	if(ShowProgress[playerid] == false) ShowProgress[playerid] = true;

	if(PI[playerid][pSetting][4] == 1)
	{
		for(new i; i<6; i++) TextDrawShowForPlayer(playerid, PotrebBox[i]);
		PlayerTextDrawShow(playerid, PotrebDraw[playerid][0]);
		PlayerTextDrawShow(playerid, PotrebDraw[playerid][1]);
	}

	if(PI[playerid][pSetting][6] == 1)
	{
		for(new i; i<5; i++) TextDrawShowForPlayer(playerid, InfoBox[i]);
		PlayerTextDrawShow(playerid, InfoDraw[playerid]);
	}

	if(UseWork[playerid])
	{
		UseWork[playerid] = 0;
		for(new i; i < 6; i++) PlayerTextDrawHide(playerid, StatusWork[playerid][i]);
	}

	if(PI[playerid][pFightStyle]) SetPlayerFightingStyle(playerid, PI[playerid][pFightStyle]);
	else SetPlayerFightingStyle(playerid, 0);

	if(PI[playerid][pWanted]) SetPlayerWantedLevel(playerid, PI[playerid][pWanted]);

	SetHealth(playerid, PI[playerid][pHeal]);
    TogglePlayerControllable(playerid, true);
 	DisablePlayerCheckpoint(playerid);
	SetPlayerScore(playerid, PI[playerid][pLevel]);
	PlayerPlaySound(playerid, 1184, 0.0, 0.0, 0.0);
	SetPVarInt(playerid, "K_Times", 0);
    SetPVarInt(playerid, "AC_Protection", 1);
    Air_Gettime(playerid, 6);
    SetPlayerSkills(playerid);

	if(GetPVarInt(playerid, "Connected")) // Если заспавнился впервый раз
	{
		for(new i; i < 13; i++)
		{
			if(!PI[playerid][pGun][i] || !PI[playerid][pAmmo][i]) continue;
			GivePlayerWeaponAC(playerid, PI[playerid][pGun][i], PI[playerid][pAmmo][i]);
		}
		new gun_string[56], ammo_string[56], string[256];
		settext(gun_string,"0,0,0,0,0,0,0,0,0,0,0,0,0");
		settext(ammo_string,"0,0,0,0,0,0,0,0,0,0,0,0,0");
		format(string, sizeof(string), "UPDATE "T_ACCOUNTS" SET `guns` = '%s', `ammos` = '%s' WHERE `name` = '%s'", gun_string, ammo_string, PI[playerid][pName]);
		mysql_tquery(dbHandle, string, "", "");
		DeletePVar(playerid, "Connected");
		PreloadAnimLibs(playerid);

		LoadMyCar(playerid);
	}

	if(PI[playerid][pMember]) SetPlayerSkin(playerid, PI[playerid][pMemberSkin]);
	else SetPlayerSkin(playerid, PI[playerid][pModel]);
	SetPlayerColorEx(playerid, TeamColors[GetTeamID(playerid)]);

	if(PI[playerid][Spectating] != INVALID_PLAYER_ID)
	{
	    SetPlayerPosEx(playerid, GetPVarFloat(playerid, "SpecX"), GetPVarFloat(playerid, "SpecY"), GetPVarFloat(playerid, "SpecZ"));
	    SetPlayerFacingAngle(playerid, GetPVarFloat(playerid, "SpecA"));
		SetPlayerVirtualWorld(playerid, GetPVarInt(playerid, "SpecVw"));
		SetPlayerInterior(playerid, GetPVarInt(playerid, "SpecInt"));
		DeletePVar(playerid, "SpecInt");
		DeletePVar(playerid, "SpecVw");
		DeletePVar(playerid, "SpecX");
		DeletePVar(playerid, "SpecY");
		DeletePVar(playerid, "SpecZ");
		DeletePVar(playerid, "SpecA");
		PI[playerid][Spectating] = INVALID_PLAYER_ID;
		SetPlayerColorEx(playerid, TeamColors[GetTeamID(playerid)]);
		SetPlayerScore(playerid, PI[playerid][pLevel]);
		if(PI[playerid][pWanted]) SetPlayerWantedLevel(playerid, PI[playerid][pWanted]);
		if(PI[playerid][pMember]) SetPlayerSkin(playerid, PI[playerid][pMemberSkin]);
		else if(Oldskin2[playerid] > 0) SetPlayerSkin(playerid, Oldskin2[playerid]);
		else SetPlayerSkin(playerid, PI[playerid][pModel]);
		return true;
	}

	SetPVarInt(playerid, "AntiBreik", 10);
	new stringss[10];
    GetPlayerVersion(playerid, stringss, sizeof(stringss));
    if(strfind(stringss, "LoL4" ) != -1)
	{
		ShowPlayerDialog(playerid,D_NULL,DIALOG_STYLE_MSGBOX,"{FF0404}Античит","\
		{109DE8}[!] {FFFFFF}Вы были кикнуты с сервера. Причина: подозрение на использование читов(Sobeit)\n\
		Для продолжения игры на сервере следует удалить все читерские программы,\n\
		на Вашем компьютере. Не пытайтесь зайти на сервер...","Закрыть","");
		return Kick(playerid);
	}
	if(GetPlayerHotel(playerid) != 0)
	{
		FreezePlayer(playerid, 7);
		new id = GetPlayerHotel(playerid);
		switch(hotel[id][hVirtualworld])
		{
			case 1: SetPlayerPositionAdvanced(playerid, HOTEL_POS, hotel[id][hVirtualworld]-id, 12+id);
			case 2: SetPlayerPositionAdvanced(playerid, HOTEL_POS, hotel[id][hVirtualworld]-id, 13+id);
			case 3: SetPlayerPositionAdvanced(playerid, HOTEL_POS, hotel[id][hVirtualworld]-id, 14+id);
			case 4: SetPlayerPositionAdvanced(playerid, HOTEL_POS, hotel[id][hVirtualworld]-id, 15+id);
			case 5: SetPlayerPositionAdvanced(playerid, HOTEL_POS, hotel[id][hVirtualworld]-id, 16+id);
		}
		SetPVarInt(playerid, "hotelid", id);
	}
	switch(PI[playerid][pJail])
	{
		case 1:
		{
			if(PI[playerid][pHeal] < 10) SetHealth(playerid, 50);
			SetPlayerInterior(playerid, 0);
			SetPlayerVirtualWorld(playerid, 0);
			SetPlayerPosEx(playerid,897.5291,2081.3577,2721.8101);
			SetPlayerFacingAngle(playerid, 0.0000);
			SetCameraBehindPlayer(playerid);
			new string[80];
			format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~y~JAILED: ~w~%d", PI[playerid][pJailTime]);
			GameTextForPlayer(playerid, string, 3000, 3);
			SCM(playerid, COLOR_RED, "Вы еще не отсидели свой тюремный срок");
			return true;
		}
		case 2:
		{
		    if(PI[playerid][pHeal] < 10) SetHealth(playerid, 50);
		    SetPlayerInterior(playerid, 0);
		    SetPlayerVirtualWorld(playerid, 0);
			SetPlayerPosEx(playerid,830.4164,1311.4521,421.0300);
			SetPlayerFacingAngle(playerid, 0.4590);
			SetCameraBehindPlayer(playerid);
			new string[80];
			format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~y~JAILED: ~w~%d", PI[playerid][pJailTime]);
			GameTextForPlayer(playerid, string, 3000, 3);
			SCM(playerid, COLOR_RED, "Вы еще не отсидели свой тюремный срок");
			return true;
		}
	}

	if(PlayerDied[playerid] == true || PI[playerid][pHeal] < 5)
	{
	    InHospital[playerid] = true;
	    SetHealth(playerid, 20);
	    SetPlayerFacingAngle(playerid, 270);
	    SetPlayerVirtualWorld(playerid,4);
	    SetPlayerInterior(playerid,0);
	    FreezePlayer(playerid, 2000);
		new Random = random(sizeof(MedicSpawn));
        SetPlayerPosEx(playerid, MedicSpawn[Random][0], MedicSpawn[Random][1], MedicSpawn[Random][2]);
        SCM(playerid,COLOR_WHITE,"Вам придется пройти курс лечения или вылечиться у медика. Войдите в палату и делайте процедуру.");
        return true;
	}

	if(!GetPlayerHouse(playerid) && PI[playerid][pSpawnChange] == 1) PI[playerid][pSpawnChange] = 0;
	if(!PI[playerid][pMember] && PI[playerid][pSpawnChange] == 2) PI[playerid][pSpawnChange] = 0;

	switch(PI[playerid][pSpawnChange])
	{
		case 0:
		{
			SetPlayerPosEx(playerid, SpawnCoord[0][0], SpawnCoord[0][1], SpawnCoord[0][2]);//2565.0808, -1800.3978, 21.9918);
			SetPlayerFacingAngle(playerid, 90.0);
			SetCameraBehindPlayer(playerid);
			SetPlayerInterior(playerid, 0);
			SetPlayerVirtualWorld(playerid, 0);
		}
        case 1:
		{
		    new i = GetPVarInt(playerid, "PlayerHouse");
			SetPlayerPosEx(playerid, HouseInfo[i][hExitx],HouseInfo[i][hExity], HouseInfo[i][hExitz]);
			SetPlayerInterior(playerid, HouseInfo[i][hInt]);
			SetPlayerVirtualWorld(playerid, HouseInfo[i][hVirtual]);
		}
		case 2:
		{
			switch(PI[playerid][pMember])
			{
				case TEAM_MERIA:
				{
					SetPlayerPosEx(playerid, -938.1777,873.6743,2512.9500);
					SetPlayerFacingAngle(playerid, 270.0);
					SetCameraBehindPlayer(playerid);
					SetPlayerInterior(playerid, 0);
					SetPlayerVirtualWorld(playerid, 0);
				}
				case TEAM_FBI:
				{
					SetPlayerPosEx(playerid, 211.1413, -450.7908, 1006.3767);
					SetPlayerFacingAngle(playerid, 270.0);
					SetCameraBehindPlayer(playerid);
					SetPlayerInterior(playerid, 0);
					SetPlayerVirtualWorld(playerid, 0);
				}
				case TEAM_DPS:
				{
					SetPlayerPosEx(playerid, -665.9310, 2602.5171, 1004.0374);
					SetPlayerFacingAngle(playerid, 270.0);
					SetCameraBehindPlayer(playerid);
					SetPlayerInterior(playerid, 0);
					SetPlayerVirtualWorld(playerid, 0);
				}
				case TEAM_POLICIA:
				{
					SetPlayerInterior(playerid, 0);
				    SetPlayerPosEx(playerid,877.3240, 2095.3572, 2721.7163);
				    SetPlayerFacingAngle(playerid, 90.3590);
				    SetCameraBehindPlayer(playerid);
				    SetPlayerVirtualWorld(playerid, 0);
				}
				case TEAM_BOLNICA:
				{
					SetPlayerPosEx(playerid, 1611.4752,1216.7136,2513.4299);
					SetPlayerFacingAngle(playerid, 236.6010);
					SetCameraBehindPlayer(playerid);
					FreezePlayer(playerid, 2000);
					SetPlayerInterior(playerid, 0);
					SetPlayerVirtualWorld(playerid, 0);
					InHospital[playerid] = true;
				}
				case TEAM_ARMIYA:
				{
				    SetPlayerPosEx(playerid, -328.8514,326.8230,2213.0000);
					SetPlayerFacingAngle(playerid, 260.9382);
					SetCameraBehindPlayer(playerid);
					FreezePlayer(playerid, 2000);
				    SetPlayerInterior(playerid, 0);
				    SetPlayerVirtualWorld(playerid, 0);
				}
				case TEAM_OPG1:
				{
					SetPlayerPosEx(playerid, -2625.4299,2914.8960,2738.6201);
					SetPlayerFacingAngle(playerid, 277.8666);
					SetCameraBehindPlayer(playerid);
					FreezePlayer(playerid, 2000);
					SetPlayerInterior(playerid, 5);
					SetPlayerVirtualWorld(playerid, 5);
				}
				case TEAM_RM:
				{
					SetPlayerPosEx(playerid, -2542.4685, 911.7820, 1004.3563);
					SetPlayerFacingAngle(playerid, 0.0);
					SetCameraBehindPlayer(playerid);
					FreezePlayer(playerid, 2000);
					SetPlayerInterior(playerid, 0);
					SetPlayerVirtualWorld(playerid, 0);
				}
				case TEAM_AUTOSCHOOL:
				{
					SetPlayerPosEx(playerid, 2294.6746,-1925.9036,2022.9600);
					SetPlayerFacingAngle(playerid, 277.8666);
					SetCameraBehindPlayer(playerid);
					FreezePlayer(playerid, 2000);
					SetPlayerInterior(playerid, 0);
					SetPlayerVirtualWorld(playerid, 0);
				}
				case TEAM_ITALYM:
				{
					SetPlayerPosEx(playerid, 2121.7405,-1800.3630,23.9157);
					SetPlayerFacingAngle(playerid, 277.8666);
					SetCameraBehindPlayer(playerid);
					FreezePlayer(playerid, 2000);
					SetPlayerInterior(playerid, 0);
					SetPlayerVirtualWorld(playerid, 0);
				}
				case TEAM_OPG2:
				{
					SetPlayerPosEx(playerid, 2569.7114,-1845.6210,2522.8401);
					SetPlayerFacingAngle(playerid, 180.8666);
					SetCameraBehindPlayer(playerid);
					FreezePlayer(playerid, 2000);
					SetPlayerInterior(playerid, 5);
					SetPlayerVirtualWorld(playerid, 5);
				}
				case TEAM_SMI:
				{
					SetPlayerPosEx(playerid, -96.1380,453.6070,3013.1499);
					SetPlayerFacingAngle(playerid, 15.0987);
					SetCameraBehindPlayer(playerid);
					FreezePlayer(playerid, 2000);
					SetPlayerInterior(playerid, 1);
					SetPlayerVirtualWorld(playerid, 0);
				}
			}
		}
	}
	return 1;
}

 

 

Share this post


Link to post
  • 0

@MaJoR когда на нулевых координатах спавн идет скин нормальный или си джея? 

Share this post


Link to post
  • 0
17 минут назад, stibs сказал:

@MaJoR когда на нулевых координатах спавн идет скин нормальный или си джея? 

Нормальный

Share this post


Link to post
  • 0

UP

Share this post


Link to post
  • 0

@MaJoR Только при вводе этой команды спавн идет на нулевых координатах, в остальных случаях все нормально? 

Share this post


Link to post
  • 0

Мне кажется что игрок которого тыпешет на эти координаты не имеет дома,  а стоит спавн на доме! Или так же со фракцией! Попробуйте сменить точку спавна на сервере!

Edited by Daniil Roslyakov

Share this post


Link to post
  • 0
9 часов назад, Daniil Roslyakov сказал:

Мне кажется что игрок которого тыпешет на эти координаты не имеет дома,  а стоит спавн на доме! Или так же со фракцией! Попробуйте сменить точку спавна на сервере!

Так есть Точка спавна на Вокзале

 

Share this post


Link to post
  • 0

@MaJoR Она именно у игрока установлена? Попробуйте ввести команду для смены спавна и заспавнить еще разок. 

Share this post


Link to post
  • 0
7 минут назад, DEST сказал:

@MaJoR Она именно у игрока установлена? Попробуйте ввести команду для смены спавна и заспавнить еще разок. 

Сейчас я Сделал Меня тП шнуло в координаты 0.0 со скином сиджея на сикунду и потом тп домой

cr-mp-103.png

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • hokageud
      By hokageud
      Доработка HonestRp
      Просмотр файла Сливаю свою доработку honestrpg, делал примерно с февраля.
      Имеются участки блевотного кода, новичкам не советую брать данный мод.

      Автор доработки: akatsuji

      Мод сливается из-за усталости, нет больше сил дорабатывать мод.

      При пересливе указывать автора: akatsuji
      Мод сливается исключительно и специально для pawno-rus.ru 

       Что было сделано:

       
      Добавил hokageud Добавлено 27.11.2022 Категория Моды Автор vk.com/akatsuji  
    • fefeef12
      By fefeef12
      Пишет что, id 202 но я 0 id. Можете исправить:
       
      new string[100]; SCM(playerid, COLOR_WHITE, "{ffaa00}Вы отправили сообщение администраторам!"); format(string, sizeof(string), "{ffaa00}Жалоба от игрока {ffffff}%s {ffaa00}[%d]: {ffffff}%s", player_info[playerid][NAME], (inputtext)); SendAdminMessage(COLOR_WHITE, string);   Даже моё сообщение не написано