LogoLogo
English
LogoLogo
English
  • Titanfall 2 Modding Guide
  • Contact & Help
  • Contributing
  • Credits
  • Wiki 101 - How to start ?
    • Modding introduction
      • How to backup, extract & repack
      • How to setup a modding environment
      • Modding tools
        • How to use RSPNVPK
        • Source
          • Game Directory
          • BSP
            • BSPSource
            • BSP Viewer
            • BSP2MAP
            • BSPZIP
            • EntEd
            • Entspy
            • Map Analyst
            • PackBsp
            • Pakrat
            • VBSP_h4xed
            • VIDE
            • VMEX
            • WinBSPC
            • WinBSPZip
          • Hammer
            • Displacement Luxel Density
          • VTF & VMT
            • VTFEdit
            • Vtex
              • Vtex - Compile Parameters
              • Vtex - Troubleshooting
    • FAQ
  • Documentation
    • Textures
      • Valve Texture Format - VTF
        • Creating a Material
        • Creating Animated Particles
      • Valve Material Type - VMT
      • Texture & Colors
        • Color & Texture info
      • Shader
        • $basetexture
        • $color
        • $reflectivity
        • Material Flags
      • Albedo
      • Bump map
        • $bumpmap
        • $ssbump
      • Cube Mapping
      • Skybox Basics
        • 2D Skybox
      • Lightmap
      • Material Vector
      • MIP Mapping
      • Missing content
    • Scripts
      • KeyValues
        • Gameinfo.txt
        • WeaponConfig.txt
      • VScript
    • File Format
      • NUT & GNUT - Squirrel
      • PSD - Photoshop Document
      • TGA - Truevision Graphics Adapter
      • TXT - Text file
      • VPK - Valve Pak file
    • File Location
      • VPK list
      • Weapon
        • Weapon model
        • Weapon script
        • Weapon config
      • 3D Models
        • Model - Skyboxes
        • Pilot
          • Models - Pilot Ability
          • Models - Pilot Weapons
        • Titan
        • Model - Beacon
        • Model - Containers
        • Model - Fixtures
        • Model - imc_base
        • Model - Industrial
        • Model - kodai_live_fire
        • Model - NPC
        • Model - Frontier Defense
  • Modding
    • Weapons
      • Crosshair modding
        • Batch crosshair modding
        • Crosshair example
      • Weapon Positioning
      • Weapon FOV
      • Hipfire zoom
      • Special/Unique weapon mods
        • Charge Rifle - Arc Rifle
        • Charge rifle - Heat color
        • LSTAR - Heat color
    • Pilots
      • Models - Pilot class
    • Titans
      • Titan Domeshield
      • Northstar
        • Cable - Grapple & Tether Trap
        • Railgun - Heat color
        • Northstar - Gravity
        • Northstar - Thermite
      • Ronin
        • Sword block color
      • Legion
        • Power shot heat color
      • Ion
        • Splitter Rifle - Heat effect
        • Vortex shield color
    • Custom Skins
      • Formats
      • Installing
        • DDS Format (tool)
        • VTF Format (manual)
      • Making
      • Info
        • Getting a Model into Blender
        • 2D Wireframes
    • Maps
      • Maps - Skyboxes
      • Maps - Cube Map
      • War Games
        • Holographic wall color
    • User Interface
      • Text modding r1_language
      • In Game
        • Scoreboard colors
      • Menus
        • Pause Menu Blur
        • Menu Background
        • Network - Menus
        • Whats new and Spotlight
        • Settings
          • Controls
          • Key Bindings
    • Sounds
      • Killsound
      • Lobby music
    • Misc
      • FF ID Color change
      • Remove Sun Flares
      • Cable - Zipline
      • Marvin - Chest screen
      • Pulse Effect
      • Sonar Detected
      • Ticks - Model
      • Nessie- Frag Model
  • Script Values
    • Effect (FX)
    • FX
      • FX - Pilot
        • FX - Pilot Weapon
          • FX - Assault Rifle
          • FX - SMG
          • FX - LMG
          • FX - Sniper
          • FX - Shotgun
          • FX - Grenadier
          • FX - Secondary & Pistols
          • FX - Anti-Titan
          • FX - Arc Tool
        • FX - Pilot Ordnance
          • FX - Arc Trap
          • FX - Firestar
          • FX - Gravity Star
        • FX - Pilot Ability
      • FX - Titans
        • FX - Ion
        • FX - Tone
        • FX - Northstar
          • FX - Railgun
          • FX - Holo Railgun
          • FX - Viper
        • FX - Monarch
          • FX - Monarch Beam
        • FX - Ronin
        • FX - Scorch
          • FX - Thermite Launcher
          • FX - Meteor First
          • FX - Firewall
        • FX - Legion
      • FX - NPC & Turret
        • FX - NPC
          • FX - Drone
          • FX - Drone Cloak
          • FX - Drone Frag
          • FX - MRVN
          • FX - Mortar
          • FX - Holo Spectre
        • FX - Turret
      • FX - Misc & Unknown
        • FX - Holo Map
        • FX - Beacon
        • FX - Skybox
          • FX - Skybox 1K
          • FX - Skybox Carrier
          • FX - Skybox Creature
          • FX - Skybox Nuke
          • FX - Skybox Station Traffic
        • FX - Skyway
        • FX - Dev
          • FX - Bug Repro
        • FX - Droppod
        • FX - Scan
      • FX - Raw Data
        • FX - EMP
        • FX - Env
        • FX - Grenade
        • FX - Harvester
          • FX - Coop Harvester FX
        • FX - HUD
          • FX - HUD AR FX
          • FX - HUD AR Impacts
          • FX - HUD AR Lines
          • FX - HUD AR Ordinance
          • FX - HUD AR Pings
          • FX - HUD AR Titandroppoint
        • FX - Impact
          • FX - Impact FX EXP Cutom
        • FX - Light
        • FX - Orbital Strike
        • FX - Projectile Plasma
        • FX - Reload
        • FX - Shell Eject
        • FX - Smoke
        • FX - Tracers
        • FX - Weapon
          • FX - Arc Cannon
          • FX - Dragonbreath
          • FX - Flamethrower
          • FX - Malta Gun
          • FX - Triple Threat
    • Sound
      • Sound - Voiceline
      • Sound - Pilot
        • Pilot Weapon
          • Assault Rifle
          • SMG
          • LMG
          • Sniper
          • Shotgun
          • Grenadier
          • Secondary & Pistol
          • Anti-Titan
        • Pilot Ordnance
        • Pilot Ability
      • Sound - Titans
        • Sound - Ion
        • Sound - Tone
        • Sound - Northstar
        • Sound - Monarch
        • Sound - Ronin
        • Sound - Scorch
        • Sound - Legion
      • Sound - Drone & NPC
        • Sound - MegaTurret
      • Sound - Misc & Unknown
        • Sound - Arc Cannon
        • Sound - Arc Tool
        • Sound - Flamethrower
        • Sound - Triplethreat
    • UI & HUD
      • Menu
        • Loadscreen
        • Private match
        • Scoreboard
  • Mods
    • Plastic Mode
    • No-HUD Mod
  • Exporting Assets
    • Exporting Maps
    • Exporting using Legion
    • Exporting Models
  • Assets
    • Texture library
