Вопросы

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

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 пользователей онлайн

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

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

    • Доналдо Фарекелка
      От Доналдо Фарекелка


      Скачать файл Arizona RolePlay || Ser
      Приветствую, этот мод я нашёл на просторах интернета. 
      Скачал мод у автора:  Developer Stravinskiy
      Доработал мод: Donaldo_Farekelka
       
      Предупреждаю! Мод сырой, багов стало меньше, но они есть.
      Мод: Баня, Подвал, В некоторых местах маппинг, система коронавируса, 8 лвл админок
       
      Информация:
      1) Dc_Cmd
      2) Mysql, mode, language - Всё настраивается теперь в pawno ( UPDATE: 1.1.0 )
      3) Административные права в данный момент можно выдать только через MYSQL ( BD ).
       
      То что я сделал ( Всё что я делаю сейчас, смотрите в изменениях ):
       
      Добавил Доналдо Фарекелка Добавлено 13.04.2023 Категория Моды Автор shenol (vk.com/donaldo_farekelka)  
    • Доналдо Фарекелка
      От Доналдо Фарекелка
      Приветствую, этот мод я нашёл на просторах интернета. 
      Скачал мод у автора:  Developer Stravinskiy
      Доработал мод: Donaldo_Farekelka
       
      Предупреждаю! Мод сырой, багов стало меньше, но они есть.
      Мод: Баня, Подвал, В некоторых местах маппинг, система коронавируса, 8 лвл админок
       
      Информация:
      1) Dc_Cmd
      2) Mysql, mode, language - Всё настраивается теперь в pawno ( UPDATE: 1.1.0 )
      3) Административные права в данный момент можно выдать только через MYSQL ( BD ).
       
      То что я сделал ( Всё что я делаю сейчас, смотрите в изменениях ):
       
    • Redmondd
      От Redmondd
      Когда в игре ввожу команду /gps, нажимаю на Важные места то окно просто закрывается, так же с Государственными организациями и Вокзалами