Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Полет через команду ( /fly ) [ ALL ]

Статус
В этой теме нельзя размещать новые ответы.

n.1.x

Умник
[HR][/HR]
Доброго времени суток.
С вами n.1.x
Команды данного мануала на ZCMD + sscanf 2.6.
Система писалась для мода " Connected RP & Inside RP ".
Во время тестирования она работала без сбоев.
Представляю вашему вниманию мануал полет через команду ( /fly ).
​

[HR][/HR]

Ко всем define:

#define FLYMODESPEED GetPVarFloat(playerid, "FlymodeSpeed")

Ко всем new:

new Text:flyinfo;
new Text:flykeys;


В public OnPlayerConnect(playerid):

SetPVarFloat(playerid, "FlymodeSpeed", 0.5);

В public OnPlayerCommandPerformed(playerid, cmdtext[], success) return 1;

Код:
COMMAND:fly(playerid, params[])
{
    if(PlayerLogin[playerid] != 1) return 1;
	if(Player[playerid][pAdmin] <= 2) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет доступа к данной команде");
	if(GetPVarInt(playerid, "Flymode") == 0)
	{
		SetPVarInt(playerid, "Flymode", 1);
		SetPlayerHealth(playerid, 50000);
		SendClientMessage(playerid, 0xAA634700, "Fly {FFFFFF}включен");
		TextDrawShowForPlayer(playerid,flyinfo); TextDrawShowForPlayer(playerid,flykeys);
		return 1;
	}
	if(GetPVarInt(playerid, "Flymode") == 1)
	{
		SetPVarInt(playerid, "Flymode", 0);
		ClearAnimations(playerid);
		SetPlayerHealth(playerid, 100);
		SendClientMessage(playerid, 0xAA634700, "Fly {FFFFFF}выключен");
		TextDrawHideForPlayer(playerid, flyinfo); TextDrawHideForPlayer(playerid, flykeys);
		return 1;
	}
	return 1;
}

COMMAND:flyspeed(playerid, params[])
{
    if(PlayerLogin[playerid] != 1) return 1;
	if(Player[playerid][pAdmin] <= 2) return SendClientMessage(playerid, COLOR_WHITE, "Вам не доступна данная команда");
	ShowPlayerDialog(playerid, 101, DIALOG_STYLE_INPUT, "Смена скорости полета", "Введите сюда желаемую скорость полета:\n\n", "Далее", "Отмена");
	return 1;
}
Создаем:

public OnPlayerRequestSpawn(playerid) return SetPVarFloat(playerid, "FlymodeSpeed", 1);

В OnPlayerKeyStateChange(playerid, newkeys, oldkeys):

Код:
if((newkeys & KEY_JUMP) && !(oldkeys & KEY_JUMP)) // Флайхак
    {
	new Float:x,Float:y,Float:z;
        if(GetPVarInt(playerid, "Flymode") == 1)
        {
            if(GetPVarInt(playerid, "Flying") == 0) return SetPVarInt(playerid, "Flying", 1);
			if(GetPVarInt(playerid, "Flying") == 1)
        	{
        	    SetPVarInt(playerid, "Flying", 0);
        	    GetPlayerVelocity(playerid, x, y, z);
        	    ClearAnimations(playerid);
        	    SetPlayerVelocity(playerid, x/2, y/2, z/2);
        	    return 1;
			}
		}
	}
Код:
if(GetPVarInt(playerid, "Flymode") == 1)
        {
		new Float:x,Float:y,Float:z;
		GetPlayerVelocity(playerid, x, y, z);
		SetPlayerVelocity(playerid, x, y, z+FLYMODESPEED);
	}
В public GameModeExitFunc():

TextDrawDestroy(flyinfo);
TextDrawDestroy(flykeys);


Ко всем case:

Код:
case 101: // Скорость полета (FlyMod)
{
if(!response && !strlen(inputtext)) return 1;
new Float:speed;
if (sscanf(inputtext, "f", speed)) SendClientMessage(playerid, COLOR_WHITE, "Введите корректный номер");
else SetPVarFloat(playerid, "FlymodeSpeed", speed), SendClientMessage(playerid, COLOR_WHITE, "Скорость изменена");
}
В public Update(playerid)

Код:
if(GetPVarInt(playerid, "Flymode") == 1 && GetPVarInt(playerid, "Flying") == 1)
	{
		GetPlayerKeys(playerid, PlayerToetsen, OmhoogLaag, LinksRechts);
		if(PlayerToetsen & KEY_SPRINT)
		{
			GetPlayerPos(playerid, x2, y2, z2);
			GetPlayerCameraFrontVector(playerid, x, y, z);
			SetPlayerToFacePos(playerid, x + x2, y+y2);
			SetPlayerVelocity(playerid, x*FLYMODESPEED, y*FLYMODESPEED, z*FLYMODESPEED);
			ApplyAnimation(playerid,"PED","run_player", 4.1, 1, 1, 1, 1, 0, 1);
		}
		else
		{
			SetPlayerVelocity(playerid, 0, 0, 0);
			ApplyAnimation(playerid,"FAT","FatIdle", 4.1, 0, 1, 1, 1, 0, 1);
		}
		if(PlayerToetsen & KEY_WALK)
		{
			GetPlayerVelocity(playerid, x, y, z);
			SetPlayerVelocity(playerid, x, y, z+FLYMODESPEED);
		}
	}
[HR][/HR]
Оставляем свои отзывы, а так же недовольства. Если вам понравилось, то вы можете меня отблагодарить.​
[HR][/HR]
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу