Вопросы

У меня сам код есть уже он даже вставлен в мод, НО надо переделать что бы меня спавнило на томже месте где я слежу 

Заметка от DEST , создано

Не нужно основной текст темы брать под спойлер.

Поделиться сообщением


Ссылка на сообщение

17 ответов на этот вопрос

  • 0
Спойлер

cmd:afly(playerid,params[])
{
    if(PI[playerid][pAdmin] < ADM_MODER) return 1;
       else if(AdminLogged[playerid] == false) return SendClientMessage(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
    SetPVarInt(playerid,"spawn_ac",1);

    new inter, world, Float:X, Float:Y, Float:Z, Float:FA;
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, FA);
    inter = GetPlayerInterior(playerid);
    world = GetPlayerVirtualWorld(playerid);

    if(GetPVarType(playerid, "FlyMode"))
    {
        CancelFlyMode(playerid);
    }
    else
    {
        SetPVarInt(playerid, "SpecBool", 1);
        SetPVarFloat(playerid, "SpecX", X);
        SetPVarFloat(playerid, "SpecY", Y);
        SetPVarFloat(playerid, "SpecZ", Z);
        SetPVarFloat(playerid, "SpecFA", FA);
        SetPVarInt(playerid, "SpecInt", inter);
        SetPVarInt(playerid, "SpecWorld", world);
        FlyMode(playerid);
        SendClientMessage(playerid, COLOR_GREY, ""cPS"×òîáû îòêëþ÷èòü ðåæèì ïîëåòà, ââåäèòå åùå ðàç êîìàíäó /afly");
    }
    return true;
}

 

Спойлер

 SetPlayerPos(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][0] = INVALID_PLAYER_ID;
        PI[playerid][Spectating][1] = 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 1;
    }

 

Поделиться сообщением


Ссылка на сообщение
  • 0

Скидывайте команду окончания слежки. 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Nekit_Krut18 stock CancelFlyMode скиньте. Код берите еще и под тег код и спойлер. Как это сделать --

 

 

Поделиться сообщением


Ссылка на сообщение
  • 0
Спойлер

stock CancelFlyMode(playerid)
{
	DeletePVar(playerid, "FlyMode");
	CancelEdit(playerid);
	//TogglePlayerSpectating(playerid, false);
	TogglePlayerSpectating(playerid, 0);

	DestroyPlayerObject(playerid, noclipdata[playerid][flyobject]);
	noclipdata[playerid][cameramode] = CAMERA_MODE_NONE;
	return 1;
}

 

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Nekit_Krut18 свой сток заменить этим: 

Спойлер

stock CancelFlyMode(playerid)
{
	DeletePVar(playerid, "FlyMode");
	CancelEdit(playerid);
	//TogglePlayerSpectating(playerid, false);
	TogglePlayerSpectating(playerid, 0);
  	SetPlayerPos(playerid, GetPVarFloat(playerid, "SpecX"), GetPVarFloat(playerid, "SpecY"), GetPVarFloat(playerid, "SpecZ"));

	DestroyPlayerObject(playerid, noclipdata[playerid][flyobject]);
	noclipdata[playerid][cameramode] = CAMERA_MODE_NONE;
	return 1;
}

 

 

Поделиться сообщением


Ссылка на сообщение
  • 0

Не работает

11 минут назад, DEST сказал:

@Nekit_Krut18 свой сток заменить этим: 

  Код (открыть спойлер)


stock CancelFlyMode(playerid)
{
	DeletePVar(playerid, "FlyMode");
	CancelEdit(playerid);
	//TogglePlayerSpectating(playerid, false);
	TogglePlayerSpectating(playerid, 0);
  	SetPlayerPos(playerid, GetPVarFloat(playerid, "SpecX"), GetPVarFloat(playerid, "SpecY"), GetPVarFloat(playerid, "SpecZ"));

	DestroyPlayerObject(playerid, noclipdata[playerid][flyobject]);
	noclipdata[playerid][cameramode] = CAMERA_MODE_NONE;
	return 1;
}

 

 

