Зона, где нельзя использовать оружие и драться - Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Зона, где нельзя использовать оружие и драться
AdminДата: Понедельник, 02.05.2016, 19:02 | Сообщение # 1
Гл.Администратор
Группа: Пользователи
Сообщений: 65
Награды: 1
Репутация: 32767
Статус: Offline
Думаю, хороший урок для РП серверов.

Итак, вариант №1. Чтобы вообще нельзя было драться нигде.

Ко всем дефайнам:
Код
#define KEY_AIM 128

Ко всем форвардам:
Код
forward UnfreezePlayer(playerid);

Далее вставляем в:
Код
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)

Вот это:
Код
[b]if( (newkeys & KEY_FIRE) || ( (newkeys & KEY_AIM) && (oldkeys & KEY_AIM) && (newkeys & KEY_SECONDARY_ATTACK) ) )
    {
        SendClientMessage(playerid, 0xFFFFFFAA, "Не деритесь!");
        TogglePlayerControllable(playerid, false);
        SetTimerEx("UnfreezePlayer", 3000, false, "i", playerid);
        return 1;
    }
    return 1;
}

В конце мода создаем public:
Код
public UnfreezePlayer(playerid)
return TogglePlayerControllable(playerid, true);

Вариант №2. В определенной зоне запрещаем ДМ.

Ко всем дефайнам:
Код
#define KEY_AIM 128

Ко всем форвардам:
Код
forward UnfreezePlayer(playerid);

Далее вставляем в:
Код
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)

Вот это:
Код
if( (newkeys & KEY_FIRE) || ( (newkeys & KEY_AIM) && (oldkeys & KEY_AIM) && (newkeys & KEY_SECONDARY_ATTACK) ) )
    {
    if(PlayerToPoint(20.0,playerid,703.7961,-1479.8300,5.4688))//ЗАМЕНИТЬ НА СВОИ КООРДИНАТЫ.
    {
        SendClientMessage(playerid, 0xFFFFFFAA, "Не деритесь!");
        TogglePlayerControllable(playerid, false);
        SetTimerEx("UnfreezePlayer", 3000, false, "i", playerid);
        }
        return 1;
    }

В конце мода создаем public:

Код
public UnfreezePlayer(playerid)
return TogglePlayerControllable(playerid, true);


 
  • Страница 1 из 1
  • 1
Поиск: