Knights: Lua Documentation
Introduction
Knights uses Lua scripting to customise many aspects of the game, including items, monsters, dungeon rooms, and many other things. This page contains the documentation for that system.
General notes
Global functions
"kts" namespace
- kts.Activate, kts.Can_Activate
- kts.ActorIsKnight
- kts.AddHint
- kts.AddItem
- kts.AddMissile
- kts.AddMonster
- kts.AddMonsterGenerator
- kts.AddMonsters
- kts.AddStartingGear
- kts.AddStuff
- kts.AddTask
- kts.AddTile
- kts.Anim
- kts.Attractor
- kts.ChangeItem
- kts.ChangeTile
- kts.ClearHints
- kts.CloseDoor
- kts.ConnectivityCheck
- kts.Control
- kts.CrystalStart
- kts.CrystalStop
- kts.Damage
- kts.DebugPrint
- kts.Delay
- kts.DestroyCreature
- kts.DispelMagic
- kts.Drop, kts.Can_Drop
- kts.DropHeld, kts.Can_DropHeld
- kts.EliminatePlayer
- kts.FlashMessage
- kts.FlashScreen
- kts.FullZombieActivity
- kts.GameTime
- kts.GenerateLocksAndTraps
- kts.GetAllHomes
- kts.GetAllPlayers
- kts.GetFacing
- kts.GetHomeFor
- kts.GetItemInHand
- kts.GetMonsterCount
- kts.GetMonsterLimit
- kts.GetNumHeld
- kts.GetPlayer
- kts.GetPlayerID
- kts.GetPos
- kts.GetRandomPos
- kts.GetRespawnFunction
- kts.GetRespawnType
- kts.GetTiles
- kts.GetTotalMonsterCount
- kts.GetTotalMonsterLimit
- kts.GiveItem
- kts.Graphic
- kts.Healing
- kts.HOOK_CREATURE_SQUELCH
- kts.HOOK_KNIGHT_DAMAGE
- kts.HOOK_MISSILE_MISS
- kts.HOOK_SHOOT
- kts.HOOK_WEAPON_DOWNSWING
- kts.HOOK_WEAPON_PARRY
- kts.Invisibility
- kts.Invulnerability
- kts.IsAlive
- kts.IsDoorOpen
- kts.IsEliminated
- kts.IsKnight
- kts.ItemType
- kts.LayoutDungeon
- kts.LimitMonster
- kts.LimitTotalMonsters
- kts.LoadSegments
- kts.LockDoor
- kts.MagicMapping
- kts.MENU
- kts.MISC_CONFIG
- kts.MonsterType
- kts.Necromancy
- kts.NormalZombieActivity
- kts.OpenDoor
- kts.OpenOrCloseDoor
- kts.OpenWays
- kts.Overlay
- kts.Paralyzation
- kts.PickLock, kts.Can_PickLock
- kts.PickUp, kts.Can_PickUp
- kts.PitKill
- kts.PlaceItem
- kts.PlaySound
- kts.Poison
- kts.PoisonImmunity
- kts.PopUpWindow
- kts.PrintLoc
- kts.Quickness
- kts.RandomChance
- kts.RandomRange
- kts.Regeneration
- kts.RemoveTile
- kts.ResendHints
- kts.RevealLocation
- kts.RevealStart
- kts.RevealStop
- kts.RotateAddPos
- kts.RotateDirection
- kts.Secure
- kts.SenseItems
- kts.SenseKnight
- kts.SetBearTrap, kts.Can_SetBearTrap
- kts.SetBladeTrap
- kts.SetBladeTrapOld, kts.Can_SetBladeTrapOld
- kts.SetDeathmatchMode
- kts.SetHomeFor
- kts.SetLockpickSpawn
- kts.SetOverlayOffsets
- kts.SetPoisonTrap
- kts.SetPoisonTrapOld, kts.Can_SetPoisonTrapOld
- kts.SetPremapped
- kts.SetReflect
- kts.SetRespawnFunction
- kts.SetRespawnType
- kts.SetRotate
- kts.SetStuffRespawning
- kts.SetTimeLimit
- kts.SetZombieActivity
- kts.Sound
- kts.Strength
- kts.Suicide
- kts.Super
- kts.Swing, kts.Can_Swing
- kts.SwingOrDrop, kts.Can_SwingOrDrop
- kts.table_merge
- kts.TeleportRandom
- kts.TeleportTo
- kts.Throw, kts.Can_Throw
- kts.ThrowOrShoot, kts.Can_ThrowOrShoot
- kts.Tile
- kts.VERSION
- kts.WinGame
- kts.WipeDungeon
- kts.WipeMap
- kts.ZombieKill
- kts.ZombifyActor
- kts.ZombifyTarget
"mod" namespace
Lua version used
The Steam version of Knights currently uses Lua 5.4.8.
Lua 5.5 is now out (see changes), and we may upgrade to it at some point.
Note that other versions of Knights (e.g. the open source version downloaded directly from knightsgame.org.uk) might use a different Lua version.