Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 111 из 133 ПерваяПервая ... 11 61 101 109 110 111 112 113 121 ... ПоследняяПоследняя
Показано с 1,101 по 1,110 из 1325
  1. #1101
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от execution Посмотреть сообщение
    Подскажите пожалуйста, как учесть разницу в часовых поясах у игроков и неточное время на хостинге? P.s Нужно для правильно работы Google Authenticator.
    Google Authenticator сам должен компенсировать все неточности.
    Тоже одно время мучился с ним и всё сошлось на том, что нужно просто нормальное приложение использовать игроку (точно сейчас не скажу какое, но если начнёшь гуглить решение с неточностью времени для Google Authenticator, найдёшь ссылки на разные сервисы/приложения, рассчитывающие пароли для авторизации).
    Ну а настройками хостинга должна техподдержка этого хостинга заняться. Ты, собственно, за это им и платишь деньги, так что не постесняйся попросить настроить время правильно.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    09.03.2018
    Сообщений
    255
    Репутация:
    24 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Google Authenticator сам должен компенсировать все неточности.
    Тоже одно время мучился с ним и всё сошлось на том, что нужно просто нормальное приложение использовать игроку (точно сейчас не скажу какое, но если начнёшь гуглить решение с неточностью времени для Google Authenticator, найдёшь ссылки на разные сервисы/приложения, рассчитывающие пароли для авторизации).
    Ну а настройками хостинга должна техподдержка этого хостинга заняться. Ты, собственно, за это им и платишь деньги, так что не постесняйся попросить настроить время правильно.
    Я имел ввиду, что как учесть часовые пояса для всех игроков?

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от execution Посмотреть сообщение
    Я имел ввиду, что как учесть часовые пояса для всех игроков?
    Говорю же, это учитывает сам Google Authenticator. Чтоб всё работало как надо, нужно просто настроить время согласно часовому поясу (не самому подгонять часы под нужное тебе время, а подгонять время через настройку часового пояса).
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    Приветствую, появилось несколько коротких вопросов и, чтобы не создавать новую тему, напишу сюда:

    1. Как правильнее будет использовать функцию удаления знака "_" в имени персонажа? Допустим, игрок создал персонажа с именем "Test_Test". В чате или при использовании некоторых команд система должна убрать знак "_" из имени (чтобы было "Test Test").
    (или разумнее всего будет просто убрать "_" при регистрации персонажа и просто внести это имя в базу данных?)

    2. Как "организовать" различие времени сервера и игрового? К примеру, время на сервере 23:00, а игровое - 17:04.

    3. Какой инклуд лучше всего использовать для использования (простите за тавтологию) progressbar? И как вообще их "рисовать"?

    4. Как сделать рандомную погоду в разных городах карты?

    5. Как сделать перенос строки в чате? Допустим, при использовании команды /pm (если длина строки > 144)
    Последний раз редактировалось PawnoNoob; 07.07.2018 в 02:28.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    1. Как правильнее будет использовать функцию удаления знака "_" в имени персонажа? Допустим, игрок создал персонажа с именем "Test_Test". В чате или при использовании некоторых команд система должна убрать знак "_" из имени (чтобы было "Test Test").
    (или разумнее всего будет просто убрать "_" при регистрации персонажа и просто внести это имя в базу данных?)
    В базу данных нет смысла сохранять такое имя (удаление одного символа - не столь затратный процесс, чтоб избегать его даже в единичном случае). Достаточно после авторизации удалять "_" и записать получившийся ник в массив, который уже и вызывать во всех нужных случаях.


    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    2. Как "организовать" различие времени сервера и игрового? К примеру, время на сервере 23:00, а игровое - 17:04.
    Эмм, как пожелаешь, так и реализовать? Функции по установке времени никак не привязаны к времени на сервере и ничего не мешает тебе передавать в функцию значение переменных, для которых ты самостоятельно будешь рассчитывать время, а не брать его из gettime. А уже как ты будешь рассчитывать - зависит только от тебя.
    Но самый логичный вариант - привязать время к реальному. Например, чтоб каждые 20 минут реального времени являлись игровым часом. Соответственно, к каждым 20-и реальным минутам "прикрепляем" игровой час. То бишь, что-то типа такого:
    PHP код:
    // Реальное время - игровой час
    00:00 00
    00
    :20 01
    00
    :40 02
    01
    :00 03
    01
    :20 04
    01
    :40 05
    02
    :00 06 
    А уже игровые минуты рассчитывать исходя из значения реальных минут и секунд. Соответственно, для всего этого нужно писать формулу, дабы всё это вручную не рассчитывать.
    Таким образом ты, во-первых, добьёшься какой-никакой, но точности, ибо обычные таймеры имеют свойство отставать со временем, а, во-вторых, у тебя получится автоматизированная система расчётов, ибо входные данные устанавливаешь не ты.
    Ну и уже раз в 10-20 минут обновляешь время через функции (делать это чаще нет смысла, ибо поминутное изменение времени в GTA не очень заметно)

    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    3. Какой инклуд лучше всего использовать для использования (простите за тавтологию) progressbar? И как вообще их "рисовать"?
    Какой тебя по функционалу удовлетворяет, тот и используй. Инструкции к ним есть, соответственно, в темах, где их будешь качать.

    А если ты про принцип их работы, то рисуется 2 обычных текстдрава: один для фона и один для "индикатора". Минимальная координата по X будет являться нулём, а максимальная - сотней процентов. Соответственно, если у тебя есть, например, значение опыта персонажа, то у этого опыта так же есть "минимальное" и "максимальное" значение + так же есть фактическое значение, равное количеству опыта у игрока. Дальше просто применяешь формулу процентов на значении опыта, которой тебя должны на уроке математики обучить ещё классе в 6-ом, и получившийся процент от числа применяешь на текстдравах, высчитывая координату по X для "индикатора".

     Курс математики для самых маленьких
    Например, игроку для получения уровня нужно набрать 1500 очков опыта. Сейчас у игрока есть только 500 очков опыта. Получается:
    PHP код:
    1500 100%
    500 х
    Дабы узнать сколькими процентами является 500, нужно 500 умножить на 100 и поделить на 1500.
    500*100 = 50000
    50000/1500 = ~33,3%

    Теперь просто применяем тот же математический принцип, только для координат (представим, что 356.65 - максимальная координата по X для текстдрава):
    PHP код:
    356.65 100%
    33
    Собственно, как говорит нам математика, делаем так:
    356.65*33/100 = 117,6945
    Получается, что 33 процента будут занимать 117,6945. Соответственно, прибавляем к минимальной X получившееся число и получаем координату по оси X, которая будет показывать заполненный бар


    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    4. Как сделать рандомную погоду в разных городах карты?
    Эмм, сверкой координат? Можешь использовать динамические зоны стримера для удобства.

    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    5. Как сделать перенос строки в чате? Допустим, при использовании команды /pm (если длина строки > 144)
    Просто вызываешь ещё раз SensClientMessage и отображаешь оставшуюся часть строки.
    Вот есть готовая библиотека с таким функционалом
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    В базу данных нет смысла сохранять такое имя (удаление одного символа - не столь затратный процесс, чтоб избегать его даже в единичном случае). Достаточно после авторизации удалять "_" и записать получившийся ник в массив, который уже и вызывать во всех нужных случаях.




    Эмм, как пожелаешь, так и реализовать? Функции по установке времени никак не привязаны к времени на сервере и ничего не мешает тебе передавать в функцию значение переменных, для которых ты самостоятельно будешь рассчитывать время, а не брать его из gettime. А уже как ты будешь рассчитывать - зависит только от тебя.
    Но самый логичный вариант - привязать время к реальному. Например, чтоб каждые 20 минут реального времени являлись игровым часом. Соответственно, к каждым 20-и реальным минутам "прикрепляем" игровой час. То бишь, что-то типа такого:
    PHP код:
    // Реальное время - игровой час
    00:00 00
    00
    :20 01
    00
    :40 02
    01
    :00 03
    01
    :20 04
    01
    :40 05
    02
    :00 06 
    А уже игровые минуты рассчитывать исходя из значения реальных минут и секунд. Соответственно, для всего этого нужно писать формулу, дабы всё это вручную не рассчитывать.
    Таким образом ты, во-первых, добьёшься какой-никакой, но точности, ибо обычные таймеры имеют свойство отставать со временем, а, во-вторых, у тебя получится автоматизированная система расчётов, ибо входные данные устанавливаешь не ты.
    Ну и уже раз в 10-20 минут обновляешь время через функции (делать это чаще нет смысла, ибо поминутное изменение времени в GTA не очень заметно)



    Какой тебя по функционалу удовлетворяет, тот и используй. Инструкции к ним есть, соответственно, в темах, где их будешь качать.

    А если ты про принцип их работы, то рисуется 2 обычных текстдрава: один для фона и один для "индикатора". Минимальная координата по X будет являться нулём, а максимальная - сотней процентов. Соответственно, если у тебя есть, например, значение опыта персонажа, то у этого опыта так же есть "минимальное" и "максимальное" значение + так же есть фактическое значение, равное количеству опыта у игрока. Дальше просто применяешь формулу процентов на значении опыта, которой тебя должны на уроке математики обучить ещё классе в 6-ом, и получившийся процент от числа применяешь на текстдравах, высчитывая координату по X для "индикатора".

     Курс математики для самых маленьких
    Например, игроку для получения уровня нужно набрать 1500 очков опыта. Сейчас у игрока есть только 500 очков опыта. Получается:
    PHP код:
    1500 100%
    500 х
    Дабы узнать сколькими процентами является 500, нужно 500 умножить на 100 и поделить на 1500.
    500*100 = 50000
    50000/1500 = ~33,3%

    Теперь просто применяем тот же математический принцип, только для координат (представим, что 356.65 - максимальная координата по X для текстдрава):
    PHP код:
    356.65 100%
    33
    Собственно, как говорит нам математика, делаем так:
    356.65*33/100 = 117,6945
    Получается, что 33 процента будут занимать 117,6945. Соответственно, прибавляем к минимальной X получившееся число и получаем координату по оси X, которая будет показывать заполненный бар




    Эмм, сверкой координат? Можешь использовать динамические зоны стримера для удобства.



    Просто вызываешь ещё раз SensClientMessage и отображаешь оставшуюся часть строки.
    Вот есть готовая библиотека с таким функционалом
    А есть ли где-нибудь функция для решения первого вопроса?

  8. #1107
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    А есть ли где-нибудь функция для решения первого вопроса?
    1. stock GetGameHour()
    2. {
    3. new hour, minute;
    4. gettime(hour, minute);
    5. return (hour * 60 + minute) / 20;
    6. }

  9. Пользователь сказал cпасибо:
    PawnoNoob (09.07.2018)
  10. #1108
    Аватар для Geebrox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.08.2015
    Адрес
    Ташкент
    Сообщений
    375
    Репутация:
    97 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    1. stock GetGameHour()
    2. {
    3. new hour, minute;
    4. gettime(hour, minute);
    5. return (hour * 60 + minute) / 20;
    6. }
    А если 19:40?
    Возвратит 59


    Так наверное правильнее:

    1. stock GetGameHour()
    2. {
    3. new hour, minute;
    4. gettime(hour, minute);
    5. hour = (hour * 60 + minute) / 20;
    6. return (hour > 23) ? (hour % 24) : (hour);
    7. }
    Последний раз редактировалось Geebrox; 08.07.2018 в 02:44.
    Респект:
    @DeimoS
    @ziggi
    @Daniel_Cortez

  11. Пользователь сказал cпасибо:
    PawnoNoob (09.07.2018)
  12. #1109
    Аватар для pawnoholic
    Пользователь

    Статус
    Оффлайн
    Регистрация
    18.01.2018
    Сообщений
    128
    Репутация:
    15 ±
    Возможно кто то знает, какие еще можно ID для объектов занять в CUSTOM.IMG, кроме задокументированных 15065-15999?

  13. #1110
    Аватар для bla
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.03.2015
    Сообщений
    15
    Репутация:
    2 ±
    Здравствуйте.
    Есть ли на данный момент решение как пофиксить изменение размеров TextDraw на разных разрешениях экрана?

 

 
Страница 111 из 133 ПерваяПервая ... 11 61 101 109 110 111 112 113 121 ... ПоследняяПоследняя

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

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

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

Ваши права

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