Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 4 из 4
  1. #1
    Аватар для DmitriyVasilev
    Пользователь

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

    Некорректно работает OnPlayerKeyStateChange

    Здравствуйте, плохо работает OnPlayerKeyStateChange
    Например
    1. if(newkeys == KEY_SECONDARY_ATTACK)
    2. {
    3. if(IsAFoods(playerid))
    4. {
    5. ClearAnimations(playerid, 1);
    6. SendClientMessage(playerid,COLOR_RED, !"Автомат сломан");
    7. return 1;
    8. }
    9. }

    вот тут он не должен дать анимации кидания монетки в автомат(те которые стандартные в гташки и звук проигрываться не должен
    а здесь же он как-то успевает анимацию быстро запустить но срабатывает ClearAnimations и звук как - то появляется.

    Вот еще:
    1. if(newkeys == KEY_SECONDARY_ATTACK)
    2. {
    3. if(IsABank(playerid))
    4. {
    5. ShowPlayerDialog(playerid,9666,DIALOG_STYLE_LIST, "Банк", "[0] Пополнить счет\n[1] Снять со счета\n[2] Сделать перевод\n[3] Баланс\n[4] Оплатить квартплату", "Выбрать", "Назад");
    6. }
    7. }

    а вот здесь вообще срабатывает когда как с 3-2 иногда только с 1 раза и когда вылазит диалог он дважды нажимается(те как я открыл диалог сразу открылось меню пополнения счета, а не начальное. В других модах все нормально, только здесь что-то не так.
    Помогите, с чем это может быть связано.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Касаемо первого: так анимация проигрывается на стороне клиента, а не сервером. Естественно такой код не поможет избавиться от проблемы, ибо сначала информация о нажатие кнопки должна прийти на сервер, обработаться им, а после сервер должен отправить ClearAnimation игроку. Чем больше пинг, тем больше будет задержка между проигрыванием анимации игрой и срабатыванием ClearAnimation.
    Просто удали все автоматы через RemoveBuildingForPlayer, создай на их месте серверный аналог (в интернете можешь поискать готовый код для этого) и анимации уже не будет. Соответственно, твой код заработает так, как тебе надо.

    Касаемо второго: последний раз, когда такая проблема всплывала у какого-то пользователя, проблема была то ли в GTA, то ли в каких-то клео/модах. В общем, тогда переустановка GTA помогла решить проблему.
    Это точно не проблема OnPlayerKeyStateChange, ибо сервер отправляет вполне конкретную информацию игроку и она не может вдруг подмениться волшебным образом.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  3. #3
    Аватар для DmitriyVasilev
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.01.2019
    Сообщений
    86
    Репутация:
    0 ±
    на других серверах все диалоги нормально работают.
    мне должно вылезти меню выбора но при нажатии выбирает автоматически 1-й пункт.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Ну в SA-MP нет возможности как-то автоматически выбирать тот или иной пункт за игрока. Только показать новый диалог.
    Если такое не только у тебя, то, собственно, проверяй, не открываешь ли ты пункт того диалога где-то, где не должен
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

 

 

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

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

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

Ваши права

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