Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function gadget:GetInfo()
- return {
- name = "mo_transportenemy_t1trans",
- desc = "Allow transport enemy units with t1 trans when mo_transportenemy set to t1trans",
- author = "[teh]decay + thx [BoS]nixtux for help",
- date = "16 Aug 2015",
- license = "public domain",
- layer = 0,
- enabled = true -- loaded by default?
- }
- end
- -------------------------------------------------------------------------------------------------------------------------
- -------------------------------------------------------------------------------------------------------------------------
- local enabled = (tostring(Spring.GetModOptions().mo_transportenemy) == "t1trans") or false
- if not enabled then
- return false
- end
- if not (gadgetHandler:IsSyncedCode()) then --synced only
- return false
- end
- -- Constants
- local LOAD_UNITS = CMD.LOAD_UNITS
- local spGetUnitTeam = Spring.GetUnitTeam
- local spGetUnitDefID = Spring.GetUnitDefID
- local spValidUnitID = Spring.ValidUnitID
- -- armsl = Seahook - Assault Transport (http://springrts.ru:8080/ba901/armsl.html)
- -- armdfly = Dragonfly - Stealthy Armed Transport (http://springrts.ru:8080/ba901/armdfly.html)
- -- armatlas = Atlas - Air Transport (http://springrts.ru:8080/ba901/armatlas.html)
- -- corvalk = Valkyrie - Air Transport (http://springrts.ru:8080/ba901/corvalk.html)
- local t1Transports = {
- [UnitDefNames["armatlas"].id] = true,
- [UnitDefNames["corvalk"].id] = true,
- }
- function gadget:AllowCommand(unitID, unitDefID, teamID, cmdID, cmdParams, cmdOptions, cmdTag, synced)
- if cmdID == LOAD_UNITS then
- Spring.Echo(to_string(cmdParams))
- if #cmdParams==1 then -- if unit is target
- if (spValidUnitID(cmdParams[1]) and spGetUnitTeam(cmdParams[1]) ~= teamID and not t1Transports[unitDefID]) then
- return false
- end
- end
- end
- return true
- end
- function to_string(data, indent)
- local str = ""
- if(indent == nil) then
- indent = 0
- end
- -- Check the type
- if(type(data) == "string") then
- str = str .. (" "):rep(indent) .. data .. "\n"
- elseif(type(data) == "number") then
- str = str .. (" "):rep(indent) .. data .. "\n"
- elseif(type(data) == "boolean") then
- if(data == true) then
- str = str .. "true"
- else
- str = str .. "false"
- end
- elseif(type(data) == "table") then
- local i, v
- for i, v in pairs(data) do
- -- Check for a table in a table
- if(type(v) == "table") then
- str = str .. (" "):rep(indent) .. i .. ":\n"
- str = str .. to_string(v, indent + 2)
- else
- str = str .. (" "):rep(indent) .. i .. ": " ..to_string(v, 0)
- end
- end
- elseif (data ==nil) then
- str=str..'nil'
- else
- -- print_debug(1, "Error: unknown data type: %s", type(data))
- --str=str.. "Error: unknown data type:" .. type(data)
- Spring.Echo(type(data) .. 'X data type')
- end
- return str
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement