發文動機:
最近有想深入了解lua,所以在此作整理並分享,給需要方便統整閱讀的玩家,如有專門介紹lua的中文網站也希望大家不吝分享,謝謝!
整理如下(專為電腦網站排版):
======================= [Module] UI ========================
Functions
ScreenSize () 獲取屏幕的大小。
Signal (signal) 向game.lua發送信號。
StopPlayerControl (stop) 禁止移動和攻擊一段時間。
PlayerIndex (index) 獲取玩家的索引值。
GetTime () 獲取當前遊戲時間。
Tables(表)
size 指示屏幕大小的數據類型
KEY 鍵盤和鼠標輸入(案鍵的對應單字在最下方)
Class(類別)
SyncValue 同步變量
Event 活動
Text Test UI
Box Box UI
UI.SyncValue (與Game.lua同步的變量)
Fields(屬性)
UI.SyncValue.name 獲取SyncValue的名稱。
UI.SyncValue.value 獲取或更改SyncValue的值。
Methods(方法)
UI.SyncValue:Create(name) 創建一個Sync變數。
Event Callback
UI.SyncValue:OnSync() 當Sync同步時......。
UI.Box (在螢幕上顯示圖形)
Tables(表)
UI.Box.SetArg 設置圖形的顏色或大小。
{
x=x座標
y=y座標
width=寬度
height=高度
r=矩形顏色(紅色),範圍從0到255
g=矩形顏色(綠色),範圍從0到255
b=矩形顏色(藍色),範圍從0到255
a=透明度,範圍從0到255
}
Methods(方法)
UI.Box:Create() 創建一個圖形。
UI.Box:Show() 在屏幕上顯示。
UI.Box:Hide() 把圖形更改為隱藏。
UI.Box:Set(arg) 更改圖形的顏色或大小。
UI.Box:Get() 獲取包含圖形類型的表。
UI.Event (UI事件)
Event Callback
UI.Event:OnRoundStart() 當回合開始時.....。
UI.Event:OnSpawn() 當生成玩家時.....。
UI.Event:OnKilled() 當玩家死亡時.....。
UI.Event:OnInput(inputs) 當玩家按下某個鍵時.....。
UI.Event:OnUpdate(time) 在逐幀的基礎上調用的事件回調(有點像迴圈)。
UI.Event:OnChat(text) 當玩家在聊天室打出字串時.....。
UI.Event:OnSignal (signal) 當UI.lua接收到信號時.....。
UI.Event:OnKeyDown (inputs) 當玩家按下某個鍵時.....。
UI.Event:OnKeyUp (inputs) 當玩家放開按鍵時.....。
UI.Text (在螢幕上繪製特定字符串)
Tables(表)
UI.Text.SetArg 設置字串的顏色或大小。
{
text=字串內容
font=字體大小(small, medium, large, verylarge)
align=對齊(left, center, right)
x=x座標
y=y座標
width=寬度
height=高度
r=矩形顏色(紅色),範圍從0到255
g=矩形顏色(綠色),範圍從0到255
b=矩形顏色(藍色),範圍從0到255
}
Methods(方法)
UI.Text:Create() 創建一個可以在螢幕上顯示的字串。
UI.Text:Show() 在屏幕上顯示。
UI.Text:Hide() 把字串隱藏。
UI.Text:Set(arg) 更改字串的顏色和大小。
UI.Text:Get() 獲取包含對象屬性的表。
===================== [Module] Game ========================
Functions
FindPlayerAt (position) 找尋玩家座標。
GetTime () 獲取當前遊戲時間。
SetTrigger (name, value) 控制「裝置控制Script方塊」。
GetEntity (index) 獲取腳本創建的實體。
RandomInt (min, max) 獲取一個隨機整數。
RandomFloat (min, max) 獲取一個隨機浮點數。
GetTriggerEntity () 獲取影響腳本調用塊的玩家或怪物實體。
GetScriptCaller () 獲取調用當前執行函數的腳本調用塊。
KillAllMonsters () 在下一次OnUpdate之後殺死所有怪物。
Tables(表)
TEAM 團隊
MODEL 人物模型
WEAPONTYPE 武器類型
HITBOX 擊中部位
position 位置
ENTITYTYPE 實體類型
MONSTERTYPE 怪物類型
RENDERFX 繪製ENTITY時的效果類型
WEAPONCOLOR 武器的顏色。
THIRDPERSON_FIXED_PLANE 基於ThirdPersonFixedView計算鼠標指針的光線投射位置。
Class(類別)
EntityBlock 裝置方塊
Rule 遊戲規則
Player 玩家
SyncValue 同步變量
(更新)
Entity 實體
Monster 怪物
Weapon 武器
Game.EntityBlock (主要用於裝置方塊)
Tables(表)
Game.EntityBlock.position 表示裝置方塊的類型
Game.EntityBlock.EventArg
還有一個操作僅適用於所有遊戲裝置方塊事件信息的特定於類型數據的裝置方塊。
Fields(屬性)
Game.EntityBlock.id 獲取裝置方塊的id。
Game.EntityBlock.position 獲取裝置方塊的坐標。
Game.EntityBlock.onoff 獲取裝置方塊的當前On / Off狀態。
Methods(方法)
Game.EntityBlock:Create (position) 讓game.lua知道裝置方塊的位置。
Game.EntityBlock:Event (arg, index) 激活裝置方塊的功能。
Event Callback
Game.EntityBlock:OnUse (player) 當玩家使用裝置方塊時......。
Game.EntityBlock:OnTouch (player) 當玩家接觸感應方塊時.....。
詳細網址:
Game.Rule (主要用於遊戲規則)
Fields(屬性)
Game.Rule.name 獲取或更改規則的名稱。
Game.Rule.desc 獲取或更改規則描述。
Game.Rule.user 一個可以存儲任意數據的表。
Game.Rule.respawnable 獲取或設置玩家重生狀態。
Game.Rule.respawnTime 獲取或更改玩家重生的時間。
Game.Rule.enemyfire 獲取或更改是否傷害對手。
Game.Rule.friendlyfire 獲取或設置是否傷害隊友。
Game.Rule.breakable 獲取或更改是否可以破壞地圖。
Methods(方法)
Game.Rule:Win (team, exit) 某支隊伍獲勝。
Game.Rule:Respawn () 所有隊伍都被迫做出回應。
Game.Rule:CanSave () 獲取地圖是否為"可儲存的"。
Game.Rule:SetGameSave (name, value) 添加一個值以存儲在組中。
Game.Rule:GetGameSave (name) 獲取存儲在組中的值。
Event Callback
Game.Rule:OnPlayerConnect (player) 當玩家連接時.....。
Game.Rule:OnPlayerDisconnect (player) 當玩家關閉連接時.....。
Game.Rule:OnRoundStart () 當回合開始時.....。
Game.Rule:OnPlayerSpawn (player) 當玩家重生時.....。
Game.Rule:OnPlayerKilled (victim, killer, weapontype, hitbox) 當玩家死亡時.....。
Game.Rule:OnPlayerSignal (player, signal) 當使用UI.Signal時.....。
Game.Rule:OnUpdate (time) 定期調用的事件回調(有點像迴圈)。
Game.Rule:OnPlayerAttack (victim, attacker, damage, weapontype, hitbox)
當玩家受到攻擊時.....。
Game.Rule:OnTakeDamage (victim, attacker, damage, weapontype, hitbox)
事件回調,在攻擊玩家或怪物時調用。
Game.Rule:CanBuyWeapon (player, weaponid) 事件回調,用於檢查是否可以購買武器。
Game.Rule:CanHaveWeaponInHand (player, weaponid, weapon)
事件回調,用於檢查是否可以持有武器。
Game.Rule:OnGetWeapon (player, weaponid, weapon) 當獲取武器時......。
Game.Rule:OnReload (player, weapon, time) 當加載時......。
Game.Rule:OnReloadFinished (player, weapon) 當玩家加載結束後......。
Game.Rule:OnSwitchWeapon (player) 當玩家更換武器時......。
Game.Rule:PostFireWeapon (player, weapon, time) 當玩家射擊後......。
Game.Rule:OnGameSave (player) 當玩家保存資料時......。
Game.Rule:OnLoadGameSave (player) 當加載玩家的保存資料時......。
Game.Rule:OnClearGameSave (player) 當刪除玩家特定的保存資料時......。
Game.Player(主要用於玩家的資料)
Tables(表)
Game.Player.position 指玩家的座標。
Game.Player.velocity 指玩家的速度。
Fields(屬性)
Game.Player.index 獲取玩家的索引號。
Game.Player.name 獲取玩家的暱稱。
Game.Player.user 一個可以存儲任意數據的表。
Game.Player.death 獲取玩家的死亡人數。
Game.Player.team 導入或更改玩家的團隊。
Game.Player.health 獲取或更改玩家的健康狀況。
Game.Player.maxhealth 獲取或更改玩家的最大生命值。
Game.Player.armor 獲取或改變玩家的護甲。
Game.Player.maxarmor 獲取或更改玩家的最大護甲。
Game.Player.position 獲取或設置玩家所在的坐標。
Game.Player.velocity 獲取或更改玩家的速度。
Game.Player.coin 導入或更改玩家的錢。
Game.Player.model 獲取或更改玩家的人物模型(人類或殭屍角色)。
Game.Player.flinch 獲取或更改玩家的僵直度。
Game.Player.knockback 獲取或設置玩家的擊退力。
Game.Player.maxspeed 獲取或更改玩家的最大速度倍率。
Game.Player.gravity 獲取或更改玩家的重力。
Game.Player.infiniteclip 獲取或更改玩家的重力。
Methods(方法)
Game.Player:Create (index) 獲取與索引號對應的玩家。
Game.Player:Respawn () 重生玩家。
Game.Player:Kill () 玩家死亡。
Game.Player:Win (exit) 玩家獲勝。
Game.Player:ShowBuymenu () 顯示購買武器清單。
Game.Player:RemoveWeapon () 刪除玩家所有武器。
Game.Player:SetGameSave (name, value) 添加一個值以存儲在組中。
Game.Player:GetGameSave (name) 獲取存儲在組中的值。
Game.Player:SetFirstPersonView () 將玩家更改為第一人稱視角。
Game.Player:SetThirdPersonView (minDist, maxDist)將玩家更改為第三人稱視角。
Game.Player:SetThirdPersonFixedView (yaw, pitch, minDist, maxDist)
將玩家改為第三人稱視角並鎖定角度。
Game.Player:SetThirdPersonFixedPlane (plane)
修改鼠標指針在ThirdPersonFixedView狀態下如何計算射線廣播。
Game.Player:ShowWeaponInven () 顯示武器清單。
Game.Player:ToggleWeaponInven () 切換武器庫存。
Game.Player:Signal (signal) 向該玩家發送信號。
Game.Player:SetLevelUI (level, expRate) 在玩家的屏幕上顯示和修改級別/體驗UI。
Game.Player:SetBuymenuLockedUI (weaponid, uiLocked, level)
在商店窗口中為每個武器項目設置一個鎖定標記。
Game.Player:SetWeaponInvenLockedUI (weapon, uiLocked, level)
在武器清單窗口中為每個武器項目設置一個鎖。
Game.Player:GetPrimaryWeapon () 拿下玩家當前持有的主要武器。
Game.Player:GetSecondaryWeapon () 獲取玩家當前持有的輔助武器。
Game.Player:GetWeaponInvenList () 獲取玩家當前在武器清單中擁有的武器列表。
Event Callback
Game.Player:OnSpawn () 當生成玩家時.....。
Game.Player:OnKilled (killer) 當玩家死亡時.....。
Game.Player:OnAssist (victim, killer) 當玩家協助時.....。
Game.SyncValue(與UI.lua同步的變量)
Fields(屬性)
Game.SyncValue.name 獲取SyncValue的名稱。
Game.SyncValue.value 獲取或設置SyncValue的值。
Methods(方法)
Game.SyncValue:Create (name) 創建一個Sync變數。
Game.Monster(主要用於怪物)
Tables(表)
Game.Monster.position 表示特定塊坐標的數據類型
Fields(屬性)
Game.Monster.type 怪物類型
Game.Monster.damage 怪物的傷害實際值
Game.Monster.speed 怪物的移動速度倍增器
Game.Monster.viewDistance 怪物的視野實際值
Game.Monster.coin 當您捉到怪物時得到的硬幣
Game.Monster.applyKnockback 是否對怪物應用擊退
Game.Monster.canJump 怪物是否可以跳躍
Game.Monster.checkAngle 怪物的視野實際值
Methods(方法)
Game.Monster:Create (type, position) 在該坐標處創建一個怪物。
Game.Monster:AttackPlayer (player) 指示怪物攻擊玩家。
Game.Monster:AttackTo (position) 指示怪物移動到該坐標。
Game.Monster:MoveTo (position) 指示怪物移動到該坐標。
Game.Monster:Hold() 使怪物保持原位。
Game.Monster:Stop() 使怪物保持原位。
Game.Entity
Table(表)
Game.Entity.position 一種數據類型,表示特定的塊坐標
Game.Entity.velocity 代表一定速度的數據類型
game.Entity.color 代表顏色的數據類型
field(屬性)
Game.Entity.index 獲取實體的索引號。
Game.Entity.user 一個可以存儲任意數據的表。
Game.Entity.health 獲取或更改實體的運行狀況。
Game.Entity.maxhealth 獲取或更改實體的最大健康狀況。
Game.Entity.armor 獲取或更改實體的防彈衣。
Game.Entity.maxarmor 獲取或更改實體的最大防彈衣。
Game.Entity.position 獲取或更改實體的塊坐標。
Game.Entity.velocity 獲取或更改實體的速度。
Methods(方法)
Game.Entity:GetEntityType() 獲取實體類型。
Game.Entity:IsMonster() 檢查實體是否為怪物。
Game.Entity:IsPlayer() 檢查實體是否為玩家。
Game.Entity:ToMonster() 通過將其轉換為怪物來獲取實體。
Game.Entity:ToPlayer() 獲取轉換為玩家的實體。
Game.Entity:ShowOverheadDamage(damage, playerIndex)
顯示實體頂部上方的傷害。
Game.Entity:SetRenderFX(fx) 設置對實體模型的效果。
Game.Entity:SetRenderColor(color) 設置實體模型的顏色。
Game.Weapon(用於武器)
Table(表)
Game.Weapon.position 表示特定塊坐標的數據類型。
field(屬性)
Game.Weapon.user 可以存儲任意數據的表。
Game.Weapon.weaponid 獲取武器的類型。
Game.Weapon.color 獲取或設置武器的顏色。
Game.Weapon.damage 獲取或設置武器傷害的等級。
Game.Weapon.speed 獲取或設置武器移動速度的放大倍率。
Game.Weaponknockback 獲取或設置武器擊退的放大倍率。
Game.Weapon.finich 獲取或設置武器僵直的放大倍率。
Game.Weapon.criticalrate 獲取或設置武器的臨界概率。
Game.Weapon.criticaldamage 獲取或設置武器的臨界傷害率,值為0到100之間的一個數。
Game.Weapon.bloodsucking 獲取或設置武器的吸血鬼率,值為0到100之間的一個數。
Game.Weapon.infiniteclip 將武器的彈匣設置為無限。
Methods(方法)
Game.Weapon:CreateAndDrop (weaponid, position) 在特定坐標處創建和放置武器。Game.Weapon:GetWeaponType () 獲取武器的WEAPONTYPE值。
Game.Weapon:AddClip1 (clip) 不知道
================== [Module]Common ======================
Functions
GetWeaponOption (weaponid) 獲取特定武器的WeaponOption類。
UseWeaponInven (value) 使用武器清單功能。
SetSaveCurrentWeapons (value) 設置為保存當前武器。
SetSaveWeaponInven (value)
設置為保存武器清單內容(必須首先設置UseWeaponInven)。
SetAutoLoad (value) 自動加載保存的資料。
DisableWeaponParts (value) 設置是否禁用武器零件。
DisableWeaponEnhance (value) 設置是否禁用武器增強。
DontGiveDefaultItems (value) 設置是否在遊戲開始時給予默認武器。
DontCheckTeamKill (value) 不知道,可能跟團隊傷害有關。
UseScenarioBuymenu (value) 使商店使用場景商店窗口。
SetNeedMoney (value) 設置是否需要錢才能購買槍支。
UseAdvancedMuzzle (value) 在啟動時繪製槍口效果的新形狀。
SetMuzzleScale (value) 固定啟動時的槍口效果大小。
SetBloodScale (value) 修改擊中的鮮血效果。
SetGunsparkScale (value) 固定子彈擊中牆壁時的效果大小。
SetHitboxScale (value) 修改Hitbox大小。
SetMouseoverOutline (value,color)
設置當懸停在諸如怪物之類的實體上時,使輪廓可見。
SetUnitedPrimaryAmmoPrice(price) 設置所有主要武器的平均價格。
SetUnitedSecondaryAmmoPrice(price) 設置所有所有輔助武器的平均價格。
SetBuymenuWeaponList(list)
設置商店武器列表(需要UseScenarioBuymenu設置)。
field(屬性)
WEAPON 可以在腳本中創建和修改的武器。
color 代表顏色的數據類型。
Methods(方法)
WeaponOption 為每種武器類型設置武器統計信息。
Common.WeaponOption
Table(表)
Common.WeaponOption.color 代表顏色的數據類型。
field(屬性)
Common.WeaponOption.weaponid 獲取指向的武器類型。
Common.WeaponOption.user 可以存儲任意數據的表。
Common.WeaponOption.price 武器購買價格(必須設置Common.SetNeedMoney)。
Common.WeaponOption.damage 傷害倍率(與Game.Weapon一起設定時乘以兩者)。
Common.WeaponOption.rangemod 遠距離放大倍率衰減率。
Common.WeaponOption.cycletime CS速度倍率。
Common.WeaponOption.reloadtime 負載速度倍率。
Common.WeaponOption.accuracy 準確度倍率。
Common.WeaponOption.spread 放大時的不准確度。
Methods(方法)
Common.WeaponOption:SetBulletColor (color) 射擊時,顯示指定顏色的射擊路徑。
======================= Table ============================
[UI.size]
代表屏幕尺寸
width 寬度(整數)
height 高度(整數)
[UI key]
NUM1 數字1
NUM2 數字2
NUM3 數字3
NUM4 數字4
NUM5 數字5
NUM6 數字6
NUM7 數字7
NUM8 數字8
NUM9 數字9
NUM0 數字0
A A鍵
B B鍵
C C鍵
D D鍵
E E鍵
F F鍵
G G鍵
H H鍵
I I鍵
J J鍵
K K鍵
L L鍵
M M鍵
N N鍵
O O鍵
P P鍵
Q Q鍵
R R鍵
S S鍵
T T鍵
U U鍵
V V鍵
W W鍵
X X鍵
Y Y鍵
Z Z鍵
SHIFT shift鍵
SPACE 空白鍵
ENTER enter鍵
UP ↑鍵
DOWN ↓鍵
LEFT ←鍵
RIGHT →鍵
MOUSE1 鼠標左鍵
MOUSE2 鼠標右鍵
[Game.TEAM]
隊伍
- UNASSIGNED 未分配
- TR 恐怖份子
- CT 反恐小組
- SPECTATOR 觀眾
[Game.MODEL]
[Game.WEAPONTYPE]
武器類型
- NONE 沒有武器
- KNIFE 小刀
- PISTOL 手槍
- GRENADE 榴彈
- SUBMACHINEGUN 衝鋒槍
- SHOTGUN 散彈槍
- MACHINEGUN 機槍
- RIFLE 步槍
- SNIPERRIFLE 狙擊步槍
- EQUIPMENT 裝備
[Game.HITBOX]
擊中的部位
- HEAD 頭部
- CHEST 胸部
- STOMACH 胃部
- LEFTARM 左臂
- RIGHTARM 右臂
- LEFTLEG 左腿
- RIGHTLEG 右腿
[Game.ENTITYTYPE]
- ENTITY 主要實體
- MONSTER 怪物
- PLAYER 玩家
[Game.MONSTERTYPE]
[Game.RENDERFX]
繪製ENTITY時的效果類型
- NONE 無
- GLOWSHELL 閃亮的表面
[Game.WEAPONCOLOR]
武器的顏色。
適用於放下武器時效果的顏色和武器庫存的顏色。
- NONE 無
- GREEN 綠色
- WHITE 白色
- RED 紅色
- BLUE 藍色
- YELLOW 黃色
- ORANGE 橘色
[Game.THIRDPERSON_FIXED_PLANE]
基於ThirdPersonFixedView計算鼠標指針的光線投射位置,默認值為GROUND。
- GROUND 基於XY平面,各種對象和玩家位置的光線投射。
- XY XY平面,根據玩家位置進行射線投射。
- XZ XZ平面,根據玩家位置進行射線投射。
- YZ YZ平面,根據玩家位置進行射線投射。
[Game.position]
位置
- x x座標
- y y座標
- z z座標
[Game.WEAPON]
[Game.color]
代表顏色的數據類型
r 黃色,範圍(0~255)
g 綠色,範圍(0~255)
b 藍色,範圍(0~255)
========================================================================
以上就是整理資料