设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 10637|回复: 19
打印 上一主题 下一主题

[RMVX发布] 废渣型脚本产物Ⅸ-地图传送道具(简版)

[复制链接]

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
706
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

跳转到指定楼层
1
发表于 2011-5-27 13:07:27 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
苦研脚本2天...还是比不上各位大神,如果发现BUG麻烦在下面举报。
  1. #============================================================================
  2. # ○ 简易传送物品脚本
  3. #         ——By.冰舞蝶恋
  4. #----------------------------------------------------------------------------
  5. module Flyitem
  6. #--设定部分------------------------------------------------------------------
  7. # 用来传送到各地图的物品id,上限可自行添加
  8.   FLYITEM = [21, 22, 23]
  9. #----------------------------------------------------------------------------
  10. # 物品对应的可传送地图,如范例中:[[1,2]……]就代表21号物品可传送到1号和2号
  11. # 地图;再如,22号物品可传送到2号地图;23号物品可传送到1,3,4号地图,可自己
  12. # 设定,以此类推。
  13.   MAPID = [[1, 2],
  14.            [2],
  15.            [1, 3, 4]]
  16. #----------------------------------------------------------------------------
  17. # 被传送地图的X,Y坐标,从1号地图开始,如范例中[1,1]就是如果传送到1号地图,
  18. # 则被传送的坐标是1,1(地图坐标从0记起);[2,4],代表着如果被传送到2号地图
  19. # ,则是从x=2,y=4的地方出现,以此类推。
  20.   MAPXY = [[0, 0],
  21.            [4, 6],
  22.            [5, 5],
  23.            [1, 4]]
  24. #--设定结束,祝您使用愉快----------------------------------------------------
  25. end
  26. # 特别感谢:八云紫 前辈!
  27. #============================================================================
  28. $flyitem = []
  29. $flyid = []
  30. class Scene_Item < Scene_Base
  31.   #--------------------------------------------------------------------------
  32.   # ● 非同伴目标使用物品
  33.   #--------------------------------------------------------------------------
  34.   def use_item_nontarget
  35.     Sound.play_use_item
  36.     $game_party.consume_item(@item)
  37.     @item_window.draw_item(@item_window.index)
  38.     @target_window.refresh
  39.     # 这里是八云紫前辈的判断方法..-------------------------------------------
  40.     if Flyitem::FLYITEM.include?(@item.id)
  41.       fly = Flyitem::FLYITEM.index(@item.id)
  42.       for i in 0..Flyitem::MAPID[fly].size-1
  43.         a = load_data("Data/MapInfos.rvdata")
  44.         $flyitem[i] = a[Flyitem::MAPID[fly][i]].name
  45.         $flyid[i] = Flyitem::MAPID[fly][i]
  46.         if $flyitem.size == Flyitem::MAPID[fly].size
  47.           @fly_cmd = Window_Command.new(240, $flyitem)
  48.           @fly_cmd.x = (544 - @fly_cmd.width) / 2
  49.           @fly_cmd.y = (416 - @fly_cmd.height) / 2
  50.           @fly_cmd.active = @fly_cmd.visible = true
  51.         end
  52.       end
  53.     end
  54.     # 另一种算法(骄傲的:咱自己的思路~~
  55. #~     for fly in 0..Flyitem::FLYITEM.size-1
  56. #~       if @item.id == Flyitem::FLYITEM[fly]
  57. #~         for i in 0..Flyitem::MAPID[fly].size-1
  58. #~           a = load_data("Data/MapInfos.rvdata")
  59. #~           $flyitem[i] = a[Flyitem::MAPID[fly][i]].name
  60. #~           $flyid[i] = Flyitem::MAPID[fly][i]
  61. #~           if $flyitem.size == Flyitem::MAPID[fly].size
  62. #~             @fly_cmd = Window_Command.new(240, $flyitem)
  63. #~             @fly_cmd.x = (544 - @fly_cmd.width) / 2
  64. #~             @fly_cmd.y = (416 - @fly_cmd.height) / 2
  65. #~             @fly_cmd.active = @fly_cmd.visible = true
  66. #~           end
  67. #~         end
  68. #~       end
  69. #~     end
  70.     #------------------------------------------------------------------------
  71.     if $game_party.all_dead?
  72.       $scene = Scene_Gameover.new
  73.     elsif @item.common_event_id > 0
  74.       $game_temp.common_event_id = @item.common_event_id
  75.       $scene = Scene_Map.new
  76.     end
  77.   end
  78.   #--------------------------------------------------------------------------
  79.   # ● 更新画面
  80.   #--------------------------------------------------------------------------
  81.   def update
  82.     super
  83.     update_menu_background
  84.     if @fly_cmd != nil
  85.       if @fly_cmd.active
  86.         @fly_cmd.update
  87.         return cmd
  88.       end
  89.     end
  90.     @help_window.update
  91.     @item_window.update
  92.     @target_window.update
  93.     if @item_window.active
  94.       update_item_selection
  95.     elsif @target_window.active
  96.       update_target_selection
  97.     end
  98.   end
  99.   #--------------------------------------------------------------------------
  100.   # ● 按键处理
  101.   #--------------------------------------------------------------------------
  102.   def cmd
  103.     if Input.trigger?(Input::C)
  104.       id = $flyid[@fly_cmd.index]
  105.       $scene = Scene_Map.new
  106.       @fly_cmd = nil
  107.       xy = Flyitem::MAPXY
  108.       xy2 = xy[id-1]
  109.       $game_map.setup(id)
  110.       $game_player.moveto(xy2[0], xy2[1])
  111.     elsif Input.trigger?(Input::B)
  112.       $scene = Scene_Item.new
  113.       @fly_cmd = nil
  114.       $game_party.gain_item($data_items[@item.id],1)
  115.     end
  116.   end
  117. end
