代码来源于“易宁”大佬的分享,仅供学习,不要直接复制粘贴。

原帖链接: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点饥饿值