Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.

Вы не подключены. Войдите или зарегистрируйтесь

[ Scr ][ GF ] Зона, где нельзя использовать оружие и драться

Перейти вниз  Сообщение [Страница 1 из 1]

Admin

Admin
Администратор
Администратор

Думаю, хороший урок для РП серверов.

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

Ко всем дефайнам:
Код:
#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) ) )
    {
        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);

Автор: Exclusive

http://pawno.wikiforum.net

Вернуться к началу  Сообщение [Страница 1 из 1]

Права доступа к этому форуму:
Вы не можете отвечать на сообщения