Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
Neentell

Нужна помощь скриптера

Здравствуйте! Чем можно заменить данное выражение? TDateTime dt видимо не поддерживается или библиотеки нет для даты и времени... Подскажите пожайлуста

 

if ( БЛАБЛА[ v_X ].GetCommand() == v_Command )

                {

                    TDateTime dt;  // При запуске локального сервера пишет на эту строчку: Broken expression (missing ';?)

                    TFormatSettings FormatSettings;

 

                    FormatSettings.DateSeparator = '-';

                    FormatSettings.TimeSeparator = ':';

                    FormatSettings.LongDateFormat = "YYYY-MM-DD";

                    FormatSettings.ShortDateFormat = "YYYY-MM-DD";

                    FormatSettings.ShortTimeFormat = "HH:MM:SS";

                    FormatSettings.LongTimeFormat = "HH:MM:SS";

 

                    if (TryStrToDateTime(БЛАБЛА[ v_X ].GetDateUse() + " " + БЛАБЛА[ v_X ].GetTimeUse(), dt, FormatSettings)) {

                        TDateTime delta = TDateTime.CurrentTime() - dt;

                        if (delta > БЛАБЛАБЛАБЛА[ v_I ].GetPauseTime()) {

                            continue;

                        }

                    }

                    БЛАБЛАБЛАБЛАБЛА.SendMessage( v_PlayerBase, " ");

                    return;

                }

Edited by Neentell (see edit history)

Share this post


Link to post
Share on other sites

11 answers to this question

Recommended Posts

  • 0

скорее всего нет какого-то мода или класса, это не ванильный класс для игры.

Share this post


Link to post
Share on other sites



  • 0
1 час назад, 123new сказал:

скорее всего нет какого-то мода или класса, это не ванильный класс для игры.

А как можно по-другому сделать ограничение по времени? По типу таймера какого-то. Мне нужно, чтобы даже после перезахода и рестарта у него сохранялась пауза. Есть же мод колесо фортуны, которое сохраняет вот эту паузу. Посоветуйте, как можно это сделать, прошу)

Edited by Neentell (see edit history)

Share this post


Link to post
Share on other sites
  • 0
1 час назад, Neentell сказал:

А как можно по-другому сделать ограничение по времени? По типу таймера какого-то. Мне нужно, чтобы даже после перезахода и рестарта у него сохранялась пауза. Есть же мод колесо фортуны, которое сохраняет вот эту паузу. Посоветуйте, как можно это сделать, прошу)

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

Либо как альтернатива писать свою систему сохранения значения, т.е. например в профиль сервера значения писать или в отдельный файл типа txt, json какого-нить, ну и читающийся оттуда же.

Все это тесно связано с системой мода и его кодом, который вы хотите менять. Рекоммендую с этим к автору работы обратиться.

Share this post


Link to post
Share on other sites
  • 0
5 минут назад, 123new сказал:

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

Либо как альтернатива писать свою систему сохранения значения, т.е. например в профиль сервера значения писать или в отдельный файл типа txt, json какого-нить, ну и читающийся оттуда же.

Все это тесно связано с системой мода и его кодом, который вы хотите менять. Рекоммендую с этим к автору работы обратиться.

Нет, так дело в том, что я уже все дселал, у меня вопрос в том, какой функцией СРАВНИТЬ время последнего использования и нового использования. Мне нужна функция всего лишь сравнения времени

Share this post


Link to post
Share on other sites
  • 0
5 минут назад, Neentell сказал:

Нет, так дело в том, что я уже все дселал, у меня вопрос в том, какой функцией СРАВНИТЬ время последнего использования и нового использования. Мне нужна функция всего лишь сравнения времени

сравнить что именно? текст типа String? Класс, структуру которого мы не знаем? Число типа inf или float? объект переменной буквально? ЧТО????

Edited by 123new (see edit history)

Share this post


Link to post
Share on other sites
  • 0
33 минуты назад, 123new сказал:

сравнить что именно? текст типа String? Класс, структуру которого мы не знаем? Число типа inf или float? объект переменной буквально? ЧТО????

Сравнить дату и время использования команды из json файла игрока в виде 08.03.2022 14:05 + PauseTime, который равен 3, то есть 08.03.2022 17:05, с настоящим временим пусть оно будет 08.03.2022 16:45. Сделать проверку если настоящее время больше времени взятого из json файла + PauseTime, то команду можно использовать, если нет, то нельзя. А так как в моем примере оно меньше, то использовать нельзя. Я вот и не знаю в каком формате сделать эту проверку.

Edited by Neentell (see edit history)

Share this post


Link to post
Share on other sites
  • 0
11 минут назад, Neentell сказал:

Сравнить дату и время использования команды из json файла игрока в виде 08.03.2022 14:05 + PauseTime, который равен 3, то есть 08.03.2022 17:05 с настоящим временим, грубо говоря пусть оно будет 08.03.2022 16:45. Сделать проверку если настоящее время больше времени взятого из json файла + PauseTime, то команду можно использовать, если нет, то нельзя. А так как в моем примере оно меньше, то использовать нельзя. Я вот и не знаю в каком формате сделать эту проверку.

не зная всего кода авторского мода, могу тока одно предложить:

1. читать текущие дату и время сервера в переменные, где каждая переменная будет означать соответственно: год, месяц, день, час, минуту, секунду

2. читать с json дату и время в переменные, где каждая переменная будет означать соответственно: год, месяц, день, час, минуту, секунду. Ввиду того что хз как оно там пишется, то и хз как читать и переводить. Возможно прийдется парсить строку и делить значения ручками соответственно, ковертируя в числа.

3. Создать 3 время на основе считанного с учетом +3 нужных вам, разумеется с проверками и перерассчетом, что если вдруг настало 24 часа то это +1 день, а если стало 30 или 31 число то это +1 месяц, и т.п.

4. Сравнить рассчитанное время и серверное и сделать соответствующий вывод о доступности действия, нужного вам.

Все выше описанное разумеется проще делать своими функциями, ну и основываясь на функции, которые есть у автора мода в его классах (уверен, они там есть какие-то). А вот как конкретно вы будете делать это уже от вас зависит только, ваших знаний, умений и т.п. Образца кода тут не будет - ибо код надо писать с нуля, основываясь на авторский код буквально.

Share this post


Link to post
Share on other sites
  • 0
08.03.2022 в 14:27, 123new сказал:

не зная всего кода авторского мода, могу тока одно предложить:

1. читать текущие дату и время сервера в переменные, где каждая переменная будет означать соответственно: год, месяц, день, час, минуту, секунду

2. читать с json дату и время в переменные, где каждая переменная будет означать соответственно: год, месяц, день, час, минуту, секунду. Ввиду того что хз как оно там пишется, то и хз как читать и переводить. Возможно прийдется парсить строку и делить значения ручками соответственно, ковертируя в числа.

3. Создать 3 время на основе считанного с учетом +3 нужных вам, разумеется с проверками и перерассчетом, что если вдруг настало 24 часа то это +1 день, а если стало 30 или 31 число то это +1 месяц, и т.п.

4. Сравнить рассчитанное время и серверное и сделать соответствующий вывод о доступности действия, нужного вам.

Все выше описанное разумеется проще делать своими функциями, ну и основываясь на функции, которые есть у автора мода в его классах (уверен, они там есть какие-то). А вот как конкретно вы будете делать это уже от вас зависит только, ваших знаний, умений и т.п. Образца кода тут не будет - ибо код надо писать с нуля, основываясь на авторский код буквально.

Не видел, но сделал, спасибо

Share this post


Link to post
Share on other sites
  • 0
08.03.2022 в 14:27, 123new сказал:

не зная всего кода авторского мода, могу тока одно предложить:

1. читать текущие дату и время сервера в переменные, где каждая переменная будет означать соответственно: год, месяц, день, час, минуту, секунду

2. читать с json дату и время в переменные, где каждая переменная будет означать соответственно: год, месяц, день, час, минуту, секунду. Ввиду того что хз как оно там пишется, то и хз как читать и переводить. Возможно прийдется парсить строку и делить значения ручками соответственно, ковертируя в числа.

3. Создать 3 время на основе считанного с учетом +3 нужных вам, разумеется с проверками и перерассчетом, что если вдруг настало 24 часа то это +1 день, а если стало 30 или 31 число то это +1 месяц, и т.п.

4. Сравнить рассчитанное время и серверное и сделать соответствующий вывод о доступности действия, нужного вам.

Все выше описанное разумеется проще делать своими функциями, ну и основываясь на функции, которые есть у автора мода в его классах (уверен, они там есть какие-то). А вот как конкретно вы будете делать это уже от вас зависит только, ваших знаний, умений и т.п. Образца кода тут не будет - ибо код надо писать с нуля, основываясь на авторский код буквально.

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

Share this post


Link to post
Share on other sites
  • 0
25 минут назад, Neentell сказал:

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

1. нет, это проще конкретным предметам задлочить. Всем подряд не получится вроде бы.

2. создаешь новый предмет на базе изначального и присваиваешь ему хоть имя, хоть характеристики - все что хочешь.

Share this post


Link to post
Share on other sites
  • 0
15 часов назад, 123new сказал:

1. нет, это проще конкретным предметам задлочить. Всем подряд не получится вроде бы.

2. создаешь новый предмет на базе изначального и присваиваешь ему хоть имя, хоть характеристики - все что хочешь.

А запретить прицеливаться можно? Можешь подсказать функцию?

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.