复制代码
如果脚本设定不易理解,那么就下载范例吧。
上图:



附件:
地图传送道具.rar (259.91 KB, 下载次数: 3779)

评分

参与人数 4星屑 +466 收起 理由
天翔风舞 + 14 很很实用的东西
夕阳武士 + 406 再出点数组之外的东西可以发进步奖(PIA.
wangswz + 40 广告/SPAM 。。。。举报!
纳尔德 + 6 我很赞同

查看全部评分

大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群

Lv1.梦旅人

梦石
0
星屑
50
在线时间
36 小时
注册时间
2013-9-15
帖子
16
20
发表于 2013-9-19 14:02:01 | 只看该作者
我去搜刮素材了。。、
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
36 小时
注册时间
2013-9-15
帖子
16
19
发表于 2013-9-19 14:01:30 | 只看该作者
我用公用事件做出了一个传送道具
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1361
在线时间
807 小时
注册时间
2013-8-3
帖子
455
18
发表于 2013-8-30 18:03:32 | 只看该作者
下载显示有毒
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3860
在线时间
1585 小时
注册时间
2006-5-5
帖子
2742
17
发表于 2011-11-14 21:32:26 | 只看该作者
看到这个想起了轩辕剑3里李靖的乘龙诀。
话说以前站上发过相关传送系统,脚本操作,而且事件控制。物品对应公共事件似乎就可以了。
感谢分享这个技术
步兵中尉
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
152 小时
注册时间
2010-7-4
帖子
144
16
发表于 2011-11-9 18:25:33 | 只看该作者
脚本 什么都看不懂     还是事件比较简单

点评

看不懂也别说出来嘛……说出来就是灌水了哦(附加这儿和别处的灌水+挖坟的话,会被扣几分呢?)  发表于 2011-11-10 05:33
[/img]
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
10 小时
注册时间
2011-8-20
帖子
6
15
发表于 2011-8-22 09:14:14 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

铃铃塔的守护者

梦石
0
星屑
626
在线时间
961 小时
注册时间
2010-10-24
帖子
2768

贵宾

14
发表于 2011-7-29 09:45:31 | 只看该作者
表示冰舞姐的脚本进步挺快的呢~这个功能也挺实用的。
记得做悬赏写过一个是使用道具返回主城,然后再使用在返回那个迷宫的地方的。
这个跟那个属于不同的类型,不过也挺不错的~
支持个~

点评

哎呦喂....一不小心挖坟了啊........  发表于 2011-7-29 13:55
谢谢小凤 不过这个应该是很久以前发的东东吧 哈~  发表于 2011-7-29 13:01

魔法麻将独立游戏制作中,欢迎热情的测试员与UI设计师合作开发~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

小小的百鬼夜行<

梦石
0
星屑
54
在线时间
579 小时
注册时间
2010-7-29
帖子
2682

贵宾

13
发表于 2011-7-29 09:30:19 | 只看该作者
本帖最后由 退屈£无聊 于 2011-7-29 09:31 编辑

可否考虑用HASH=-=?
另外对那些认为可以用事件的人们:
当有一堆地图移动道具和可移动地图的时候,事件的设置就略显烦琐.
某只PHP/HTML小白鼠→退屈の间


Cause I knew you were trouble when you walked in
So shame is on me now
I flow me to place i ve never been
till you put me down oh
Now Im lying on the cold hard ground
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1333
在线时间
831 小时
注册时间
2007-12-25
帖子
1558
12
发表于 2011-7-28 19:27:28 | 只看该作者
鼓励冰舞的说。虽然这东西一般人都用事件了。

点评

我才看见这时间回复差= =|||  发表于 2011-7-29 09:32
谢谢九夜~  发表于 2011-7-28 22:35
精卫赤龙腾   
总是存在一种强大,去完成似乎不可能的事情.
无畏战乾程   
或是需要一种勇气,去挑战几乎不存在的胜利.
一味玄真魂     
这是拥有一种恒心,去化解根本没有解的困难.
烈卫开天径    
只是带着一种决心,去争取残存的最后的希望。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-5-30 09:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表