Думаю, хороший урок для РП серверов.
Ко всем дефайнам:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
Вот это:
Ко всем дефайнам:
Автор: Exclusive
Итак, вариант №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 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 UnfreezePlayer(playerid)
return TogglePlayerControllable(playerid, true);
Автор: Exclusive