Основы событий в скриптинге Roblox

Aug 5, 2024

Руководство для начинающих по скриптингу Roblox: События

Введение

  • Ведущий: Balev
  • Тема: События в скриптинге Roblox
  • Аналогия: Вечеринка-сюрприз ко дню рождения как пример триггерных событий.

Понятие событий

  • События - это действия, которые происходят в результате других действий.
  • Пример: Открытие двери вызывает вечеринку-сюрприз.

Настройка событий

  1. Отключите предыдущий скрипт: Отключите скрипт, созданный в прошлом эпизоде.
  2. Создание нового скрипта:
    • Вставьте новый скрипт в Workspace.
    • Переименуйте его в events.
    • Удалите стандартный код.

Общие встроенные события в Roblox

Событие добавления игрока

  • Определение: Срабатывает, когда игрок присоединяется к серверу.
  • Местоположение: Находится в папке Players модели данных игры.
  • Реализация в коде:
    game.Players.PlayerAdded:Connect(function(player)  
        print("Новый игрок присоединился к игре.")  
        print(player)  
    end)  
    
  • Объяснение:
    • PlayerAdded обозначено значком молнии.
    • Connect связывает событие с функцией, которая выполняется при его срабатывании.

Альтернативный синтаксис функции

  • Определение функции:
    local function PlayerAdded(player)  
        print("Новый игрок присоединился.")  
        print(player)  
    end  
    
  • Соединение функции:
    game.Players.PlayerAdded:Connect(PlayerAdded)  
    

Второе общее событие: Touched

  • Определение: Срабатывает, когда часть касается другой части.
  • Настройка:
    • Вставьте новую часть в Workspace, переименуйте её в TouchPart и установите свойство Anchored, чтобы предотвратить падение из-за гравитации.
  • Реализация в коде:
    local touchPart = game.Workspace.TouchPart  
    touchPart.Touched:Connect(function(otherPart)  
        print(otherPart.Name)  
    end)  
    
  • Объяснение:
    • Определяет, какая часть касается TouchPart.

Добавление debounce к событиям касания

  • Определение debounce: Способ предотвещения многократных срабатываний события в короткий период времени.
  • Шаги реализации:
    1. Инициализируйте булеву переменную для отслеживания состояния касания:
      local partIsTouched = false  
      
    2. Проверка, была ли часть коснулась:
      if not partIsTouched then  
          partIsTouched = true  
          -- Здесь печатные инструкции  
      end  
      
    3. Введение времени ожидания с помощью task.wait():
      task.wait(2)  
      partIsTouched = false  
      
  • Результат: Событие будет срабатывать только раз в две секунды.

Заключение

  • Подтолкните учеников экспериментировать с событиями Touched и PlayerAdded.
  • Предложите изменять цвета частей при касании или использовать данные игрока в скриптах.
  • Попросите учеников делиться своим кодом в комментариях.

  • Следующий эпизод: Больше техник скриптинга и использования событий.