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

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


 1
 2二八六.收藏品期货市场(制造栏增加期货市场选项,炒作收藏品)
 3
 4	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"},
 5
 6
 7	2.MT管理器打开游戏目录/assets/scripts/strings.lua文件,在ANCIENT = "Ancient",的下一行插入MARKET = "Market",
 8
 9
10	3.MT管理器打开游戏目录/assets/DLC0002/scripts/recipes.lua文件,在require "tuning"的下一行插入以下内容:
11
12----MARKET----
13Recipe("trinket_1", {Ingredient("goldnugget", math.random(4,8))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
14Recipe("trinket_2", {Ingredient("goldnugget", math.random(6,12))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
15Recipe("trinket_3", {Ingredient("goldnugget", math.random(4,8))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
16Recipe("trinket_4", {Ingredient("goldnugget", math.random(5,10))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
17Recipe("trinket_5", {Ingredient("goldnugget", math.random(4,8))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
18Recipe("trinket_6", {Ingredient("goldnugget", math.random(5,10))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
19Recipe("trinket_7", {Ingredient("goldnugget", math.random(4,8))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
20Recipe("trinket_8", {Ingredient("goldnugget", math.random(8,16))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
21Recipe("trinket_9", {Ingredient("goldnugget", math.random(7,14))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
22Recipe("trinket_10", {Ingredient("goldnugget", math.random(2,4))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
23Recipe("trinket_11", {Ingredient("goldnugget", math.random(5,10))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
24Recipe("trinket_12", {Ingredient("goldnugget", math.random(8,16))}, RECIPETABS.MARKET, TECH.NONE,nil,nil,true)
25
26
27	4.MT管理器打开游戏目录/assets/DLC0002/scripts/prefabs/trinkets.lua文件,在inst:AddComponent("inspectable")的下一行插入inst:AddTag("trinket")
28
29
30	5.MT管理器打开游戏目录/assets/DLC0002/scripts/prefabs/scienceprototyper.lua文件,在inst:AddComponent("inspectable")的下一行插入以下内容:
31
32local function SpawnLootPrefab(inst, lootprefab)
33	local player = GetPlayer()
34	local loot = SpawnPrefab(lootprefab)
35	player.components.inventory:GiveItem(loot)
36	return loot
37end
38local function ShouldAcceptItem(inst, item)
39	if item:HasTag("trinket") then
40	   return true
41	end
42	return false
43end
44local function OnGetItemFromPlayer(inst, giver, item)
45	local recipe = GetRecipe(item.prefab)
46	local loot = {}
47	if item:HasTag("trinket") then 
48		for k,v in ipairs(recipe.ingredients) do
49			if not string.find(v.type, "gem") then
50				local amt = math.ceil(v.amount * 1)
51				for n = 1, amt do
52					table.insert(loot, v.type)
53				end
54			end
55		end
56	end
57	if #loot <= 0 then
58		return
59	end
60	for k,v in pairs(loot) do
61		SpawnLootPrefab(item, v)
62	end
63end
64	inst:AddComponent("trader")
65	inst.components.trader.onaccept = OnGetItemFromPlayer
66	inst.components.trader:SetAcceptTest(ShouldAcceptItem)
67
68	即可在主角制造栏添加收藏品期货按钮(画着3本书),收藏品价格随每次读档而改变,在低价时买入(直接从造制造栏买入),在高价时卖出(拿着收藏品对科学机器点鼠标左键),获得当时标价的黄金(自动装入主角物品栏),从而赚取差价。如果同时修改了“手动存档”、“快速读档”(见本修改技巧),就可以在不退出游戏情况下,按F5存档,再按F6读档刷新价格。本条可以与“收藏品黑市”同时修改