Просмотр полной версии : [Вопрос] Запрет прыжка и бега.
Как сделать так, чтоб при нажатии на копку прыжка или кнопку бега - не происходило никаких действий?
То есть, например, бегу я просто на W, потом нажимаю на прыжок или бег, а никаких действий не происходит, игрок продолжает бежать дальше и все.
Как сделать так, чтоб при нажатии на копку прыжка или кнопку бега - не происходило никаких действий?
То есть, например, бегу я просто на W, потом нажимаю на прыжок или бег, а никаких действий не происходит, игрок продолжает бежать дальше и все.
попробуй отследить анимации, и сбрасывать при сочитании клавиш.
попробуй отследить анимации, и сбрасывать при сочитании клавиш.
Если сбрасывать анимацию персонаж будет как-бы приостанавливаться на мгновение и дальше бежать, ведь так?
Если так, то такой способ мне не подходит) Мне нужно, чтоб вообще никаких действий не происходило.
Если сбрасывать анимацию персонаж будет как-бы приостанавливаться на мгновение и дальше бежать, ведь так?
Если так, то такой способ мне не подходит) Мне нужно, чтоб вообще никаких действий не происходило.
пробуй, экспериментируй с анимациями.
в сампе такие штуки только через костыли)
vovandolg
11.02.2017, 09:46
в каллбеке OnPlayerKeyStateChange прописать условие в виде конструкции
если нажата клавиша прыжка проверить нажаты ли стрелки GetPlayerKeys(или я бы замерил скорость при прыжке в движении и отслеживал по скорости, я всё равно компановал с античитами так что скорость проверялась сама собой)
и потом уже давать анимацию бега, правда у каждого скина своя анимация если не юзаешь бег сиджея.
Что-то типо такого...
if(newkeys & KEY_JUMP && newkeys & KEY_SPRINT)
{
if(!IsPlayerInAnyVehicle(playerid))
{
new index = GetPlayerAnimationIndex(playerid);
if(index == 1224 || index == 1247 || index == 1257 || index == 1249 || index == 1196 || index == 1249)
{
new keys,ud,lr;
GetPlayerKeys(playerid,keys,ud,lr);
if(ud != 0 || lr != 0) ClearAnimations(playerid);
}
}
}
vovandolg
14.02.2017, 05:54
Что-то типо такого...
if(newkeys & KEY_JUMP && newkeys & KEY_SPRINT)
{
if(!IsPlayerInAnyVehicle(playerid))
{
new index = GetPlayerAnimationIndex(playerid);
if(index == 1224 || index == 1247 || index == 1257 || index == 1249 || index == 1196 || index == 1249)
{
new keys,ud,lr;
GetPlayerKeys(playerid,keys,ud,lr);
if(ud != 0 || lr != 0) ClearAnimations(playerid);
}
}
}
Зная как работает эта функция, получится дёрганый нарк +1
Зная как работает эта функция, получится дёрганый нарк +1
Что просил, то дал . Ну поверь, уж лучше глупых анимок типо ты упал, или отступа назад на пару шагов. Пусть уж чистится анимка.
vovandolg
14.02.2017, 20:36
Что просил, то дал . Ну поверь, уж лучше глупых анимок типо ты упал, или отступа назад на пару шагов. Пусть уж чистится анимка.
Создаёшь вареник с размером массива под кол-во скинов, каждой группе скинов свой флажок(типо walk_gang, walk_civi и т.п.)
Проверяешь ID анимаций у каждой походки и потом уже применяешь в условии какую анимацию тебе надо и будет он дальше проигрывать то что по скину положено.
Не каких сбросов и кувырков)
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot