×
Create a new article
Write your page title here:
We currently have 276 articles on Waste Of Space Wiki. Type your article name above or create one of the articles listed here!



    Waste Of Space Wiki

    Programming: Difference between revisions

    Content added Content deleted
    (shameless self promo)
    m (added a category like all of the other one's I added to today)
    Line 46: Line 46:
    ** Screen:ClearElements(), which clears all elements in a gui
    ** Screen:ClearElements(), which clears all elements in a gui
    Alternatively, a wiki exclusive to Pilot.lua can be found here: https://github.com/iimurpyh/pilot.lua/wiki
    Alternatively, a wiki exclusive to Pilot.lua can be found here: https://github.com/iimurpyh/pilot.lua/wiki
    [[Category:Tutorials]]

    Revision as of 21:48, 5 October 2020

    File:8282717dfaf08e4c024e6ec7a3d9b700.gif
    A flappy bird arcade machine, made by iiMurpyh

    The game features an in-depth programming language that allows you to write and execute software that can manage and manipulate the state of other objects in-game. The name of this programming language is called Pilot.lua, which is a reference to rbx.lua.

    The main parts of programming are

    • Microcontroller - An object that stores and runs code when triggered by polysilicon and powered.
    • Port - Allows the microcontroller to interact with other objects, trigger and configure, etc.
    • Screen - A programmable object that can display user interface objects such as TextLabel, ImageLabel, etc.
    • Disk - Stores values in a directory-like format.

    The code below is code for a smart turret that takes chat commands and targets players accordingly, with the command "target playername"

    local Gyro = GetPartFromPort(1, "Gyro") -- Gets gyro attached to port 1
    local Microphone = GetPartFromPort(2, "Microphone") -- Gets microphone attached to port 2
    



    local Commanders = { -- List of usernames allowed to use the smart turret
      Robuyasu = true;
    }
    
    -- Connects to the microphone, adding an event to it that will listen for chat input
    Microphone:ConnectToEvent("Chatted", function(Player, Message) 
    
      -- This simply makes sure that the player speaking is allowed to run a command
      if not Commanders[Player] then return end
    
      if Message:lower():sub(0, 6) == "target" then -- If the message starts with target
        local Victim = Message:sub(8) -- Gets the rest of the message
        Gyro:Configure({Seek=Victim}) -- Configures the seeker to target that person
      end
    end)
    

    There are many functions in Pilot.lua that allow you to interact with other objects. These are the following default functions listed.

    • GetPort(ID) - Returns a port instance that can be used in other functions.
    • GetPartFromPort(ID or Port Instance, ClassName) Returns a part if found directly attached to a port. An example would be GetPartFromPort(2, "Screen")
    • TriggerPort(ID or Port Instance)

    All objects will contain certain programmable properties and functions. However, all instances will contain the following properties:

    • Configurable properties, for example an ionrocket's thrust speed property
    • ClassName, which is simply the name of the object
    • Object:Trigger(), which simply triggers the object
    • Object:Configure({Property=NewValue}), which configures the part to the given dictionary/table
    • Object:ConnectToEvent, which is similar to roblox connections (part.Touched:Connect). An example includes TouchTrigger:ConnectToEvent("Touched", function() end)

    Certain parts however will have their own special properties.

    • Screen
      • Screen:CreateElement(GUIClassName, Properties), an example includes Screen:CreateElement("TextLabel", {Text = "Hello World!"; TextScaled = true});
      • Screen:ClearElements(), which clears all elements in a gui

    Alternatively, a wiki exclusive to Pilot.lua can be found here: https://github.com/iimurpyh/pilot.lua/wiki

    Cookies help us deliver our services. By using our services, you agree to our use of cookies.

    Recent changes

  • Axenori • 3 days ago
  • Voivsone • 4 days ago
  • Axenori • 4 days ago
  • Axenori • 5 days ago
  • Cookies help us deliver our services. By using our services, you agree to our use of cookies.