cmd_nocost.lua

来自「这是整套横扫千军3D版游戏的源码」· LUA 代码 · 共 111 行

LUA
111
字号
--------------------------------------------------------------------------------------------------------------------------------------------------------------------  file:    cmd_nocost.lua--  brief:   provides a reversible nocost command--  author:  Dave Rodgers----  Copyright (C) 2007.--  Licensed under the terms of the GNU GPL, v2 or later.------------------------------------------------------------------------------------------------------------------------------------------------------------------function gadget:GetInfo()  return {    name      = "NoCost",    desc      = "Provides a reversible nocost command",    author    = "trepan",    date      = "May 03, 2007",    license   = "GNU GPL, v2 or later",    layer     = 0,    enabled   = true  --  loaded by default?  }end----------------------------------------------------------------------------------------------------------------------------------------------------------------local nocost = falselocal function AllowAction(playerID)  if (playerID ~= 0) then    Spring.SendMessageToPlayer(playerID, "Must be the host player")    return false  end  if (not Spring.IsCheatingEnabled()) then    Spring.SendMessageToPlayer(playerID, "Cheating must be enabled")    return false  end  return trueendlocal function NoCost(cmd, line, words, playerID)  if (not AllowAction(playerID)) then    Spring.Echo('LuaRules nocost is ' .. ((nocost and 'enabled') or 'disabled'))    return true  end  if (#words <= 0) then    nocost = not nocost  else    nocost = (words[1] == '1')  end  Spring.Echo('LuaRules nocost is ' .. ((nocost and 'enabled') or 'disabled'))  return trueend----------------------------------------------------------------------------------------------------------------------------------------------------------------function gadget:Initialize()  -- Only for synced  if ((not gadgetHandler:IsSyncedCode()) or      (Script.GetName() ~= 'LuaRules')) then    gadgetHandler:RemoveGadget()    return  end  local cmd, help    cmd  = "nc"  help = " [0|1]:  reversible nocost  (requires cheating)"  gadgetHandler:AddChatAction(cmd, NoCost, help)  Script.AddActionFallback(cmd .. ' ', help)endfunction gadget:Shutdown()  gadgetHandler:RemoveChatAction('nocost')endfunction gadget:UnitCreated(unitID, unitDefID, unitTeam)  if (nocost) then    Spring.SetUnitCosts(unitID, {      buildTime  = 1,      metalCost  = 1,      energyCost = 1    })  endendfunction gadget:UnitFinished(unitID, unitDefID, unitTeam)  if (nocost) then    local ud = UnitDefs[unitDefID]    if (ud) then      Spring.SetUnitCosts(unitID, {        buildTime  = ud.buildTime,        metalCost  = ud.metalCost,        energyCost = ud.energyCost      })    end  endend----------------------------------------------------------------------------------------------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?