LV. 14
GP 112

【討論】CSO [ lua ] 官方提供的API翻譯整理 (更新)

樓主 misk yrgna1234
GP18 BP-
**注意** 所有的中文翻譯皆為google翻譯,自己在做一點中文修飾,因為我不是很了解lua,所以中文有亂翻的情況請見諒,如有大師能幫小弟解惑糾正我會力馬修改,謝謝!

發文動機:
最近有想深入了解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.penetration        穿透率。
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)

========================================================================
以上就是整理資料











18
-
LV. 17
GP 293
2 樓 misk yrgna1234
GP4 BP-
韓服的LUA更新了,因此多了一堆LUA可以用了!
不過台服目前還沒辦法用這些函式,要過一段時間才行。
更新了原本的LUA:
1. UI.Event
2. Game.Rule
3. Game.Player
還增加了以下Class:
4. Game.Monster。
5. Game.Entity。

另外,還增加了[Module]Common。

也因為還沒開放,所以我也沒有實際用過這些新的函式,因此有些內容可能有誤,還請大家見諒。

4
-
LV. 15
GP 120
3 樓 ruby2009g ruby2009g
GP0 BP-
0
-
未登入的勇者,要加入 4 樓的討論嗎?
板務人員:

3628 筆精華,11/26 更新
一個月內新增 12
歡迎加入共同維護。


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】