SCP: Classified Site Plugin API
  • Quick Start
  • DOCS
    • Folder Structure
    • Creating Plugin Project
    • Creating New Player Class
    • Creating New Item Class
    • Creating New Room Event
    • Creating Additional Networked Class
    • Creating New Admin Panel Menu
    • Abilities
    • Replacing Game Logic
    • Plugin Classes/Game Classes Limitations
  • ID's
    • Inventory Image ID
    • Material ID
    • Team ID
    • Hook ID
  • Game C# Classes
    • ACES
    • AdminPanel
    • Button
    • Config
    • CustomLogger
    • DamageHandler
    • DeadBox
    • DoorManager
    • HitBox
    • HookManager
    • IInteractable
    • InputController
    • ItemPickup
    • Lever
    • NetRoom
    • NetworkedButton
    • NetworkedEvent
    • Player
    • PlayerUtilities
    • ResourcesManager
    • ScriptHelper
    • Trigger
    • UIManager
    • Door
    • SupportManager
    • RoundManager
    • Elevator
  • Another C# Classes
    • Rooms
    • Player Classes
    • Items
    • Admin Panel
Powered by GitBook
On this page
  • Class Functions
  • Local Properties
  • Local Functions
  • Example
  1. DOCS

Creating New Room Event

All Room Event classes must be placed under namespace Plugin.Rooms

Class Functions

  • Init() - [OPTIONAL] class initialization.

  • Update() - [OPTIONAL] called every frame.

Local Properties

  • netEvent - return NetworkedEvent class.

Local Functions

  • SendToEveryone(string FunctionName, params object[] arguments) - send command to every player to call function with arguments.

  • SendToClient(string FunctionName, NetworkConnection connection, params object[] arguments) - send command to player with connection to call function with arguments.

  • SendToServer(string FunctionName, params object[] arguments) - send command to server to call function with arguments.

  • Invoke(Function, float seconds) - same logic as UnityEngine.Object.Invoke, call function after time.

Example

using UnityEngine;

namespace Plugin.Rooms
{
    public class HC_HID : Akequ.Base.Room
    {
        public override void Init()
        {
            if (netEvent.isServer)
            {
                Door door = DoorManager.SpawnDoor(1, Vector3.zero, Quaternion.identity);
                door.transform.parent = netEvent.transform;
                door.transform.localPosition = new Vector3(-2.8809f, 0f, -7.68036175f);
                door.transform.localRotation = Quaternion.Euler(0, 90, 0);
                door = DoorManager.SpawnDoor(1, Vector3.zero, Quaternion.identity);
                door.transform.parent = netEvent.transform;
                door.transform.localPosition = new Vector3(-2.8809f, 0f, 7.68036175f);
                door.transform.localRotation = Quaternion.Euler(0, 90, 0);
                door = DoorManager.SpawnDoor(0, Vector3.zero, Quaternion.identity);
                door.transform.parent = netEvent.transform;
                door.transform.localPosition = new Vector3(-7.758f, 0f, 0f);
                door.transform.localRotation = Quaternion.Euler(0, 90, 0);
                door.keyData = new KeyData() { armory = 3 };

                ItemPickup obj = ResourcesManager.SpawnItem("MicroHID");
                obj.transform.parent = netEvent.transform;
                obj.transform.localPosition = new Vector3(-9.41675186f, 1.71533203f, 4.32899475f);
                obj.transform.localRotation = Quaternion.Euler(0, 270f, 0);
            }
        }
    }
}
PreviousCreating New Item ClassNextCreating Additional Networked Class

Last updated 2 months ago

Example Solution can be downloaded here:

Link to archive