yzzn2009
发表于 2013-9-6 20:27
回复渊小乖:暗夜甲无法控制每打一下只下一点脑,因为主角被怪物打就会减脑,只能做到除了怪物因素外单独再减一点
一.暗影剑装备不减脑、砍一下减一点脑
用记事本打开游戏目录\data\scripts\prefabs\nightsword.lua文件,
1.在inst.components.weapon:SetDamage(TUNING.NIGHTSWORD_DAMAGE)的下一行插入以下内容:
local function onattack(inst, owner, target)
owner.components.sanity:DoDelta(-1)
end
inst.components.weapon.onattack = onattack
2.将inst.components.dapperness.dapperness = TUNING.CRAZINESS_MED,替换为inst.components.dapperness.dapperness = TUNING.CRAZINESS_MED*0,
二.装备暗夜甲不减脑、被打减脑
用记事本打开游戏目录\data\scripts\prefabs\armor_sanity.lua文件,
1.将下列内容:
local function OnTakeDamage(inst, damage_amount, absorbed, leftover)
local owner = inst.components.inventoryitem.owner
if owner then
local sanity = owner.components.sanity
if sanity then
local unsaneness = damage_amount * TUNING.ARMOR_SANITY_DMG_AS_SANITY
sanity:DoDelta(-unsaneness, false)
end
end
end
替换为:
local function OnTakeDamage(inst, damage_amount, absorbed, leftover)
local owner = inst.components.inventoryitem.owner
if owner then
owner.components.sanity:DoDelta(-1)
end
end
2.将inst.components.dapperness.dapperness = TUNING.CRAZINESS_SMALL替换为inst.components.dapperness.dapperness = TUNING.CRAZINESS_SMALL*0
yzzn2009
发表于 2013-9-7 01:32
回复渊小乖
沃尔夫冈因为存在3种状态,我不知道你说的血量低于20%是哪种状态时的血量,所以用威尔森举例。
威尔森血量低于20%时,每秒补2%的血
用记事本打开游戏目录\data\scripts\prefabs\wilson.lua文件,在local beard_bits = {1, 3,9}的下一行插入以下内容:
local function onhealthchange(inst, data)
if inst.components.health.currenthealth <= 30 then
inst.components.health:StartRegen(3, 1)
end
if inst.components.health.currenthealth >= 150 then
inst.components.health:StopRegen()
end
return
end
inst:ListenForEvent("healthdelta", onhealthchange)
即可让威尔森血量低于20%时,每秒补2%的血。其中威尔森血量为150,所以150的20%为30,150的2%为3
之所以要加一段当血量大于等于150时停止回血,是因为如果不加,当血回满时再遭到攻击,则不会等到低于20%后再回血,而是当即回血
游戏中通常local function都不会自动起效,必须用标签及参数调用local function才会有效果,这也是为什么最底下要加inst:ListenForEvent("healthdelta", onhealthchange)这句的原因
1356473168
发表于 2013-9-7 07:25
我想要强制打暗影怪的代码有么
小涛丶
发表于 2013-9-7 09:24
yzzn2009 发表于 2013-8-30 16:27 static/image/common/back.gif
一次采5个曼德拉草:用记事本打开游戏目录\data\scripts\prefabs\mandrake.lua文件,在inst:AddComponent( ...
为什么我找不到 ? 我都找了6遍了
姐姐你出翔了
发表于 2013-9-7 09:59
没回复可见,就说明楼主诚意啊:victory:
向日葵的人生。
发表于 2013-9-7 10:38
本帖最后由 向日葵的人生。 于 2013-9-7 10:39 编辑
关于矿工灯永久使用的代码..我看了下工具无限mod..可能是矿工灯.lua文件中的..
local function nofuel(inst)
local owner = inst.components.inventoryitem and inst.components.inventoryitem.owner
if owner then
--owner:PushEvent("torchranout", {torch = inst}) --tehmug
end
--turnoff(inst) --tehmug
end
以及modmain.lua文件中的
function preventPerishable (inst)
inst.components.perishable.Update = function () end -- set to blank function
inst.components.perishable.GetPercent = function () return 1 end
end
AddPrefabPostInit("pumpkin_lantern", preventPerishable )
function InfiniteTools_RemoveFiniteUses(inst)
if inst.components.finiteuses then
inst:RemoveComponent("finiteuses")
end
end
--inst:AddComponent("fueled")
function InfiniteTools_Removefueled(inst)
if inst.components.fueled then
inst:RemoveComponent("fueled")
end
end
向日葵的人生。
发表于 2013-9-7 10:39
向日葵的人生。 发表于 2013-9-7 10:38 static/image/common/back.gif
关于矿工灯永久使用的代码..我看了下工具无限mod..可能是矿工灯.lua文件中的..
local function nofuel(inst ...
上面那个笑脸是....: P
向日葵的人生。
发表于 2013-9-7 14:51
本帖最后由 向日葵的人生。 于 2013-9-7 14:55 编辑
然后是防御塔mod...不是我原创...但是原作者暂时联系不上..所以放在这里问问...
代码就是modmain.lua里的一段..
local function Findenemy(inst)
local pos = Vector3(inst.Transform:GetWorldPosition())
local ents = TheSim:FindEntities(pos.x, pos.y, pos.z, 20)
for i,ent in ipairs(ents) do
if ent.components.health and not ent.components.health:IsDead() and ent.components.combat and (ent:HasTag("monster") or ent.components.combat.target==GLOBAL.GetPlayer()) then
local nug = SpawnPrefab("stafflight")
local pt = Vector3(inst.Transform:GetWorldPosition())
nug.Transform:SetPosition(pt:Get())
local j=1
nug:DoPeriodicTask(0.05, function()
local pos = Vector3(ent.Transform:GetWorldPosition())
local angle= pos-pt
local mofor = pt+Vector3((j/40)*angle.x,(j/40)*angle.y,(j/40)*angle.z)
if mofor==pos then ent.components.health:DoDelta(-10)
if ent.sg and ent.sg.sg.states.hit then
ent.sg:GoToState("hit") end
nug:Remove()
else nug.Transform:SetPosition(mofor:Get())
j=j+1 end end)
end
end
end
local function towerPrefabPostInit(inst)
inst.Attacktask = inst:DoPeriodicTask(1.5, function()Findenemy(inst) end)
end
AddPrefabPostInit("researchlab", towerPrefabPostInit)
AddPrefabPostInit("researchlab2", towerPrefabPostInit)
AddPrefabPostInit("researchlab3", towerPrefabPostInit)
AddPrefabPostInit("researchlab4", towerPrefabPostInit)
即可以给四个科研机器添加上防御塔功能...
不过有三个问题..
第一个问题是...被我攻击过的墙体也成为了攻击目标 我试着去掉了ent.components.combat.target==GLOBAL.GetPlayer() 这一段..结果连攻击我的二师兄也不列为攻击目标了..
第二个问题是..我想加入被攻击者被冰冻的效果(寒冰塔),于是我加入了这么一段..
if target.components.freezable then
target.components.freezable:AddColdness(3)
end
...结果是错误的...好像是因为没有target标签..
第三个问题是..攻击的(现在是一个光球)弹道有些问题...隔怪物还有一段距离就会消失..而怪物也会过一会才会受到伤害(即做一个被伤害动作)
问大神..这三个问题能解决么..三个笑脸是:D
小涛丶
发表于 2013-9-7 15:06
可不可以修改树精出来的几率 那个伍迪变身身上没木头 不能用MOD种树精 能不能砍几棵树就出来一个树精 求弄在修改上面
woshizqr
发表于 2013-9-7 16:16
可以增加树精吗
小涛丶
发表于 2013-9-7 16:27
yzzn2009 发表于 2013-9-1 22:24 static/image/common/back.gif
所有宝石都一个文件,所以只能改全部宝石都可以种双朵荧光草
你能把这个添加修改里面吗?
yzzn2009
发表于 2013-9-7 18:32
本帖最后由 yzzn2009 于 2013-9-7 18:46 编辑
小涛丶 发表于 2013-9-7 09:24 static/image/common/back.gif
为什么我找不到 ? 我都找了6遍了在这个位置下一行插语句
yzzn2009
发表于 2013-9-7 18:46
woshizqr 发表于 2013-9-7 16:16 static/image/common/back.gif
可以增加树精吗
增加树精出现概率:用记事本打开游戏目录\data\scripts\prefabs\evergreens.lua文件,将if math.random() <= TUNING.LEIF_PERCENT_CHANCE then替换为if math.random() <= TUNING.LEIF_PERCENT_CHANCE*100 then即可
其中*100为增加树精出现概率100倍,想增加多少概率可自己调整数字
yzzn2009
发表于 2013-9-7 18:49
小涛丶 发表于 2013-9-7 16:27 static/image/common/back.gif
你能把这个添加修改里面吗?
一方面种植的技术例子已经比较多了,另一方面夜晚照明的物品也有许多,再加入种荧光草有些重复了,先放放,如果要的人比较多,我们再加入好吗
yzzn2009
发表于 2013-9-7 19:21
向日葵的人生。 发表于 2013-9-7 14:51 static/image/common/back.gif
然后是防御塔mod...不是我原创...但是原作者暂时联系不上..所以放在这里问问...
代码就是modmain.lua里的一 ...
我通常不回答重新设计游戏和做mod的问题,因为时间不够,我只能给一点点意见,且以后请尽量避免问重新设计游戏和做mod的问题,谢谢。
一.想既保留攻击主角攻击的目标,又不伤墙:将if ent.components.health and not ent.components.health:IsDead() and ent.components.combat and (ent:HasTag("monster") or ent.components.combat.target==GLOBAL.GetPlayer()) then替换为以下内容:
if ent.components.health and not ent.components.health:IsDead() and ent.components.combat and (ent:HasTag("monster") or ent.components.combat.target==GLOBAL.GetPlayer()) and not ent:HasTag("wall") then
二.想在机器被打时产生效果,需要建立local function OnAttacked(inst, data),格式可以参考修改技巧中“十.菩萨低眉”,将其中的内容换成你想要的效果。
local function OnAttacked(inst, data)
if data.attacker.components.health and not data.attacker:HasTag("player") then
inst.components.health:DoDelta(TUNING.HEALING_SUPERHUGE*5)
inst.components.sanity:DoDelta(TUNING.SANITY_HUGE*5)
data.attacker.components.health:DoDelta(-TUNING.HEALING_SUPERHUGE*30)
end
end
inst:ListenForEvent("attacked", OnAttacked)
三.光球提前消失问题,我刚才测试了一下,将射程加长,光球不存在自动删除问题,应该是mod中其他语句干扰导致
yzzn2009
发表于 2013-9-7 19:42
1356473168 发表于 2013-9-7 07:25 static/image/common/back.gif
我想要强制打暗影怪的代码有么
暗影怪直接就可以打,不需要强制攻击啊,没太明白你的意思
向日葵的人生。
发表于 2013-9-7 21:16
yzzn2009 发表于 2013-9-7 19:42 static/image/common/back.gif
暗影怪直接就可以打,不需要强制攻击啊,没太明白你的意思
19版san值在某个程度时,会出现影怪,但是影怪不会主动攻击你....而这个时候...你也不能按ctrl强行攻击影怪
yzzn2009
发表于 2013-9-8 00:41
本帖最后由 yzzn2009 于 2013-9-8 00:42 编辑
1356473168 发表于 2013-9-7 07:25 static/image/common/back.gif
我想要强制打暗影怪的代码有么
看了楼上说的,我明白你的意思了。是暗影怪刚出来但还没攻击主角的时候,想要强制攻击它。但游戏生暗影怪的机制中有以下语句
if child.components.health then
child.components.health:Kill()
意思是,那时的暗影怪生出来会被系统自动杀死(只是个显示效果),等不到你去攻击它。之后再出的暗影怪就可以随意攻击了,但已经不是前一批了
小涛丶
发表于 2013-9-8 08:38
yzzn2009 发表于 2013-9-7 18:49 static/image/common/back.gif
一方面种植的技术例子已经比较多了,另一方面夜晚照明的物品也有许多,再加入种荧光草有些重复了,先放放 ...
你放在这里我复制一下会有一些黑的东西 然后复制在QQ上 在弄在记事本上就会说 数据丢失
小涛丶
发表于 2013-9-8 09:01
能不能弄用腐烂植物种麦克斯光
渊小乖
发表于 2013-9-8 12:26
楼主大神两天没更新了期待洞穴也有白天的修改方法!
2416202910
发表于 2013-9-8 16:21
高鸟蛋的英语名叫什么?
渊小乖
发表于 2013-9-8 18:18
2416202910 发表于 2013-9-8 16:21 static/image/common/back.gif
高鸟蛋的英语名叫什么?
gaodiaodan思密达
渊小乖
发表于 2013-9-8 18:21
2416202910 发表于 2013-9-8 16:21 static/image/common/back.gif
高鸟蛋的英语名叫什么?
开玩笑的 鸟蛋的文件是egg
渊小乖
发表于 2013-9-8 18:21
楼主不更新了也不回复了 伤心
yzzn2009
发表于 2013-9-8 19:30
小涛丶 发表于 2013-9-8 08:38 static/image/common/back.gif
你放在这里我复制一下会有一些黑的东西 然后复制在QQ上 在弄在记事本上 ...
是不是文本编码的问题啊,你把网页的信息先复制到空白的记事本中,如果还有黑方块,就把它替换为空格试试
yzzn2009
发表于 2013-9-8 19:31
渊小乖 发表于 2013-9-8 12:26 static/image/common/back.gif
楼主大神两天没更新了期待洞穴也有白天的修改方法!
这两天太忙了,我已经更新了
渊小乖
发表于 2013-9-8 19:31
如何修改掉挖坟全部宝石落几率 杀狗全部宝石掉落几率?????????想要杀狗挖矿都有几率掉落全部宝石
渊小乖
发表于 2013-9-8 19:32
yzzn2009 发表于 2013-9-8 19:31 static/image/common/back.gif
这两天太忙了,我已经更新了
谢 谢 大 神
yzzn2009
发表于 2013-9-8 19:32
2416202910 发表于 2013-9-8 16:21 static/image/common/back.gif
高鸟蛋的英语名叫什么?
高鸟蛋英文tallbirdegg