代码来源于“易宁”大佬的分享,仅供学习,不要直接复制粘贴。
原帖链接:http://bbs.3dmgame.com/thread-3859071-1-1.html
1
2二四五.如来神掌(按键盘J键,主角飞起并砸向地面,引发威力巨大的地震)
3
4 用MT管理器打开游戏目录/assets/DLC0002/scripts/prefabs/player_common.lua文件,在inst:AddComponent("playeractionpicker")的下一行插入以下内容:
5
6TheInput:AddKeyUpHandler(KEY_J, function()
7 if not inst:HasTag("jump") then
8 inst.components.hunger:DoDelta(-50)
9 inst.components.playercontroller:Enable(false)
10 inst.AnimState:SetBloomEffectHandle("shaders/anim.ksh")
11 shadow:SetSize( 0, 0 )
12 inst:AddTag("jump")
13 inst.jump = inst:DoPeriodicTask(.01, function() inst.Physics:SetMotorVelOverride(0,15,0) end)
14 inst:DoTaskInTime(5, function()
15 if inst.jump then inst.jump:Cancel() inst.jump = nil end
16 local pos = inst:GetPosition()
17 GetSeasonManager():DoLightningStrike(pos)
18 inst.sg:GoToState("hit")
19 inst.jump2 = inst:DoPeriodicTask(.01, function() inst.Physics:SetMotorVelOverride(0,-55,0) end)
20 end )
21 inst:DoTaskInTime(6.35, function()
22 if inst.jump2 then inst.jump2:Cancel() inst.jump2 = nil end
23 inst.sg:GoToState("hit")
24 inst.AnimState:SetBloomEffectHandle("")
25 shadow:SetSize( 1.3, .6 )
26 SpawnPrefab("collapse_big").Transform:SetPosition(inst.Transform:GetWorldPosition())
27 GetPlayer().SoundEmitter:PlaySound("dontstarve/creatures/eyeballturret/shotexplo")
28 for k = 1,math.random(5) do
29 local pt = Vector3(inst.Transform:GetWorldPosition())
30 SpawnPrefab("rocks").Transform:SetPosition(pt.x+(math.random(3)-math.random(3)), 0, pt.z+(math.random(3)-math.random(3)))
31 end
32 inst.components.playercontroller:ShakeCamera(inst, "FULL", 2.5, 0.03, 2, 30)
33 end )
34 inst:DoTaskInTime(6.5, function()
35 local pos = Vector3(inst.Transform:GetWorldPosition())
36 local ents = TheSim:FindEntities(pos.x,pos.y,pos.z, 30)
37 for k,v in pairs(ents) do
38 if v.components.workable and v.components.workable.workleft > 0 and not v.components.inventoryitem then
39 v.components.workable:Destroy(inst)
40 end
41 if v:HasTag("monster") or v.prefab == "beefalo" or v.prefab == "babybeefalo" or v.prefab == "bunnyman" or v.prefab == "pigman" or v.prefab == "pigguard"
42 or v.prefab == "merm" or v.prefab == "monkey" or v.prefab == "tallbird" or v.prefab == "walrus" or v.prefab == "little_walrus" or v.prefab == "wasphive"
43 or v.prefab == "beehive" or v.prefab == "koalefant_summer" or v.prefab == "koalefant_winter" or v.prefab == "lureplant" or v.prefab == "penguin"
44 or v.prefab == "perd" or v.prefab == "rocky" or v.prefab == "slurper" or v.prefab == "snurtle" or v.prefab == "slurtle" or v.prefab == "slurtlehole"
45 or v.prefab == "spiderden" or v.prefab == "spiderden_2" or v.prefab == "spiderden_3" then
46 v.components.health:DoDelta(-3000)
47 end
48 end
49 inst:RemoveTag("jump")
50 inst.components.playercontroller:Enable(true)
51 end )
52 end
53end )
54
55 即可按下键盘J键使出如来神掌,你将腾空而起并砸向地面(不会伤血),引发剧烈的地震,震毁周围一切建筑、石头、树木,并震死绝大多数动物(不伤宠物等同伴)。如来神掌是迄今为止威力最大的武林绝学,追求和谐游戏的玩家请慎用。每次发功消耗50点饥饿值