代码来源于“易宁”大佬的分享,仅供学习,不要直接复制粘贴。

原帖链接:http://bbs.3dmgame.com/thread-3859071-1-1.html



二八六.收藏品期货市场(制造栏增加期货市场选项,炒作收藏品)

	1.用MT管理器打开游戏目录/assets/DLC0002/scripts/constants.lua文件,在DRESS = {str = "DRESS", sort=9, icon = "tab_dress.tex"},的下一行插入MARKET = {str = "MARKET", sort = 12, icon = "tab_book.tex"},


	2.用MT管理器打开游戏目录/assets/scripts/strings.lua文件,在ANCIENT = "Ancient",的下一行插入MARKET = "Market",


	3.用MT管理器打开游戏目录/assets/DLC0002/scripts/recipes.lua文件,在require "tuning"的下一行插入以下内容:

----MARKET----
Recipe("trinket_1", {Ingredient("goldnugget", math.random(4,8))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
Recipe("trinket_2", {Ingredient("goldnugget", math.random(6,12))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
Recipe("trinket_3", {Ingredient("goldnugget", math.random(4,8))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
Recipe("trinket_4", {Ingredient("goldnugget", math.random(5,10))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
Recipe("trinket_5", {Ingredient("goldnugget", math.random(4,8))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
Recipe("trinket_6", {Ingredient("goldnugget", math.random(5,10))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
Recipe("trinket_7", {Ingredient("goldnugget", math.random(4,8))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
Recipe("trinket_8", {Ingredient("goldnugget", math.random(8,16))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
Recipe("trinket_9", {Ingredient("goldnugget", math.random(7,14))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
Recipe("trinket_10", {Ingredient("goldnugget", math.random(2,4))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
Recipe("trinket_11", {Ingredient("goldnugget", math.random(5,10))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
Recipe("trinket_12", {Ingredient("goldnugget", math.random(8,16))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)


	4.用MT管理器打开游戏目录/assets/DLC0002/scripts/prefabs/trinkets.lua文件,在inst:AddComponent("inspectable")的下一行插入inst:AddTag("trinket")


	5.用MT管理器打开游戏目录/assets/DLC0002/scripts/prefabs/scienceprototyper.lua文件,在inst:AddComponent("inspectable")的下一行插入以下内容:

local function SpawnLootPrefab(inst, lootprefab)
	local player = GetPlayer()
	local loot = SpawnPrefab(lootprefab)
	player.components.inventory:GiveItem(loot)
	return loot
end
local function ShouldAcceptItem(inst, item)
	if item:HasTag("trinket") then
	   return true
	end
	return false
end
local function OnGetItemFromPlayer(inst, giver, item)
	local recipe = GetRecipe(item.prefab)
	local loot = {}
	if item:HasTag("trinket") then 
		for k,v in ipairs(recipe.ingredients) do
			if not string.find(v.type, "gem") then
				local amt = math.ceil(v.amount * 1)
				for n = 1, amt do
					table.insert(loot, v.type)
				end
			end
		end
	end
	if #loot <= 0 then
		return
	end
	for k,v in pairs(loot) do
		SpawnLootPrefab(item, v)
	end
end
	inst:AddComponent("trader")
	inst.components.trader.onaccept = OnGetItemFromPlayer
	inst.components.trader:SetAcceptTest(ShouldAcceptItem)

	即可在主角制造栏添加收藏品期货按钮(画着3本书),收藏品价格随每次读档而改变,在低价时买入(直接从造制造栏买入),在高价时卖出(拿着收藏品对科学机器点鼠标左键),获得当时标价的黄金(自动装入主角物品栏),从而赚取差价。如果同时修改了“手动存档”、“快速读档”(见本修改技巧),就可以在不退出游戏情况下,按F5存档,再按F6读档刷新价格。本条可以与“收藏品黑市”同时修改