Снова спавнит  на спавне

Поделиться сообщением


Ссылка на сообщение
  • 0

@Nekit_Krut18 Значит,  у вас функция телепорта кастомная. Скиньте команду для телепорта например игрока администратором. 

Поделиться сообщением


Ссылка на сообщение
  • 0
Спойлер

cmd:gethere(playerid, params[])
{
	if(PI[playerid][pAdmin] < ADM_ADMIN) return 1;
	else if(AdminLogged[playerid] == false) return SendClientMessage(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
	else if(sscanf(params, "u", params[0])) return SendClientMessage(playerid, COLOR_WHITE, ""cPS"{9ACD32}Ââåäèòå: {FFFFFF} /gethere [id èãðîêà]");
	else if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotOnline);
	else if(PlayerLogged[params[0]] == false) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotAuthorized);
	else if(PI[playerid][pAdmin] < ADM_GRAND_ADMIN && AdminInfo[params[0]][admGethere]) return SendClientMessage(playerid, COLOR_GREY, ""cER"Òåëåïîðò ýòîãî àäìèíèñòðàòîðà çàïðåù¸í");
    //else if(GetString(GetName(playerid), NGA1)) return SendClientMessage(playerid, COLOR_GREY, ""cER"Òåëåïîðò ýòîãî àäìèíèñòðàòîðà çàïðåù¸í");
	new Float:plocx, Float:plocy, Float:plocz;
	GetPlayerPos(playerid, plocx, plocy, plocz);
	if(GetPlayerState(params[0]) == 2) SetVehiclePos(GetPlayerVehicleID(params[0]), plocx, plocy, plocz);
	else SetPlayerPos(params[0], plocx, plocy, plocz);
	SetPVarInt(params[0], "AntiBreik", 3);
	SetPlayerVirtualWorld(params[0], GetPlayerVirtualWorld(playerid));
	SetPlayerInterior(params[0], GetPlayerInterior(playerid));
	if(InHospital[params[0]]) InHospital[params[0]] = false;
	new string[128];
	format(string, sizeof(string), "Àäìèíèñòðàòîð %s[%d] òåëåïîðòèðîâàë Âàñ ê ñåáå", GetName(playerid), playerid);
	SendClientMessage(params[0], COLOR_WHITE, string);
	format(string, sizeof(string), ""aAC"%s[%d] òåëåïîðòèðîâàë èãðîêà %s[%d] ê ñåáå", GetName(playerid), playerid, GetName(params[0]), params[0]);
	SendAdminMessage(COLOR_GREY, string);
	return 1;
}

 

 

