Вопросы

Здравствуйте, прошу мне помочь. Потому-что я искал-искал, и никак не нашёл. Я хочу сделать как на радмире, намальске.

1. Ввёл команду /afly.

2. И заспавнился там куда ты прилетел.

3. Всё, умоляю. Всё что попросите, предоставлю. 

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

Изменил название темы. Пожалуйста, в будущем не пишите в заголовках префиксы вроде "[PAWNO]". Они ни к чему.

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


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

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

  • 0

@Nekit_Krut18 покопался в реализации этой системы, попробуйте сделать следующее: 

заменить строчку

GetPlayerCameraPos(playerid, plocx, plocy, plocz);

на

GetPlayerObjectPos(playerid, noclipdata[playerid][flyobject], plocx, plocy, plocz);

 

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


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

При выходе из /afly узнавайте координаты камеры с помощью ф-ии https://wiki.sa-mp.com/wiki/GetPlayerCameraPos, после чего отключайте режим спектейта https://wiki.sa-mp.com/wiki/TogglePlayerSpectating и телепортируйте с помощью https://wiki.sa-mp.com/wiki/SetPlayerPos на эти координаты

 Пример: 

// при выключении режима /afly
new Float:x, Float:y, Float:z; 
GetPlayerCameraPos(playerid, x, y, z); 
TogglePlayerSpectating(playerid, 0); 
SetPlayerPos(playerid, x, y, z); 

 

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


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

 @DEST  тоесть вот это всё вставить в stock cancelflymode?

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


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

@Nekit_Krut18 я  ж не знаю из чего он у вас состоит. Скиньте его сюда

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


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

@DEST

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

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

 

Отредактировано пользователем odosenok
Причина: удалил код цитаты.

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


Ссылка на сообщение
  • 0
1 минуту назад, Nekit_Krut18 сказал:

TogglePlayerSpectating(playerid, 0);

вместо этой строчки вставьте тот код, который я скидывал. 

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


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

@DEST  Всё также(

 

@DEST Как будто что-то не то Дест), А что такое spawn_ac?

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

Объединил сообщения.

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


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

@Nekit_Krut18 значит, у вас скорее всего античит на тп. посмотрите как в моде происходит телепортация и сделайте аналогично 

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


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

@DEST  ничего не нашёл  в /goto, /gethere и тд 

 

Отредактировано пользователем Nekit_Krut18

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


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

@Nekit_Krut18 Т.е. у вас в моде нигде не происходит телепортация вовсе? 

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


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

@DEST Незнаю(

@DEST Ещё кстати анти-чит всё время жалуется когда я беру оружие в любых орг, исп. /afly, почему незнаю.

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


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

@Nekit_Krut18 Ищите все, что связано с SetPlayerPos и смотрите какая функция вызывается вместо нее. SetPlayerPosAC или что-то подобное. 

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


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

@DEST PG_SetPayerPos

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


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

@Nekit_Krut18 значит в коде, который я вам скинул, вместо SetPlayerPos вставьте PG_SetPlayerPos

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


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

@DEST Ничего не изменилось

 

UP

 

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

Объединил сообщения.

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


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

@Nekit_Krut18, ничего не изменилось в том плане, что появляешься не там, где вышел из /afly?

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


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

@Talex Именно

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


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

@Nekit_Krut18 эта функция вообще срабатывает? Вставьте в ее начало print("#debug1"); и посмотрите в логи, будет ли напечатано это сообщение. 

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


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

@DEST Да проверил!

Цитата

[23:40:33] Nekita_Akkerman dialog:2
[23:40:45] Nekita_Akkerman cmd:afly
[23:40:49] Nekita_Akkerman cmd:alogin
[23:40:51] Nekita_Akkerman dialog:3200
[23:40:52] Nekita_Akkerman cmd:afly
[23:41:03] Nekita_Akkerman cmd:afly\
[23:41:07] FLY OK JOB!
[23:41:07] Nekita_Akkerman cmd:afly

 

 

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


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

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

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


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

@DEST 

Цитата

stock CancelFlyMode(playerid)
{
    //new Float:x, Float:y, Float:z;
    printf("FLY OK JOB!");
    new Float:plocx,Float:plocy,Float:plocz;
	GetPlayerCameraPos(playerid, plocx, plocy, plocz);
	DeletePVar(playerid, "FlyMode");
	CancelEdit(playerid);
	TogglePlayerSpectating(playerid, 0);
	SetPlayerPos(playerid, plocx+2, plocy+2, plocz);
 	SetPVarInt(playerid,"spawn_ac",0);

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

 

 

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


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

@DEST Кст Дест я ещё заметил такой код в OnPlayerSpawn, 

Цитата

if(PI[playerid][pMember]) SetPlayerSkin(playerid, PI[playerid][pMemberSkin]);
	else SetPlayerSkin(playerid, PI[playerid][pModel]);
	SetPlayerColorEx(playerid, TeamColors[GetTeamID(playerid)]);
	if(PI[playerid][Spectating][0] != INVALID_PLAYER_ID)
	{
	    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");
	    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");
		DeletePVar(playerid, "SpecFA");
		DeletePVar(playerid, "SpecWorld");
	 	DeletePVar(playerid, "FlyMode");
		DeletePVar(playerid, "SpecBool");
        SetPlayerPos(playerid, X, Y, Z);
		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;
	}

 

 

Отредактировано пользователем Nekit_Krut18

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


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

UP

 

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


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   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

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