You've already forked ComfyFactorio
mirror of
https://github.com/ComfyFactory/ComfyFactorio.git
synced 2026-06-20 16:32:28 +02:00
when creative mode is enabled, insert items to new players
This commit is contained in:
+84
-40
@@ -5,7 +5,9 @@ local Color = require 'utils.color_presets'
|
|||||||
local Event = require 'utils.event'
|
local Event = require 'utils.event'
|
||||||
local Global = require 'utils.global'
|
local Global = require 'utils.global'
|
||||||
|
|
||||||
local this = {}
|
local this = {
|
||||||
|
players = {}
|
||||||
|
}
|
||||||
|
|
||||||
Global.register(
|
Global.register(
|
||||||
this,
|
this,
|
||||||
@@ -14,6 +16,8 @@ Global.register(
|
|||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|
||||||
|
local Public = {}
|
||||||
|
|
||||||
commands.add_command(
|
commands.add_command(
|
||||||
'spaghetti',
|
'spaghetti',
|
||||||
'Does spaghett.',
|
'Does spaghett.',
|
||||||
@@ -242,11 +246,10 @@ commands.add_command(
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
game.print(player.name .. ' has activated creative-mode!', Color.warning)
|
game.print('[CREATIVE] ' .. player.name .. ' has activated creative-mode!', Color.warning)
|
||||||
Server.to_discord_bold(table.concat {'[Creative] ' .. player.name .. ' has activated creative-mode!'})
|
Server.to_discord_bold(table.concat {'[Creative] ' .. player.name .. ' has activated creative-mode!'})
|
||||||
|
|
||||||
for k, v in pairs(game.connected_players) do
|
for k, v in pairs(game.connected_players) do
|
||||||
v.cheat_mode = true
|
|
||||||
if v.character ~= nil then
|
if v.character ~= nil then
|
||||||
if v.get_inventory(defines.inventory.character_armor) then
|
if v.get_inventory(defines.inventory.character_armor) then
|
||||||
v.get_inventory(defines.inventory.character_armor).clear()
|
v.get_inventory(defines.inventory.character_armor).clear()
|
||||||
@@ -275,13 +278,17 @@ commands.add_command(
|
|||||||
for _k, _v in pairs(item) do
|
for _k, _v in pairs(item) do
|
||||||
i = i + 1
|
i = i + 1
|
||||||
if _k and _v.type ~= 'mining-tool' then
|
if _k and _v.type ~= 'mining-tool' then
|
||||||
p_modifer[k].character_inventory_slots_bonus['creative'] = tonumber(i)
|
p_modifer[player.index].character_inventory_slots_bonus['creative'] = tonumber(i)
|
||||||
|
p_modifer[player.index].character_mining_speed_modifier['creative'] = 50
|
||||||
|
p_modifer[player.index].character_health_bonus['creative'] = 2000
|
||||||
|
p_modifer[player.index].character_crafting_speed_modifier['creative'] = 50
|
||||||
v.character_inventory_slots_bonus = p_modifer[k].character_inventory_slots_bonus['creative']
|
v.character_inventory_slots_bonus = p_modifer[k].character_inventory_slots_bonus['creative']
|
||||||
v.insert {name = _k, count = _v.stack_size}
|
v.insert {name = _k, count = _v.stack_size}
|
||||||
v.print('Inserted all base items.', Color.success)
|
v.print('[CREATIVE] Inserted all base items.', Color.success)
|
||||||
p_modifer.creative_enabled = true
|
Modifiers.update_player_modifiers(player)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
this.creative_enabled = true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -379,43 +386,80 @@ local on_player_joined_game = function(event)
|
|||||||
local player = game.players[event.player_index]
|
local player = game.players[event.player_index]
|
||||||
|
|
||||||
if this.creative_enabled then
|
if this.creative_enabled then
|
||||||
player.cheat_mode = true
|
if not this.players[player.index] then
|
||||||
if player.character ~= nil then
|
Public.insert_all_items(player)
|
||||||
if player.get_inventory(defines.inventory.character_armor) then
|
this.players[player.index] = true
|
||||||
player.get_inventory(defines.inventory.character_armor).clear()
|
end
|
||||||
end
|
end
|
||||||
player.insert {name = 'power-armor-mk2', count = 1}
|
end
|
||||||
local p_armor = player.get_inventory(5)[1].grid
|
|
||||||
if p_armor and p_armor.valid then
|
function Public.insert_all_items(player)
|
||||||
p_armor.put({name = 'fusion-reactor-equipment'})
|
if player.character ~= nil then
|
||||||
p_armor.put({name = 'fusion-reactor-equipment'})
|
if player.get_inventory(defines.inventory.character_armor) then
|
||||||
p_armor.put({name = 'fusion-reactor-equipment'})
|
player.get_inventory(defines.inventory.character_armor).clear()
|
||||||
p_armor.put({name = 'exoskeleton-equipment'})
|
end
|
||||||
p_armor.put({name = 'exoskeleton-equipment'})
|
player.insert {name = 'power-armor-mk2', count = 1}
|
||||||
p_armor.put({name = 'exoskeleton-equipment'})
|
local p_armor = player.get_inventory(5)[1].grid
|
||||||
p_armor.put({name = 'energy-shield-mk2-equipment'})
|
if p_armor and p_armor.valid then
|
||||||
p_armor.put({name = 'energy-shield-mk2-equipment'})
|
p_armor.put({name = 'fusion-reactor-equipment'})
|
||||||
p_armor.put({name = 'energy-shield-mk2-equipment'})
|
p_armor.put({name = 'fusion-reactor-equipment'})
|
||||||
p_armor.put({name = 'energy-shield-mk2-equipment'})
|
p_armor.put({name = 'fusion-reactor-equipment'})
|
||||||
p_armor.put({name = 'personal-roboport-mk2-equipment'})
|
p_armor.put({name = 'exoskeleton-equipment'})
|
||||||
p_armor.put({name = 'night-vision-equipment'})
|
p_armor.put({name = 'exoskeleton-equipment'})
|
||||||
p_armor.put({name = 'battery-mk2-equipment'})
|
p_armor.put({name = 'exoskeleton-equipment'})
|
||||||
p_armor.put({name = 'battery-mk2-equipment'})
|
p_armor.put({name = 'energy-shield-mk2-equipment'})
|
||||||
end
|
p_armor.put({name = 'energy-shield-mk2-equipment'})
|
||||||
local item = game.item_prototypes
|
p_armor.put({name = 'energy-shield-mk2-equipment'})
|
||||||
local i = 0
|
p_armor.put({name = 'energy-shield-mk2-equipment'})
|
||||||
local p_modifer = Modifiers.get_table()
|
p_armor.put({name = 'personal-roboport-mk2-equipment'})
|
||||||
for _k, _v in pairs(item) do
|
p_armor.put({name = 'night-vision-equipment'})
|
||||||
i = i + 1
|
p_armor.put({name = 'battery-mk2-equipment'})
|
||||||
if _k and _v.type ~= 'mining-tool' then
|
p_armor.put({name = 'battery-mk2-equipment'})
|
||||||
p_modifer[player.index].character_inventory_slots_bonus['creative'] = tonumber(i)
|
end
|
||||||
player.character_inventory_slots_bonus = p_modifer[player.index].character_inventory_slots_bonus['creative']
|
local item = game.item_prototypes
|
||||||
player.insert {name = _k, count = _v.stack_size}
|
local i = 0
|
||||||
player.print('[CREATIVE] Inserted all base items.', Color.success)
|
local p_modifer = Modifiers.get_table()
|
||||||
end
|
for _k, _v in pairs(item) do
|
||||||
|
i = i + 1
|
||||||
|
if _k and _v.type ~= 'mining-tool' then
|
||||||
|
p_modifer[player.index].character_inventory_slots_bonus['creative'] = tonumber(i)
|
||||||
|
p_modifer[player.index].character_mining_speed_modifier['creative'] = 50
|
||||||
|
p_modifer[player.index].character_health_bonus['creative'] = 2000
|
||||||
|
p_modifer[player.index].character_crafting_speed_modifier['creative'] = 50
|
||||||
|
player.character_inventory_slots_bonus = p_modifer[player.index].character_inventory_slots_bonus['creative']
|
||||||
|
player.insert {name = _k, count = _v.stack_size}
|
||||||
|
player.print('[CREATIVE] Inserted all base items.', Color.success)
|
||||||
|
Modifiers.update_player_modifiers(player)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function Public.get(key)
|
||||||
|
if key then
|
||||||
|
return this[key]
|
||||||
|
else
|
||||||
|
return this
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
Event.on_init(
|
||||||
|
function()
|
||||||
|
this.creative_are_you_sure = false
|
||||||
|
this.creative_enabled = false
|
||||||
|
this.spaghetti_are_you_sure = false
|
||||||
|
this.spaghetti_enabled = false
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
function Public.reset()
|
||||||
|
this.creative_are_you_sure = false
|
||||||
|
this.creative_enabled = false
|
||||||
|
this.spaghetti_are_you_sure = false
|
||||||
|
this.spaghetti_enabled = false
|
||||||
|
this.players = {}
|
||||||
|
end
|
||||||
|
|
||||||
Event.add(defines.events.on_player_joined_game, on_player_joined_game)
|
Event.add(defines.events.on_player_joined_game, on_player_joined_game)
|
||||||
|
|
||||||
|
return Public
|
||||||
|
|||||||
Reference in New Issue
Block a user