问我的世界怎么做好不开死亡不掉落的纯生存?
我的世界怎么
-
young program
1、
设置人物出场与否
2、
可以创建**(时间发生更换主角)
3、
不太清楚
4、
在main前按insert **本脚本
然后在**中如此调用
设置移动路线:(目标人物)
脚本 tomove(目标坐标x,目标坐标y)
附:
whbm四方向寻路算法的网址:
另附上 寻路算法 的增强:
把 寻路算法 第53行 改为
return h*10#强化启发
本脚本来自www.66rpg.com,使用和转载请保留此信息
自动移动 by octsjimmy 感谢 whbm 提供帮助
begin
该脚本必须有 whbm 的 寻路算法:四方向 的支持
使用该脚本到是很简单
在需要开始自动移动的**中填入
设置移动路线:(目标人物)
脚本 tomove(目标坐标x,目标坐标y)
如此即可
例如要使 角色 开始 自动移动 到地图的(0,0)位置那么就可以这样写
设置移动路线:角色
脚本:tomove(0,0)
其余的同样如此设置
需要注意的是:
如果目标坐标所处的图块为不可通行且穿透没有打开的话那么将不会有任何动作
甚至连路线数组也不会生成。end
class interpreter
获取角色
parameter:能力值
def get_character_n(parameter)
能力值分支
增加★
mubiao=parameter
event_id_all=event_id
增加★
case parameter
when-1#角色
return$game_player
when 0#本**
events=$game_map.events
return events=nil?nil:events[@event_id]
else#特定的**
events=$game_map.events
return events=nil?nil:events[parameter]
end
end
alias get_character get_character_n
end
class game_character
新增-
寻路移动
新增-
def tomove(x,y)
当操作目标为 角色 时
if$mubiao=-1
tmp_x=x
tmp_y=y
调用寻路算法,开始计算路线
find_path=find_path.new
path=$find_path.find_player_short_path(@tmp_x,@tmp_y)
当操作目标为 本** 时
elsif$mubiao=0
tmp_x=x
tmp_y=y
tmp_id_x=$game_map.events[$event_id_all].x
tmp_id_y=$game_map.events[$event_id_all].y
调用寻路算法,开始计算路线
find_path=find_path.new
path=$find_path.find_short_path(@tmp_id_x,@tmp_id_y,@tmp_x,@tmp_y)
当操作目标为 其他** 时
else
tmp_x=x
tmp_y=y
tmp_id_x=$game_map.events[$mubiao].x
tmp_id_y=$game_map.events[$mubiao].y
调用寻路算法,开始计算路线
find_path=find_path.new
path=$find_path.find_short_path(@tmp_id_x,@tmp_id_y,@tmp_x,@tmp_y)
end
开始自动移动,参照本类的 update方法
go_path=true
自动移动 处理位置初始化
path_id=0
end
刷新画面
def update_n
跳跃中、移动中、停止中的分支
if jumping?update_jump
elsif moving?update_move
else
update_stop
end
动画计数超过最大值的情况下
最大值等于基本值减去移动速度*1 的值
if@anime_count>18-@move_speed*2
停止动画为 off 并且在停止中的情况下
if not@step_anime and@stop_count>0
还原为原来的图形
pattern=original_pattern
停止动画为 on 并且在移动中的情况下
else
更新图形
pattern=(@pattern+1)%4
end
清除动画计数
anime_count=0
end
等待中的情况下
if@wait_count>0
减少等待计数
wait_count-=1
return
end
强制移动路线的场合
if@move_route_forcing
自定义移动
move_type_custom
return
end
**执行待机中并且为锁定状态的情况下
if@starting or lock?不做规则移动
return
end
如果停止计数超过了一定的值(由移动频度算出)
if@stop_count>(40-@move_frequency*2)*(6-@move_frequency)
移动类型分支
case@move_type
when 1#随机
move_type_random
when 2#接近
move_type_toward_player
when 3#自定义
move_type_custom
end
end
新增-
当 自动移动 标记为真 以及 不在移动时
if@go_path and!moving?依据 自动移动 处理位置 判断下一步该往哪儿走
case@path[@path_id]
when 2
move_down
when 4
move_left
when 6
move_right
when 8
move_up
end
自动移动 处理位置 递增
path_id+1
假如 自动移动 处理位置 到达 路线数组的末尾
if@path_id=path.size
使得 自动移动 标记重置
go_path=false
end
end
end
alias update update_n
end
-
问 我的世界物品不掉落的指令
提问时间:2024-05-12 07:23:56
答 展开全部/gamerule keepinventory truegamerule后面还可以加的内容commandblockoutput 命令执行时是否在控制台进...
-
问 《我的世界》中有哪些敌对生物?死亡后它们会掉落哪些有用物品?
提问时间:2024-05-12 14:54:51
答 在《我的世界》中,敌对生物对于我们生存变得异常艰难,尤其在困难**下,敌对生物会破门而入。下面大酋长给大家详细的介绍一下,在《我的世界》中都有哪些敌对生物?最后...
-
问 dnf独立掉落死亡后爆不爆装备
提问时间:2024-05-12 13:27:19
答 独立掉落,死亡后不是不爆装备,而是已经死亡的角色看不到暴落的装备,复活起来之后才可以看到已经爆出的装备,不得不说有点儿坑,因为如果不起来根本就不知道到底爆没爆东...
-
问 我的世界怎么设置物品掉落不消失
提问时间:2024-05-12 09:40:27
答 物品掉落了过一段时间就会消失或者你可以输入/gamerule dokeepinventory true来开启死亡不掉落前提是你开了允许作弊
-
问 我的世界贝爷生存怎么做地下世界传送门
提问时间:2024-05-12 01:32:35
答 贝爷生存?还是我的世界并没有那么简单?贝爷是那个什么东西都能吃的模组,而我的世界并没有那么简单是出生只有三格血的模组,先纠正一下,为什么那么多人把它叫做贝爷呢
-
问 我的世界不死图腾怎么做
提问时间:2024-05-12 14:13:57
答 您好,很高兴为您解答我的世界不死图腾属于一种护身符道具,并且属于一次性道具,只能够发挥一次效果,当我们使用过我的世界不死图腾之后,不死图腾就会销毁,无法再次使用...
-
问 《我的世界》中,在矿石菌种里怎么能死亡不掉落?
提问时间:2024-05-12 08:27:31
答 orespawn翻译为矿石菌种,这是国外的一个很出名的模组,他仿佛把mc变成了一个真实的生活,能让你探索mc时获得很多乐趣!国内对这个mod的介绍非常少,很多玩...