Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 2 из 5 ПерваяПервая 1 2 3 4 ... ПоследняяПоследняя
Показано с 11 по 20 из 42

Тема: key_pickupfix.inc

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

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

    И кто учил составлять такие условия?
    PHP код:
    if(gettime() - _key_pickupfix_playerPickupData[playerid][_key_pickupfix_pickupTimestamp] <= 1
    Почему нельзя просто сравнить gettime и значение переменной? Для чего там вычисления лишние?
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    10.04.2014
    Сообщений
    74
    Репутация:
    17 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Гораздо более лаконичнее смотрелась бы реализация собственного обработчика пикапов, в котором уже были бы функции, позволяющие создавать пикап с указанием конкретной клавиши и прочими настройками, чем пытаться подогнать все пикапы под одну кнопку и выполнять лишние действия для пикапов без кнопки.

    И кто учил составлять такие условия?
    PHP код:
    if(gettime() - _key_pickupfix_playerPickupData[playerid][_key_pickupfix_pickupTimestamp] <= 1
    Почему нельзя просто сравнить gettime и значение переменной? Для чего там вычисления лишние?
    1) Ты имеешь ввиду функцию создания пикапа с перехватом, которая будет закреплять за пикапом информацию, используется ли клавиша в данном пикапе и если да - то какая? А если же клавиша не будет использоваться - тогда сам фикс повторного подбора теряет смысл, нет? В таком случае придётся применять ещё какой-то вариант (те же динамические зоны) к пикапам, которые не используют клавишу. Или я ошибаюсь?

    2) Немного не понял тебя (объясни: что ты имел ввиду?). Данное условие проверяет нажатие клавиши в течении 1-ой секунды.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Twixyck Посмотреть сообщение
    1) Ты имеешь ввиду функцию создания пикапа с перехватом, которая будет закреплять за пикапом информацию, используется ли клавиша в данном пикапе и если да - то какая? А если же клавиша не будет использоваться - тогда сам фикс повторного подбора теряет смысл, нет? В таком случае придётся применять ещё какой-то вариант (те же динамические зоны) к пикапам, которые не используют клавишу. Или я ошибаюсь?
    Я имею ввиду добавление необязательного параметра для функции создания пикапа, который будет хранить в себе ID клавиши, которую нужно нажать для подбора пикапа.
    Соответственно, при обработке пикапа, если никакая клавиша не закреплена за пикапом, то сразу пропускаем код обработки пикапов на кнопку и переходим к обработке обычных пикапов, тем самым пропуская кучу лишних действий, которые у тебя сейчас прописаны в том же OnPlayerPickUpPickup.
    Ну а про то, что на выходе получаем возможность закрепления конкретного пикапа за конкретной кнопкой, а не общей для всех, думаю, и так понятно.

    Цитата Сообщение от Twixyck Посмотреть сообщение
    2) Немного не понял тебя (объясни: что ты имел ввиду?). Данное условие проверяет нажатие клавиши в течении 1-ой секунды.
    В твоём условии сначала произойдёт получение значений gettime и переменной, потом произойдёт вычитание и только потом произойдёт сравнение с единицей.

    Хотя можно просто сделать так:
    PHP код:
    if(gettime() < _key_pickupfix_playerPickupData[playerid][_key_pickupfix_pickupTimestamp]) 
    И на выходе получим тот же результат, только, при этом, мы просто получим значения gettime/переменной, а после сразу сравним их, чем уменьшим количество лишних инструкций.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    10.04.2014
    Сообщений
    74
    Репутация:
    17 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Я имею ввиду добавление необязательного параметра для функции создания пикапа, который будет хранить в себе ID клавиши, которую нужно нажать для подбора пикапа.
    Соответственно, при обработке пикапа, если никакая клавиша не закреплена за пикапом, то сразу пропускаем код обработки пикапов на кнопку и переходим к обработке обычных пикапов, тем самым пропуская кучу лишних действий, которые у тебя сейчас прописаны в том же OnPlayerPickUpPickup.
    Ну а про то, что на выходе получаем возможность закрепления конкретного пикапа за конкретной кнопкой, а не общей для всех, думаю, и так понятно.



    В твоём условии сначала произойдёт получение значений gettime и переменной, потом произойдёт вычитание и только потом произойдёт сравнение с единицей.

    Хотя можно просто сделать так:
    PHP код:
    if(gettime() < _key_pickupfix_playerPickupData[playerid][_key_pickupfix_pickupTimestamp]) 
    И на выходе получим тот же результат, только, при этом, мы просто получим значения gettime/переменной, а после сразу сравним их, чем уменьшим количество лишних инструкций.
    1) Хорошо, попробую реализовать в ближайшее время.
    2) Поставил твоё условие - перестало работать. В твоём условии идёт проверка на то, меньше ли gettime() чем время в переменной, а в моём условии идёт проверка на то, что промежуток между двумя этими значениями меньше или равен 1.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Twixyck Посмотреть сообщение
    Поставил твоё условие - перестало работать. В твоём условии идёт проверка на то, меньше ли gettime() чем время в переменной, а в моём условии идёт проверка на то, что промежуток между двумя этими значениями меньше или равен 1.
    Ну так а при каком условии промежуток будет меньше или равен 1? Если значение одного из членов условия больше другого, не?
    PHP код:
    12-11 // 12 больше 11 на 1, что совпадает с условием 
    15-11 // 15 больше 11 на 4, что совпадает с условием
    21-11 // 15 больше 11 на 10, что совпадает с условием
    10-11 // 11 меньше 11 на 1, что НЕ совпадает с условием 
    В первых трех случаях второй член меньше первого и если первый член меньше второго, условие не сработает.
    А танцы с вычислением нужны были бы только в том случае, если тебе нужно было бы выполнять код только для конкретного диапазона значений.

    Раз не работает, замени "<" на ">" и должно всё заработать. Я не вчитывался особо в твой код и не смотрел какой из членов условия должен быть больше для работы кода.
    Последний раз редактировалось DeimoS; 16.04.2018 в 13:52.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  6. #16
    Аватар для whale
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.04.2014
    Сообщений
    74
    Репутация:
    17 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Ну так а при каком условии промежуток будет меньше или равен 1? Если значение одного из членов условия больше другого, не?
    PHP код:
    12-11 // 12 больше 11 на 1, что совпадает с условием 
    15-11 // 15 больше 11 на 4, что совпадает с условием
    21-11 // 15 больше 11 на 10, что совпадает с условием
    10-11 // 11 меньше 11 на 1, что НЕ совпадает с условием 
    В первых трех случаях второй член меньше первого и если первый член меньше второго, условие не сработает.
    А танцы с вычислением нужны были бы только в том случае, если тебе нужно было бы выполнять код только для конкретного диапазона значений.

    Раз не работает, замени "<" на ">" и должно всё заработать. Я не вчитывался особо в твой код и не смотрел какой из членов условия должен быть больше для работы кода.
    В том то и дело, что диапазон должен быть от 0 секунд до 1 секунды. В твоём случае код будет выполняться таким образом, что даже если я встану на пикап и нажму указанную кнопку спустя 5-10 секунд - код пикапа сработает.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Twixyck Посмотреть сообщение
    В том то и дело, что диапазон должен быть от 0 секунд до 1 секунды. В твоём случае код будет выполняться таким образом, что даже если я встану на пикап и нажму указанную кнопку спустя 5-10 секунд - код пикапа сработает.
    Эмм, я тебя огорчу, но твоё условие работает для диапазона: "от ∞ до 1". Оно включит в себя все отрицательные значения. Соответственно, оно сработает только в том случае, если в переменной _key_pickupfix_pickupTimestamp значение будет больше, чем значение "gettime". Хотя если тебе так хочется включить в условие единицу, то "больше или равно".
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  8. #18
    Аватар для whale
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.04.2014
    Сообщений
    74
    Репутация:
    17 ±
    UPD v1.2: Теперь, по умолчанию, не все пикапы срабатывают на кнопку. Для создания пикапов по кнопке существует 2 функции:
    key_CreatePickup - для статических пикапов и key_CreateDynamicPickup - для динамических пикапов соответственно (см. более подробную информацию в представленной таблице на первой странице).
    Последний раз редактировалось whale; 19.04.2018 в 14:16.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    При выборе цветов советую думать ещё и о тёмной стороне теме форума, а не только о светлой :)

      Открыть/закрыть
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  10. #20
    Аватар для whale
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.04.2014
    Сообщений
    74
    Репутация:
    17 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    При выборе цветов советую думать ещё и о тёмной стороне теме форума, а не только о светлой :)

      Открыть/закрыть
    Учту. Сегодня займусь этим :)

 

 
Страница 2 из 5 ПерваяПервая 1 2 3 4 ... ПоследняяПоследняя

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

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

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

Ваши права

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