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

Реклама


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

    Статус
    Оффлайн
    Регистрация
    22.08.2014
    Сообщений
    4
    Репутация:
    1 ±

    Random, OnPlayerKeyStateChange

    Решил сделать рандом на нажатие различных клавиш. Можете показать структура как это всё будет выглядеть?

    Чтобы в newkeys выводить различные виды кнопок начиная от кнопки прыжка заканчивая кнопкой огня.

    PHP код:
    public OnPlayerKeyStateChange(playeridnewkeysoldkeys

        if(
    newkeys == KEY_FIRE
        { 
            
    // ДЕЙСТВИЕ 
            

    return 
    1

    Подскажите как должен выглядить код? В голову ничего не приходить, изначально думал выводить кнопки через свитч, правда запутался потом

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

    Статус
    Оффлайн
    Регистрация
    07.03.2014
    Сообщений
    333
    Репутация:
    47 ±
    Цитата Сообщение от xL1ke Посмотреть сообщение
    Решил сделать рандом на нажатие различных клавиш. Можете показать структура как это всё будет выглядеть?

    Чтобы в newkeys выводить различные виды кнопок начиная от кнопки прыжка заканчивая кнопкой огня.

    PHP код:
    public OnPlayerKeyStateChange(playeridnewkeysoldkeys

        if(
    newkeys == KEY_FIRE
        { 
            
    // ДЕЙСТВИЕ 
            

    return 
    1

    Подскажите как должен выглядить код? В голову ничего не приходить, изначально думал выводить кнопки через свитч, правда запутался потом
    Хочешь сделать что то типо человеку надо будет нажимать кнопки которые будут выводиться ему?
    "Власть, кровь, няш-мяш, кровь, власть, Крым наш!" - (c) Наталья Поклонская.

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

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

    Статус
    Оффлайн
    Регистрация
    22.08.2014
    Сообщений
    4
    Репутация:
    1 ±
    Именно! :)

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    В начало мода что-то типа
    PHP код:
    new random_keys[] = { 12481632128512102481921638465536131072262144, -128128 };
    new 
    keys_name[sizeof(random_keys)][] = { "TAB""C""ЛКМ""Прыжок""Enter""Lshift""ПКМ""NUM 1/СКМ""NUM4",  "NUM6",  "Y",  "N",  "H",  "G",  "W",  "S" };
    new 
    key_pressed[MAX_PLAYERS] = -1
    И потом там, где нужно выдавать рандомную кнопку
    PHP код:
    key_pressed[playerid] = random(sizeof(random_keys));
    new 
    string[sizeof(keys_name[])+14];
    format(stringsizeof(string), "Нажмите на \"%s\""keys_name[key_pressed[playerid]]);
    SendClientMessage(playerid, -1string); 
    Ну и отлавливаем нашу кнопку
    PHP код:
    public OnPlayerKeyStateChange(playeridnewkeysoldkeys

        if(
    newkeys == key_pressed[playerid]) 
        { 
            
    SendClientMessage(playerid, -1"Кнопка угадана!");
            
    key_pressed[playerid] = random(sizeof(random_keys));
            new 
    string[sizeof(keys_name[])+14];
            
    format(stringsizeof(string), "Нажмите на \"%s\""keys_name[key_pressed[playerid]]);
            
    SendClientMessage(playerid, -1string);
            return 
    1;
        } 
        return 
    1

    А чтоб игрок именно подряд нажимал, а не всё подряд - нужно ещё одну переменную для записи предыдущей кнопки и сверять oldkeys с значением этой переменной
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    22.08.2014
    Сообщений
    4
    Репутация:
    1 ±
    Спасибо большое! Да, я понял) Мне главное было понять как конструкция должна была выглядеть :)

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Цитата Сообщение от xL1ke Посмотреть сообщение
    Спасибо большое! Да, я понял) Мне главное было понять как конструкция должна была выглядеть :)
    Только не забываем, что SA-MP отлавливает не нажатие кнопки, а действие, которое эта кнопка совершает по дэфолту (если это Enter - то вход/выход из транспорта и т.д.).
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

 

 

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

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

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

Ваши права

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