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

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

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

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

Система скейта

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

dark228

Умник
Добрый день, сегодня я вам предоставлю сис - му скейтов.На данном форуме нашел ток 1 сис - му, и - то в виде FS.Вобщем я решил сделать свой урок.( Начнем )

Добавим это ко всем define
PHP:
#define INDEX_SKATE (0)
Ко всем переменным.

PHP:
enum Skate
{
    bool:Active,
    Skatert,
};
new InfoSkate[MAX_PLAYERS][Skate];
new sActive[MAX_PLAYERS];
new skate[MAX_PLAYERS];
А теперь добавим команду /skate( у меня на DC_CMD)

PHP:
CMD:skate(playerid)
{
    if(!IsPlayerInAnyVehicle(playerid))
    {
        ApplyAnimation(playerid, "CARRY","null",0,0,0,0,0,0,0);
        ApplyAnimation(playerid, "SKATE","null",0,0,0,0,0,0,0);
        ApplyAnimation(playerid, "CARRY","crry_prtial",4.0,0,0,0,0,0);
        SetPlayerArmedWeapon(playerid,0);
        if(!InfoSkate[playerid][Active])
        {
            InfoSkate[playerid][Active] = true;
            DestroyObject(InfoSkate[playerid][Skatert]);
            RemovePlayerAttachedObject(playerid,INDEX_SKATE);
			if(skate[playerid] == 0)
			{
            	SetPlayerAttachedObject(playerid,INDEX_SKATE,19878,6,-0.055999,0.013000,0.000000,-84.099983,0.000000,-106.099998,1.000000,1.000000,1.000000);
			}
			else
            {
	            // the skate is placed in the back
	            SetPlayerAttachedObject(playerid,INDEX_SKATE,19878,1,0.055999,-0.173999,-0.007000,-95.999893,-1.600010,24.099992,1.000000,1.000000,1.000000);
	            PlayerPlaySound(playerid,21000,0,0,0);
			 }
        }
        else
        {
            InfoSkate[playerid][Active] = false;
            DestroyObject(InfoSkate[playerid][Skatert]);
            RemovePlayerAttachedObject(playerid,INDEX_SKATE);
            PlayerPlaySound(playerid,21000,0,0,0);
            skate[playerid] = 0;
        }
    }
    else
    {
        SendClientMessage(playerid,-1,"{FFFFFF}INFO: {00B7FF}Чтобы пользоваться скейтом, надо быть не в машине{FFFFFF}!");
	}
    return true;
}
Для обычного команднго процессора. Поменяйте вот это

PHP:
CMD:skate(playerid)
На это

PHP:
if(strcmp(cmd, "/skate", true) == 0)
Продолжим.

Теперь добавим в паблик OnPlayerKeyStateChange

PHP:
 	if(InfoSkate[playerid][Active] && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
        static bool:act;
        SetPlayerArmedWeapon(playerid,0);
        if(newkeys & KEY_HANDBRAKE)
        {
            if(sActive[playerid] == 0)
            {
            	ApplyAnimation(playerid, "SKATE","skate_run",4.1,1,1,1,1,1,1);
			}
            else
			{
            	ApplyAnimation(playerid, "SKATE","skate_sprint",4.1,1,1,1,1,1,1);
			}
            if(!act)
            {
                act = true;
                RemovePlayerAttachedObject(playerid,INDEX_SKATE);
                DestroyObject(InfoSkate[playerid][Skatert]);
                InfoSkate[playerid][Skatert] = CreateObject(19878,0,0,0,0,0,0);
                AttachObjectToPlayer(InfoSkate[playerid][Skatert],playerid, -0.2,0,-0.9,0,0,90);
            }
		}
	}
 	if(oldkeys & KEY_HANDBRAKE)
  	{
  	    static bool:act;
   		ApplyAnimation(playerid, "CARRY","crry_prtial",4.0,0,0,0,0,0);
     	if(act)
      	{
       		act = false;
         	DestroyObject(InfoSkate[playerid][Skatert]);
          	RemovePlayerAttachedObject(playerid,INDEX_SKATE);
           	if(skate[playerid] == 0)
			{
            	                SetPlayerAttachedObject(playerid,INDEX_SKATE,19878,6,-0.055999,0.013000,0.000000,-84.099983,0.000000,-106.099998,1.000000,1.000000,1.000000);
		 	}
                        else
                        {
            	                SetPlayerAttachedObject(playerid,INDEX_SKATE,19878,1,0.055999,-0.173999,-0.007000,-95.999893,-1.600010,24.099992,1.000000,1.000000,1.000000);
			}
        }
}
Вот и все. Прошу меня не бить за Быдл - код.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу