Надеюсь все знают баг +c и вот этот урок предотвратит его) Ко всем new вставляем:
Code
new bool:AntiC[MAX_PLAYERS] = true;
Теперь в public OnPlayerKeyStateChange добавим проверку на нажатие клавиши С при ПКМ:
Code
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. } } }
Теперь в конце создадим следующее:
Code
forward UnfreezeCw(playerid); public UnfreezeCw(playerid) { AntiC[playerid] = true;//сменим значение return 1; }
Автор:Netflashman P.s Если вы знаете как оптимизировать/сократить/освободить от таймера код пишите ниже.
Это врятли можно назвать туториалом. Ведь даже не описывается толком что такое +С и как с этим бороться. А тупо выложен скрипт, и простые указания как влепить это в скрипт.
Это врятли можно назвать туториалом. Ведь даже не описывается толком что такое +С и как с этим бороться. А тупо выложен скрипт, и простые указания как влепить это в скрипт.
но всё равно он есть,и написан метод как сним бороться только не написано что такое +с дописать и можно назвать тутариалом
А по тебе + за такую работу,если она твоя так жирный + а если автора то ему +