Спойлер

	if(noclipdata[playerid][cameramode] == CAMERA_MODE_FLY) CancelFlyMode(playerid);
    if(GetPVarInt(playerid, "DeathTime") > GetTickCount()) return CheatKick(playerid, 2179);
	else SetPVarInt(playerid, "DeathTime", GetTickCount()+230);
	new string[128];
	PlayerEnterTime[playerid] += 221;
	ResetPlayerWeaponsAC(playerid);
	if(GetPVarInt(playerid, "Animation"))
	{
	    DeletePVar(playerid, "Animation");
	    TextDrawHideForPlayer(playerid, AnimDraw);

 

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Nekit_Krut18 Хм.. должно все работать. Значит, вы что-то делаете не так. Или вставляете не туда, или не компилируете, или мод не перезапускаете. 

Поделиться сообщением


Ссылка на сообщение
  • 0
Спойлер

stock GetNextCameraPosition(move_mode, Float:CP[3], Float:FV[3], &Float:X, &Float:Y, &Float:Z)
{
    #define OFFSET_X (FV[0]*6000.0)
	#define OFFSET_Y (FV[1]*6000.0)
	#define OFFSET_Z (FV[2]*6000.0)
	switch(move_mode)
	{
		case MOVE_FORWARD:
		{
			X = CP[0]+OFFSET_X;
			Y = CP[1]+OFFSET_Y;
			Z = CP[2]+OFFSET_Z;
		}
		case MOVE_BACK:
		{
			X = CP[0]-OFFSET_X;
			Y = CP[1]-OFFSET_Y;
			Z = CP[2]-OFFSET_Z;
		}
		case MOVE_LEFT:
		{
			X = CP[0]-OFFSET_Y;
			Y = CP[1]+OFFSET_X;
			Z = CP[2];
		}
		case MOVE_RIGHT:
		{
			X = CP[0]+OFFSET_Y;
			Y = CP[1]-OFFSET_X;
			Z = CP[2];
		}
		case MOVE_BACK_LEFT:
		{
			X = CP[0]+(-OFFSET_X - OFFSET_Y);
 			Y = CP[1]+(-OFFSET_Y + OFFSET_X);
		 	Z = CP[2]-OFFSET_Z;
		}
		case MOVE_BACK_RIGHT:
		{
			X = CP[0]+(-OFFSET_X + OFFSET_Y);
 			Y = CP[1]+(-OFFSET_Y - OFFSET_X);
		 	Z = CP[2]-OFFSET_Z;
		}
		case MOVE_FORWARD_LEFT:
		{
			X = CP[0]+(OFFSET_X  - OFFSET_Y);
			Y = CP[1]+(OFFSET_Y  + OFFSET_X);
			Z = CP[2]+OFFSET_Z;
		}
		case MOVE_FORWARD_RIGHT:
		{
			X = CP[0]+(OFFSET_X  + OFFSET_Y);
			Y = CP[1]+(OFFSET_Y  - OFFSET_X);
			Z = CP[2]+OFFSET_Z;
		}
	}
}

stock CancelFlyMode(playerid)
{
	DeletePVar(playerid, "FlyMode");
	CancelEdit(playerid);
	//TogglePlayerSpectating(playerid, false);
	TogglePlayerSpectating(playerid, 0);
  	SetPlayerPos(playerid, GetPVarFloat(playerid, "SpecX"), GetPVarFloat(playerid, "SpecY"), GetPVarFloat(playerid, "SpecZ"));

	DestroyPlayerObject(playerid, noclipdata[playerid][flyobject]);
	noclipdata[playerid][cameramode] = CAMERA_MODE_NONE;
	return 1;
}

stock FlyMode(playerid)
{
	new Float:X, Float:Y, Float:Z;
	GetPlayerPos(playerid, X, Y, Z);
	noclipdata[playerid][flyobject] = CreatePlayerObject(playerid, 19300, X, Y, Z, 0.0, 0.0, 0.0);

	TogglePlayerSpectating(playerid, true);
	AttachCameraToPlayerObject(playerid, noclipdata[playerid][flyobject]);

	SetPVarInt(playerid, "FlyMode", 1);
	noclipdata[playerid][cameramode] = CAMERA_MODE_FLY;
	return 1;
}

 

 

7 минут назад, DEST сказал:

@Nekit_Krut18 Хм.. должно все работать. Значит, вы что-то делаете не так. Или вставляете не туда, или не компилируете, или мод не перезапускаете. 

Нет делаю я все нормально

Поделиться сообщением


Ссылка на сообщение
  • 0

@Nekit_Krut18 если у вас мод на хостинге, то перед тем сказать что не работает, вам надо: заменить, скомпелировать, залить на хостинг, перезагрузить и проверить

Поделиться сообщением


Ссылка на сообщение
  • 0
Только что, Daniil Roslyakov сказал:

@Nekit_Krut18 если у вас мод на хостинге, то перед тем сказать что не работает, вам надо: заменить, скомпелировать, залить на хостинг, перезагрузить и проверить

я так и сделал

Поделиться сообщением


Ссылка на сообщение
  • 0

 

1 минуту назад, Daniil Roslyakov сказал:

@Nekit_Krut18 у вас есть копия мода? (В отдельной папке тот же мод)

да

Поделиться сообщением


Ссылка на сообщение
  • 0
Только что, Daniil Roslyakov сказал:

@Nekit_Krut18 тогда проверите, открыта папка точно та где вы компилировали или делали определенные действия

Открыта

Только что, Nekit_Krut18 сказал:

Открыта

Давайте я все скину что относится к команде /afly ?

Поделиться сообщением


Ссылка на сообщение
  • 0
Спойлер

cmd:afly(playerid,params[])
{
    if(PI[playerid][pAdmin] < ADM_MODER) return 1;
   	else if(AdminLogged[playerid] == false) return SendClientMessage(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
    SetPVarInt(playerid,"spawn_ac",1);

    new inter, world, Float:X, Float:Y, Float:Z, Float:FA;
	GetPlayerPos(playerid, X, Y, Z);
	GetPlayerFacingAngle(playerid, FA);
	inter = GetPlayerInterior(playerid);
	world = GetPlayerVirtualWorld(playerid);

	if(GetPVarType(playerid, "FlyMode"))
	{
		CancelFlyMode(playerid);
	}
	else
	{
		SetPVarInt(playerid, "SpecBool", 1);
		SetPVarFloat(playerid, "SpecX", X);
		SetPVarFloat(playerid, "SpecY", Y);
		SetPVarFloat(playerid, "SpecZ", Z);
		SetPVarFloat(playerid, "SpecFA", FA);
		SetPVarInt(playerid, "SpecInt", inter);
		SetPVarInt(playerid, "SpecWorld", world);
		FlyMode(playerid);
		SendClientMessage(playerid, COLOR_GREY, ""cPS"Что-бы закрыть режим полета введите еще раз /afly");
	}
	return true;
}

 

Спойлер

	if(noclipdata[playerid][cameramode] == CAMERA_MODE_FLY) CancelFlyMode(playerid);
    if(GetPVarInt(playerid, "DeathTime") > GetTickCount()) return CheatKick(playerid, 2179);
	else SetPVarInt(playerid, "DeathTime", GetTickCount()+230);
	new string[128];
	PlayerEnterTime[playerid] += 221;
	ResetPlayerWeaponsAC(playerid);
	if(GetPVarInt(playerid, "Animation"))
	{
	    DeletePVar(playerid, "Animation");
	    TextDrawHideForPlayer(playerid, AnimDraw);
	}

 

Спойлер

stock GetNextCameraPosition(move_mode, Float:CP[3], Float:FV[3], &Float:X, &Float:Y, &Float:Z)
{
    #define OFFSET_X (FV[0]*6000.0)
	#define OFFSET_Y (FV[1]*6000.0)
	#define OFFSET_Z (FV[2]*6000.0)
	switch(move_mode)
	{
		case MOVE_FORWARD:
		{
			X = CP[0]+OFFSET_X;
			Y = CP[1]+OFFSET_Y;
			Z = CP[2]+OFFSET_Z;
		}
		case MOVE_BACK:
		{
			X = CP[0]-OFFSET_X;
			Y = CP[1]-OFFSET_Y;
			Z = CP[2]-OFFSET_Z;
		}
		case MOVE_LEFT:
		{
			X = CP[0]-OFFSET_Y;
			Y = CP[1]+OFFSET_X;
			Z = CP[2];
		}
		case MOVE_RIGHT:
		{
			X = CP[0]+OFFSET_Y;
			Y = CP[1]-OFFSET_X;
			Z = CP[2];
		}
		case MOVE_BACK_LEFT:
		{
			X = CP[0]+(-OFFSET_X - OFFSET_Y);
 			Y = CP[1]+(-OFFSET_Y + OFFSET_X);
		 	Z = CP[2]-OFFSET_Z;
		}
		case MOVE_BACK_RIGHT:
		{
			X = CP[0]+(-OFFSET_X + OFFSET_Y);
 			Y = CP[1]+(-OFFSET_Y - OFFSET_X);
		 	Z = CP[2]-OFFSET_Z;
		}
		case MOVE_FORWARD_LEFT:
		{
			X = CP[0]+(OFFSET_X  - OFFSET_Y);
			Y = CP[1]+(OFFSET_Y  + OFFSET_X);
			Z = CP[2]+OFFSET_Z;
		}
		case MOVE_FORWARD_RIGHT:
		{
			X = CP[0]+(OFFSET_X  + OFFSET_Y);
			Y = CP[1]+(OFFSET_Y  - OFFSET_X);
			Z = CP[2]+OFFSET_Z;
		}
	}
}

stock CancelFlyMode(playerid)
{
	DeletePVar(playerid, "FlyMode");
	CancelEdit(playerid);
	//TogglePlayerSpectating(playerid, false);
	TogglePlayerSpectating(playerid, 0);
  	SetPlayerPos(playerid, GetPVarFloat(playerid, "SpecX"), GetPVarFloat(playerid, "SpecY"), GetPVarFloat(playerid, "SpecZ"));

	DestroyPlayerObject(playerid, noclipdata[playerid][flyobject]);
	noclipdata[playerid][cameramode] = CAMERA_MODE_NONE;
	return 1;
}

stock FlyMode(playerid)
{
	new Float:X, Float:Y, Float:Z;
	GetPlayerPos(playerid, X, Y, Z);
	noclipdata[playerid][flyobject] = CreatePlayerObject(playerid, 19300, X, Y, Z, 0.0, 0.0, 0.0);

	TogglePlayerSpectating(playerid, true);
	AttachCameraToPlayerObject(playerid, noclipdata[playerid][flyobject]);

	SetPVarInt(playerid, "FlyMode", 1);
	noclipdata[playerid][cameramode] = CAMERA_MODE_FLY;
	return 1;
}
Спойлер


	{
	    SetPlayerPos(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][0] = INVALID_PLAYER_ID;
		PI[playerid][Spectating][1] = 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 1;
	}

 

 

 

Спойлер

 

 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Узбек
      От Узбек
      Всем добрый вечер ребят! 
      Я начинающий, сегодня я вам сливаю команду 2(шт) на технические работы
      Ловите 
       
    • nazpol9
      От nazpol9
      Привет всем.

      У меня имеется мод для самп сервера и VPS с Ubuntu, на котором я пытаюсь его запустить.

      В чем суть проблемы: при запуске samp03svr, сервер запускается, но на версии 0.3.DL R-1. Когда я пытаюсь запустить этот же мод локально на Windows, сервер работает на версии 0.3.7 и я могу зайти на него без клиента 0.3.DL.

      Для решения этой проблемы я уже пробовал заменять инклуды и исполнительные файлы теми, что есть в архивах на официальном сайте сампа, перекомпилировал мод, и ничего не изменилось.
       
      #include <a_samp> #include <a_mysql> #include <foreach> #include <Pawn.RakNet> #include <streamer> #include <sscanf2> #include <float2> #include <crashdetect> #include <fmt> #include <a_http> #include <Pawn.CMD> #include <Pawn.Regex> #include <requests> #include <callbacks> #include <MD5> #include <mxdate> #include <TOTP> #include <gvar> #include <md-sort> #include <nex-ac> #include <weapon-config> #include <discord-connector> #include <3DTryg> #include <textdraw-streamer>  
      plugins crashdetect.so streamer.so textdraw-streamer.so sscanf.so pawnraknet.so pawncmd.so mysql.so requests.so profiler.so pawnregex.so TOTP.so gvar.so discord-connector.so

      Если у кого-то будут какие-либо догадки, прошу ими поделиться, если понадобится больше информации - я постараюсь её предоставить.