Powered by GitBook
On this page
  • About Squirrel
  • Variables
  • Data Types
  • Functions and Globalization
  • Structs

Was this helpful?

  1. Documentation
  2. File Format

NUT & GNUT - Squirrel

PreviousFile FormatNextPSD - Photoshop Document

Last updated 4 years ago

Was this helpful?

About Squirrel

Squirrel is a programming language similar to Lua, but uses a C like syntax. In Source Squirrel is used as one of the scripting languages in the VScript scripting system.

This explains a version of Squirrel suspected to be modified by Respawn. To learn about Squirrel for other, non-Respawn games, check .

Variables

A Varaible can be declared by specifying it's type, then it's name, an equals sign, then it's value, like so:

int x = 5;

Then, it can be used by typing it's name.

printt(x);

Data Types

There are multiple base data types for Squirrel, and some data types from source.

Data Type
Description

bool

A boolean value, true or false.

int

float

vector

An element with x, y, and z components.

array<T>

An array of dynamic value, of type T.

struct

A class alternative without functions, explained below.

var

Can contain anything, but cannot be used as input to functions with input types that are not 'var'.

entity

Is used for anything in the game world, except UI, which should use var, as their type is unknown.

Functions and Globalization

Functions are the primary way to execute code. All code that is not a variable deceleration must be inside a function.

Declaration example:

// Function syntax is <return type> function functionName(type p1, type p2)
// Function that gives back an int
// This example does NOT work in MP and will return an error.
int function CoolFunction(int x, int y) {
    return x * y + x * x;
}
// function that doesn't return back anything
void function Mod_SetMaxHealth(int newMaxHealth) {
    entity player = GetPlayerArray()[0];
    if (newMaxHealth <= 0) return;
    player.SetMaxHealth(newMaxHealth);
}

Structs

Structs are used either as a class alternative or for grouping variables in a singleton method.

Declaring example:

struct SimpleStruct {
    int x = 5;
    float y = 2.5;
    array<int> z = [7, 8, 9, 10]
}
// Creating a struct is done like declaring a variable;
// First the struct's name, then the variable's name.
// --- EXAMPLE ---
SimpleStruct example;
// Accessing struct properties can be done using a dot after the name of the instance.
// --- EXAMPLE ---
example.x = 6; 
example.y = 3.5;
example.z[0] = 6;
struct {
    int x = 5;
    float y = 2.5;
    array<int> z = [1, 2, 3,
} singletonStruct
// A singleton struct just makes one instance of itself using the name-
// -after it's contents. Unlike a regular struct, the name is inserted-
// -**AFTER** the declaration of the struct's properties.
// Accessing struct properties can be done using a dot after the name of the struct.
// --- EXAMPLE ---

Sources:

Squirrel - Valve Developer Community
https://developer.valvesoftware.com/wiki/Squirrel