Project1
标题:
怎么能使人物使用了一个物品后,能在水面上行走?
[打印本页]
作者:
月
时间:
2010-7-7 11:35
标题:
怎么能使人物使用了一个物品后,能在水面上行走?
本帖最后由 凌辰 于 2010-7-8 12:29 编辑
1.任务在新建地图走不了,图块为可行走,换了好几个地图都是这样,可转换方向,但不能走。。。。。
2。怎么能使人物使用了一个物品后,能在水面上行走?(感觉就像口袋里能自由在水面乘游)
[line]1[/line]
请在标题处写明问题,此乃版规,谢谢合作。
LC
作者:
懒De说
时间:
2010-7-7 11:42
第1个问题:可能是设置问题,在我没有看到你的设置,我也不知道是哪里的问题
第2个问题:可以利用临时事件(使用道具触发临时事件可在湖面上行走,道具消失,湖面可行走状态消失)
如果你有本事的话,自己写个脚本,开关控制,更改图层状态
作者:
yehaojiett
时间:
2010-7-7 12:34
2:公共事件比较好吧……弄个开关,配合地形标志……
作者:
逸豫
时间:
2010-7-7 12:56
本帖最后由 逸豫 于 2010-7-7 14:31 编辑
2、
=begin
===============================================================================
===============================================================================
项目名称: 水面行走(Walk On the Water)
项目主管: 逸豫
更新作者: 逸豫
许可协议: FSL-STS
项目版本: 1.0.0
项目分类: XP/移动辅助
衍生关系: 无
建立日期: 2010-07-07
最后更新: 2010-07-07
引用网址: http://rpg.blue/forum.php?mod=viewthread&tid=141011&extra=page%3D1
===============================================================================
使用方法: 设置开关ID后新建物品,设置其公共事件为打开ID为SWITCH_ID的开关,然
后在数据库,图块中把水面的地形标志设为1即可。
===============================================================================
===============================================================================
=end
$fscript = {} if $fscript == nil
$fscript["Walk On the Water"] = [ 1,0,0 ]
module FSL
module Conf
module Walk_On_the_Water
SWITCH_ID = 25
end
end
end
#==============================================================================
# ■ Game_Player (追加定义)
#------------------------------------------------------------------------------
# 处理主角的类。事件启动的判定、以及地图的滚动等功能。
# 本类的实例请参考 $game_player。
#==============================================================================
class Game_Player < Game_Character
include FSL::Conf::Walk_On_the_Water
alias pa passable?
#--------------------------------------------------------------------------
# ● 可以通行判定
# x : X 坐标
# y : Y 坐标
# d : 方向 (0,2,4,6,8) ※ 0 = 全方向不能通行的情况判定 (跳跃用)
# 追加对于地形标志的判断
#--------------------------------------------------------------------------
def passable?(x,y,d)
new_x = x + (d == 6 ? 1 : d == 4 ? -1 : 0)
new_y = y + (d == 2 ? 1 : d == 8 ? -1 : 0)
if $game_map.valid?(new_x, new_y)
tk1 = $game_map.data[new_x,new_y,0]
tk2 = $game_map.data[new_x,new_y,1]
tk3 = $game_map.data[new_x,new_y,2]
tk4 = $game_map.data[x,y,0]
tk5 = $game_map.data[x,y,1]
tk6 = $game_map.data[x,y,2]
can_pass = false
can_pass |= $data_tilesets[$game_map.map_id].terrain_tags[tk1] == 1
can_pass |= $data_tilesets[$game_map.map_id].terrain_tags[tk2] == 1
can_pass |= $data_tilesets[$game_map.map_id].terrain_tags[tk3] == 1
can_pass |= $data_tilesets[$game_map.map_id].terrain_tags[tk4] == 1
can_pass |= $data_tilesets[$game_map.map_id].terrain_tags[tk5] == 1
can_pass |= $data_tilesets[$game_map.map_id].terrain_tags[tk6] == 1
return true if can_pass && $game_switches[SWITCH_ID]
end
pa(x,y,d)
end
end
复制代码
范例附上:
右击-目标另存为
作者:
月
时间:
2010-7-7 16:10
回复
逸豫
的帖子
那个设计开关id什么的怎么回事啊
作者:
逸豫
时间:
2010-7-7 18:27
开关打开时,人物可以在地形标志为1的地方穿行,你可以使用物品使开关打开
作者:
月
时间:
2010-7-7 20:19
回复
逸豫
的帖子
抱歉啊,我有点笨,能不能用图说明一下。。。。。。。sorry
作者:
逸豫
时间:
2010-7-7 20:32
咱表示你可以看范例
范例的数据库 公共事件和物品 脚本 看一下你就可以理解了
作者:
凌辰
时间:
2010-7-7 21:52
第一个问题拿左上角空白图块把地图整个擦一遍,确定一下自己键盘没坏,或者重启试试。
作者:
月
时间:
2010-7-7 21:59
回复
凌辰
的帖子
第一个问题已经解决,谢谢!
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1