- Регистрация
- 26 Сен 2013
- Сообщения
- 299
- Лучшие ответы
- 0
- Репутация
- 27
На портале не нашел это урок,я сам его искал. Вот нашел и решил выложить.
Сначала создадим переменную логического типа для всех игроков:
Теперь в public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
добавим проверку на использование +с, в нашем случае - нажатие клавиши С при ПКМ
Ну и теперь добавим сам паблик, отвечающий за "перезарядку" переменной. В конец:
Ну вот и все.
Автор: Netflashman
Доработал: BellaF
Сначала создадим переменную логического типа для всех игроков:
PHP:
new bool:AntiC[MAX_PLAYERS] = true;
добавим проверку на использование +с, в нашем случае - нажатие клавиши С при ПКМ
PHP:
switch (GetPlayerWeapon (playerid))
{
case 24, 25, 27, 29, 30, 31, 33, 34: // Если у игрока: Дигл, Шотган, Винтовка, Снайперка
{
if(((oldkeys & KEY_FIRE)||(oldkeys == KEY_FIRE))&&((newkeys & KEY_CROUCH)||(newkeys == KEY_CROUCH))&&AntiC[playerid] == true)
//Если нажатие на клавиши использования +с и если наша переменная = true, то... (Простите за некорректный перенос, код не влезает)
{
ApplyAnimation(playerid,"PED","getup_front",4.0,0,0,1,0,0);//активируем игроку анимацию падения
AntiC[playerid] = false;//задаем значение для переменной: false, это для того, чтобы под действием анимации,
//в случае повторного юзания +с, не сработал повтор анимации т.е падение.
SetTimerEx("UnfreezeCw",1000,0,"d",playerid);//ставим таймер на 1 секунду, для того, чтобы "перезарядить" нашу переменную AntiC.
}
}
}
PHP:
forward UnfreezeCw(playerid);
public UnfreezeCw(playerid)
{
AntiC[playerid] = true;//сменим значение
return 1;
}
Автор: Netflashman
Доработал: BellaF
Последнее редактирование модератором: