Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 0
Eternal

Аналог sleep или delay в игровых скриптах

Есть ли в игровых скриптах выражение аналогичное sleep в плюсах для использования между выполняемыми выражениями например

void ApplyBCure( ItemBase item, PlayerBase player )
    {    
        if (player.GetBleedingManagerServer() )
        {
            player.GetBleedingManagerServer().RemoveMostSignificantBleedingSource();

             sleep(500)

                player.GetBleedingManagerServer().RemoveMostSignificantBleedingSource();
        }

 

Если можно с примерами кода

Изменено пользователем 123new
вставка кода в обязательный тег для вставки (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения

  • 0

Не встречал

Для выполнения с задержкой юзайте таймеры - класс Timer

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах





  • 0
4 часа назад, BorizzK сказал:

Не встречал

Для выполнения с задержкой юзайте таймеры - класс Timer

Но я так понимаю таймеры нельзя использовать внутри выражения if, а только между. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
19 часов назад, BorizzK сказал:

В смысле?

void ApplyBCure( ItemBase item, PlayerBase player )
    {    
        if (player.GetBleedingManagerServer() )
        {
            player.GetBleedingManagerServer().RemoveMostSignificantBleedingSource();
        }

              Выражение таймера

            if (player.GetBleedingManagerServer() )
        {
            player.GetBleedingManagerServer().RemoveMostSignificantBleedingSource();
        }

      }

 

Я так понимаю примерно так код выглядеть должен

Изменено пользователем 123new
вставка кода в обязательный тег для вставки (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
1 минуту назад, Eternal сказал:

void ApplyBCure( ItemBase item, PlayerBase player )
    {    
        if (player.GetBleedingManagerServer() )
        {
            player.GetBleedingManagerServer().RemoveMostSignificantBleedingSource();
        }

              Выражение таймера

            if (player.GetBleedingManagerServer() )
        {
            player.GetBleedingManagerServer().RemoveMostSignificantBleedingSource();
        }

      }

 

Я так понимаю примерно так код выглядеть должен

Верно понимаешь

Ток есть нюанс

Ты не притормозишь вызовы ниже

 

Пэтому делаем так
 

ref Timer myTimer;

void ApplyBCure( ItemBase item, PlayerBase player )
    {    
        if (player.GetBleedingManagerServer() )
        {
            player.GetBleedingManagerServer().RemoveMostSignificantBleedingSource();
        }
		myTimer = new Timer;
		myTimer.Run(3,this,"ApplyBCureDelayed",null,false);
 
      }

void ApplyBCureDelayed()
{
        if (player.GetBleedingManagerServer() )
        {
            player.GetBleedingManagerServer().RemoveMostSignificantBleedingSource();
        }
}

 

Примеров таймеров в скриптах игры навалом

и с передачей параметров и без оных итд итп

 

ну а сам класс Таймера с описанием см в tools.c там же в скриптах игры

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...

Важная информация

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