admin管理员组

文章数量:1532187

2024年3月30日发(作者:)

light:SetColour(colours[_idx][1],colours[_idx][2],colours[

_idx][3])

inst:AddTag("character")

即可让全部主角吹进化版气球,空气球在生存选项(画着绳套)下,用1个草制造。官

方原本的气球只有wes有,且功能很烂,所以我改造了一下

一六一.瑞士手杖(砍树、凿石、锤墙、挖草、取暖、补脑、瞬移、10倍攻击力、2倍速度、

照明,18版及以后游戏使用)

用记事本打开游戏目录文件,

1.在local function onequip(inst, owner)的下一行插入:Enable(true)

2.在local function onunequip(inst, owner)的下一行插入:Enable(false)

3.在anim:PlayAnimation("idle")的下一行插入以下内容:

inst:AddComponent("tool")

:SetAction(, 15)

:SetAction(, 15)

:SetAction(,15)

:SetAction()

inst:AddComponent("heater")

edheat = 100

inst:AddComponent("dapperness")

ness = NESS_HUGE

inst:AddComponent("blinkstaff")

local light = :AddLight()

light:SetFalloff(0.4)

light:SetIntensity(.7)

light:SetRadius(2.5)

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

light:Enable(true)

4.将:SetDamage(_DAMAGE)替换为

:SetDamage(_DAMAGE*10)

5.将eedmult = _SPEED_MULT替换为

eedmult = _SPEED_MULT*2

即可让手杖拥有瑞士军刀般的多功能。装备手杖时,在空地上点鼠标右键可瞬移,借此

可跳过较窄沟壑,少走冤枉路

一六二.神之矛(矛攻击时召唤闪电雷击敌人)

用记事本打开游戏目录文件,将

inst:AddComponent("weapon")替换为以下内容:

local function onattack(inst, attacker, target)

inst:StartThread(function()

for k = 1, 5 do

local pos = target:GetPosition()

GetSeasonManager():DoLightningStrike(pos)

:DoDelta(-100)

Sleep(0.3)

end

end)

end

inst:AddComponent("weapon")

:SetRange(20, 25)

:SetOnAttack(onattack)

:SetProjectile("bishop_charge")

即可让矛在攻击时召唤5道闪电,连续雷击敌人,会烧着附近的敌人。因为神之矛太过

凶猛,请远离自己的基地使用,也千万不要在带同伴时使用

一六三.钓金龟(用鱼竿将敌人变成黄金雕像,19版及以后游戏使用)

用记事本打开游戏目录文件,将下列内容:

inst:AddComponent("weapon")

:SetDamage(GROD_DAMAGE)

wear = 4

替换为:

local function onattack(inst, attacker, target)

SpawnPrefab("ruins_statue_mage").Transform:SetPosition(orm:GetWorld

Position())

SpawnPrefab("collapse_small").Transform:SetPosition(orm:GetWorldPos

ition())

target:Remove()

end

inst:AddComponent("weapon")

:SetDamage(0)

:SetRange(12, 15)

:SetOnAttack(onattack)

:SetProjectile("bishop_charge")

即可用鱼竿远距离攻击敌人时,把敌人变成黄金雕像,用锤子砸碎雕像可得宝石和铥矿

石。鱼竿在生存选项(画着绳套)下,用2个树杈、2个蛛丝制造

一六四.萌时代(扔蜂蜜将怪物变回童年)

用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function onhit(inst, attacker, target)

local impactfx = SpawnPrefab("impact")

if impactfx then

local follower = :AddFollower()

follower:FollowSymbol(,

ectsymbol, 0, 0, 0 )

impactfx:FacePoint(Vector3(orm:GetWorldPosition()))

end

inst:Remove()

SpawnPrefab("collapse_small").Transform:SetPosition(orm:GetWorldPos

ition())

orm:SetScale(0.7, 0.7, 0.7)

if then

thealth = 1

lth = 1

end

if then

:SetDefaultDamage(0)

= nil

end

if tor then

ed = 1

eed = 1

end

end

local function onthrown(inst, data)

ate:SetOrientation( ANIM_nd )

end

inst:AddComponent("weapon")

:SetDamage(0)

:SetRange(20, 25)

inst:AddComponent("equippable")

tack = true

inst:AddComponent("projectile")

tile:SetSpeed(60)

tile:SetOnHitFn(onhit)

inst:ListenForEvent("onthrown", onthrown)

即可扔蜂蜜将怪物变成无害的童年怪物,怪物体型变小、生命值为1、没有攻击力、行

走缓慢。因为蜂蜜可装备,如果主角也想吃蜂蜜,请拿起蜂蜜对主角按鼠标右键

一六五.犬牙手雷(扔犬牙炸倒一大片)

用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function onhit(inst, attacker, target)

local impactfx = SpawnPrefab("impact")

if impactfx then

local follower = :AddFollower()

follower:FollowSymbol(,

ectsymbol, 0, 0, 0 )

impactfx:FacePoint(Vector3(orm:GetWorldPosition()))

end

inst:Remove()

SpawnPrefab("collapse_small").Transform:SetPosition(orm:GetWorldPosit

ion())

SpawnPrefab("explode_small").Transform:SetPosition(orm:GetWorldPositi

on())

local pos = Vector3(orm:GetWorldPosition())

GetClock():DoLightningLighting()

GetPlayer().controller:ShakeCamera(inst, "FULL", 0.7,

0.02, .5, 40)

end

local function onthrown(inst, data)

ate:SetOrientation( ANIM_nd )

end

local function OnDeath(inst)

inst:DoTaskInTime(0, function()

:DoAreaAttack(inst, 8)

end)

end

inst:AddComponent("weapon")

:SetDamage(3000)

:SetRange(15, 18)

inst:AddComponent("combat")

:SetDefaultDamage(3000)

damagepercent = 0

inst:ListenForEvent("animover", OnDeath)

inst:AddComponent("equippable")

tack = true

inst:AddComponent("projectile")

tile:SetSpeed(60)

tile:SetOnHitFn(onhit)

inst:ListenForEvent("onthrown", onthrown)

即可在装备犬牙时,对一群敌人扔出(远距离对敌人按鼠标左键)炸倒一大片。犬牙手

雷不会伤到主角

一六六.高爆地雷(指南针放在地上作地雷)

用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容

local function OnExplodeFn(inst)

SpawnPrefab("collapse_small").Transform:SetPosition(orm:GetWorldPosit

ion())

SpawnPrefab("explode_small").Transform:SetPosition(orm:GetWorldPositi

on())

local pos = Vector3(orm:GetWorldPosition())

GetClock():DoLightningLighting()

GetPlayer().controller:ShakeCamera(inst, "FULL", 0.7,

0.02, .5, 40)

inst:Remove()

end

local function OnExplode(inst, target)

if target and not target:HasTag("smallbird") and not target:HasTag("chester")

then

OnExplodeFn(inst)

:DoDelta(-G_SUPERHUGE*30)

FightStat_TrapSprung(inst,nil,0)

end

end

local function OnDropped(inst)

:Deactivate()

end

local function ondeploy(inst, pt, deployer)

:Reset()

s:Teleport(pt:Get())

end

inst:AddComponent("mine")

:SetRadius(_TEETH_RADIUS*2)

:SetAlignment("player")

:SetOnExplodeFn(OnExplode)

:StartTesting()

inst:AddComponent("deployable")

oy = ondeploy

_spacing = .75

inst:AddComponent("stackable")

e = _SIZE_SMALLITEM

oryitem:SetOnDroppedFn(OnDropped)

即可拿起指南针用鼠标右键部署在空地上,敌人踩上后会爆炸,主角、自养高鸟、狗箱

不会触发。指南针在生存选项(画着绳套)下,用1个黄金、1张纸制造

一六七.死神之光(拿提灯时右键点空地,满屏敌人通杀)

用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function cancreatelight(staff, caster, target, pos)

local fuelpercent = :GetPercent()

if fuelpercent > 0.5 then

return true

else

return false

end

end

local function createlight(staff, target, pos)

local SHAKE_DIST = 40

local player = GetClosestInstWithTag("player", inst, SHAKE_DIST)

if player then

controller:ShakeCamera(inst, "VERTICAL", 1, 0.03, 2,

SHAKE_DIST)

end

inst:DoTaskInTime(0, function()

:DoAreaAttack(inst, 30)

end)

GetClock():DoLightningLighting()

tfuel = 50

end

inst:AddComponent("spellcaster")

aster:SetSpellFn(createlight)

aster:SetSpellTestFn(cancreatelight)

onpoint = true

frominventory = false

inst:AddComponent("combat")

:SetDefaultDamage(3000)

damagepercent = 0

即可拿提灯时右键点空地,满屏敌人通杀。注意提灯燃料超过50%时,才能释放死神之

光,释放后提灯燃料接近耗尽,想再释放需要向提灯中填充荧光果(拿荧光果对装备格中的

提灯按右键),大约3颗即可

一六八.魔之双臂(狼牙棒左键抓来敌人并致死、右键抓地移动主角)

用记事本打开游戏目录文件,将下列内容:

inst:AddComponent("weapon")

:SetDamage(_DAMAGE)

-------

inst:AddComponent("finiteuses")

uses:SetMaxUses(_USES)

uses:SetUses(_USES)

uses:SetOnFinished( onfinished )

替换为:

local function onattack(inst, owner, target)

local pt = owner:GetPosition()

if then

orm:SetPosition(pt.x+1, pt.y, pt.z)

end

inst:DoTaskInTime(0.1, function()

:DoDelta(-3000)

end)

end

inst:AddComponent("weapon")

:SetDamage(0)

:SetRange(20, 25)

:SetOnAttack(onattack)

:SetProjectile("bishop_charge")

inst:AddComponent("blinkstaff")

即可在装备狼牙棒时,对敌人点左键将其抓过来并致死;对空地点右键,抓地移动主角,

使狼牙棒既可杀伤敌人,又可有效闪避。用来抓鸟、兔、火鸡、大象等会逃跑的动物也很实

用哦。狼牙棒靠打沼泽里的触手获得

一六九.致命的毒箭(中吹箭的敌人不知不觉流血至死)

用记事本打开游戏目录文件,在

:SetDamage(_DART_DAMAGE)的下一行插入以下内容:

local function pipeonhit(inst, attacker, target)

:StartRegen(-100, 1)

= nil

ate:SetMultColour(255/255,0/255,0/255,1)

local impactfx = SpawnPrefab("impact")

if impactfx then

local follower = :AddFollower()

follower:FollowSymbol(,

ectsymbol, 0, 0, 0 )

impactfx:FacePoint(Vector3(orm:GetWorldPosition()))

end

ory:Equip(inst)

end

:SetRange(20, 25)

tile:SetOnHitFn(pipeonhit)

即可让中吹箭的敌人变成红色,每秒减100点血直至死亡,被射中的敌人不会反击主角。

吹箭为无限使用,吹出后自动回到手中

一七0.电击枪(用橙色魔杖远程电晕敌人,使其任你宰割)

用记事本打开游戏目录文件,将

kfn = onblink替换为以下内容:

local function onattack_orange(inst, owner, target)

if then

:Stop()

end

if then

:SetTarget(nil)

end

if tor then

tor:Stop()

end

ate:SetMultColour(125/255,125/255,125/255,1)

SpawnPrefab("lightning_rod_fx").Transform:SetPosition(orm:GetWorldP

osition())

end

inst:AddComponent("weapon")

:SetDamage(10)

:SetRange(20, 25)

:SetOnAttack(onattack_orange)

:SetProjectile("bishop_charge")

即可在装备橙色魔杖时,对敌人按鼠标左键将其电晕,其会失去行动能力,任你处置。

对猴子、青蛙等比较讨厌的敌人很适用。橙色魔杖在远古选项(画着远古祭坛)下,用2个

噩梦燃料、1个步行手杖、2个橙色宝石制造,制造时需要靠近远古祭坛

一七一.速射步枪(黄色魔杖左键点射、右键连射蜂刺子弹)

用记事本打开游戏目录文件,将下列内容:

local function yellow()

local inst = commonfn("yellow")

ur = {223/255, 208/255, 69/255}

und = "dontstarve/common/staffteleport"

inst:AddComponent("spellcaster")

aster:SetSpellFn(createlight)

aster:SetSpellTestFn(cancreatelight)

onpoint = true

frominventory = false

inst:AddComponent("reticule")

fn = function()

return Vector3(GetPlayer().entity:LocalToWorldSpace(5,0,0))

end

= true

uses:SetMaxUses(STAFF_USES)

uses:SetUses(STAFF_USES)

inst:AddTag("nopunch")

return inst

end

替换为:

local function yellow()

local inst = commonfn("yellow")

ur = {223/255, 208/255, 69/255}

und = "dontstarve/common/staffteleport"

local function canattack(inst, target)

if GetPlayer().ory:Has("stinger", 1) and

TheInput:IsMouseDown(MOUSEBUTTON_RIGHT) then

:LaunchProjectile(inst, target)

end

if GetPlayer().ory:Has("stinger", 1) then

return true

end

end

local function onattack_yellow(inst, owner, target)

mitter:PlaySound("dontstarve/creatures/eyeballturret/shotexplo")

SpawnPrefab("die_fx").Transform:SetPosition(orm:GetWorldPosition())

TheCamera:Shake("FULL", 0.2, 0.02, .5, 40)

ory:ConsumeByName("stinger", 1)

end

inst:AddComponent("weapon")

:SetDamage(100)

:SetRange(25, 30)

:SetOnAttack(onattack_yellow)

:SetCanAttack(canattack)

:SetProjectile("fire_projectile")

uses:SetMaxUses(STAFF_USES*1000)

uses:SetUses(STAFF_USES*1000)

return inst

end

即可在装备黄色魔杖时,对敌人按鼠标左键点射,按鼠标右键连射,身上没有蜂刺时无

法射击(不要光顾着按住右键扫射,时不时关注一下还有多少子弹)。黄色魔杖在远古选项(画

着远古祭坛)下,用4个噩梦燃料、2个活木头、2个黄色宝石制造,制造时需要靠近远古祭

坛。黄色魔杖原有种小星星功能取消

一七二.反物质制造机(绿魔杖左键点敌人,生成敌人反物质分身自相残杀)

用记事本打开游戏目录文件,在local inst =

commonfn("green")的下一行插入以下内容:

local function onattack_green(inst, owner, target)

local pos = Vector3(orm:GetWorldPosition())

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

for k,v in pairs(ents) do

if and not :IsDead() and not

v:HasTag("player") and not v:HasTag("smallbird") and not v:HasTag("chester") then

local copy = SpawnPrefab()

orm:SetPosition(orm:GetWorldPosition())

ate:SetMultColour(0/255,0/255,0/255,0.5)

if copy:HasTag("monster") then copy:RemoveTag("monster") end

= inst:DoPeriodicTask(.3, function()

= v end)

v:ListenForEvent("death", function()

if not :IsDead() then

copy:Remove()

if then :Cancel() = nil end

end

end)

inst:DoTaskInTime(60, function()

if not :IsDead() then

copy:Remove()

if then :Cancel() = nil end

end

end)

end

end

end

inst:AddComponent("weapon")

:SetDamage(0)

:SetRange(30, 35)

:SetOnAttack(onattack_green)

:SetProjectile("bishop_charge")

即可装备绿魔杖时,按鼠标左键点敌人,生成敌人的反物质分身,与敌人自相残杀。敌

人有多强大,其反物质分身就有多强大,主角只须观战即可,反物质分身不会攻击敌人以外

的目标。反物质分身最多存在60秒,当敌人死去时,反物质分身也将消失。中立的小动物即

使制造了反物质分身,也不会互相攻击

一七三.收妖镜(装备铥矿奖章对敌人按右键,将其收入镜中)

用记事本打开游戏目录datascriptsprefabsnightmare_文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function onequip(inst, owner)

ory:SetOverflow(inst)

ner:Open(owner)

end

local function onunequip(inst, owner)

ory:SetOverflow(nil)

ner:Close(owner)

end

local function itemtest(inst, item, slot)

if item:HasTag("catched") then

return true

end

return false

end

local slotpos = {}

for y = 0, 9 do

(slotpos, Vector3(-162, -y*75 + 170 ,0))

end

local function cancatchmonster(inst, caster, target)

if target then

return tor and and not

:IsDead() and not target:HasTag("smallbird") and not

target:HasTag("chester")

end

return true

end

local function catchmonster(staff, target, pos)

if not ner:IsFull() then

if ble then target:RemoveComponent("stackable") end

if oryitem then

target:RemoveComponent("inventoryitem") end

target:AddComponent("inventoryitem")

ce = true

ickedup = true

oryitem:ChangeImageName("beard_monster")

der = true

target:AddTag("catched")

oryitem:SetOnDroppedFn(function(target)

target:RemoveComponent("inventoryitem")

target:RemoveTag("catched")

if then :Start() end

if then :Start() end

end )

oryitem:SetOnPutInInventoryFn(function(target)

if then :GoToState("idle") end

if mitter then mitter:KillAllSounds() end

end )

ner:GiveItem(target)

end

end

inst:AddComponent("spellcaster")

aster:SetSpellFn(catchmonster)

aster:SetSpellTestFn(cancatchmonster)

ontargets = true

frominventory = false

inst:AddComponent("equippable")

lot =

able:SetOnEquip( onequip )

able:SetOnUnequip( onunequip )

inst:AddComponent("container")

