zgz1988166
发表于 2013-12-18 17:12
请问在修改了“蓝色魔杖升级版(一打冻住一大片)”以后 是否能实现被冻住的目标全体的持续伤害呢? 类似火烧的持续伤害之类的
zgz1988166
发表于 2013-12-18 19:04
staff文件在local function onattack_blue(inst, attacker, target)的下一行插入
target.components.health:StartRegen(-10, 1)
给蓝杖加了持续伤害(单体)之后这个伤害一直持续不停 直到死为止。。就算解冻了以后也一直持续 怎么解决呢?
yzzn2009
发表于 2013-12-18 19:13
zgz1988166 发表于 2013-12-18 19:04 static/image/common/back.gif
staff文件在local function onattack_blue(inst, attacker, target)的下一行插入
targ ...
可以再加几句,让它10秒后停止
inst:DoTaskInTime(10, function()
target.components.health:StopRegen()
end)
小智——
发表于 2013-12-18 19:46
宁哥回帖{:3_93:}http://bbs.3dmgame.com/thread-3878070-1-1.html
Don丶t_say“las
发表于 2013-12-18 19:59
女友死掉了东西也消失了怎么破,我满地图拆的猪窝材料全消失了,复活了也是空的,求解释
zgz1988166
发表于 2013-12-18 20:22
yzzn2009 发表于 2013-12-18 19:13 static/image/common/back.gif
可以再加几句,让它10秒后停止
instoTaskInTime(10, function()
继续求解~~
请问在修改了“蓝色魔杖升级版(一打冻住一大片)”以后 是否能实现被冻住的目标全体的持续伤害呢? 类似火烧的持续伤害之类的
想清蜘蛛 又不想烧森林。。。 我总是设置 大量蜘蛛。。。 经常几十个一起追我。。。痛苦啊
2。怎么能让宠物狗不被自己的冰杖冰冻~~
yzzn2009
发表于 2013-12-18 20:28
Don丶t_say“las 发表于 2013-12-18 19:59 static/image/common/back.gif
女友死掉了东西也消失了怎么破,我满地图拆的猪窝材料全消失了,复活了也是空的,求解释 ...
这是因为官方设定切斯特死后,物品就是消失掉,我们在切斯特基础上做的女友,也会如此,只能在女友死时退出,重新读档
cws1017460382
发表于 2013-12-18 20:28
zgz1988166 发表于 2013-12-18 20:22
继续求解~~
你改第144技巧宠物狗不死 宠物狗就不会被冻着了
yzzn2009
发表于 2013-12-18 20:29
小智—— 发表于 2013-12-18 19:46 static/image/common/back.gif
宁哥回帖http://bbs.3dmgame.com/thread-3878070-1-1.html
那个帖子已经过期了,我做mod的经验很有限,无法帮到你
cws1017460382
发表于 2013-12-18 20:31
Don丶t_say“las 发表于 2013-12-18 19:59
女友死掉了东西也消失了怎么破,我满地图拆的猪窝材料全消失了,复活了也是空的,求解释 ...
你改一下宠物狗不死不就行了
cws1017460382
发表于 2013-12-18 20:37
什么时候发更新啊
yzzn2009
发表于 2013-12-18 20:39
cws1017460382 发表于 2013-12-18 20:37 static/image/common/back.gif
什么时候发更新啊
过了12点就更新,目前还在测试
cws1017460382
发表于 2013-12-18 20:53
修改5个装备格子是需要图片的吗?
靚仔
发表于 2013-12-18 21:42
把更新发一下;P;P
打死、烤肉酱
发表于 2013-12-18 22:18
yzzn2009 发表于 2013-12-18 20:28 static/image/common/back.gif
这是因为官方设定切斯特死后,物品就是消失掉,我们在切斯特基础上做的女友,也会如此,只能在女友死时退 ...
切斯特死后不是所有东西都掉出来吗?我每次闲的就打切斯特每次都掉东西
笑佛--弥勒佛
发表于 2013-12-18 22:30
请把火鸡关在鸟笼的修改给出:)
cws1017460382
发表于 2013-12-19 00:02
更新更新更新。。。。。
堕落の魂
发表于 2013-12-19 00:13
终于更新,坐等10分钟
yzzn2009
发表于 2013-12-19 00:15
靚仔 发表于 2013-12-18 21:42 static/image/common/back.gif
把更新发一下
二0七.我是巨鹿(按键盘HOME键主角变身巨鹿,按END键还原)
用记事本打开游戏目录\data\scripts\prefabs\player_common.lua文件,在inst:AddComponent("playercontroller")的下一行插入以下内容:
TheInput:AddKeyUpHandler(KEY_HOME, function()
if inst.components.inventory:Has("goldnugget", 30) then
inst.components.inventory:ConsumeByName("goldnugget", 30)
inst.components.locomotor:Stop()
inst.components.playercontroller:Enable(false)
inst.AnimState:PlayAnimation("idle_shiver_pre")
inst.AnimState:PushAnimation("idle_shiver_loop")
inst.AnimState:PushAnimation("idle_shiver_pst", false)
inst:DoTaskInTime(1, function()
inst.AnimState:SetBank("deerclops")
inst.AnimState:SetBuild("deerclops_build")
inst:SetStateGraph("SGdeerclops")
inst.AnimState:PlayAnimation("idle_loop", true)
inst.Transform:SetScale(1.5,1.5,1.5)
shadow:SetSize( 6, 3.5 )
local pos = GetPlayer():GetPosition()
GetSeasonManager():DoLightningStrike(pos)
inst.components.health:SetInvincible(true)
inst.components.hunger:Pause()
inst.components.combat:SetDefaultDamage(500)
inst.components.combat.hiteffectsymbol = "deerclops_body"
inst.components.combat.onhitotherfn = function()
inst.SoundEmitter:PlaySound("dontstarve/creatures/deerclops/attack")
inst.components.playercontroller:ShakeCamera(inst, "FULL", 0.5, 0.05, 2, 40)
end
inst.components.combat.playerdamagepercent = 0
inst.components.combat:SetAreaDamage(10, 1)
inst:AddComponent("heater")
inst.components.heater.heat = 180
inst.components.playercontroller:Enable(true)
end )
end
end )
TheInput:AddKeyUpHandler(KEY_END, function()
inst.components.locomotor:Stop()
inst.components.playercontroller:Enable(false)
inst.AnimState:PlayAnimation("taunt")
inst:DoTaskInTime(1, function()
inst.AnimState:SetBank("wilson")
inst.AnimState:SetBuild(name)
inst:SetStateGraph("SGwilson")
inst.AnimState:PlayAnimation("idle")
inst.Transform:SetScale(1,1,1)
shadow:SetSize( 1.3, .6 )
local pos = GetPlayer():GetPosition()
GetSeasonManager():DoLightningStrike(pos)
inst.components.health:SetInvincible(false)
inst.components.hunger:Resume()
inst.components.combat:SetDefaultDamage(TUNING.UNARMED_DAMAGE)
inst.components.combat.hiteffectsymbol = "torso"
inst.components.combat.onhitotherfn = nil
inst.components.combat:SetAreaDamage(0, 0)
inst:RemoveComponent("heater")
inst.components.playercontroller:Enable(true)
end )
end )
即可在你深陷绝境之时,对电脑屏幕大喊“我是巨鹿”,并同时按下键盘HOME键,主角将变身无敌巨鹿(锁血、锁饥饿、不怕冷),对敌人展开恐怖的报复吧(按Ctrl + 鼠标左键攻击)。每次变身将消耗30个黄金,身上黄金数不足时不会变身。想要变化回主角时,按键盘END键即可。注意,由于巨鹿变身时会招来闪电,并且本身具备大面积杀伤的能力,所以请远离基地变身,且尽量不要带同伴。修改过“神奇跳跃”的话,不要在变身巨鹿时跳跃
二一三.观赏蜘蛛(用蛛丝种关在笼中的蜘蛛,喂腐烂食物产种子)
1.用记事本打开游戏目录\data\scripts\prefabs\spoiledfood.lua文件,在inst:AddComponent("inspectable")的下一行插入inst:AddComponent("tradable")
2.用记事本打开游戏目录\data\scripts\prefabs\silk.lua文件,在inst:AddComponent("inspectable")的下一行插入以下内容:
local function OnDeploy (inst, pt)
local cage = SpawnPrefab("birdcage")
cage.Transform:SetPosition(pt.x, pt.y, pt.z)
cage.AnimState:SetMultColour(0/255,255/255,0/255,1)
cage:AddTag("cages")
cage:RemoveComponent("occupiable")
cage:RemoveComponent("trader")
cage:AddComponent("trader")
cage.components.trader:SetAcceptTest(function(cage, item)
if item.prefab == "spoiled_food" then return true end
return false
end )
cage.components.trader.onaccept = function(cage, giver, item)
for k = 1, math.random(5) do
local names = {"carrot_seeds","corn_seeds","pumpkin_seeds","eggplant_seeds","durian_seeds","pomegranate_seeds","dragonfruit_seeds"}
local name = names
cage.components.lootdropper:SpawnLootPrefab(name)
end
end
local animal = SpawnPrefab("silk")
animal.AnimState:SetBank("spider_queen")
animal.AnimState:SetBuild("spider_queen_build")
animal.AnimState:PlayAnimation("idle", true)
animal.Transform:SetScale(0.35, 0.35, 0.35)
animal.components.inventoryitem.canbepickedup = false
local follower = animal.entity:AddFollower()
follower:FollowSymbol( cage.GUID, "swap_object", -10, -220, -0.1 )
cage:RemoveComponent("workable")
cage:AddComponent("workable")
cage.components.workable:SetWorkAction(ACTIONS.HAMMER)
cage.components.workable:SetWorkLeft(1)
cage.components.workable:SetOnFinishCallback(function(cage, worker)
SpawnPrefab("collapse_small").Transform:SetPosition(cage.Transform:GetWorldPosition())
cage.SoundEmitter:PlaySound("dontstarve/common/destroy_wood")
cage:Remove()
animal:Remove()
end )
inst.components.stackable:Get():Remove()
end
inst:AddComponent("deployable")
inst.components.deployable.ondeploy = OnDeploy
3.用记事本打开游戏目录\data\scripts\prefabs\birdcage.lua文件,在inst:AddComponent("inspectable")的下一行插入以下内容:
local function onsave(inst, data)
if inst:HasTag("cages") then
data.cages = true
end
end
local function onload(inst, data)
if data and data.cages then
inst.AnimState:SetMultColour(0/255,255/255,0/255,1)
inst:AddTag("cages")
inst:RemoveComponent("occupiable")
inst:RemoveComponent("trader")
inst:AddComponent("trader")
inst.components.trader:SetAcceptTest(function(inst, item)
if item.prefab == "spoiled_food" then return true end
return false
end )
inst.components.trader.onaccept = function(inst, giver, item)
for k = 1, math.random(5) do
local names = {"carrot_seeds","corn_seeds","pumpkin_seeds","eggplant_seeds","durian_seeds","pomegranate_seeds","dragonfruit_seeds"}
local name = names
inst.components.lootdropper:SpawnLootPrefab(name)
end
end
local animal = SpawnPrefab("silk")
animal.AnimState:SetBank("spider_queen")
animal.AnimState:SetBuild("spider_queen_build")
animal.AnimState:PlayAnimation("idle", true)
animal.Transform:SetScale(0.35, 0.35, 0.35)
animal.components.inventoryitem.canbepickedup = false
local follower = animal.entity:AddFollower()
follower:FollowSymbol( inst.GUID, "swap_object", -10, -220, -0.1 )
inst:RemoveComponent("workable")
inst:AddComponent("workable")
inst.components.workable:SetWorkAction(ACTIONS.HAMMER)
inst.components.workable:SetWorkLeft(1)
inst.components.workable:SetOnFinishCallback(function(inst, worker)
SpawnPrefab("collapse_small").Transform:SetPosition(inst.Transform:GetWorldPosition())
inst.SoundEmitter:PlaySound("dontstarve/common/destroy_wood")
inst:Remove()
animal:Remove()
end )
end
end
inst.OnSave = onsave
inst.OnLoad = onload
即可用蛛丝种关在笼中的蜘蛛,喂它腐烂食物,会掉落随机品种的植物种子。观赏蜘蛛会不定期脱落蛛丝,不想要观赏蜘蛛了,用锤子砸掉即可
yzzn2009
发表于 2013-12-19 00:17
打死、烤肉酱 发表于 2013-12-18 22:18 static/image/common/back.gif
切斯特死后不是所有东西都掉出来吗?我每次闲的就打切斯特每次都掉东西
...
粗略看,没有看到切斯特死后掉物品的代码,人工女友没有动到掉东西的部分,如果原来掉,现在也掉,如果原来不掉,现在也就不掉了
yzzn2009
发表于 2013-12-19 00:23
笑佛--弥勒佛 发表于 2013-12-18 22:30 static/image/common/back.gif
请把火鸡关在鸟笼的修改给出
原本是想设计成随机关各种动物的,但每种动物的尺寸,模型、贴图名称都很杂乱,导致需要写的代码量太大,而且方法很笨,才只选择了蜘蛛的(类似养爬行类动物)。要修改成别的动物,需要一点一点调位置,看上去才像关在笼子里,火鸡我试过,放进去并不好看
yzzn2009
发表于 2013-12-19 00:27
cws1017460382 发表于 2013-12-18 20:53 static/image/common/back.gif
修改5个装备格子是需要图片的吗?
是的,修改无法导入图片,只能调用原资源,只有mod才能调自己的图片
yzzn2009
发表于 2013-12-19 01:06
本帖最后由 yzzn2009 于 2013-12-19 04:27 编辑
闲话两句:“我是巨鹿”诞生记
近几天的研究都很不顺,每天毫无方向,都在漫无目的试技术,一旦写着写着遇到过不去的阻碍,都可能导致一天没有更新可以发布,所以压力巨大。今天之所以做了”我是巨鹿“,是因为再次攻关座骑系统失败,一方面两个物品贴在一起会闪动,另一方面主角和座骑必有一个不能转方向。官方将两个物品贴在一起的方法比较简单,比如装备物品,就是隐藏主角某部位的贴图(事先留空白),将物品的图贴上去即可。但我们没有主角骑动物的模型和贴图,只能将两个物品贴在一起,会使模型产生冲突,我换过无数条途径,都难以逾越。
既然不能骑动物,干脆让主角变成动物,看能否行得通。技术上没有什么太大的困难(没用种某个变种物品的方法,所以轻松许多),开始试验变蜘蛛,效果还好,但与“观赏蜘蛛”雷同。又试了变牛,效果很俗。最后试了试巨鹿,发现效果比较好,走路会有脚步声,感觉像驾驶大机器人。因为基础终归还是主角,巨鹿的特性就全部需要自己写,于是一点一点构建,包括区域攻击、阴影、音效、尺寸、特效,因为还要还原成主角,所以每套系统都必须有回路。粗略的语句框架出来以后,就带到游戏中测试,测算动画和运行时间,修补一些bug,比如走动中变身会报错,就用停止动作加延时语句控制避免,另外又加入了巨鹿不怕冷等语句。最后考虑到如果没有任何消耗就可以变身,会导致不和谐,原本想变回主角后减饥饿,但如果变身前饥饿就不高的话,再减会饿死,于是选择消耗黄金,让土豪们也减减肥(之前看到有人已经拥有9亿个黄金了)。如此“我是巨鹿”就初步做完了,开始在各个存档中测试,在地面、地下、远古层杀各种怪等,终于在晚上12点前定稿,12点12分发布。这就是制作“我是巨鹿”的过程,也是修改技巧中无数个条目诞生的过程了
□ミ Sauley
发表于 2013-12-19 12:59
yzzn2009 发表于 2013-10-4 19:06 static/image/common/back.gif
我们的修改技巧中,记录的全部是修改游戏的方法,如果你想获得哪种功能,就参照那个项目修改,再进入游戏 ...
好人一生平安
asd阿斯顿
发表于 2013-12-19 17:16
额,我想要主角变成巨鹿后能攻击建筑树木等等,怎么弄?求解
cws1017460382
发表于 2013-12-19 18:14
yzzn2009 发表于 2013-12-19 01:06
闲话两句:“我是巨鹿”诞生记
我在论坛上下载了一个存档里面的猪人头上带了个高礼帽 这个跟你那个贴图有什么关系吗?
cws1017460382
发表于 2013-12-19 18:17
我没修改什么 然后那个猪人走起路来帽子还一颠一颠的很真实
cws1017460382
发表于 2013-12-19 18:25
那个存档好像是17版本的
Mue战天。
发表于 2013-12-19 18:25
永远支持“yzzn2009”的人 “Mue战天。”
cws1017460382
发表于 2013-12-19 18:28
我用21版的试了一下存档能用