Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Страница 1 из 4 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 31
  1. #1
    Аватар для denis01
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.05.2014
    Сообщений
    70
    Репутация:
    0 ±

    Правильна ли созданна система Анти БанниХоп

    PHP код:
    forward AntiBH(playerid); 
    PHP код:
    #define PRESSED(%0) \
        
    (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) 
    PHP код:
        if(PRESSEDKEY_JUMP ) && newkeys KEY_SPRINT)
        {
            if(!
    IsPlayerInAnyVehicle(playerid))
            {
                
    ApplyAnimationplayerid"PED""KO_skid_back"4.10000);
                
    SetTimerEx("AntiBH"5000"d"playerid);
            }
            return 
    1;
        } 
    PHP код:
    public AntiBH(playerid) return ApplyAnimationplayerid"PED""getup_front"4.10000); 

  2. #2
    Аватар для Nurick
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.04.2014
    Адрес
    Уфа, Россия
    Сообщений
    313
    Репутация:
    51 ±
    При падении с высокой высоты используя вашу систему Анти Бани хоп можно багоюзить, используя клавиши KEY_JUMP, KEY_SPRINT прыгая с высоты урон персонажу не будет наноситься, так как используеться анимация Анти Бани хоп.

  3. Пользователь сказал cпасибо:
    denis01 (03.09.2014)
  4. #3
    Аватар для denis01
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.05.2014
    Сообщений
    70
    Репутация:
    0 ±
    А сама то команда созданна правильно?? кроме этого больше никаких проблем не будет???

  5. #4
    Аватар для denis01
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.05.2014
    Сообщений
    70
    Репутация:
    0 ±
    Up....

  6. #5
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Лучше уж тогда проверять анимацию прыжка + кнопку и уже на основе этого делать проверку. И массив нужен, который будет отвечать за то, чтоб по 500 таймеров игроки не спамили.
    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  7. Пользователь сказал cпасибо:
    denis01 (08.09.2014)
  8. #6
    Аватар для denis01
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.05.2014
    Сообщений
    70
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Лучше уж тогда проверять анимацию прыжка + кнопку и уже на основе этого делать проверку. И массив нужен, который будет отвечать за то, чтоб по 500 таймеров игроки не спамили.
    PHP код:
    forward AntiBH(playerid); 
    PHP код:
    #define PRESSED(%0) \ 
        
    (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) 
    PHP код:
        if(PRESSEDKEY_JUMP ) && newkeys KEY_SPRINT
        { 
            if(!
    IsPlayerInAnyVehicle(playerid)  && GetPVarInt(playerid"Time") == 0)
            { 
                
    ApplyAnimationplayerid"PED""KO_skid_back"4.10000); 
                
    SetPVarInt(playerid"Time"1);
                
    SetTimerEx("AntiBH"5000"d"playerid); 
            } 
            return 
    1
        } 
    PHP код:
    public AntiBH(playerid
    {
        
    ApplyAnimationplayerid"PED""getup_front"4.10000); 
        
    DeletePVar(playerid"Time");    
        return 
    1;

    Так?

  9. #7
    Аватар для underwoker
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.03.2014
    Сообщений
    333
    Репутация:
    47 ±
    Цитата Сообщение от denis01 Посмотреть сообщение
    PHP код:
    forward AntiBH(playerid); 
    PHP код:
    #define PRESSED(%0) \ 
        
    (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0))) 
    PHP код:
        if(PRESSEDKEY_JUMP ) && newkeys KEY_SPRINT
        { 
            if(!
    IsPlayerInAnyVehicle(playerid)  && GetPVarInt(playerid"Time") == 0)
            { 
                
    ApplyAnimationplayerid"PED""KO_skid_back"4.10000); 
                
    SetPVarInt(playerid"Time"1);
                
    SetTimerEx("AntiBH"5000"d"playerid); 
            } 
            return 
    1
        } 
    PHP код:
    public AntiBH(playerid
    {
        
    ApplyAnimationplayerid"PED""getup_front"4.10000); 
        
    DeletePVar(playerid"Time");    
        return 
    1;

    Так?
    Сказали ведь без таймеров.
    http://wiki.sa-mp.com/wiki/GetPlayerAnimationIndex
    "Власть, кровь, няш-мяш, кровь, власть, Крым наш!" - (c) Наталья Поклонская.

    Критик должен быть готов и способен в любой момент и по первому требованию занять место критикуемого им и выполнять его дело продуктивно и компетентно. В противном случае критика превращается в наглую, самодовлеющую силу и становится тормозом на пути прогресса. (с) AXE

  10. Пользователь сказал cпасибо:
    denis01 (08.09.2014)
  11. #8
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    А если и с таймером, то точно не на pVar
    PHP код:
    #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
    new anti_bh_time[MAX_PLAYERS char];


    if(
    PRESSEDKEY_JUMP ) && newkeys KEY_SPRINT

        if(!
    IsPlayerInAnyVehicle(playerid)  && anti_bh_time{playerid} == 0)
        { 
            
    ApplyAnimationplayerid"PED""KO_skid_back"4.10000); 
            
    anti_bh_time{playerid} = 1;
            
    SetTimerEx("AntiBH"5000"d"playerid); 
         } 
        return 
    1



    forward AntiBH(playerid);  
    public 
    AntiBH(playerid
    {
        
    ApplyAnimationplayerid"PED""getup_front"4.10000); 
        
    anti_bh_time{playerid} = 0;  
        return 
    1;

    Но так вы всё равно не исправите баг с тем, когда люди будут использовать ваш фикс при падении с высоты и выживать

    - - - Добавлено - - -

    А с отловом индексов код будет выглядеть как-то так
    PHP код:
    switch(GetPlayerAnimationIndex(playerid))
    {
        case 
    119511961197:
        {
            
    ClearAnimations(playerid0);
            
    ApplyAnimationplayerid"PED""KO_skid_back"4.10000);
            
    SetTimerEx("AntiBH"5000"d"playerid);
            return 
    1;
        }

    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  12. 2 пользователя(ей) сказали cпасибо:
    denis01 (08.09.2014)underwoker (08.09.2014)
  13. #9
    Аватар для denis01
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.05.2014
    Сообщений
    70
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    А если и с таймером, то точно не на pVar
    PHP код:
    #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
    new anti_bh_time[MAX_PLAYERS char];


    if(
    PRESSEDKEY_JUMP ) && newkeys KEY_SPRINT

        if(!
    IsPlayerInAnyVehicle(playerid)  && anti_bh_time{playerid} == 0)
        { 
            
    ApplyAnimationplayerid"PED""KO_skid_back"4.10000); 
            
    anti_bh_time{playerid} = 1;
            
    SetTimerEx("AntiBH"5000"d"playerid); 
         } 
        return 
    1



    forward AntiBH(playerid);  
    public 
    AntiBH(playerid
    {
        
    ApplyAnimationplayerid"PED""getup_front"4.10000); 
        
    anti_bh_time{playerid} = 0;  
        return 
    1;

    Но так вы всё равно не исправите баг с тем, когда люди будут использовать ваш фикс при падении с высоты и выживать

    - - - Добавлено - - -

    А с отловом индексов код будет выглядеть как-то так
    PHP код:
    switch(GetPlayerAnimationIndex(playerid))
    {
        case 
    119511961197:
        {
            
    ClearAnimations(playerid0);
            
    ApplyAnimationplayerid"PED""KO_skid_back"4.10000);
            
    SetTimerEx("AntiBH"5000"d"playerid);
            return 
    1;
        }

    Спасибо большое

  14. #10
    Аватар для OKStyle
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    12.05.2013
    Сообщений
    204
    Репутация:
    49 ±
    PHP код:
    if(newkeys KEY_JUMP && newkeys KEY_SPRINT)
    {
        if(!
    IsPlayerInAnyVehicle(playerid)) return ApplyAnimation(playerid"PED""getup_front"4.0000001);

    И добавить проверку на ускорение по z.

 

 
Страница 1 из 4 123 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •