游民星空 > 攻略秘籍 > 攻略 > 正文

饥荒 全人物解锁及主角自动回血等实用修改教程

2015-01-21 11:28:46 来源:互联网 作者:易宁 我要投稿

第349页:跳蚤市场

展开

二九九.跳蚤市场(用木炭种跳蚤市场摊位,上百种商品30秒刷新一次,全场一律3个黄金)

  用记事本打开游戏目录\data\DLC0001\scripts\prefabs\charcoal.lua文件,在inst:AddComponent("inspectable")的下一行插入以下内容:

  local function createfleashop(inst)

  local pt = inst:GetPosition()

  local seller = SpawnPrefab("charcoal")

  seller.Transform:SetPosition(pt.x, pt.y, pt.z)

  seller.AnimState:SetBank("wilson")

  local buildnames = {"wilson","wendy","wes","wickerbottom","willow","wolfgang","wx78"}

  local buildname = buildnames[math.random(#buildnames)]

  seller.AnimState:SetBuild(buildname)

  local hats = {"hat_bee","hat_beefalo","hat_bush","hat_earmuffs","hat_feather","hat_flower","hat_football","hat_miner","hat_ruins","hat_slurper","hat_slurtle","hat_spider","hat_straw","hat_top","hat_walrus","hat_winter","hat_rain","hat_watermelon","hat_ice","hat_catcoon","hat_wathgrithr"}

  local hat = hats[math.random(#hats)]

  seller.AnimState:OverrideSymbol("swap_hat", hat, "swap_hat")

  local armors = {"armor_grass","armor_marble","armor_onemanband","armor_ruins","armor_sanity","armor_slurper","armor_slurtleshell","armor_sweatervest","armor_trunkvest_summer","armor_trunkvest_winter","armor_wood","torso_rain"}

  local armor = armors[math.random(#armors)]

  seller.AnimState:OverrideSymbol("swap_body", armor, "swap_body")

  seller.AnimState:Show("HAT")

  seller.AnimState:Show("HAT_HAIR")

  seller.AnimState:Hide("HAIR_NOHAT")

  seller.AnimState:Hide("HAIR")

  seller.AnimState:Hide("ARM_carry")

  seller.AnimState:Show("ARM_normal")

  seller.AnimState:PlayAnimation("idle")

  seller.Transform:SetFourFaced()

  seller:RemoveComponent("stackable")

  seller:RemoveComponent("fuel")

  seller:RemoveComponent("inventoryitem")

  seller:RemoveComponent("burnable")

  seller:RemoveComponent("propagator")

  seller:RemoveComponent("deployable")

  seller:RemoveComponent("bait")

  seller:RemoveTag("molebait")

  seller:AddComponent("talker")

  seller:AddComponent("workable")

  seller.components.workable:SetWorkAction(ACTIONS.HAMMER)

  seller.components.workable:SetWorkLeft(3)

  seller.components.workable:SetOnFinishCallback(function(seller)

  SpawnPrefab("collapse_big").Transform:SetPosition(seller.Transform:GetWorldPosition())

  GetPlayer().SoundEmitter:PlaySound("dontstarve/common/destroy_wood")

  local pos = Vector3(seller.Transform:GetWorldPosition())

  local ents = TheSim:FindEntities(pos.x,pos.y,pos.z, 6)

  for k,v in pairs(ents) do

  if v:HasTag("commodity") then

  v:Remove()

  end

  if v:HasTag("fleas") then

  v:Remove()

  end

  end

  seller:Remove()

  end )

  seller:AddTag("sellers")

  local flea = SpawnPrefab("charcoal")

  flea.Transform:SetPosition(pt.x+2.8+1.2, 0, pt.z-2.8+1.2)

  flea.AnimState:SetBank("winter_meter")

  flea.AnimState:SetBuild("winter_meter")

  flea.AnimState:SetPercent("meter", 0)

  flea.Transform:SetScale(1.5, 1.5, 1.5)

  flea.AnimState:SetOrientation( ANIM_ORIENTATION.OnGround )

  flea.AnimState:SetLayer( LAYER_BACKGROUND )

  flea.AnimState:SetSortOrder( 1 )

  flea.Transform:SetRotation( 135 )

  flea.AnimState:SetMultColour(255/255,255/255,255/255,0)

  flea:RemoveComponent("stackable")

  flea:RemoveComponent("fuel")

  flea:RemoveComponent("inventoryitem")

  flea:RemoveComponent("burnable")

  flea:RemoveComponent("propagator")

  flea:RemoveComponent("deployable")

  flea:RemoveComponent("bait")

  flea:RemoveTag("molebait")

  flea:AddTag("NOCLICK")

  flea:AddTag("fleas")

  local light = flea.entity:AddLight()

  light:SetFalloff(1)

  light:SetIntensity(.8)

  light:SetRadius(5)

  light:SetColour(180/255, 195/255, 50/255)

  light:Enable(true)

  for k = 0,4 do

  local names = {"amulet","blueamulet","purpleamulet","orangeamulet","greenamulet","yellowamulet","armorgrass","armormarble","armorruins","armor_sanity","armorslurper","armorsnurtleshell","armorwood","axe","goldenaxe","multitool_axe_pickaxe","bandage","batbat","bedroll_furry","bedroll_straw","trunkvest_summer","blowdart_sleep","blowdart_fire","blowdart_pipe","boomerang","bugnet","butter","cane","compass","deerclops_eyeball","diviningrod","eyeturret_item","fishingrod","gunpowder","hambat","hammer","footballhat","strawhat","tophat","flowerhat","beefalohat","featherhat","beehat","walrushat","earmuffshat","winterhat","minerhat","spiderhat","bushhat","slurtlehat","ruinshat","healingsalve","heatrock","nightsword","lantern","panflute","pickaxe","goldenpickaxe","pitchfork","razor","ruins_bat","shovel","goldenshovel","spear","icestaff","firestaff","telestaff","orangestaff","greenstaff","yellowstaff","sweatervest","teleportato_ring","teleportato_box","teleportato_crank","teleportato_potato","tentaclespike","torch","trunkvest_winter","umbrella","fertilizer","bell","spear_wathgrithr","grass_umbrella","rainhat","icehat","watermelonhat","catcoonhat","wathgrithrhat","raincoat","molehat","armordragonfly","beargervest","featherfan","staff_tornado","nightstick","eyebrellahat","reflectivevest","hawaiianshirt"}

  local name = names[math.random(#names)]

  local commodity = SpawnPrefab(name)

  commodity.Transform:SetPosition(pt.x+2+1.3-k*1, 0, pt.z-2+1.3+k*1)

  commodity.components.inventoryitem.canbepickedup = false

  commodity.persists = false

  commodity:AddComponent("trader")

  commodity.components.trader:SetAcceptTest(function(commodity, item)

  if GetPlayer().components.inventory:Has("goldnugget", 3) then

  if item.prefab == "goldnugget" then

  return true

  end

  end

  return false

  end )

  commodity.components.trader.onaccept = function(commodity, giver, item)

  GetPlayer().components.inventory:ConsumeByName("goldnugget", 2)

  commodity.components.inventoryitem.canbepickedup = true

  commodity:RemoveTag("commodity")

  GetPlayer().components.inventory:GiveItem(commodity)

  commodity:RemoveComponent("trader")

  commodity.persists = true

  end

  commodity:AddTag("commodity")

  end

  seller:DoPeriodicTask(30, function(seller)

  seller.components.talker:Say("everythings, 3 golds", 5, false)

  seller.AnimState:PlayAnimation("give")

  local pos = Vector3(seller.Transform:GetWorldPosition())

  local ents = TheSim:FindEntities(pos.x,pos.y,pos.z, 6)

  for k,v in pairs(ents) do

  if v:HasTag("commodity") then

  v:Remove()

  end

  end

  for k = 0,4 do

  local names = {"amulet","blueamulet","purpleamulet","orangeamulet","greenamulet","yellowamulet","armorgrass","armormarble","armorruins","armor_sanity","armorslurper","armorsnurtleshell","armorwood","axe","goldenaxe","multitool_axe_pickaxe","bandage","batbat","bedroll_furry","bedroll_straw","trunkvest_summer","blowdart_sleep","blowdart_fire","blowdart_pipe","boomerang","bugnet","butter","cane","compass","deerclops_eyeball","diviningrod","eyeturret_item","fishingrod","gunpowder","hambat","hammer","footballhat","strawhat","tophat","flowerhat","beefalohat","featherhat","beehat","walrushat","earmuffshat","winterhat","minerhat","spiderhat","bushhat","slurtlehat","ruinshat","healingsalve","heatrock","nightsword","lantern","panflute","pickaxe","goldenpickaxe","pitchfork","razor","ruins_bat","shovel","goldenshovel","spear","icestaff","firestaff","telestaff","orangestaff","greenstaff","yellowstaff","sweatervest","teleportato_ring","teleportato_box","teleportato_crank","teleportato_potato","tentaclespike","torch","trunkvest_winter","umbrella","fertilizer","bell","spear_wathgrithr","grass_umbrella","rainhat","icehat","watermelonhat","catcoonhat","wathgrithrhat","raincoat","molehat","armordragonfly","beargervest","featherfan","staff_tornado","nightstick","eyebrellahat","reflectivevest","hawaiianshirt"}

  local name = names[math.random(#names)]

  local commodity = SpawnPrefab(name)

  commodity.Transform:SetPosition(pt.x+2+1.3-k*1, 0, pt.z-2+1.3+k*1)

  commodity.components.inventoryitem.canbepickedup = false

  commodity.persists = false

  commodity:AddTag("commodity")

  commodity:AddComponent("trader")

  commodity.components.trader:SetAcceptTest(function(commodity, item)

  if GetPlayer().components.inventory:Has("goldnugget", 3) then

  if item.prefab == "goldnugget" then

  return true

  end

  end

  return false

  end )

  commodity.components.trader.onaccept = function(commodity, giver, item)

  GetPlayer().components.inventory:ConsumeByName("goldnugget", 2)

  commodity.components.inventoryitem.canbepickedup = true

  commodity:RemoveTag("commodity")

  GetPlayer().components.inventory:GiveItem(commodity)

  commodity:RemoveComponent("trader")

  commodity.persists = true

  end

  end

  end)

  end

  local function OnDeploy (inst, pt)

  createfleashop(inst)

  inst.components.stackable:Get():Remove()

  end

  inst:AddComponent("deployable")

  inst.components.deployable.ondeploy = OnDeploy

  local function onsave(inst, data)

  if inst:HasTag("sellers") then

  data.sellers = true

  end

  if inst:HasTag("fleas") then

  data.fleas = true

  end

  end

  local function onload(inst, data)

  if data and data.sellers then

  createfleashop(inst)

  inst:Remove()

  end

  if data and data.fleas then

  inst:Remove()

  end

  end

  inst.OnSave = onsave

  inst.OnLoad = onload

  即可拿着1个木炭对空地点鼠标右键,种出跳蚤市场的摊位(手里拿多个木炭不会种出来),每30秒展示5种商品,看上哪件,就拿着黄金对那件商品点鼠标左键购买,全场一律3个黄金。店主为随机人物,可以种多个跳蚤市场摊位,形成商品一条街(摊位间不要太近,否则影响展示商品)。不想要跳蚤市场时,用锤子砸店主即可(暴力拆迁)

更多相关内容请关注:饥荒专区

责任编辑:Shy夏夏

上一页 341 342 343 344 345 346 347 348 349 350 351 下一页
友情提示:支持键盘左右键“← →”翻页

本文是否解决了您的问题

文章内容导航
游民星空APP
随手浏览游戏攻略
code
攻略合集
单机游戏下载
休闲娱乐
综合热点资讯
游民星空联运游戏