ner:SetNumSlots(#slotpos)

slotpos = slotpos

pos = Vector3(18,50,0)

_widget = true

stfn = itemtest

sstacks = false

即可在装备铥矿奖章时,对敌人按鼠标右键,将敌人收入镜中(画面右边的格子中,显

示为烧焦的兔子),如果想杀死它,就对格子中的敌人按鼠标右键,会获得战利品;如果想释

放它,就拿出敌人放在地上。“收妖镜”的格子全满后,无法再收新的敌人,可以将敌人放在

物品栏或其他背包后再收妖。在存档退出前,请处置(杀掉或释放)全部收来的敌人,否则

读档后,敌人将全部被放出。铥矿奖章在远古选项(画着远古祭坛)下,用2个铥矿石、2

个噩梦燃料制造,制造时需要靠近远古祭坛

一七四.巨人帽(带猪皮帽变巨人,锁血)

用记事本打开游戏目录文件,将下列内容:

local function football()

local inst = simple()

inst:AddComponent("armor")

:InitCondition(_FOOTBALLHAT,

_FOOTBALLHAT_ABSORPTION)

return inst

end

替换为:

local function football_equip(inst, owner)

onequip(inst, owner)

orm:SetScale(3, 3, 3)

:SetInvincible(true)

end

local function football_unequip(inst, owner)

onunequip(inst, owner)

orm:SetScale(1, 1, 1)

:SetInvincible(false)

end

local function football()

local inst = simple()

inst:AddComponent("armor")

:InitCondition(_FOOTBALLHAT,

_FOOTBALLHAT_ABSORPTION)

able:SetOnEquip( football_equip )

able:SetOnUnequip( football_unequip )

return inst

end

即可戴猪皮帽变巨人并锁血,猪皮帽在战斗选项(画着两把剑)下,用1个绳子、1个

猪皮制造,需要2号机器

一七五.防弹背包(装备背包吸收99%伤害值)

1.普通背包作盔甲:用记事本打开游戏目录文件,

在inst:AddComponent("inspectable")的下一行插入以下内容:

inst:AddComponent("armor")

:InitCondition(ARBLE, 0.99)

2.小猪包作盔甲:用记事本打开游戏目录文件,

在inst:AddComponent("inspectable")的下一行插入以下内容:

inst:AddComponent("armor")

:InitCondition(ARBLE, 0.99)

3.坎普斯背包作盔甲:用记事本打开游戏目录

datascriptsprefabskrampus_文件,在inst:AddComponent("inspectable")

的下一行插入以下内容:

inst:AddComponent("armor")

:InitCondition(ARBLE, 0.99)

4.盔甲永固:用记事本打开游戏目录文件,将下

列内容:

function Armor:SetCondition(amount)

ion = amount

替换为:

function Armor:SetCondition(amount)

ion = dition

即可装备背包就拥有盔甲防护作用,且99%吸收伤害值,还无限使用哦

一七六.芦苇吹出催眠曲(在携带的芦苇上按鼠标右键,可催眠怪物)

用记事本打开游戏目录文件,在

inst:AddComponent("inventoryitem")的下一行插入以下内容:

inst:AddTag("flute")

local function HearPanFlute(inst, musician, instrument)

if r then

r:AddSleepiness(10, TE_SLEEPTIME*1)

end

end

inst:AddComponent("tool")

:SetAction()

inst:AddComponent("instrument")

= TE_SLEEPRANGE*2

ment:SetOnHeardFn(HearPanFlute)

即可在携带的芦苇上按鼠标右键,可催眠一片怪物。其中*1为催眠时间20秒,想催眠

60秒就*3即可。其中*2为催眠范围30格,想扩大至60格就*4即可

一七七.隐身背心(穿小巧背心可隐身)

用记事本打开游戏目录文件,将下列内容:

local function onequip(inst, owner)

ate:OverrideSymbol("swap_body", "armor_sweatervest", "swap_body")

:StartConsuming()

end

local function onunequip(inst, owner)

ate:ClearOverrideSymbol("swap_body")

:StopConsuming()

end

替换为:

local function onequip(inst, owner)

ate:OverrideSymbol("swap_body", "armor_sweatervest", "swap_body")

eedmult = _SPEED_MULT*2

owner:Hide()

end

local function onunequip(inst, owner)

ate:ClearOverrideSymbol("swap_body")

owner:Show()

end

即可穿上小巧背心就隐身(地上可见影子),你可以攻击敌人,敌人找不到你,连鸟、兔

子都可以直接攻击哦。小巧背心在穿戴选项(画着礼帽)下,用8个犬牙、6个蛛丝制造

一七八.泡泡糖(吃黄油吹个保护泡泡,21版及以后游戏使用)

用记事本打开游戏目录文件,在

value = ES_MED的下一行插入以下内容:

local function proc(inst, eater)

:SetInvincible(true)

inst:AddTag("forcefield")

local fx = SpawnPrefab("forcefieldfx")

:SetParent()

orm:SetPosition(0, 0.2, 0)

local fx_hitanim = function()

ate:PlayAnimation("hit")

ate:PushAnimation("idle_loop")

end

fx:ListenForEvent("blocked", fx_hitanim, eater)

= true

eater:DoTaskInTime(60, function()

fx:RemoveEventCallback("blocked", fx_hitanim, eater)

_fx(fx)

if inst:IsValid() then

:SetInvincible(false)

inst:RemoveTag("forcefield")

eater:DoTaskInTime(5, function() = false end)

end

end)

end

local function oneaten(inst, eater)

proc(inst, eater)

end

:SetOnEatenFn(oneaten)

即可吃黄油后60秒内身边环绕一个保护泡,敌人无法伤到主角。黄油可以靠杀蝴蝶掉落,

也可以用本修改技巧的“栽种尖刺灌木产黄油”得到

一七九.迷魂花阵(戴花环周围出现食人花眼睛保护主角)

1.用记事本打开游戏目录文件,将下列内容:

inst:AddComponent("perishable")

able:SetPerishTime(_FAST)

able:StartPerishing()

able:SetOnPerishFn(generic_perish)

able:SetOnEquip( opentop_onequip )

替换为:

local function flower_equip(inst, owner)

opentop_onequip(inst, owner)

inst:AddComponent("minionspawner")

type = "eyeplant"

ions = 27

spawntime = {min = 0.01, max = 0.01}

ions = 10

spawn = true

spawner:StartNextSpawn()

end

local function flower_unequip(inst, owner)

onunequip(inst, owner)

spawn = false

spawner:KillAllMinions()

inst:RemoveComponent("minionspawner")

end

able:SetOnEquip( flower_equip )

able:SetOnUnequip( flower_unequip )

2.用记事本打开游戏目录文件,将下列内容:

return (guy:HasTag("character") or guy:HasTag("monster") or

guy:HasTag("animal") or guy:HasTag("prey") or guy:HasTag("eyeplant") or

guy:HasTag("lureplant")) and not checkmaster(guy, inst)

替换为:

return (guy:HasTag("character") or guy:HasTag("monster") or

guy:HasTag("animal") or guy:HasTag("prey") or guy:HasTag("eyeplant") or

guy:HasTag("lureplant")) and not guy:HasTag("player") and not checkmaster(guy,

inst)

即可戴花环周围出现食人花眼睛保护主角,食人花眼睛被敌人打死一个又会再生一个。

摘下花环,食人花眼睛立即消失

一八0.家园防御系统(暗夜照明灯自动向靠近的敌人发射炮弹)

用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function onattack(inst)

local range = 30

local pos = Vector3(orm:GetWorldPosition())

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

for k,v in pairs(ents) do

if and not :IsDead() and not

v:HasTag("player") and not v:HasTag("smallbird") and not v:HasTag("chester") and not

v:HasTag("wall") and not v:HasTag("smallcreature") then

:LaunchProjectile(inst, v)

:DoDelta(-5000)

mitter:PlaySound("dontstarve/creatures/eyeballturret/shotexplo")

SpawnPrefab("collapse_small").Transform:SetPosition(orm:GetWorldPosition

())

SpawnPrefab("explode_small").Transform:SetPosition(orm:GetWorldPosition(

))

GetPlayer().controller:ShakeCamera(inst, "FULL", 0.7,

0.02, .5, 40)

:InitializeFuelLevel(1000)

end

end

return true

end

local function turnon(inst)

= true

= inst:DoPeriodicTask(.5, function() onattack(inst) end)

le:IsBurning()

:InitializeFuelLevel(1000)

end

local function turnoff(inst)

= false

if then :Cancel() = nil end

le:Extinguish()

:InitializeFuelLevel(0)

end

inst:AddComponent("machine")

fn = turnon

ffn = turnoff

inst:AddComponent("weapon")

:SetDamage(0)

:SetProjectile("eye_charge")

即可对暗夜照明灯按鼠标右键开启家园防御系统,自动向靠近的敌人发射炮弹,再按鼠

标右键关闭。建在基地附近,无惧任何敌人。暗影照明灯在魔法选项(画着红骷髅)下,用

8个黄金、2个噩梦燃料、1个红宝石建造

一八一.音浪太强(戴兔耳罩周围形成音浪,敌人被弹开)

用记事本打开游戏目录文件,将下列内容:

local function earmuffs()

local inst = simple()

inst:AddComponent("insulator")

tion = TION_SMALL

able:SetOnEquip( opentop_onequip )

inst:AddComponent("fueled")

pe = "USAGE"

:InitializeFuelLevel(F_PERISHTIME)

:SetDepletedFn(generic_perish)

ate:SetRayTestOnBB(true)

return inst

end

替换为:

local colours=

{

{198/255,43/255,43/255},

{79/255,153/255,68/255},

{35/255,105/255,235/255},

{233/255,208/255,69/255},

{109/255,50/255,163/255},

{222/255,126/255,39/255},

}

local function pickup(inst, owner)

_idx = (#colours)

local light = :AddLight()

light:SetIntensity(.8)

light:SetRadius(3)

light:SetFalloff(1)

light:Enable(true)

light:SetColour(colours[_idx][1],colours[_idx][2],colours[

_idx][3])

local pt = Vector3(orm:GetWorldPosition())

local result_offset = FindValidPositionByFan(()*2*PI, 10, 75,

function(offset)

local x,y,z = (pt + offset):Get()

local ents = TheSim:FindEntities(x,y,z , 1)

return not next(ents)

end)

local ents2 = TheSim:FindEntities(pt.x,pt.y,pt.z, 8)

for k,v in pairs(ents2) do

if and not :IsDead() and not

v:HasTag("player") and not v:HasTag("smallbird") and not v:HasTag("chester") and not

v:HasTag("wall") and not v:HasTag("structure") then

orm:SetPosition((pt + result_offset):Get())

end

end

end

local function earmuffs_onequip(inst, owner)

= inst:DoPeriodicTask(.033, function() pickup(inst, owner) end)

GetPlayer().SoundEmitter:PlaySound("dontstarve/music/music_hoedown",

"beavermusic")

opentop_onequip(inst, owner)

end

local function earmuffs_onunequip(inst, owner)

if then :Cancel() = nil end

GetPlayer().SoundEmitter:KillSound("beavermusic")

onunequip(inst, owner)

:Enable(false)

end

local function earmuffs()

local inst = simple()

inst:AddComponent("insulator")

tion = TION_SMALL

able:SetOnEquip( earmuffs_onequip )

able:SetOnUnequip( earmuffs_onunequip )

ate:SetRayTestOnBB(true)

return inst

end

即可在戴兔耳罩时,周围形成音浪,敌人靠近会被弹开,拆杀人蜂窝、偷高鸟蛋毫发无

伤。兔耳罩在穿戴选项(画着礼帽)下,用2个兔子、1个树枝制造

一八二.智能围墙(按F11键造一圈大理石围墙,点围墙可开门,5秒自动关门,夜晚启动照

明)

1.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function GetStatus(inst, viewer)

local pt = inst:GetPosition()

inst:Remove()

inst:DoTaskInTime(5, function()

SpawnPrefab("marblepillar").Transform:SetPosition(pt.x, pt.y, pt.z)

mitter:PlaySound("dontstarve/characters/wx78/levelup")

end)

end

local function LightsOn(inst)

:Enable(true)

end

local function LightsOff(inst)

:Enable(false)

end

local light = :AddLight()

light:SetFalloff(1)

light:SetIntensity(.8)

light:SetRadius(10)

light:Enable(false)

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

tus = GetStatus

inst:ListenForEvent( "daytime", function() LightsOff(inst) end, GetWorld())

inst:ListenForEvent( "dusktime", function() LightsOn(inst) end, GetWorld())

2.用记事本打开游戏目录datascriptsprefabsplayer_文件,在

inst:AddComponent("playercontroller")的下一行插入以下内容:

TheInput:AddKeyUpHandler(KEY_F11, function()

local player = GetPlayer()

local pt = Vector3(orm:GetWorldPosition())

for k = 1, 75 do

local theta = 1 * 2 * PI

local radius = 18

local result_offset = FindValidPositionByFan(theta, radius, 75,

function(offset)

local x,y,z = (pt + offset):Get()

local ents = TheSim:FindEntities(x,y,z , 1)

return not next(ents)

end)

if result_offset then

local tentacle = SpawnPrefab("marblepillar")

orm:SetPosition((pt + result_offset):Get())

GetPlayer().controller:ShakeCamera(inst, "FULL",

0.2, 0.02, .25, 40)

end

mitter:PlaySound("dontstarve/characters/wx78/levelup")

end

end)

TheInput:AddKeyUpHandler(KEY_F12, function()

local player = GetPlayer()

local range = 30

local pos = Vector3(orm:GetWorldPosition())

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

for k,v in pairs(ents) do

if == "marblepillar" then

v:Remove()

end

end

mitter:PlaySound("dontstarve/characters/wx78/levelup")

end)

即可在开阔的空地上按键盘F11键,建造一圈大理石围墙,按F12键可消去。对围墙按

鼠标左键可开门,5秒后自动关门,夜晚自动启动照明系统,用作自宅围墙或圈养动物都适

宜。注意不要拿着镐点围墙,除非你想获得大理石

一八三.高压电避难所(按加号键筑一圈带高压电的玄武岩墙,按减号键消失)

1.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function OnExplode(inst, target)

if target and not target:HasTag("smallbird") and not target:HasTag("chester")

then

SpawnPrefab("lightning_rod_fx").Transform:SetPosition(orm:GetWorldPos

ition())

SpawnPrefab("lightning_rod_fx").Transform:SetPosition(orm:GetWorldP

osition())

mitter:PlaySound("dontstarve/common/lightningrod")

:DoDelta(-3000)

end

inst:DoTaskInTime(.1, function() :Reset() end )

end

inst:AddComponent("mine")

:SetRadius(4)

:SetAlignment("player")

:SetOnExplodeFn(OnExplode)

:Reset()

2.用记事本打开游戏目录datascriptsprefabsplayer_文件,在

inst:AddComponent("catcher")的下一行插入以下内容:

TheInput:AddKeyUpHandler(KEY_KP_PLUS, function()

local player = GetPlayer()

local pt = Vector3(orm:GetWorldPosition())

for k = 1, 50 do

local theta = 1 * 2 * PI

local radius = 8

local result_offset = FindValidPositionByFan(theta, radius, 50,

function(offset)

local x,y,z = (pt + offset):Get()

local ents = TheSim:FindEntities(x,y,z , 1)

return not next(ents)

end)

if result_offset then

local tentacle = SpawnPrefab("basalt_pillar")

orm:SetPosition((pt + result_offset):Get())

GetPlayer().controller:ShakeCamera(inst, "FULL",

0.2, 0.02, .25, 40)

local fx = SpawnPrefab("lightning_rod_fx")

local pos = pt + result_offset

orm:SetPosition(pos.x, pos.y, pos.z)

end

mitter:PlaySound("dontstarve/common/lightningrod")

end

end)

TheInput:AddKeyUpHandler(KEY_KP_MINUS, function()

local player = GetPlayer()

local range = 15

local pos = Vector3(orm:GetWorldPosition())

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

for k,v in pairs(ents) do

if == "basalt_pillar" then

SpawnPrefab("lightning_rod_fx").Transform:SetPosition(orm:GetWorldPositi

on())

v:Remove()

end

end

mitter:PlaySound("dontstarve/common/lightningrod")

end)

即可按小键盘加号键,在主角周围筑起一圈带高压电的玄武岩墙,怪物靠近会被电死,

按小键盘减号键自动消失。注意不要离怪物太近时按加号键,会把怪物也圈进来或使墙有缺

口。如果使用橙色魔杖或“瑞士手杖”(见本修改技巧),就可以自由出入各个避难所,把家

具、农田放在里面,再也不怕狗和巨鹿了

一八四.近卫军(主角受攻击自动出现机械护卫,不要与“菩萨低眉”一同修改,20版及以

后游戏使用)

用记事本打开游戏目录datascriptsprefabsplayer_文件,在

orm:SetFourFaced()的下一行插入以下内容:

local function OnAttacked(inst, data)

local spawn = ""

if ()<.1 then

spawn = "rook_nightmare"

elseif ()<.5 then

spawn = "bishop_nightmare"

else

spawn = "knight_nightmare"

end

SpawnAt("maxwell_smoke",inst)

local it = SpawnAt(spawn,inst)

if er then

er:SetLeader(GetPlayer())

end

end

inst:ListenForEvent("attacked", OnAttacked)

即可在主角受到攻击时,自动产生机械兵(共三种)保护主角。如果主角强制攻击(按

Ctrl + 鼠标左键)其中一个机械兵,则其他机械兵会帮主角清理门户

一八五.火炬召唤亡灵(阿比盖尔)

用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function cancreatelight(staff, caster, target, pos)

local ground = GetWorld()

if ground and pos then

local tile = :GetTileAtPoint(pos.x, pos.y, pos.z)

return tile ~= IBLE and tile < ROUND

end

return false

end

local function createlight(staff, target, pos)

local light = SpawnPrefab("abigail")

orm:SetPosition(pos.x, pos.y, pos.z)

local caster =

end

inst:AddComponent("spellcaster")

aster:SetSpellFn(createlight)

aster:SetSpellTestFn(cancreatelight)

onpoint = true

frominventory = false

即可在装备火炬时,在空地上按鼠标右键召唤亡灵,亡灵会保护你。想取消亡灵,召唤

两个以上(一个追不上它),对其中一个按ctrl + 鼠标左键,即可取消全部亡灵

一八六.毒龙兵团(装备暗影剑召唤坎普斯士兵)

1.用记事本打开游戏目录文件,将下列内容:

inst:AddComponent("dapperness")

ness = ESS_MED,

替换为:

local function cancreatelight(staff, caster, target, pos)

local ground = GetWorld()

if ground and pos then

local tile = :GetTileAtPoint(pos.x, pos.y, pos.z)

return tile ~= IBLE and tile < ROUND

end

return false

end

local function createlight(staff, target, pos)

local light = SpawnPrefab("krampus")

orm:SetPosition(pos.x, pos.y, pos.z)

local caster =

end

inst:AddComponent("spellcaster")

aster:SetSpellFn(createlight)

aster:SetSpellTestFn(cancreatelight)

onpoint = true

frominventory = false

2.用记事本打开游戏目录文件,将下列内容:

local function OnAttacked(inst, data)

:SetTarget(er)

--:ShareTarget(er, SEE_DIST, function(dude)

return dude:HasTag("hound") and not :IsDead() end, 5)

end

替换为:

local function Retarget(inst)

local newtarget = FindEntity(inst, 20, function(guy)

return and

:CanTarget(guy) and

( == GetPlayer() or

GetPlayer(). == guy)

end)

return newtarget

end

local function OnAttacked(inst, data)

local attacker = er

if attacker and attacker:HasTag("player") then

:SetVal(0)

else

:SetTarget(attacker)

end

end

3.将local brain = require "brains/krampusbrain"替换为local brain = require

"brains/abigailbrain"

4.将下列内容:

inst:AddComponent("sleeper")

inst:AddComponent("health")

:SetMaxHealth(S_HEALTH)

inst:AddComponent("combat")

ectsymbol = "krampus_torso"

:SetDefaultDamage(S_DAMAGE)

:SetAttackPeriod(S_ATTACK_PERIOD)

替换为:

inst:AddComponent("health")

:SetMaxHealth(S_HEALTH*10)

inst:AddComponent("follower")

inst:AddComponent("combat")

ectsymbol = "krampus_torso"

:SetDefaultDamage(S_DAMAGE*10)

:SetAttackPeriod(S_ATTACK_PERIOD*.1)

:SetRetargetFunction(3, Retarget)

ate:Hide("SACK")

ate:Show("ARM")

即可装备暗影剑时,在空地上按鼠标右键召唤坎普斯士兵。坎普斯经过了深度改造,不

会偷东西,只会为主角浴血奋战。不想要坎普斯跟随时,杀死它即可,它虽然强悍,但主角

对它一击毙命

一八七.我的小伙伴(用火炬召唤其他主角一起工作战斗,89685版及以后游戏使用)

1.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function cancreatelight(staff, caster, target, pos)

local ground = GetWorld()

if ground and pos then

local tile = :GetTileAtPoint(pos.x, pos.y, pos.z)

return tile ~= IBLE and tile < ROUND

end

return false

end

local function createlight(staff, target, pos)

local light = SpawnPrefab("shadowwaxwell")

orm:SetPosition(pos.x, pos.y, pos.z)

local caster =

er:SetLeader(caster)

end

inst:AddComponent("spellcaster")

aster:SetSpellFn(createlight)

aster:SetSpellTestFn(cancreatelight)

onpoint = true

frominventory = false

2.用记事本打开游戏目录文件,将下列内

容:

anim:SetBuild("waxwell_shadow_mod")

anim:PlayAnimation("idle")

anim:Hide("ARM_carry")

anim:Hide("hat")

anim:Hide("hat_hair")

inst:AddTag("scarytoprey")

inst:AddTag("NOCLICK")

inst:AddComponent("colourtweener")

tweener:StartTween({0,0,0,.5}, 0)

inst:AddComponent("locomotor")

tor:SetSlowMultiplier( 0.6 )

ps = { ignorecreep = true }

ed = WAXWELL_SPEED

inst:AddComponent("combat")

ectsymbol = "torso"

-- :SetRetargetFunction(1, Retarget)

:SetKeepTargetFunction(KeepTarget)

:SetAttackPeriod(WAXWELL_ATTACK_PERIOD)

:SetRange(2, 3)

:SetDefaultDamage(WAXWELL_DAMAGE)

inst:AddComponent("health")

:SetMaxHealth(WAXWELL_LIFE)

out = true

inst:ListenForEvent("death", ondeath)

inst:AddComponent("inventory")

death = false

inst:AddComponent("sanityaura")

y = WAXWELL_SANITY_PENALTY

替换为:

local names =

{"wilson","wendy","wes","wickerbottom","willow","wolfgang","wx78"}

me = names[(#names)]

anim:SetBuild(me)

anim:PlayAnimation("idle")

anim:Hide("ARM_carry")

anim:Hide("hat")

anim:Hide("hat_hair")

inst:AddComponent("locomotor")

ps = { ignorecreep = true }

ed = WAXWELL_SPEED*2

inst:AddComponent("combat")

ectsymbol = "torso"

:SetKeepTargetFunction(KeepTarget)

:SetAttackPeriod(WAXWELL_ATTACK_PERIOD*.1)

:SetRange(2, 3)

:SetDefaultDamage(WAXWELL_DAMAGE*10)

inst:AddComponent("health")

:SetMaxHealth(WAXWELL_LIFE*10)

out = true

inst:AddComponent("inventory")

death = false

即可装备火炬在空地上点鼠标右键,随机召唤其他主角,一起砍树、开矿、战斗。不想

要伙伴时,对其按Ctrl + 鼠标左键杀掉即可,不杀掉几天后其也会自然死去,想要就再召

唤吧。不要与“火炬召唤亡灵”一同修改,使用麦斯威尔作主角时不要修改本条

一八八.宠物双子星(用齿轮种宠物狗,用海象牙种宠物海狸)

1.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function OnDeploy (inst, pt)

local dog = SpawnPrefab("teenbird")

orm:SetPosition(pt.x, pt.y, pt.z)

ate:SetBank("hound")

ate:SetBuild("hound_ice")

dog:SetStateGraph("SGhound")

er:SetLeader(GetPlayer())

orm:SetScale(0.6, 0.6, 0.6)

dog:AddTag("dogs")

:SetMaxHealth(10000)

ed = 20

dog:RemoveComponent("growable")

ble:Get():Remove()

end

inst:AddComponent("deployable")

oy = OnDeploy

2.用记事本打开游戏目录datascriptsprefabswalrus_文件,

inst:AddComponent("inspectable")的下一行插入以下内容:

local function OnDeploy (inst, pt)

local beaver = SpawnPrefab("teenbird")

orm:SetPosition(pt.x, pt.y, pt.z)

ate:SetBank("werebeaver")

ate:SetBuild("werebeaver_build")

beaver:SetStateGraph("SGwerebeaver")

er:SetLeader(GetPlayer())

orm:SetScale(0.6, 0.6, 0.6)

beaver:AddTag("beavers")

:SetVegetarian()

:SetMaxHealth(10000)

ed = 20

beaver:RemoveComponent("growable")

ble:Get():Remove()

end

inst:AddComponent("deployable")

oy = OnDeploy

3.用记事本打开游戏目录文件,在

--Asset("SOUND", "sound/"),的下一行插入以下内容:

Asset("ANIM", "anim/werebeaver_"),

Asset("ANIM", "anim/werebeaver_"),

4.在inst:AddTag("teenbird")的下一行插入以下内容:

local function onsave(inst, data)

if inst:HasTag("dogs") then

= true

end

if inst:HasTag("beavers") then

s = true

end

end

local function onload(inst, data)

if then

ate:SetBank("hound")

ate:SetBuild("hound_ice")

inst:SetStateGraph("SGhound")

er:SetLeader(GetPlayer())

orm:SetScale(0.6, 0.6, 0.6)

:SetMaxHealth(10000)

ed = 20

inst:RemoveComponent("growable")

inst:AddTag("dogs")

end

if s then

ate:SetBank("werebeaver")

ate:SetBuild("werebeaver_build")

inst:SetStateGraph("SGwerebeaver")

er:SetLeader(GetPlayer())

orm:SetScale(0.6, 0.6, 0.6)

:SetMaxHealth(10000)

:SetVegetarian()

ed = 20

inst:RemoveComponent("growable")

inst:AddTag("beavers")

end

end

= onsave

= onload

即可用齿轮种宠物狗,用海象牙种宠物海狸,它们可以陪伴你,帮你打怪,是活力十足

的小淘气。宠物需要喂食,不然会咬你(轻轻的),宠物狗喜欢吃肉,宠物海狸喜欢吃蔬菜,

通过喂食可以为它们补血。最好在家的角落里扔一些食物,让它们随饿随吃

一八九.人工女友(骨眼召唤女友,可背东西、做饭、换衣帽,89685版及以后游戏使用)

用记事本打开游戏目录文件

1.将下列内容:

ate:SetBank("chester")

ate:SetBuild("chester")

替换为:

ate:SetBank("wilson")

ate:SetBuild("wendy")

ate:Hide("ARM_carry")

ate:Show("ARM_normal")

2.将下列内容:

--print(" sleeper")

inst:AddComponent("sleeper")

r:SetResistance(3)

riod = GetRandomWithVariance(6, 2)

r:SetSleepTest(ShouldSleep)

r:SetWakeTest(ShouldWakeUp)

--print(" sg")

inst:SetStateGraph("SGchester")

:GoToState("idle")

替换为:

inst:SetStateGraph("SGshadowwaxwell")

:GoToState("idle")

inst:AddTag("fridge")

inst:DoPeriodicTask(400, function()

local names = {"waffles","turkeydinner","baconeggs"}

local name = names[(#names)]

local foods = SpawnPrefab(name)

ner:GiveItem(foods)

mitter:PlaySound("dontstarve/HUD/research_available")

end)

local function turnon(inst)

local hats =

{"hat_flower","hat_earmuffs","hat_feather","hat_slurper","hat_spider","hat_straw

","hat_top","hat_walrus","hat_winter","hat_beefalo"}

= hats[(#hats)]

local armors =

{"armor_sweatervest","armor_trunkvest_summer","armor_trunkvest_winter","armor_sa

nity","armor_slurper"}

= armors[(#armors)]

= true

:GoToState("hit")

ate:OverrideSymbol("swap_hat", , "swap_hat")

ate:OverrideSymbol("swap_body", , "swap_body")

ate:Show("HAT")

ate:Show("HAT_HAIR")

ate:Hide("HAIR_NOHAT")

ate:Hide("HAIR")

end

local function turnoff(inst)

= false

:GoToState("stunned")

ate:Hide("HAT")

ate:Hide("HAT_HAIR")

ate:Show("HAIR_NOHAT")

ate:Show("HAIR")

ate:ClearOverrideSymbol("swap_body")

mitter:PlaySound("dontstarve/characters/wendy/hurt")

end

inst:AddComponent("machine")

fn = turnon

ffn = turnoff

inst:AddComponent("sanityaura")

= AURA_HUGE

inst:AddComponent("heater")

= 180

即可在地图上找到骨眼后,获得人工女友(温蒂),除了帮你拿东西外(可以冷藏),每

天还将为你做一份料理(鼠标左键点她,在格子里拿取)。用鼠标右键点女友,可以为她换衣

服、帽子,再次点右键脱下衣帽。与她紧紧依偎可以获得温暖(不会冻伤),并补充脑值(不

再孤独了)。携带骨眼则女友跟随,放下骨眼则女友原地等待,一旦女友牺牲了,将骨眼扔在

地上,几天后会再相聚。如果将其中ate:SetBuild("wendy")替换为

ate:SetBuild("willow"),则将女友设定为薇洛。原有切斯特狗箱取消

一九0.养育孩子(主角逝去则孩子接班,一代一代生存下去,89685版及以后游戏使用)

1.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function getson (inst)

TheFrontEnd:Fade(false,1)

GetPlayer():DoTaskInTime(1.5, function()

TheFrontEnd:Fade(true,1)

local pt = GetPlayer():GetPosition()

local son = SpawnPrefab("resurrectionstatue")

orm:SetPosition(pt.x, pt.y, pt.z)

ate:SetBank("wilson")

if GetPlayer().prefab == "wilson" then ate:SetBuild("wilson") end

if GetPlayer().prefab == "wendy" then ate:SetBuild("wendy") end

if GetPlayer().prefab == "wes" then ate:SetBuild("wes") end

if GetPlayer().prefab == "wickerbottom" then

ate:SetBuild("wickerbottom") end

if GetPlayer().prefab == "willow" then ate:SetBuild("willow") end

if GetPlayer().prefab == "wolfgang" then

ate:SetBuild("wolfgang_skinny") end

if GetPlayer().prefab == "wx78" then ate:SetBuild("wx78") end

if GetPlayer().prefab == "woodie" then ate:SetBuild("woodie") end

if GetPlayer().prefab == "waxwell" then ate:SetBuild("waxwell") end

local hats =

{"hat_beefalo","hat_feather","hat_flower","hat_top","hat_walrus","hat_winter"}

local hat = hats[(#hats)]

ate:OverrideSymbol("swap_hat", hat, "swap_hat")

local armors =

{"armor_sanity","armor_slurper","armor_sweatervest","armor_trunkvest_summer","ar

mor_trunkvest_winter"}

local armor = armors[(#armors)]

ate:OverrideSymbol("swap_body", armor, "swap_body")

ate:Show("HAT")

ate:Show("HAT_HAIR")

ate:Hide("HAIR_NOHAT")

ate:Hide("HAIR")

ate:Hide("ARM_carry")

ate:Show("ARM_normal")

ate:PlayAnimation("idle")

ate:Hide("snow")

orm:SetFourFaced()

orm:SetScale(0.8,0.8,0.8)

son:AddComponent("combat")

ectsymbol = "torso"

:SetRetargetFunction(3, function(son)

if not :IsDead() then

return FindEntity(son, 20, function(guy)

if and not :IsDead()

then

return == GetPlayer() or

GetPlayer(). == guy

end

end)

end

end )

:SetKeepTargetFunction(function(son, target) return

target and target:IsValid() end )

:SetAttackPeriod(1)

:SetRange(2, 3)

:SetDefaultDamage(10)

son:AddComponent("health")

:SetMaxHealth(1000)

out = true

son:AddComponent("inventory")

death = false

son:AddComponent("locomotor")

ps = { ignorecreep = true }

ed = 12

local brain = require"brains/shadowwaxwellbrain"

son:SetBrain(brain)

son:SetStateGraph("SGshadowwaxwell")

son:RemoveComponent("lootdropper")

son:RemoveComponent("workable")

MakeCharacterPhysics(son, 75, .5)

son:RemoveTag("structure")

son:AddComponent("follower")

= GetPlayer()

son:AddComponent("trader")

:SetAcceptTest(function(son, item)

if GetPlayer().ory:Has("goldnugget", 5) then

if == "goldnugget" and and not

:IsDead() then

return :GetPercent() < .99

end

end

return false

end )

pt = function(son, giver, item)

GetPlayer().ory:ConsumeByName("goldnugget", 4)

:DoDelta(1000)

end

son:AddComponent("machine")

fn = function() tor:Stop()

:Stop() end

ffn = function() :Start() end

son:ListenForEvent("death", function()

GetPlayer().:DoDelta(-100)

SpawnPrefab("trinket_1").Transform:SetPosition(orm:GetWorldPosition())

end )

son:AddTag("companion")

son:AddTag("sons")

inst:Remove()

end )

end

local function OnDeploy (inst, pt)

if GetPlayer().ory:Has("goldnugget", 100) then

GetPlayer().ory:ConsumeByName("goldnugget", 100)

local egg1 = SpawnPrefab("minotaurhorn")

ate:SetBuild("tallbird_egg")

ate:SetBank("egg")

ate:PlayAnimation("egg")

orm:SetPosition(pt.x+2+3, pt.y, pt.z+2-3)

ate:SetMultColour(0/255,255/255,0/255,1)

orm:SetScale(1.5,1.5,1.5)

egg1:AddComponent("health")

:SetMaxHealth(1)

egg1:AddComponent("combat")

egg1:RemoveComponent("edible")

ickedup = false

local egg2 = SpawnPrefab("minotaurhorn")

ate:SetBuild("tallbird_egg")

ate:SetBank("egg")

ate:PlayAnimation("egg")

orm:SetPosition(pt.x+2-3, pt.y, pt.z+2+3)

ate:SetMultColour(0/255,255/255,0/255,1)

orm:SetScale(1.5,1.5,1.5)

egg2:AddComponent("health")

:SetMaxHealth(1)

egg2:AddComponent("combat")

egg2:RemoveComponent("edible")

ickedup = false

egg1:ListenForEvent("death", function() ate:PlayAnimation("crack")

egg2:Remove()

if ()<.5 then

local pt = GetPlayer():GetPosition()

GetSeasonManager():DoLightningStrike(pt)

inst:DoTaskInTime(1, function() getson(inst) end )

else

SpawnPrefab("collapse_small").Transform:SetPosition(orm:GetWorldPosit

ion())

GetPlayer().SoundEmitter:PlaySound("dontstarve/creatures/eyeballturret/shotexplo

")

end

end )

egg2:ListenForEvent("death", function() ate:PlayAnimation("crack")

egg1:Remove()

if ()<.5 then

local pt = GetPlayer():GetPosition()

GetSeasonManager():DoLightningStrike(pt)

inst:DoTaskInTime(2, function() getson(inst) end )

else

SpawnPrefab("collapse_small").Transform:SetPosition(orm:GetWorldPosit

ion())

GetPlayer().SoundEmitter:PlaySound("dontstarve/creatures/eyeballturret/shotexplo

")

end

end )

end

end

inst:AddComponent("deployable")

oy = OnDeploy

2.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local items = { AXE = "swap_axe", PICK = "swap_pickaxe", SWORD = "swap_spear" }

local function EquipItem(inst, item)

if item then

ate:OverrideSymbol("swap_object", item, item)

ate:Show("ARM_carry")

ate:Hide("ARM_normal")

end

end

= items

n = EquipItem

EquipItem(inst)

local function onsave(inst, data)

if inst:HasTag("sons") then

= true

end

end

local function onload(inst, data)

if data and then

ate:SetBank("wilson")

if GetPlayer().prefab == "wilson" then ate:SetBuild("wilson") end

if GetPlayer().prefab == "wendy" then ate:SetBuild("wendy") end

if GetPlayer().prefab == "wes" then ate:SetBuild("wes") end

if GetPlayer().prefab == "wickerbottom" then

ate:SetBuild("wickerbottom") end

if GetPlayer().prefab == "willow" then ate:SetBuild("willow") end

if GetPlayer().prefab == "wolfgang" then

ate:SetBuild("wolfgang_skinny") end

if GetPlayer().prefab == "wx78" then ate:SetBuild("wx78") end

if GetPlayer().prefab == "woodie" then ate:SetBuild("woodie") end

if GetPlayer().prefab == "waxwell" then ate:SetBuild("waxwell") end

local hats =

{"hat_beefalo","hat_feather","hat_flower","hat_top","hat_walrus","hat_winter"}

local hat = hats[(#hats)]

ate:OverrideSymbol("swap_hat", hat, "swap_hat")

local armors =

{"armor_sanity","armor_slurper","armor_sweatervest","armor_trunkvest_summer","ar

mor_trunkvest_winter"}

local armor = armors[(#armors)]

ate:OverrideSymbol("swap_body", armor, "swap_body")

ate:Show("HAT")

ate:Show("HAT_HAIR")

ate:Hide("HAIR_NOHAT")

ate:Hide("HAIR")

ate:Hide("ARM_carry")

ate:Show("ARM_normal")

ate:PlayAnimation("idle")

ate:Hide("snow")

orm:SetFourFaced()

orm:SetScale(0.8,0.8,0.8)

inst:AddComponent("combat")

ectsymbol = "torso"

:SetRetargetFunction(3, function(inst)

if not :IsDead() then

return FindEntity(inst, 20, function(guy)

if and not :IsDead()

then

return == GetPlayer() or

GetPlayer(). == guy

end

end)

end

end )

:SetKeepTargetFunction(function(inst, target) return

target and target:IsValid() end )

:SetAttackPeriod(1)

:SetRange(2, 3)

:SetDefaultDamage(10)

inst:AddComponent("health")

:SetMaxHealth(1000)

out = true

inst:AddComponent("inventory")

death = false

inst:AddComponent("locomotor")

ps = { ignorecreep = true }

ed = 12

local brain = require"brains/shadowwaxwellbrain"

inst:SetBrain(brain)

inst:SetStateGraph("SGshadowwaxwell")

inst:RemoveComponent("lootdropper")

inst:RemoveComponent("workable")

MakeCharacterPhysics(inst, 75, .5)

inst:RemoveTag("structure")

inst:AddComponent("follower")

= GetPlayer()

inst:AddComponent("trader")

:SetAcceptTest(function(inst, item)

if GetPlayer().ory:Has("goldnugget", 5) then

if == "goldnugget" and and not

:IsDead() then

return :GetPercent() < .99

end

end

return false

end )

pt = function(inst, giver, item)

GetPlayer().ory:ConsumeByName("goldnugget", 4)

:DoDelta(1000)

end

inst:AddComponent("machine")

fn = function() tor:Stop()

:Stop() end

ffn = function() :Start() end

inst:ListenForEvent("death", function()

GetPlayer().:DoDelta(-100)

SpawnPrefab("trinket_1").Transform:SetPosition(orm:GetWorldPosition()

)

end )

inst:AddTag("companion")

inst:AddTag("sons")

end

end

= onsave

= onload

即可在你攒够100个黄金时,将远古守护者角种在地上,向上天求子,会赐予你2个蛋

(身上黄金数不足时,只收走远古守护者角,不给蛋),选一个打破,如果中了(屏幕黑一下),

就会获得孩子,如果没中(生一团烟),就只能下次再试了。使用不同主角,将获得不同的孩

子,可以带着他打仗、砍树、开矿。如果你死了,他将长大成人,继承你的事业,一代一代

在饥荒世界里生存下去。如果他不幸夭折了,对你而言无疑是晴天霹雳(减100点脑),他将

为你留下一件小小的遗物,让你永远不要忘记他。当遇到危险时,可以对他点鼠标右键,让

他停留在原地,等危险排除了,再对他按右键,即可继续跟随。可以通过给零花钱为他补血

(拿着黄金对他点鼠标左键),一次5个黄金,身上黄金数不足或孩子满血时拒收。注意未成

年人是不会跟着你下地洞的,把他安顿好后再去刷怪吧

一九一.斗牛场(对大理石树按鼠标右键出10头牛攻击主角)

1.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function OnDeploy (inst, pt)

local marbletree = SpawnPrefab("marbletree")

if marbletree then

marbletree:PushEvent("growfromgoldnugget")

orm:SetPosition(pt.x, pt.y, pt.z)

ble:Get():Remove()

end

end

inst:AddComponent("deployable")

oy = OnDeploy

inst:AddComponent("stackable")

e = _SIZE_SMALLITEM

2.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function Spawnchild(inst)

inst:AddComponent("childspawner")

pawner:SetMaxChildren(10)

SpawnPrefab("collapse_small").Transform:SetPosition(orm:GetWorldPosit

ion())

local player = GetPlayer()

inst:DoTaskInTime(5, function()

pawner:ReleaseAllChildren(player, "beefalo")

end)

end

local function turnon(inst)

= true

Spawnchild(inst)

end

local function turnoff(inst)

= false

Spawnchild(inst)

end

inst:AddComponent("machine")

fn = turnon

ffn = turnoff

即可种牛角得大理石树,用鼠标右键点击大理石树,5秒后冲出10头牛攻击主角。将其

中的beefalo(牛)替换为其他怪物,会更恐怖哦,充分满足喜欢自虐的同学们

一九二.鱼人入侵(每个傍晚都可能遭到众多鱼人的伏击)

用记事本打开游戏目录文件,在

inst:AddComponent("frograin")的下一行插入以下内容:

local function OnNight(inst)

local player = GetPlayer()

local pt = Vector3(orm:GetWorldPosition())

local nummerms = (15)

local ground = GetWorld()

if ()< .2 then

for k = 1, nummerms do

local theta = 1 * 2 * PI

local radius = 12

local result_offset = FindValidPositionByFan(theta, radius, nummerms,

function(offset)

local x,y,z = (pt + offset):Get()

local ents = TheSim:FindEntities(x,y,z , 1)

return not next(ents)

end)

if result_offset and :GetTileAtPoint((pt +

result_offset):Get()) ~= ABLE then

local merm = SpawnPrefab("merm")

orm:SetPosition((pt + result_offset):Get())

= player

GetPlayer().controller:ShakeCamera(inst, "FULL",

0.2, 0.02, .25, 40)

local fx = SpawnPrefab("collapse_small")

local pos = pt + result_offset

orm:SetPosition(pos.x, pos.y, pos.z)

end

end

end

end

inst:ListenForEvent( "dusktime", function() OnNight( inst ) end, GetWorld())

即可让主角在地面时,每天傍晚都有一定概率遭到众多鱼人(数字随机)的伏击。建议

鱼人人数少时就和它们拼了,人数多时就跑,它们会暂时占据这个地区,等到白天它们睡着

时再各个击破

一九三.宝物猎人(地面每天出宝贝,限时寻宝赢奖金)

用记事本打开游戏目录文件,在

inst:AddComponent("hunter")的下一行插入以下内容:

local function OnDay(inst)

local names =

{"trinket_1","trinket_2","trinket_3","trinket_4","trinket_5","trinket_6","trinke

t_7","trinket_8","trinket_9","trinket_10","trinket_11","trinket_12"}

= names[(#names)]

local player = GetPlayer()

local pt = Vector3(orm:GetWorldPosition())

local gold = SpawnPrefab()

orm:SetPosition(pt.x+((500)-(500)), 0,

pt.z+((500)-(500)))

gold:RemoveComponent("tradable")

gold:RemoveComponent("stackable")

local minimap = :AddMiniMapEntity()

minimap:SetIcon( "abigail_" )

inst:DoTaskInTime(60+(5), function()

if not oryitem:IsHeld() then

SpawnPrefab("collapse_small").Transform:SetPosition(orm:GetWorldPosit

ion())

SpawnPrefab("collapse_small").Transform:SetPosition(orm:GetWorldPos

ition())

mitter:PlaySound("dontstarve/creatures/eyeballturret/shotexplo")

else

for k = 1, 10+(10) do

SpawnPrefab("goldnugget").Transform:SetPosition(orm:GetWorldPositio

n())

mitter:PlaySound("dontstarve/HUD/get_gold")

end

end

gold:Remove()

end)

end

inst:ListenForEvent( "daytime", function() OnDay(inst) end, GetWorld())

即可在每天天亮时,地面随机出现宝物(12种收藏品之一),小地图上将显示红花的图

标,在1分钟内捡到就可获得奖金,错过时间宝物将消失(生起一团烟就说明寻宝失败)。当

寻宝计时结束,你也已经捡到宝物的话,将获得10-20个黄金的奖励(出现在脚下)。注意,

宝物很有可能出现在海上,如果没有修改过“地图全开”、“主角可渡海”,就只能望洋兴叹了

一九四.无尽的任务(点路牌接任务,讨伐怪物赚赏金)

用记事本打开游戏目录文件,将

inst:AddComponent("inspectable")替换为以下内容:

ate:SetMultColour(35/255,105/255,235/255,1)

local function GetStatus(inst)

local names =

{"spiderqueen","deerclops","leif_sparse","minotaur","knight","bishop","rook","fi

rehound"}

= names[(#names)]

local player = GetPlayer()

local bonuspoints = (6)

local pt = Vector3(orm:GetWorldPosition())

local wanted = SpawnPrefab()

orm:SetPosition(pt.x+((300)-(300)), 0,

pt.z+((300)-(300)))

:SetMaxHealth(1000 * bonuspoints)

:DoDelta(1000 * bonuspoints)

ate:SetMultColour(255/255,0/255,0/255,1)

orm:SetScale(1.5, 1.5, 1.5)

ate:SetMultColour(255/255,0/255,0/255,1)

local minimap = :AddMiniMapEntity()

minimap:SetIcon( "lucy_" )

inst:DoTaskInTime(180, function()

if not :IsDead() then

SpawnPrefab("die_fx").Transform:SetPosition(orm:GetWorldPosition())

SpawnPrefab("die_fx").Transform:SetPosition(orm:GetWorldPosition())

mitter:PlaySound("dontstarve/creatures/eyeballturret/shotexplo")

wanted:Remove()

else

for k = 1, 20*bonuspoints do

SpawnPrefab("goldnugget").Transform:SetPosition(pt.x+2, pt.y, pt.z+2)

mitter:PlaySound("dontstarve/HUD/get_gold")

end

end

ate:SetMultColour(35/255,105/255,235/255,1)

end)

end

inst:AddComponent("inspectable")

tus = GetStatus

即可点路牌接任务,地图随机位置将出现一个被通缉的怪物,全身红色,小地图上显示

为红色斧子图标,血量随机在1000-6000点,不由怪物品种决定(1只狗可能拥有6000的血

量)。在3分钟内(游戏中6个小时)找到并杀死它,即讨伐成功,错过时间则任务失败(升

起黑烟),被通缉的怪物将人间蒸发。任务时间结束后,如果讨伐成功,将在路牌处发放20-120

个黄金的赏金,杀死的怪物血量越高,赏金越高。怪物有可能出现在海上,如果没有修改过

“地图全开”、“主角可渡海”,就只能望洋兴叹了。这是一个无尽的任务系统,如果同时修改

了“巨型超市”,则可以用赏金购买造装备的材料及补血料理,从此开始赏金猎人的生涯吧

一九五.无限进化(给远古祭坛500个黄金,升级主角血量、饥饿、脑最大值各100点)

1.用记事本打开游戏目录datascriptsprefabsplayer_文件,将下列内

容:

inst:AddComponent("health")

:SetMaxHealth(_HEALTH)

out = true

-------

inst:AddComponent("hunger")

:SetMax(_HUNGER)

:SetRate(_HUNGER_RATE)

:SetKillRate(_HEALTH/_KILL_TIME)

inst:AddComponent("sanity")

:SetMax(_SANITY)

= OnSane

ne = OnInsane

替换为:

local function newupgrades(inst)

lth = _HEALTH + _num*100

= _HUNGER + _num*100

= _SANITY + _num*100

end

_num = 0

inst:AddComponent("health")

:SetMaxHealth(_HEALTH +

_num*100)

out = true

inst:AddComponent("hunger")

:SetMax(_HUNGER + _num*100)

:SetRate(_HUNGER_RATE)

:SetKillRate(_HEALTH/_KILL_TIME)

inst:AddComponent("sanity")

:SetMax(_SANITY + _num*100)

= OnSane

ne = OnInsane

newupgrades(inst)

local function onsave(inst, data)

_num = _num

end

local function onload(inst, data)

_num = _num or 0

lth = _HEALTH + _num*100

= _HUNGER + _num*100

= _SANITY + _num*100

if and then

thealth = end

if and then t =

end

if and t then t =

t end

end

= onsave

= onload

2.用记事本打开游戏目录datascriptsprefabsaltar_文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function ShouldAcceptItem(inst, item)

local player = GetPlayer()

if ory:Has("goldnugget", 500) then

if == "goldnugget" then

return true

end

end

return false

end

local function OnGetItemFromPlayer(inst, giver, item)

if == "goldnugget" then

ory:ConsumeByName("goldnugget", 499)

_num = _num + 1

mitter:PlaySound("dontstarve/characters/wx78/levelup")

:PulseGreen()

h:PulseGreen()

:PulseGreen()

:ScaleTo(1.3,1,.7)

:ScaleTo(1.3,1,.7)

h:ScaleTo(1.3,1,.7)

lth = _HEALTH +

_num*100

= _HUNGER + _num*100

= _SANITY + _num*100

:DoDelta(lth)

:DoDelta()

:DoDelta()

end

end

inst:AddComponent("trader")

pt = OnGetItemFromPlayer

:SetAcceptTest(ShouldAcceptItem)

即可给远古祭坛500个黄金(拿着黄金对远古祭坛按鼠标左键),升级主角血量、饥饿、

脑最大值各100点,升级无上限,身上黄金不足500时不会升级。如果缺少黄金,可以修改

“菜市场”、“肉食店”、“流动商贩”、“杂货收购行”、“收藏品黑市”、“收藏品期货市场”等

交易系统赚取黄金(见本修改技巧)。用机器人(wx78)、大力士(沃尔夫冈)作主角时,不

要修改此项

一九六.许愿池(给池塘黄金消顽皮值,天上有机会下黄金雨,接到就是你的)

用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function ShouldAcceptItem(inst, item)

if == "goldnugget" then

return true

end

return false

end

local function OnGetItemFromPlayer(inst, giver, item)

if GetPlayer().d and

GetPlayer().old > 0 then

GetPlayer().old =

GetPlayer().old -1

GetPlayer().SoundEmitter:PlaySound("dontstarve/creatures/krampus/beenbad_lvl3")

end

if ()<.1 then

GetPlayer().SoundEmitter:PlaySound("dontstarve/music/music_hoedown",

"beavermusic")

inst:StartThread(function()

for k = 1, 50 do

local pt = Vector3(orm:GetWorldPosition())

local gold = SpawnPrefab("goldnugget")

orm:SetPosition(pt.x+((5)-(5)),

20, pt.z+((5)-(5)))

ickedup = false

inst:DoTaskInTime(1.8, function()

local pos = Vector3(orm:GetWorldPosition())

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

for k,v in pairs(ents) do

if v:HasTag("player") then

ory:GiveItem(gold)

end

end

end)

inst:DoTaskInTime(2, function()

local pt2 = gold:GetPosition()

if not oryitem:IsHeld() then

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

SpawnPrefab("ground_chunks_breaking").Transform:SetPosition(pt2.x, 0, pt2.z)

gold:Remove()

else

ickedup = true

end

end)

Sleep(1)

end

GetPlayer().SoundEmitter:KillSound("beavermusic")

end)

end

end

inst:AddComponent("trader")

pt = OnGetItemFromPlayer

:SetAcceptTest(ShouldAcceptItem)

即可拿着黄金对池塘点左键,每次消减一点顽皮值(杀小动物的惩罚点数),并发出喘息

声,如果没有喘息声,表示你的顽皮值已经为零,罪已经赎清了。许愿的过程中,天上有一

定概率下起黄金雨(50个黄金),黄金落地弹起的刹那,如果你接到就归你了(跑到黄金掉

落位置),否则会摔碎,试试你的反应能力吧

一九七.人工降水(开关雨量计夏天下雨、冬天下雪,可以灭火)

用记事本打开游戏目录文件,将

inst:AddComponent("inspectable")替换为以下内容:

function firefn(inst)

local range = 3000

local pos = Vector3(orm:GetWorldPosition())

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

for k,v in pairs(ents) do

local pt = v:GetPosition()

if le and le:IsBurning() then

if == "grass" then

v:Remove()

SpawnPrefab("grass").Transform:SetPosition(pt.x, pt.y, pt.z)

end

if == "sapling" then

v:Remove()

SpawnPrefab("sapling").Transform:SetPosition(pt.x, pt.y, pt.z)

end

if == "reeds" then

v:Remove()

SpawnPrefab("reeds").Transform:SetPosition(pt.x, pt.y, pt.z)

end

if == "berrybush" then

v:Remove()

SpawnPrefab("berrybush").Transform:SetPosition(pt.x, pt.y, pt.z)

end

if == "marsh_bush" then

v:Remove()

SpawnPrefab("marsh_bush").Transform:SetPosition(pt.x, pt.y, pt.z)

end

if == "flower_cave_triple" then

v:Remove()

SpawnPrefab("flower_cave_triple").Transform:SetPosition(pt.x, pt.y,

pt.z)

end

if == "lichen" then

v:Remove()

SpawnPrefab("lichen").Transform:SetPosition(pt.x, pt.y, pt.z)

end

end

end

end

local function GetStatus(inst, viewer)

if GetWorld(). then

GetWorld().manager:StopPrecip()

if then :Cancel() = nil end

else

GetWorld().manager:ForcePrecip()

= inst:DoPeriodicTask(8, function() firefn(inst) end)

end

end

inst:AddComponent("inspectable")

tus = GetStatus

即可在雨量计上按鼠标左键开始降水,再按一次鼠标左键停止降水,夏天下雨、冬天下

雪。可以浇灭大部分植物着的火,包括草、树枝、芦苇、果树丛、尖刺灌木、三朵洞穴花、

苔藓

一九八.人工换季(开关寒冬温度计切换冬夏)

用记事本打开游戏目录文件,将

inst:AddComponent("inspectable")替换为以下内容:

local function GetStatus(inst, viewer)

if GetWorld().manager:IsSummer() then

GetWorld().manager:StartWinter()

GetWorld().manager:Advance()

GetWorld().manager:Advance()

GetWorld().manager:ForcePrecip()

else

GetWorld().manager:StartSummer()

GetWorld().manager:Advance()

GetWorld().manager:Advance()

GetWorld().manager:ForcePrecip()

end

end

inst:AddComponent("inspectable")

tus = GetStatus

即可在寒冬温度计上按鼠标左键切换为夏天,再按一次鼠标左键切换为冬天

一九九.留下买路财(扔下黄金铲子直接回地面)

用记事本打开游戏目录文件,在

ate:SetBank("goldenshovel")的下一行插入以下内容:

local function OnActivate(inst)

local function onsaved()

StartNextInstance({reset_action=RESET__SLOT, save_slot =

SaveGameIndex:GetCurrentSaveSlot()}, true)

end

SaveGameIndex:SaveCurrent(function() SaveGameIndex:LeaveCave(onsaved)

end)

end

inst:ListenForEvent("ondropped", OnActivate)

即可无论在地下一层还是远古层,将身上的黄金铲子扔在地上,就直接回到地面洞口。

扔下黄金铲子后屏幕会停止一会儿,是系统在读地面文件。注意不要在带着宠物时使用

二00.光阴似箭(对指南针按右键跳到下个时段)

用记事本打开游戏目录文件,在local function

GetStatus(inst, viewer)的下一行插入GetClock():NextPhase()

即可对指南针按右键跳到下个时段,即白天变傍晚、傍晚变黑夜、黑夜变白天,采蘑菇、

捉萤火虫等有时段要求的事情,无须再等待了

二0一.大时代里的微光(头戴萤火虫照亮四周)

用记事本打开游戏目录文件,

1.将light:SetRadius(1)替换为light:SetRadius(5)

2.在inst:AddComponent("playerprox")的下一行插入以下内容:

local function onequip(inst, owner)

= SpawnPrefab( "torchfire" )

local follower = :AddFollower()

follower:FollowSymbol( , "swap_object", 0, -360, 0 )

:Enable(true)

end

local function onunequip(inst, owner)

:Remove()

= nil

:Enable(false)

end

inst:AddComponent("equippable")

able:SetOnEquip( onequip )

able:SetOnUnequip( onunequip )

lot =

即可将捉来的萤火虫戴在头上照亮四周。每一个人都是大时代里的微光,当我们在一起,

像数以万计的萤火,也可将黑夜点亮

二0二.五彩木箱(找东西直接看木箱颜色,木箱可搬动)

用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local colours=

{

{198/255,43/255,43/255},

{79/255,153/255,68/255},

{35/255,105/255,235/255},

{233/255,208/255,69/255},

{109/255,50/255,163/255},

{222/255,126/255,39/255},

}

local function onequip(inst, owner)

ate:OverrideSymbol("swap_body", "swap_backpack", "swap_body")

end

local function onunequip(inst, owner)

ate:ClearOverrideSymbol("swap_body")

end

local function turnon(inst)

= true

inst:AddComponent("inventoryitem")

end

local function turnoff(inst)

= false

inst:RemoveComponent("inventoryitem")

end

local function onsave(inst, data)

= n_num

_idx = _idx

end

local function onload(inst, data)

if data then

if then

n_num =

ate:OverrideSymbol("swap_balloon", "balloon_shapes",

"balloon_" .. tostring(n_num))

end

if _idx then

_idx = (#colours, _idx)

ate:SetMultColour(colours[_idx][1],colours[_idx

][2],colours[_idx][3],1)

end

end

end

inst:AddComponent("machine")

fn = turnon

ffn = turnoff

inst:AddComponent("equippable")

able:SetOnEquip( onequip )

able:SetOnUnequip( onunequip )

_idx = (#colours)

ate:SetMultColour(colours[_idx][1],colours[_idx

][2],colours[_idx][3],1)

= onsave

= onload

即可使木箱具备不同颜色,找东西直接看颜色,再也不用翻箱倒柜了。木箱可搬动,对

地上的木箱按鼠标右键,可拿起木箱。将木箱放在地上后,对其按鼠标右键,可以锁定在地

二0三.随笔涂鸦(用蓝魔杖为物品涂上色彩)

用记事本打开游戏目录文件,在local inst =

commonfn("blue")的下一行插入以下内容:

local function cancreatecolour(staff, caster, target, pos)

return true

end

local function createcolour(staff, target, pos)

local caster =

if then

:DoDelta(5)

end

local colours= { {198/255,43/255,43/255}, {79/255,153/255,68/255},

{35/255,105/255,235/255}, {233/255,208/255,69/255}, {109/255,50/255,163/255},

{222/255,126/255,39/255}, }

_idx = (#colours)

ate:SetMultColour(colours[_idx][1],colours[_i

dx][2],colours[_idx][3],1)

end

inst:AddComponent("spellcaster")

aster:SetSpellFn(createcolour)

aster:SetSpellTestFn(cancreatecolour)

ontargets = true

frominventory = false

即可用蓝魔杖右键点任何物品,为其涂上随机色彩,存档退出后消失。每涂鸦一次补脑

5点。将你涂好的缤纷世界截下图片,给朋友秀秀吧

二0四.移动垃圾桶(狗箱增加删除物品按钮作垃圾桶)

用记事本打开游戏目录文件,在

inst:AddComponent("container")的下一行插入以下内容:

local widgetbuttoninfo = {

text = "Delete",

position = Vector3(0, -195, 0),

fn = function(inst)

ner:DestroyContents()

mitter:PlaySound("dontstarve/common/destroy_stone")

end }

buttoninfo = widgetbuttoninfo

即可在切斯特狗箱的格子下方增加一个Delete按钮,将不想要的物品放入狗箱,按下

Delete按钮即可清除掉,让游戏不会因垃圾太多而越来越卡。不按钮的话,照常可以储存物

品。千万不要把骨眼放入狗箱清除掉哦

二0五.生物传送机(探矿杖左键点生物,右键传送到任意地点)

用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function onattack(inst, owner, target)

SpawnPrefab("lightning_rod_fx").Transform:SetPosition(orm:GetWorldP

osition())

target:AddTag("send")

end

local function canteleport(inst)

return true

end

local function teleport(inst)

local player = GetPlayer()

local range = 3000

local pos = Vector3(orm:GetWorldPosition())

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

for k,v in pairs(ents) do

if v:HasTag("send") then

orm:SetPosition(TheInput:GetWorldPosition():Get())

v:RemoveTag("send")

end

end

end

inst:AddComponent("spellcaster")

aster:SetSpellFn(teleport)

aster:SetSpellTestFn(canteleport)

frominventory = false

onpoint = true

inst:AddComponent("weapon")

:SetDamage(0)

:SetRange(30, 35)

:SetOnAttack(onattack)

:SetProjectile("bishop_charge")

即可在装备探矿杖时,用鼠标左键点生物(几个都可以),无论走到地图何处,装备探矿

杖用鼠标右键点地面,都可将选中的生物传送过来。生物传送机可让群体性动物落单,让不

会相遇的动物碰面,调离守护某处的敌人等。探矿杖在科学选项(画着原子)下,用1个树

枝、4个噩梦燃料、1个齿轮制造

二0六.极速快递(拿着背包对地面点右键,将它传送回家)

用记事本打开游戏目录文件,将

ncontainer = false替换为以下内容:

ncontainer = true

local function OnDeploy (inst, pt)

SpawnPrefab("collapse_small").Transform:SetPosition(orm:GetWorldPosit

ion())

local range = 3000

local pos = Vector3(orm:GetWorldPosition())

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

for k,v in pairs(ents) do

if == "firepit" then

orm:SetPosition(orm:GetWorldPosition())

end

end

end

inst:AddComponent("deployable")

oy = OnDeploy

inst:AddTag("fridge")

即可将拿不下的东西放在普通背包里,拿着背包对地面点鼠标右键,会自动传送到石头

营火旁,再多的战利品都可以快递回家。背包同时具备冷藏功能,里面的食物可以长久保鲜。

快递只在同一地层服务(不能从地下传送到地面),为保证快递投送准确,请在同一地层只保

留一处石头营火(多处的话将随机投送)。如果之前修改过“同时携带多个背包”,就查找不

到ncontainer = false这句,将

ncontainer = true替换为下面的内容即可

二0七.帽子戏法(高礼帽放在地上随机变出几十种宝物)

用记事本打开游戏目录文件,在

ness = NESS_MED的下一行插入以下内

容:

local function ondropped(inst)

local names =

{"bedroll_furry","gunpowder","panflute","onemanband","armor_sanity","nightsword"

,"batbat","armorslurper","amulet","blueamulet","purpleamulet","firestaff","icest

aff","telestaff","blowdart_sleep","blowdart_fire","blowdart_pipe","featherhat","

cane","trunkvest_summer","trunkvest_winter","nightmare_timepiece","orangeamulet"

,"yellowamulet","greenamulet","orangestaff","yellowstaff","greenstaff","ruinshat

","armorruins","ruins_bat","eyeturret_item","trunk_summer","trunk_winter","deerc

lops_eyeball","gears","nightmarefuel","livinglog","marble","minotaurhorn","kramp

us_sack","butter","tallbirdegg","honeyham","dragonpie","taffy","mandrakesoup","p

erogies","waffles","turkeydinner","honeynuggets","wormlight","beefalo","perd","k

oalefant_summer","koalefant_winter","lureplantbulb","slurtlehat","armorsnurtlesh

ell","bonestew","butterflymuffin","frogglebunwich","pumpkincookie","baconeggs","

fruitmedley","fishtacos","fishsticks","stuffedeggplant","meatballs","jammypreser

ves","bandage","healingsalve","spider_warrior","tentacle","monkey","killerbee","

worm"}

= names[(#names)]

SpawnPrefab().Transform:SetPosition(orm:GetWorldPosition())

SpawnPrefab("collapse_small").Transform:SetPosition(orm:GetWorldPosit

ion())

end

inst:ListenForEvent("ondropped", ondropped)

即可将高礼帽放在地上,随机变出几十种宝物,也有一定几率变出怪物哦,试试你的手

气吧。高礼帽在穿戴选项(画着帽子)下,用6个蛛丝制造

二0八.变身传奇(主角吃疯肉变身其他主角)

用记事本打开游戏目录文件,在

value = -_MED的下一句插入以下内容:

local function item_oneaten(inst, eater)

local names =

{"wilson","wendy","wes","wickerbottom","willow","wolfgang","wx78"}

me = names[(#names)]

if eater:HasTag("player") then

ate:SetBuild(me)

SpawnPrefab("collapse_small").Transform:SetPosition(orm:GetWorldPosit

ion())

end

end

:SetOnEatenFn(item_oneaten)

即可无须开新档,靠吃疯肉就让主角随机变成其他主角的形象,变身后小地图显示不变,

原主角技能也不变,该长胡子的还是会长胡子哦。想恢复原主角形象,存档退出后再读档即

可。变身不会变成麦斯威尔和伍迪

二0九.我是巨鹿(按键盘HOME键主角变身巨鹿,按END键还原)

用记事本打开游戏目录datascriptsprefabsplayer_文件,在

inst:AddComponent("playercontroller")的下一行插入以下内容:

TheInput:AddKeyUpHandler(KEY_HOME, function()

if ory:Has("goldnugget", 30) then

ory:ConsumeByName("goldnugget", 30)

tor:Stop()

controller:Enable(false)

ate:PlayAnimation("idle_shiver_pre")

ate:PushAnimation("idle_shiver_loop")

ate:PushAnimation("idle_shiver_pst", false)

inst:DoTaskInTime(1, function()

ate:SetBank("deerclops")

ate:SetBuild("deerclops_build")

inst:SetStateGraph("SGdeerclops")

ate:PlayAnimation("idle_loop", true)

orm:SetScale(1.5,1.5,1.5)

shadow:SetSize( 6, 3.5 )

local pos = GetPlayer():GetPosition()

GetSeasonManager():DoLightningStrike(pos)

:SetInvincible(true)

:Pause()

:SetDefaultDamage(500)

ectsymbol = "deerclops_body"

therfn = function()

mitter:PlaySound("dontstarve/creatures/deerclops/attack")

controller:ShakeCamera(inst, "FULL", 0.5, 0.05,

2, 40)

end

damagepercent = 0

:SetAreaDamage(10, 1)

inst:AddComponent("heater")

= 180

controller:Enable(true)

end )

end

end )

TheInput:AddKeyUpHandler(KEY_END, function()

tor:Stop()

controller:Enable(false)

ate:PlayAnimation("taunt")

inst:DoTaskInTime(1, function()

ate:SetBank("wilson")

ate:SetBuild(name)

inst:SetStateGraph("SGwilson")

ate:PlayAnimation("idle")

orm:SetScale(1,1,1)

shadow:SetSize( 1.3, .6 )

local pos = GetPlayer():GetPosition()

GetSeasonManager():DoLightningStrike(pos)

:SetInvincible(false)

:Resume()

:SetDefaultDamage(D_DAMAGE)

ectsymbol = "torso"

therfn = nil

:SetAreaDamage(0, 0)

inst:RemoveComponent("heater")

controller:Enable(true)

end )

end )

即可在你深陷绝境之时,对电脑屏幕大喊“我是巨鹿”,并同时按下键盘HOME键,主角

将变身无敌巨鹿(锁血、锁饥饿、不怕冷),对敌人展开恐怖的报复吧(按Ctrl + 鼠标左键

攻击)。每次变身将消耗30个黄金,身上黄金数不足时不会变身。想要变化回主角时,按键

盘END键即可。注意,由于巨鹿变身时会招来闪电,并且本身具备大面积杀伤的能力,所以

请远离基地变身,且尽量不要带同伴。修改过“神奇跳跃”的话,不要在变身巨鹿时跳跃

二一0.节日礼花(点燃荧光果放礼花)

用记事本打开游戏目录文件,在

inst:AddComponent("inventoryitem")的下一行插入以下内容:

local function OnIgniteFn(inst)

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

inst:DoTaskInTime(1.5, function() s:SetMotorVelOverride(0,42,0)

end)

end

local function OnExplodeFn(inst)

GetPlayer().:DoDelta(5)

inst:StartThread(function()

GetPlayer().SoundEmitter:PlaySound("dontstarve/creatures/eyeballturret/shotexplo

")

SpawnPrefab("multifirework_fx").Transform:SetPosition(GetPlayer().Transform:GetW

orldPosition())

TheCamera:Shake("FULL", 0.3, 0.02, .5, 40)

Sleep(.1)

GetPlayer().SoundEmitter:PlaySound("dontstarve/creatures/eyeballturret/shotexplo

")

SpawnPrefab("multifirework_fx").Transform:SetPosition(GetPlayer().Transform:GetW

orldPosition())

TheCamera:Shake("FULL", 0.3, 0.02, .5, 40)

Sleep(.1)

GetPlayer().SoundEmitter:PlaySound("dontstarve/creatures/eyeballturret/shotexplo

")

SpawnPrefab("multifirework_fx").Transform:SetPosition(GetPlayer().Transform:GetW

orldPosition())

TheCamera:Shake("FULL", 0.3, 0.02, .5, 40)

Sleep(.1)

end)

end

inst:AddComponent("explosive")

ive:SetOnExplodeFn(OnExplodeFn)

ive:SetOnIgniteFn(OnIgniteFn)

即可用火炬点燃放在地上的荧光果,荧光果会飞上天空爆炸,每放一颗补5点脑,为你

的节日增加一点气氛吧。在地洞里放礼花可以引起地震。如果想连续燃放,就将荧光果摆成

一排(距离要近一些),点燃一个,其他就会陆续被点燃

二一一.璀璨流星雨(给远古盔甲10个黄金或荧光果,为你下场流星雨)

用记事本打开游戏目录datascriptsprefabsarmor_文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function ShouldAcceptItem(inst, item)

if GetPlayer().ory:Has("goldnugget", 10) then

if == "goldnugget" then

return true

end

end

if GetPlayer().ory:Has("lightbulb", 10) then

if == "lightbulb" then

return true

end

end

return false

end

local function OnGetItemFromPlayer(inst, giver, item)

if == "goldnugget" then

ory:ConsumeByName("goldnugget", 9)

elseif == "lightbulb" then

ory:ConsumeByName("lightbulb", 9)

end

local bullet = SpawnPrefab("trinket_5")

orm:SetPosition(orm:GetWorldPosition())

ickedup = false

s:SetMotorVelOverride(0,20,0)

:DoDelta(10)

GetPlayer().SoundEmitter:PlaySound("dontstarve/creatures/eyeballturret/shotexplo

")

inst:DoTaskInTime(1, function() bullet:Remove() end )

inst:DoTaskInTime(1.5, function()

inst:StartThread(function()

for k = 1, 200 do

local pt = Vector3(GetPlayer().Transform:GetWorldPosition())

local rain = SpawnPrefab("lightbulb")

rain:RemoveComponent("edible")

ickedup = false

if == "goldnugget" then

ate:SetMultColour((255)/255,(255)/255,

om(255)/255,1)

end

orm:SetPosition(pt.x+((30)-(30)),

20, pt.z+((30)-(30)))

inst:DoTaskInTime(5, function()

local pt2 = rain:GetPosition()

SpawnPrefab("explode_small").Transform:SetPosition(pt2.x, 0,

pt2.z)

rain:Remove()

end)

Sleep(0.2)

end

end)

end)

end

inst:AddComponent("trader")

pt = OnGetItemFromPlayer

:SetAcceptTest(ShouldAcceptItem)

即可拿着黄金或荧光果,对放在地上的远古盔甲点鼠标左键,将向空中发射火箭,打下

漫天的流星雨。每次发射消耗10个黄金或荧光果,身上数量不足时无法发射。如果给远古盔

甲的是黄金,则下彩色流星雨,如果给的是荧光果则下白色流星雨。可以连续发射,但不要

连续次数太多,除非你的计算机硬件足够坚强。每场流星雨可补脑10点。另外穿着远古盔甲,

拿黄金或荧光果对装备格点鼠标右键,同样可以发射。远古盔甲在远古选项(画着远古祭坛)

下,用6个铥矿石、4个噩梦燃料制造,制造时需要靠近远古祭坛

二一二.完好如初(红色魔杖可修复物品、回复新鲜度、补充燃料及治愈同伴)

用记事本打开游戏目录文件,在local inst =

commonfn("red")的下一行插入以下内容:

local function canbeback(staff, caster, target, pos)

if ory:Has("goldnugget", 1) then

return true

end

return false

end

local function beback(staff, target, pos)

local player = GetPlayer()

SpawnPrefab("book_fx").Transform:SetPosition(orm:GetWorldPosition()

)

if then

tfuel = l

ory:ConsumeByName("goldnugget", 1)

end

if uses then

t =

ory:ConsumeByName("goldnugget", 1)

end

if then

ion = dition

ory:ConsumeByName("goldnugget", 1)

end

if able then

remainingtime =

time

ory:ConsumeByName("goldnugget", 1)

end

if then

thealth =

lth

ory:ConsumeByName("goldnugget", 1)

end

end

inst:AddComponent("spellcaster")

aster:SetSpellFn(beback)

aster:SetSpellTestFn(canbeback)

ontargets = true

frominventory = false

即可将想要修复的物品放在地上,装备红色魔杖右键点地上的物品,可修复武器装备使

用百分比,回复食物新鲜度,为照明物品补充燃料,也可用于治疗同伴。每次使用须支付1

个黄金,身上没有黄金时无法使用。可堆叠的物品尽量堆在一起修复,这样只要花费1个黄

金即可

二一三.我的小屋(用巨鹿眼球种小屋,左键点击可睡觉,右键点击打开库房)

1.用记事本打开游戏目录datascriptsprefabsdeerclops_文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function OnDeploy (inst, pt)

local house = SpawnPrefab("tent")

orm:SetPosition(pt.x, pt.y, pt.z)

ate:SetBank("walrus_house")

ate:SetBuild("walrus_house")

ate:PlayAnimation("lit", true)

orm:SetScale(1.5, 1.5, 1.5)

house:AddTag("houses")

local minimap = :AddMiniMapEntity()

minimap:SetIcon( "" )

uses:SetMaxUses(10000)

uses:SetUses(10000)

if then house:RemoveComponent("trader") end

local light = :AddLight()

light:Enable(true)

house:AddComponent("machine")

fn = function()

ner:Open(GetPlayer()) end

ffn = function()

ner:Open(GetPlayer()) end

p = function(inst, sleeper)

:SetInvincible(true)

controller:Enable(false)

GetPlayer().HUD:Hide()

TheFrontEnd:Fade(false,1)

inst:DoTaskInTime(1.2, function()

GetPlayer().HUD:Show()

TheFrontEnd:Fade(true,1)

:DoDelta(_HUGE)

:DoDelta(ES_HUGE, false, true)

:DoDelta(G_HUGE, false, "tent",

true)

ature:SetTemperature(

temp)

GetClock():MakeNextDay()

:SetInvincible(false)

controller:Enable(true)

end)

end

inst:Remove()

end

inst:AddComponent("deployable")

oy = OnDeploy

2.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function onsave(inst, data)

if inst:HasTag("houses") then

= true

end

end

local function onload(inst, data)

if data and then

ate:SetBank("walrus_house")

ate:SetBuild("walrus_house")

ate:PlayAnimation("lit", true)

orm:SetScale(1.5, 1.5, 1.5)

inst:AddTag("houses")

local minimap = :AddMiniMapEntity()

minimap:SetIcon( "" )

uses:SetMaxUses(10000)

uses:SetUses(10000)

if then inst:RemoveComponent("trader") end

local light = :AddLight()

light:Enable(true)

inst:AddComponent("machine")

fn = function()

ner:Open(GetPlayer()) end

ffn = function()

ner:Open(GetPlayer()) end

p = function(inst, sleeper)

:SetInvincible(true)

controller:Enable(false)

GetPlayer().HUD:Hide()

TheFrontEnd:Fade(false,1)

inst:DoTaskInTime(1.2, function()

GetPlayer().HUD:Show()

TheFrontEnd:Fade(true,1)

:DoDelta(_HUGE)

:DoDelta(ES_HUGE, false, true)

:DoDelta(G_HUGE, false, "tent",

true)

ature:SetTemperature(

temp)

GetClock():MakeNextDay()

:SetInvincible(false)

controller:Enable(true)

end)

end

end

end

= onsave

= onload

local light = :AddLight()

light:SetFalloff(1)

light:SetIntensity(.8)

light:SetRadius(10)

light:Enable(false)

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

local slotpos = {}

for y = 2, 0, -1 do

for x = 0, 8 do

(slotpos, Vector3(75*x-75*2+75, 75*y-75*2+75,0))

(slotpos, Vector3(75*x-75*2+75, 75*y-75*2-175,0))

(slotpos, Vector3(75*x-75*2+75, 75*y-75*2-425,0))

end

end

inst:AddComponent("container")

ner:SetNumSlots(#slotpos)

slotpos = slotpos

pos = Vector3(-150,300,0)

_align_tip = 160

pened = false

inst:AddTag("fridge")

即可用巨鹿眼球种小屋,用鼠标左键点击小屋可睡觉(白天也可以睡),睡醒后会补脑、

饥饿、生命值。鼠标右键点击小屋,会打开库房(远离小屋自动关闭),共81格存储空间,

并有冷藏功能。小屋日夜灯火通明,会照亮周边。不想要小屋时,用锤子砸毁即可,记住先

把库房里的东西取出来哦

二一四.新移民(白天石头营火附近出现新移民,自动打怪,可与他们做买卖,89685版及以

后游戏使用)

1.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function createnpc(inst)

for k = 1,(10,25) do

local pt = inst:GetPosition()

local npc = SpawnPrefab("frog")

orm:SetPosition(pt.x+((50)-(50)), 0,

pt.z+((50)-(50)))

ate:SetBank("wilson")

local names =

{"wilson","wendy","wes","wickerbottom","willow","wolfgang","wx78"}

local buildname = names[(#names)]

ate:SetBuild(buildname)

local hats =

{"hat_bee","hat_beefalo","hat_bush","hat_earmuffs","hat_feather","hat_flower","h

at_football","hat_miner","hat_ruins","hat_slurper","hat_slurtle","hat_spider","h

at_straw","hat_top","hat_walrus","hat_winter"}

local hat = hats[(#hats)]

ate:OverrideSymbol("swap_hat", hat, "swap_hat")

local armors =

{"armor_grass","armor_marble","armor_onemanband","armor_ruins","armor_sanity","a

rmor_slurper","armor_slurtleshell","armor_sweatervest","armor_trunkvest_summer",

"armor_trunkvest_winter","armor_wood"}

local armor = armors[(#armors)]

ate:OverrideSymbol("swap_body", armor, "swap_body")

ate:Show("HAT")

ate:Show("HAT_HAIR")

ate:Hide("HAIR_NOHAT")

ate:Hide("HAIR")

ate:Hide("ARM_carry")

ate:Show("ARM_normal")

ate:PlayAnimation("idle")

npc:SetStateGraph("SGshadowwaxwell")

:SetMaxHealth(1000)

:SetDefaultDamage(10)

:SetAttackPeriod(1)

:SetRetargetFunction(3, function(npc)

if not :IsDead() then

return FindEntity(npc, 20, function(guy)

if and not :IsDead()

then return guy:HasTag("monster") end end)

end

end )

therfn = nil

npc:RemoveComponent("sleeper")

npc:RemoveComponent("thief")

npc:RemoveComponent("lootdropper")

npc:AddComponent("trader")

:SetAcceptTest(function(npc, item)

if GetPlayer().ory:Has("goldnugget", 10) then

if able then

return false

end

if pe == "VEGGIE" then

return true

end

if pe == "MEAT" then

return true

end

if == "purplegem" or == "bluegem" or

== "redgem" or == "orangegem" or == "yellowgem" or

== "greengem" then

return true

end

end

return false

end )

pt = function(npc, giver, item)

local goldnugget = SpawnPrefab("goldnugget")

for k = 1, 2 do

GetPlayer().ory:GiveItem(goldnugget)

end

end

local minimap = :AddMiniMapEntity()

minimap:SetIcon( "" )

npc:AddTag("npcs")

end

end

local function delnpc(inst)

local range = 3000

local pos = Vector3(orm:GetWorldPosition())

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

for k,v in pairs(ents) do

if v:HasTag("npcs") then

v:Remove()

end

end

end

inst:ListenForEvent( "daytime", function() createnpc(inst) end , GetWorld())

inst:ListenForEvent( "nighttime", function() delnpc(inst) end , GetWorld())

2.用记事本打开游戏目录文件,将下列内容:

:ShareTarget(er, 30, function(dude) return

dude:HasTag("frog") and not :IsDead() end, 5)

替换为:

:ShareTarget(er, 30, function(dude) return

dude:HasTag("npcs") and not :IsDead() end, 5)

3.在inst:AddComponent("inspectable")的下一行插入以下内容:

local items = { SWORD = "swap_nightmaresword" }

local function EquipItem(inst, item)

if item then

ate:OverrideSymbol("swap_object", item, item)

ate:Show("ARM_carry")

ate:Hide("ARM_normal")

end

end

= items

n = EquipItem

EquipItem(inst)

local function onsave(inst, data)

if inst:HasTag("npcs") then

= true

end

end

local function onload(inst, data)

if data and then

ate:SetBank("wilson")

local names =

{"wilson","wendy","wes","wickerbottom","willow","wolfgang","wx78"}

local buildname = names[(#names)]

ate:SetBuild(buildname)

local hats =

{"hat_bee","hat_beefalo","hat_bush","hat_earmuffs","hat_feather","hat_flower","h

at_football","hat_miner","hat_ruins","hat_slurper","hat_slurtle","hat_spider","h

at_straw","hat_top","hat_walrus","hat_winter"}

local hat = hats[(#hats)]

ate:OverrideSymbol("swap_hat", hat, "swap_hat")

local armors =

{"armor_grass","armor_marble","armor_onemanband","armor_ruins","armor_sanity","a

rmor_slurper","armor_slurtleshell","armor_sweatervest","armor_trunkvest_summer",

"armor_trunkvest_winter","armor_wood"}

local armor = armors[(#armors)]

ate:OverrideSymbol("swap_body", armor, "swap_body")

ate:Show("HAT")

ate:Show("HAT_HAIR")

ate:Hide("HAIR_NOHAT")

ate:Hide("HAIR")

ate:Hide("ARM_carry")

ate:Show("ARM_normal")

ate:PlayAnimation("idle")

inst:SetStateGraph("SGshadowwaxwell")

:SetMaxHealth(1000)

:SetDefaultDamage(10)

:SetAttackPeriod(1)

:SetRetargetFunction(3, function(inst)

if not :IsDead() then

return FindEntity(inst, 20, function(guy)

if and not :IsDead()

then return guy:HasTag("monster") end end)

end

end )

therfn = nil

inst:RemoveComponent("sleeper")

inst:RemoveComponent("thief")

inst:RemoveComponent("lootdropper")

inst:AddComponent("trader")

:SetAcceptTest(function(inst, item)

if GetPlayer().ory:Has("goldnugget", 10) then

if able then

return false

end

if pe == "VEGGIE" then

return true

end

if pe == "MEAT" then

return true

end

if == "purplegem" or == "bluegem" or

== "redgem" or == "orangegem" or == "yellowgem" or

== "greengem" then

return true

end

end

return false

end )

pt = function(inst, giver, item)

local goldnugget = SpawnPrefab("goldnugget")

for k = 1, 2 do

GetPlayer().ory:GiveItem(goldnugget)

end

end

local minimap = :AddMiniMapEntity()

minimap:SetIcon( "" )

inst:AddTag("npcs")

end

end

= onsave

= onload

即可在白天时,石头营火附近有新移民走动,黑夜离去,会主动攻击怪物,保护一方平

安。他们愿意购买你的肉类、蔬菜和宝石(拿着物品对新移民点鼠标左键),每个物品可以卖

2个黄金,但他们不会与穷光蛋做买卖,如果你身上没有10个黄金,则无法达成交易。如果

你攻击新移民,附近的其他人将围殴你。在地图各处建造石头营火及其他建筑,就会形成许

多小镇,饥荒世界从此不再冷清。新移民在小地图上显示为打火机图标(代表着希望),通过

查看小地图,可以了解各个小镇的人口情况

二一五.神奇跳跃(按R键主角可向前跳跃)

用记事本打开游戏目录datascriptsprefabsplayer_文件,在

inst:AddComponent("resurrectable")的下一行插入以下内容:

TheInput:AddKeyUpHandler(KEY_R, function()

s:SetCollides(false)

inst:DoTaskInTime(0, function()

ate:PlayAnimation("give")

controller:Enable(false)

tor:Stop()

s:SetMotorVelOverride(50,45,0) end )

inst:DoTaskInTime(0.2, function()

s:ClearMotorVelOverride()

s:SetMotorVelOverride(50,0,0) end )

inst:DoTaskInTime(0.3, function()

s:ClearMotorVelOverride()

s:SetMotorVelOverride(50,-25,0) end )

inst:DoTaskInTime(0.5, function()

s:ClearMotorVelOverride()

tor:Stop()

local pt = inst:GetPosition()

orm:SetPosition(pt.x, 0, pt.z)

controller:Enable(true)

s:SetCollides(true)

ate:PlayAnimation("idle")

mitter:PlaySound("dontstarve/movement/bodyfall_dirt",

"bodyfall") end )

end )

即可按键盘R键,让主角向前跳跃,用以方便地越过沟壑、墙等障碍,也可以跳到海面

上,渡海而行。当身边有障碍物时,会影响跳跃高度。将其中KEY_R替换为其他键,比如KEY_C,

就可以按键盘C键跳跃

二一六.观赏蜘蛛(用蛛丝种关在笼中的蜘蛛,喂腐烂食物产种子)

1.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入inst:AddComponent("tradable")

2.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function OnDeploy (inst, pt)

local cage = SpawnPrefab("birdcage")

orm:SetPosition(pt.x, pt.y, pt.z)

ate:SetMultColour(0/255,255/255,0/255,1)

cage:AddTag("cages")

cage:RemoveComponent("occupiable")

cage:RemoveComponent("trader")

cage:AddComponent("trader")

:SetAcceptTest(function(cage, item)

if == "spoiled_food" then return true end

return false

end )

pt = function(cage, giver, item)

for k = 1, (5) do

local names =

{"carrot_seeds","corn_seeds","pumpkin_seeds","eggplant_seeds","durian_seeds","po

megranate_seeds","dragonfruit_seeds"}

local name = names[(#names)]

opper:SpawnLootPrefab(name)

end

end

local animal = SpawnPrefab("silk")

ate:SetBank("spider_queen")

ate:SetBuild("spider_queen_build")

ate:PlayAnimation("idle", true)

orm:SetScale(0.35, 0.35, 0.35)

ickedup = false

local follower = :AddFollower()

follower:FollowSymbol( , "swap_object", -10, -220, -0.1 )

cage:RemoveComponent("workable")

cage:AddComponent("workable")

le:SetWorkAction()

le:SetWorkLeft(1)

le:SetOnFinishCallback(function(cage, worker)

SpawnPrefab("collapse_small").Transform:SetPosition(orm:GetWorldPosit

ion())

mitter:PlaySound("dontstarve/common/destroy_wood")

cage:Remove()

animal:Remove()

end )

ble:Get():Remove()

end

inst:AddComponent("deployable")

oy = OnDeploy

3.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function onsave(inst, data)

if inst:HasTag("cages") then

= true

end

end

local function onload(inst, data)

if data and then

ate:SetMultColour(0/255,255/255,0/255,1)

inst:AddTag("cages")

inst:RemoveComponent("occupiable")

inst:RemoveComponent("trader")

inst:AddComponent("trader")

:SetAcceptTest(function(inst, item)

if == "spoiled_food" then return true end

return false

end )

pt = function(inst, giver, item)

for k = 1, (5) do

local names =

{"carrot_seeds","corn_seeds","pumpkin_seeds","eggplant_seeds","durian_seeds","po

megranate_seeds","dragonfruit_seeds"}

local name = names[(#names)]

opper:SpawnLootPrefab(name)

end

end

local animal = SpawnPrefab("silk")

ate:SetBank("spider_queen")

ate:SetBuild("spider_queen_build")

ate:PlayAnimation("idle", true)

orm:SetScale(0.35, 0.35, 0.35)

ickedup = false

local follower = :AddFollower()

follower:FollowSymbol( , "swap_object", -10, -220, -0.1 )

inst:RemoveComponent("workable")

inst:AddComponent("workable")

le:SetWorkAction()

le:SetWorkLeft(1)

le:SetOnFinishCallback(function(inst, worker)

SpawnPrefab("collapse_small").Transform:SetPosition(orm:GetWorldPosit

ion())

mitter:PlaySound("dontstarve/common/destroy_wood")

inst:Remove()

animal:Remove()

end )

end

end

= onsave

= onload

即可用蛛丝种关在笼中的蜘蛛,喂它腐烂食物,会掉落随机品种的植物种子。观赏蜘蛛

会不定期脱落蛛丝,不想要观赏蜘蛛了,用锤子砸掉即可

二一七.传送石(右键点装备的保温石,将主角传送到另一块保温石处)

用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")下一行插入以下内容:

local function canteleport(inst, caster)

return true

end

local function teleport(inst)

local caster =

local range = 3000

local pos = Vector3(orm:GetWorldPosition())

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

for k,v in pairs(ents) do

if == "heatrock" and not oryitem:IsHeld() then

orm:SetPosition(orm:GetWorldPosition())

end

end

return true

end

inst:AddComponent("spellcaster")

aster:SetSpellFn(teleport)

aster:SetSpellTestFn(canteleport)

frominventory = false

onpoint = true

inst:AddComponent("equippable")

lot =

即可制造2块保温石,1块扔在要传到的地点(比如家、洞穴出口处等),另1块带在身

上,无论走到地图何处,只要装备保温石对空地按鼠标右键,马上传送回扔在地上的保温石

处。如果制造3块保温石,将2块扔在不同地点,这2点间将形成虫洞效果,装备保温石对

空地按鼠标右键,会在这2点间来回传送

二一八.御风飞翔(装备羽毛飞翔10秒)

用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function onequip(inst, owner)

= SpawnPrefab( "feather_"..name )

local follower = :AddFollower()

follower:FollowSymbol( , "swap_object", 0, 60, 0 )

local pt = owner:GetPosition()

orm:SetPosition(pt.x, pt.y+30, pt.z)

inst:DoTaskInTime(10, function()

local pt = owner:GetPosition()

orm:SetPosition(pt.x, pt.y-30, pt.z)

inst:Remove()

end)

end

local function onunequip(inst, owner)

local pt = owner:GetPosition()

orm:SetPosition(pt.x, pt.y-30, pt.z)

:Remove()

= nil

end

inst:AddComponent("equippable")

able:SetOnEquip( onequip )

able:SetOnUnequip( onunequip )

lot =

eedmult = _SPEED_MULT*5

即可装备羽毛飞翔10秒,体会饥荒世界从未有过的美妙感觉,洞穴也可飞行。10秒后

羽毛被耗尽,想飞就要多捕鸟哦。注意飞行时不要佩戴橙色护身符和带宠物

二一九.风力滑板车(饥荒世界陆上交通工具)

用记事本打开游戏目录文件,

1.将下列内容:

local function onequip(inst, owner)

ate:OverrideSymbol("swap_object", "swap_umbrella",

"swap_umbrella")

ate:Show("ARM_carry")

ate:Hide("ARM_normal")

UpdateSound(inst)

end

local function onunequip(inst, owner)

ate:Hide("ARM_carry")

ate:Show("ARM_normal")

UpdateSound(inst)

end

替换为:

local function onequip(inst, owner)

ate:OverrideSymbol("swap_object", "swap_umbrella",

"swap_umbrella")

ate:Show("ARM_carry")

ate:Hide("ARM_normal")

UpdateSound(inst)

= inst:DoPeriodicTask(.01, function()

s:SetMotorVelOverride(20,0,0) end)

= SpawnPrefab( "telebase" )

local follower = :AddFollower()

follower:FollowSymbol( , "swap_object", -90, 130, 0 )

end

local function onunequip(inst, owner)

ate:Hide("ARM_carry")

ate:Show("ARM_normal")

UpdateSound(inst)

if then :Cancel() = nil end

:Remove()

= nil

end

2.将下列内容:

inst:AddComponent("finiteuses")

uses:SetMaxUses(LA_USES)

uses:SetUses(LA_USES)

uses:SetOnFinished( onfinished)

--uses:SetConsumption(ORM, .125)

替换为:

inst:AddComponent("blinkstaff")

inst:AddComponent("heater")

edheat = 100

即可在装备雨伞时,脚下踩着滑板自动行驶,伞就是你的风帆,卸载雨伞后停下。鼠标

左键点地可以控制方向(也可以用键盘W、S、A、D键控制方向),鼠标右键点地可以瞬移(用

以跳过障碍),有空儿去兜兜风吧。雨伞在生存选项(画着绳套)下,用6个树枝、1个猪皮、

2个蛛丝制造

二二0.动力飞行帽(戴羽毛帽在天空自由飞翔)

用记事本打开游戏目录文件,将下列内容:

local function feather_equip(inst, owner)

onequip(inst, owner)

local ground = GetWorld()

if ground and awner then

awner:SetSpawnTimes(_SPAWN_DELAY_FEATHERHAT)

awner:SetMaxBirds(_SPAWN_MAX_FEATHERHAT)

end

end

local function feather_unequip(inst, owner)

onunequip(inst, owner)

local ground = GetWorld()

if ground and awner then

awner:SetSpawnTimes(_SPAWN_DELAY)

awner:SetMaxBirds(_SPAWN_MAX)

end

end

local function feather()

local inst = simple()

inst:AddComponent("dapperness")

ness = NESS_SMALL

able:SetOnEquip( feather_equip )

able:SetOnUnequip( feather_unequip )

inst:AddComponent("fueled")

pe = "USAGE"

:InitializeFuelLevel(RHAT_PERISHTIME)

:SetDepletedFn(generic_perish)

替换为:

local function feather_equip(inst, owner)

onequip(inst, owner)

= inst:DoPeriodicTask(.01, function()

s:SetMotorVelOverride(20,10,0) end)

inst:DoTaskInTime(3, function()

if then :Cancel() = nil end

= inst:DoPeriodicTask(.01, function()

s:SetMotorVelOverride(20,1,0) end)

end)

end

local function feather_unequip(inst, owner)

if then :Cancel() = nil end

= inst:DoPeriodicTask(.01, function()

s:SetMotorVelOverride(20,-10,0) end)

inst:DoTaskInTime(3, function()

if then :Cancel() = nil end

onunequip(inst, owner)

end)

end

local function feather()

local inst = simple()

inst:AddComponent("dapperness")

ness = NESS_SMALL

able:SetOnEquip( feather_equip )

able:SetOnUnequip( feather_unequip )

即可在戴羽毛帽时开始起飞,爬升3秒后平飞,用键盘W、S、A、D键控制方向。想降落

时卸载羽毛帽即可开始着陆,落地后会滑行一段(按W、S、A、D键可以减少滑行距离)。注

意不要在爬升阶段卸载羽毛帽(平飞时再卸载即可),否则在惯性作用下将滑出很长一段距离。

不要与“鱼人入侵”一同修改

二二一.虫洞地铁(虫洞可以搬到任意地点,搭建地铁网络)

用记事本打开游戏目录文件,

1.将:DoDelta(-_MED)替换为

:DoDelta(_MED)

2.在inst:AddComponent("inspectable")的下一行插入以下内容:

local function turnon(inst)

= true

ickedup = true

end

local function turnoff(inst)

= false

ickedup = false

end

inst:AddComponent("equippable")

inst:AddComponent("inventoryitem")

oryitem:ChangeImageName("abigail_flower")

ickedup = false

inst:AddComponent("machine")

fn = turnon

ffn = turnoff

即可对虫洞按鼠标右键解除锁在地上,再点左键就可以将它捡起(在物品栏里显示为一

朵花的图片),到要放置的地点后,将虫洞拿出放在地上,对其点鼠标右键即可再次锁在地上。

在家门口摆一排虫洞,将对应的虫洞放在想去的地方,组成自己的虫洞地铁网络吧。另外跳

虫洞不但不会降脑,反而会补脑,让你出行的心情更加愉快

二二二.全自动播种机(给避雷针草、树枝、芦苇,周围自动种下一百多个)

1.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入inst:AddComponent("tradable")

2.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入inst:AddComponent("tradable")

3.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入inst:AddComponent("tradable")

4.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function ShouldAcceptItem(inst, item)

local player = GetPlayer()

if ory:Has("goldnugget", 50) then

if == "cutgrass" then

return true

end

end

if ory:Has("goldnugget", 50) then

if == "twigs" then

return true

end

end

if ory:Has("goldnugget", 50) then

if == "cutreeds" then

return true

end

end

return false

end

local function OnGetItemFromPlayer(inst, giver, item)

ory:ConsumeByName("goldnugget", 50)

if == "cutgrass" then

= "grass"

end

if == "twigs" then

= "sapling"

end

if == "cutreeds" then

= "reeds"

end

local pt = Vector3(orm:GetWorldPosition())

inst:StartThread(function()

for k = 1, 25 do

local theta = 1 * 2 * PI

local radius = 4

local result_offset = FindValidPositionByFan(theta, radius, 25,

function(offset)

local x,y,z = (pt + offset):Get()

local ents = TheSim:FindEntities(x,y,z , 1)

return not next(ents)

end)

if result_offset then

local tentacle = SpawnPrefab()

orm:SetPosition((pt + result_offset):Get())

GetPlayer().controller:ShakeCamera(inst, "FULL",

0.2, 0.02, .25, 40)

local fx = SpawnPrefab("splash_ocean")

local pos = pt + result_offset

orm:SetPosition(pos.x, pos.y, pos.z)

end

Sleep(.33)

end

for k = 1, 37 do

local theta = 1 * 2 * PI

local radius = 6

local result_offset = FindValidPositionByFan(theta, radius, 37,

function(offset)

local x,y,z = (pt + offset):Get()

local ents = TheSim:FindEntities(x,y,z , 1)

return not next(ents)

end)

if result_offset then

local tentacle = SpawnPrefab()

orm:SetPosition((pt + result_offset):Get())

GetPlayer().controller:ShakeCamera(inst, "FULL",

0.2, 0.02, .25, 40)

local fx = SpawnPrefab("splash_ocean")

local pos = pt + result_offset

orm:SetPosition(pos.x, pos.y, pos.z)

end

Sleep(.23)

end

for k = 1, 50 do

local theta = 1 * 2 * PI

local radius = 8

local result_offset = FindValidPositionByFan(theta, radius, 50,

function(offset)

local x,y,z = (pt + offset):Get()

local ents = TheSim:FindEntities(x,y,z , 1)

return not next(ents)

end)

if result_offset then

local tentacle = SpawnPrefab()

orm:SetPosition((pt + result_offset):Get())

GetPlayer().controller:ShakeCamera(inst, "FULL",

0.2, 0.02, .25, 40)

local fx = SpawnPrefab("splash_ocean")

local pos = pt + result_offset

orm:SetPosition(pos.x, pos.y, pos.z)

end

Sleep(.13)

end

end)

return true

end

inst:AddComponent("trader")

pt = OnGetItemFromPlayer

:SetAcceptTest(ShouldAcceptItem)

即可在空旷的地上建一个避雷针,给避雷针一个草(拿草对避雷针点鼠标左键),周围将

自动种下一百多个草,如果给避雷针树枝或芦苇,就自动种一百多个树枝或芦苇。同时将收

取主角50个黄金(物品栏黄金不足时将不自动播种)。避雷针周围已经自动播种好后,就不

要再给避雷针草、树枝、芦苇了,否则只扣钱不干活。将其中grass(草)改成别的物品,

比如mandrake(曼德拉草),就可以给避雷针草,播下一百多个曼德拉草

二二三.智能播种机器人(将独奏乐器扔在地上自动种100棵香蕉树)

用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function ondropped(inst)

local player = GetPlayer()

if ory:Has("goldnugget", 50) then

ory:ConsumeByName("goldnugget", 50)

RemovePhysicsColliders(inst)

= "cave_banana_tree"

ickedup = false

inst:DoTaskInTime(1, function()

= inst:DoPeriodicTask(.5, function()

s:SetMotorVelOverride(2,0,2)

s:ClearMotorVelOverride()

mitter:PlaySound("dontstarve/characters/wx78/levelup")

SpawnPrefab().Transform:SetPosition(orm:GetWorldPosition())

end)

end)

inst:DoTaskInTime(11, function()

if then :Cancel() = nil end

mitter:PlaySound("dontstarve/characters/wx78/levelup")

s:SetMotorVelOverride(-3,0,3)

s:ClearMotorVelOverride()

end)

inst:DoTaskInTime(12, function()

= inst:DoPeriodicTask(.5, function()

s:SetMotorVelOverride(-2,0,-2)

s:ClearMotorVelOverride()

mitter:PlaySound("dontstarve/characters/wx78/levelup")

SpawnPrefab().Transform:SetPosition(orm:GetWorldPosition())

end)

end)

inst:DoTaskInTime(22, function()

if then :Cancel() = nil end

mitter:PlaySound("dontstarve/characters/wx78/levelup")

s:SetMotorVelOverride(-3,0,3)

s:ClearMotorVelOverride()

end)

inst:DoTaskInTime(23, function()

= inst:DoPeriodicTask(.5, function()

s:SetMotorVelOverride(2,0,2)

s:ClearMotorVelOverride()

mitter:PlaySound("dontstarve/characters/wx78/levelup")

SpawnPrefab().Transform:SetPosition(orm:GetWorldPosition())

end)

end)

inst:DoTaskInTime(33, function()

if then :Cancel() = nil end

mitter:PlaySound("dontstarve/characters/wx78/levelup")

s:SetMotorVelOverride(-3,0,3)

s:ClearMotorVelOverride()

end)

inst:DoTaskInTime(34, function()

= inst:DoPeriodicTask(.5, function()

s:SetMotorVelOverride(-2,0,-2)

s:ClearMotorVelOverride()

mitter:PlaySound("dontstarve/characters/wx78/levelup")

SpawnPrefab().Transform:SetPosition(orm:GetWorldPosition())

end)

end)

inst:DoTaskInTime(44, function()

if then :Cancel() = nil end

mitter:PlaySound("dontstarve/characters/wx78/levelup")

s:SetMotorVelOverride(-3,0,3)

s:ClearMotorVelOverride()

end)

inst:DoTaskInTime(45, function()

= inst:DoPeriodicTask(.5, function()

s:SetMotorVelOverride(2,0,2)

s:ClearMotorVelOverride()

mitter:PlaySound("dontstarve/characters/wx78/levelup")

SpawnPrefab().Transform:SetPosition(orm:GetWorldPosition())

end)

end)

inst:DoTaskInTime(55, function()

if then :Cancel() = nil end

mitter:PlaySound("dontstarve/characters/wx78/levelup")

s:SetMotorVelOverride(-3,0,3)

s:ClearMotorVelOverride()

ickedup = true

end)

end

end

inst:ListenForEvent("ondropped", ondropped)

即可将独奏乐器扔在开阔的空地上,它会自动行驶种下100棵香蕉树(5行,每行20棵),

同时收取主角50个黄金,身上黄金不足时不会干活。将其中的cave_banana_tree(洞穴香

蕉树)改为其他植物,如flower_cave_triple(三朵洞穴花)等,就可以种其他植物了(见

本修改技巧“常用物品中英文名称”)。独奏乐器在魔法选项(画着红骷髅)下,用2个金块、

4个噩梦燃料、2个猪皮制造

二二四.磁悬浮建筑机器人(将针线包扔在地上自动建50块农田)

用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function pickup(inst)

= "fast_farmplot"

local space = 2.1

local row = 10

local num = 0 local num2 = 0 local num3 = 0 local num4 = 0 local num5 = 0

local pt = GetPlayer():GetPosition()

inst:StartThread(function()

for k = 1,row do

num = num + space

orm:SetPosition(pt.x+num, 5, pt.z+num)

SpawnPrefab().Transform:SetPosition(pt.x+num, 0, pt.z+num)

GetPlayer().controller:ShakeCamera(inst, "FULL", 0.2,

0.02, .25, 40)

GetPlayer().SoundEmitter:PlaySound("dontstarve/wilson/rock_break")

Sleep(.5)

end

for k = 1,row do

num2 = num2 + space

orm:SetPosition(pt.x-2.6+num2, 5, pt.z+2.6+num2)

SpawnPrefab().Transform:SetPosition(pt.x-2.6+num2, 0,

pt.z+2.6+num2)

GetPlayer().controller:ShakeCamera(inst, "FULL", 0.2,

0.02, .25, 40)

GetPlayer().SoundEmitter:PlaySound("dontstarve/wilson/rock_break")

Sleep(.5)

end

for k = 1,row do

num3 = num3 + space

orm:SetPosition(pt.x-5.2+num3, 5, pt.z+5.2+num3)

SpawnPrefab().Transform:SetPosition(pt.x-5.2+num3, 0,

pt.z+5.2+num3)

GetPlayer().controller:ShakeCamera(inst, "FULL", 0.2,

0.02, .25, 40)

GetPlayer().SoundEmitter:PlaySound("dontstarve/wilson/rock_break")

Sleep(.5)

end

for k = 1,row do

num4 = num4 + space

orm:SetPosition(pt.x-7.8+num4, 5, pt.z+7.8+num4)

SpawnPrefab().Transform:SetPosition(pt.x-7.8+num4, 0,

pt.z+7.8+num4)

GetPlayer().controller:ShakeCamera(inst, "FULL", 0.2,

0.02, .25, 40)

GetPlayer().SoundEmitter:PlaySound("dontstarve/wilson/rock_break")

Sleep(.5)

end

for k = 1,row do

num5 = num5 + space

orm:SetPosition(pt.x-10.4+num5, 5, pt.z+10.4+num5)

SpawnPrefab().Transform:SetPosition(pt.x-10.4+num5, 0,

pt.z+10.4+num5)

GetPlayer().controller:ShakeCamera(inst, "FULL", 0.2,

0.02, .25, 40)

GetPlayer().SoundEmitter:PlaySound("dontstarve/wilson/rock_break")

Sleep(.5)

end

end)

end

local function ondropped(inst)

local player = GetPlayer()

if ory:Has("goldnugget", 100) then

mitter:PlaySound("dontstarve/characters/wx78/levelup")

s:SetMotorVelOverride(0,2,0)

ory:ConsumeByName("goldnugget", 100)

inst:DoTaskInTime(3, function() pickup(inst) end)

inst:DoTaskInTime(28, function()

s:ClearMotorVelOverride()

GetPlayer().ory:GiveItem(inst)

end)

end

end

inst:ListenForEvent("ondropped", ondropped)

即可将针线包扔在开阔的空地上,它会悬浮在空中自动建50块农田,同时收取主角100

个黄金,身上黄金不足时不会干活。将其中的fast_farmplot(高级农田)改为其他建筑,

如cookpot(煮锅)、birdcage(鸟笼)等,就可以建其他建筑了(见本修改技巧“常用物品

中英文名称”)。针线包在穿戴选项(画着礼帽)下,用1个木头、8个蛛丝、2个犬牙制造

二二五.电动斧子(拿黄金斧子自动放倒身边的树)

用记事本打开游戏目录文件,

1.将下列内容:

local function onequipgold(inst, owner)

ate:OverrideSymbol("swap_object", "swap_goldenaxe",

"swap_goldenaxe")

mitter:PlaySound("dontstarve/wilson/equip_item_gold")

ate:Show("ARM_carry")

ate:Hide("ARM_normal")

end

替换为:

local function pickup(inst, owner)

local range = 3

local pos = Vector3(orm:GetWorldPosition())

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

for k,v in pairs(ents) do

if v:HasTag("tree") and le and not v:HasTag("stump")

then

SpawnPrefab("pine_needles").Transform:SetPosition(orm:GetWorldPositi

on())

v:Remove()

opper:DropLoot()

end

if v:HasTag("burnt") then

SpawnPrefab("pine_needles").Transform:SetPosition(orm:GetWorldPositi

on())

v:Remove()

opper:SpawnLootPrefab("charcoal")

opper:DropLoot()

end

end

mitter:PlaySound("dontstarve/forest/treeCrumble")

return true

end

local function onequipgold(inst, owner)

if ory:Has("lightbulb", 1) then

= inst:DoPeriodicTask(.033, function() pickup(inst, owner) end)

ory:ConsumeByName("lightbulb", 1)

end

ate:OverrideSymbol("swap_object", "swap_goldenaxe",

"swap_goldenaxe")

mitter:PlaySound("dontstarve/wilson/equip_item_gold")

ate:Show("ARM_carry")

ate:Hide("ARM_normal")

end

local function onunequipgold(inst, owner)

ate:Hide("ARM_carry")

ate:Show("ARM_normal")

if then :Cancel() = nil end

end

2.在able:SetOnEquip( onequipgold )的下一行插入

able:SetOnUnequip( onunequipgold )

即可拿黄金斧子自动放倒身边的树(类似电锯),效率极高,且不留树根,方便种新树。

电动斧子需要能源,每次装备时自动开启,会消耗1个荧光果,如果身上没有荧光果,则不

会开启电动功能,只能手动砍树了

二二六.电动镐(拿黄金镐自动凿开身边的石头)

1.用记事本打开游戏目录文件,将下列内容:

local function onequipgold(inst, owner)

ate:OverrideSymbol("swap_object", "swap_goldenpickaxe",

"swap_goldenpickaxe")

mitter:PlaySound("dontstarve/wilson/equip_item_gold")

ate:Show("ARM_carry")

ate:Hide("ARM_normal")

end

替换为:

local function pickup(inst, owner)

local range = 3

local pos = Vector3(orm:GetWorldPosition())

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

for k,v in pairs(ents) do

if le and ==

then

v:Remove()

opper:DropLoot()

end

end

mitter:PlaySound("dontstarve/wilson/rock_break")

return true

end

local function onequipgold(inst, owner)

if ory:Has("lightbulb", 1) then

= inst:DoPeriodicTask(.033, function() pickup(inst, owner) end)

ory:ConsumeByName("lightbulb", 1)

end

ate:OverrideSymbol("swap_object", "swap_goldenpickaxe",

"swap_goldenpickaxe")

mitter:PlaySound("dontstarve/wilson/equip_item_gold")

ate:Show("ARM_carry")

ate:Hide("ARM_normal")

end

local function onunequipgold(inst, owner)

ate:Hide("ARM_carry")

ate:Show("ARM_normal")

if then :Cancel() = nil end

end

2.在able:SetOnEquip( onequipgold )的下一行插入

able:SetOnUnequip( onunequipgold )

即可拿黄金镐自动凿开身边的石头,效率极高,连大理石树、蜘蛛洞、远古雕像都可轻

松凿平。电动镐需要能源,每次装备时自动开启,会消耗1个荧光果,如果身上没有荧光果,

则不会开启电动功能,只能手动开矿了

二二七.电动草叉(拿草叉自动铲起脚下的地皮)

用记事本打开游戏目录文件,将下列内容:

local function onequip(inst, owner)

ate:OverrideSymbol("swap_object", "swap_pitchfork",

"swap_pitchfork")

ate:Show("ARM_carry")

ate:Hide("ARM_normal")

end

local function onunequip(inst, owner)

ate:Hide("ARM_carry")

ate:Show("ARM_normal")

end

替换为:

local function pickup(inst, owner)

local pt = owner:GetPosition()

ormer:Terraform(pt)

mitter:PlaySound("dontstarve/wilson/dig")

end

local function onequip(inst, owner)

if ory:Has("lightbulb", 1) then

= inst:DoPeriodicTask(.033, function() pickup(inst, owner) end)

ory:ConsumeByName("lightbulb", 1)

end

ate:OverrideSymbol("swap_object", "swap_pitchfork",

"swap_pitchfork")

ate:Show("ARM_carry")

ate:Hide("ARM_normal")

end

local function onunequip(inst, owner)

ate:Hide("ARM_carry")

ate:Show("ARM_normal")

if then :Cancel() = nil end

end

即可拿草叉自动铲起脚下的地皮,效率极高,铲地的速度只取决于你走多快。电动草叉

需要能源,每次装备时自动开启,会消耗1个荧光果,如果身上没有荧光果,则不会开启电

动功能,只能手动铲地了

二二八.电动铺路铲(拿黄金铲自动将脚下的空地皮铺成路)

用记事本打开游戏目录文件,

1.将下列内容:

local function onequipgold(inst, owner)

ate:OverrideSymbol("swap_object", "swap_goldenshovel",

"swap_goldenshovel")

mitter:PlaySound("dontstarve/wilson/equip_item_gold")

ate:Show("ARM_carry")

ate:Hide("ARM_normal")

end

替换为:

local function pickup(inst, owner)

=

local pt = owner:GetPosition()

local ground = GetWorld()

local tile = :GetTileAtPoint(pt.x, pt.y, pt.z)

if ground and tile == then

local original_tile_type = :GetTileAtPoint(pt.x, pt.y, pt.z)

local x, y = :GetTileCoordsAtPoint(pt.x, pt.y, pt.z)

if x and y then

:SetTile(x,y, )

:RebuildLayer( original_tile_type, x, y )

:RebuildLayer( , x, y )

end

local minimap = TheSim:FindFirstEntityWithTag("minimap")

if minimap then

p:RebuildLayer( original_tile_type, x, y )

p:RebuildLayer( , x, y )

end

end

mitter:PlaySound("dontstarve/wilson/dig")

end

local function onequipgold(inst, owner)

if ory:Has("lightbulb", 1) then

= inst:DoPeriodicTask(.033, function() pickup(inst, owner) end)

ory:ConsumeByName("lightbulb", 1)

end

ate:OverrideSymbol("swap_object", "swap_goldenshovel",

"swap_goldenshovel")

mitter:PlaySound("dontstarve/wilson/equip_item_gold")

ate:Show("ARM_carry")

ate:Hide("ARM_normal")

end

local function onunequipgold(inst, owner)

ate:Hide("ARM_carry")

ate:Show("ARM_normal")

if then :Cancel() = nil end

end

2.在able:SetOnEquip( onequipgold )的下一行插入

able:SetOnUnequip( onunequipgold )

即可拿黄金铲自动将脚下的空地皮铺成路,效率极高,铺路的速度只取决于你走多快。

电动铺路铲需要能源,每次装备时自动开启,会消耗1个荧光果,如果身上没有荧光果,则

不会开启电动功能。将其中(卵石路)替换为其他地皮名称,如

(岩石地皮)、(污垢地皮)、A(热带草原地皮)、

(长草地皮)、(森林地皮)、(沼泽地皮)、OOR

(木质地板)、(地毯地板)、R(棋盘地板)、(鸟

粪地皮)、(菌类地皮)、RED(红菌类地皮)、GREEN

(绿菌类地皮)、LE(粘滑地皮)、OCK(洞穴石地地皮)、

(泥泞地皮),就可以自动铺其他地皮

二二九.菜市场(在兔房买卖农产品)

用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function ShouldAcceptItem(inst, item)

if item:HasTag("hat") then

return false

end

if pe == "MEAT" then

return false

end

if pe == "SEEDS" then

return false

end

return true

end

local function OnGetItemFromPlayer(inst, giver, item)

local names =

{"cave_banana","carrot","corn","pumpkin","eggplant","durian","pomegranate","drag

onfruit","berries"}

= names[(#names)]

local veggie = SpawnPrefab()

local goldnugget = SpawnPrefab("goldnugget")

if pe == "VEGGIE" then

ory:GiveItem(goldnugget)

end

if == "goldnugget" then

ory:GiveItem(veggie)

end

end

inst:AddComponent("trader")

pt = OnGetItemFromPlayer

:SetAcceptTest(ShouldAcceptItem)

即可将种出来的农产品卖给兔房(拿着农产品左键点兔房),获得1个黄金,黄金会自动

打入账户(主角物品条)。也可以给兔房黄金,买入随机品种的农产品(香蕉、胡萝卜、茄子、

南瓜、玉米、榴莲、石榴、火龙果、浆果)。本店同时收购叶子、荧光果、花瓣、噩梦花瓣、

远古虫子果,通通1个黄金哦

二三0.肉食店(在猪房买卖肉类)

用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function ShouldAcceptItem(inst, item)

if item:HasTag("hat") then

return false

end

if pe == "VEGGIE" then

return false

end

if pe == "SEEDS" then

return false

end

return true

end

local function OnGetItemFromPlayer(inst, giver, item)

local names =

{"meat","smallmeat","fish","eel","drumstick","bird_egg","froglegs"}

= names[(#names)]

local meat = SpawnPrefab()

local goldnugget = SpawnPrefab("goldnugget")

if pe == "MEAT" then

ory:GiveItem(goldnugget)

end

if == "goldnugget" then

ory:GiveItem(meat)

end

end

inst:AddComponent("trader")

pt = OnGetItemFromPlayer

:SetAcceptTest(ShouldAcceptItem)

即可将各种肉类(包括疯肉)卖给猪房(拿着肉类左键点猪房),获得1个黄金,黄金会

自动打入账户(主角物品条)。也可以给猪房黄金,买入随机品种的肉类(大肉、小肉、鱼、

鳗鱼、鸡腿、鸟蛋、蛙腿)

二三一.流动商贩(在猪村、兔村摆地摊)

1.用记事本打开游戏目录文件,在local function

OnEat(inst, food)的下一行插入以下内容:

if and pe == "MEAT" then

for k = 1, 2 do

local gold = SpawnPrefab("goldnugget")

orm:SetPosition(orm:GetWorldPosition())

end

end

2.用记事本打开游戏目录文件,在

inst:AddComponent("eater")的下一行插入以下内容:

local function OnEat(inst, food)

if and pe == "VEGGIE" then

for k = 1, 2 do

local gold = SpawnPrefab("goldnugget")

orm:SetPosition(orm:GetWorldPosition())

end

end

end

:SetOnEatFn(OnEat)

即可在猪村将肉类(包括鱼、鸡蛋、蛙腿等)放在地上,在兔村将蔬菜(包括农产品、

香蕉、浆果等)放在地上,它们会自动来买,每个肉类或蔬菜付2个黄金(扔在地上)。如果

地图上没有猪村(地上)、兔村(地下一层),可以自己建造猪房、兔房形成

二三二.杂货收购行(将料理、帽子、绳子、木板、石砖卖给帐篷换黄金)

1.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入inst:AddComponent("tradable")

2.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入inst:AddComponent("tradable")

3.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入inst:AddComponent("tradable")

4.用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function ShouldAcceptItem(inst, item)

local player = GetPlayer()

if ory:Has("goldnugget", 10) then

if item:HasTag("hat") then

return true

end

end

if ory:Has("goldnugget", 10) then

if item:HasTag("preparedfood") and ~= "wetgoop" then

return true

end

end

if ory:Has("goldnugget", 10) then

if == "rope" then

return true

end

end

if ory:Has("goldnugget", 10) then

if == "boards" then

return true

end

end

if ory:Has("goldnugget", 10) then

if == "cutstone" then

return true

end

end

return false

end

local function OnGetItemFromPlayer(inst, giver, item)

local goldnugget = SpawnPrefab("goldnugget")

if item:HasTag("hat") then

for k = 1, 3 do

ory:GiveItem(goldnugget)

end

end

if item:HasTag("preparedfood") and ~= "wetgoop" then

for k = 1, 5 do

ory:GiveItem(goldnugget)

end

end

if == "rope" then

ory:GiveItem(goldnugget)

end

if == "boards" then

ory:GiveItem(goldnugget)

end

if == "cutstone" then

ory:GiveItem(goldnugget)

end

end

inst:AddComponent("trader")

pt = OnGetItemFromPlayer

:SetAcceptTest(ShouldAcceptItem)

即可将料理、帽子、绳子、木板、石砖卖给帐篷换黄金(拿着物品对帐篷点鼠标左键),

其中料理收购价5个黄金,帽子3个黄金,绳子、木板、石砖都是1个黄金。注意,杂货行

不愿意与没有实力的客户做买卖,如果你身上的黄金数不足10个,则无法在杂货行卖出产品

(身上至少有10个黄金)

二三三.收藏品黑市(在鱼人房买收藏品卖给猪王赚差价)

用记事本打开游戏目录文件,在

inst:AddComponent("inspectable")的下一行插入以下内容:

local function ShouldAcceptItem(inst, item)

local player = GetPlayer()

if ory:Has("goldnugget", 4) then

if == "goldnugget" then

return true

end

end

return false

end

local function OnGetItemFromPlayer(inst, giver, item)

local names =

{"trinket_1","trinket_2","trinket_3","trinket_4","trinket_5","trinket_6","trinke

t_7","trinket_8","trinket_9","trinket_10","trinket_11","trinket_12"}

= names[(#names)]

local trinket = SpawnPrefab()

if == "goldnugget" then

ory:ConsumeByName("goldnugget", 3)

ory:GiveItem(trinket)

end

end

inst:AddComponent("trader")

pt = OnGetItemFromPlayer

本文标签: 黄金敌人右键主角鼠标