设为首页收藏本站

仙剑之十里坡

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 3197|回复: 4
打印 上一主题 下一主题

[6r教程整理]传送脚本

[复制链接]

160

主题

6

听众

1万

积分

超级版主

蜀山剑侠银行行长

超级版主

  • TA的每日心情
    开心
    昨天 21:35
  • 签到天数: 858 天

    [LV.10]以坛为家III

    精华
    3
    积分
    13202
    历练
    7
    声望
    24
    人气
    2361

    金融巨子 润泽万物 坚若磐石

    单身中……
    帮我摆脱单身吧
    跳转到指定楼层
    1
    发表于 2010-7-2 22:29:39 |只看该作者 |倒序浏览
    1. #==============================================================================
    2. # 本脚本原载于www.66RPG.com,转载和使用请保留此信息
    3. #------------------------------------------------------------------------------
    4. # 自定义内容解释:
    5. # TOWNS[编号]=["地名,可以随便写",开关编号,[传送去的地图id,传送去的地图x,
    6. #              传送去的地图y],角色朝向]
    7. #
    8. # 编号请按照0、1、2、3……顺序往下排布
    9. # 当编号的开关打开的时候,才可以选择这个传送地点
    10. # 角色朝向,2为下,4为左,6为右,8为上,具体可以参考自己数字小键盘的方向和数字关系
    11. # 如果是其他方向请自己改。
    12. #  
    13. # 需要制作脚本,请点击66rpg.com最底部的QQ交谈
    14. #
    15. # 使用方法:在需要传送的传送门、传送石、传送羽毛、传送旅店一类的地方使用公共事件:
    16. #           呼叫脚本:$scene = Scene_Teleport.new
    17. #
    18. # 制作者:柳柳
    19. #==============================================================================
    20. TOWNS=[]
    21. TOWNS[0]=["古德城堡东门",1,[1,2,3],2]
    22. TOWNS[1]=["古德城堡西门",2,[1,2,5],4]
    23. TOWNS[2]=["修道院门口",3,[3,3,6],4]
    24. TOWNS[3]=["女神遗迹南口",4,[4,2,6],4]
    25. TOWNS[4]=["圣天城骑士团练兵场",5,[5,2,6],4]
    26. TOWNS[5]=["许愿之塔",6,[6,9,6],4]
    27. #==============================================================================
    28. # ■ Window_Teleport
    29. #------------------------------------------------------------------------------
    30. #  处理传送的窗口
    31. #==============================================================================
    32. class Window_Teleport < Window_Selectable
    33.   #--------------------------------------------------------------------------
    34.   # ● 初始化对像
    35.   #--------------------------------------------------------------------------
    36.   def initialize
    37.     super(640,640,64,64)
    38.     self.contents = Bitmap.new(width, height)
    39.     self.opacity = 180
    40.     get_towns
    41.     draw_towns
    42.     @column_max = 1
    43.   end
    44.   #--------------------------------------------------------------------------
    45.   # ● 获取可到达的城镇和窗口大小
    46.   #--------------------------------------------------------------------------
    47.   def get_towns
    48.     @carol3_towns = []
    49.     @width_temp = 0
    50.     @cont_use = false
    51.     for town in TOWNS
    52.       if $game_switches[town[1]]==true
    53.         @carol3_towns.push(town)
    54.         if contents.text_size(town[0]).width >= @width_temp
    55.           @width_temp = contents.text_size(town[0]).width
    56.         end
    57.       end
    58.     end
    59.     @item_max = @carol3_towns.size
    60.     if @item_max == 0
    61.       @carol3_towns[0] = ["没有可以传送的地方",1,[1,1,1]]
    62.       @width_temp = contents.text_size(@carol3_towns[0][0]).width
    63.       @item_max = 1
    64.       @cont_use = true
    65.     end
    66.     self.width = [@width_temp+32,480].min
    67.     self.height = [(@item_max+1)*32,360].min
    68.     self.x = (640-self.width)/2
    69.     self.y = (480-self.height)/2
    70.     self.contents = Bitmap.new(width-32,row_max*32)
    71.   end
    72.   #--------------------------------------------------------------------------
    73.   # ● 描绘城镇名称
    74.   #--------------------------------------------------------------------------
    75.   def draw_towns
    76.     for i in 0...@carol3_towns.size
    77.       self.contents.draw_text(0,i*32,@width_temp,32,@carol3_towns[i][0],1)
    78.     end
    79.   end
    80. #--------------------------------------------------------------------------
    81.   # ● 返回的内容
    82.   #========================================================================
    83.   # ● 地图编号
    84.   #--------------------------------------------------------------------------
    85.   def map_id
    86.     return @carol3_towns[self.index][2][0]
    87.   end
    88.   #--------------------------------------------------------------------------
    89.   # ● 地图x坐标
    90.   #--------------------------------------------------------------------------
    91.   def map_x
    92.     return @carol3_towns[self.index][2][1]
    93.   end      
    94.   #--------------------------------------------------------------------------
    95.   # ● 地图y坐标
    96.   #--------------------------------------------------------------------------
    97.   def map_y
    98.     return @carol3_towns[self.index][2][2]
    99.   end  
    100.   #--------------------------------------------------------------------------
    101.   # ● 角色朝向
    102.   #--------------------------------------------------------------------------
    103.   def map_direction
    104.     return @carol3_towns[self.index][2][3]
    105.   end  
    106.   #--------------------------------------------------------------------------
    107.   # ● 判断是否一个城市都没有
    108.   #--------------------------------------------------------------------------
    109.   def cant_use?
    110.     return @cont_use
    111.   end  
    112. end
    113. #==============================================================================
    114. # ■ Scene_Teleport
    115. #------------------------------------------------------------------------------
    116. #  处理传送执行的类
    117. #==============================================================================
    118. class Scene_Teleport
    119.   #--------------------------------------------------------------------------
    120.   # ● 主处理
    121.   #--------------------------------------------------------------------------
    122.   def main
    123.     $game_system.se_play($data_system.decision_se)
    124.     @carol3_trans_white = false
    125.     @carol3_map_sprite = Spriteset_Map.new
    126.     @carol3_teleport_window = Window_Teleport.new
    127.     if @carol3_teleport_window.cant_use?
    128.       @carol3_teleport_window.index = -1
    129.     else
    130.       @carol3_teleport_window.index = 0
    131.     end
    132.     @carol3_teleport_window.active = true
    133.     Graphics.transition
    134.     loop do
    135.       Graphics.update
    136.       Input.update
    137.       carol3_update
    138.       if $scene != self
    139.         break
    140.       end
    141.     end     
    142.     if @carol3_trans_white==true
    143.       @carol3_white_sprite = Sprite.new
    144.       @carol3_white_sprite.bitmap = Bitmap.new(640,480)
    145.       @carol3_white_sprite.opacity = 0
    146.       @carol3_white_sprite.bitmap.fill_rect(0, 0, 640, 480, Color.new(255,255,255,255))  
    147.       for i in 0..20
    148.         @carol3_white_sprite.opacity += 15
    149.         @carol3_teleport_window.opacity -= 12
    150.         @carol3_teleport_window.contents_opacity -= 12
    151.         Graphics.update
    152.       end
    153.       Graphics.freeze
    154.       Graphics.transition(0)
    155.       Graphics.update
    156.       @carol3_map_sprite.dispose
    157.       $game_map.setup($game_temp.player_new_map_id)
    158.       $game_player.moveto($game_temp.player_new_x, $game_temp.player_new_y)
    159.       $game_player.turn_down
    160.       $game_player.straighten
    161.       $game_map.autoplay      
    162.       Graphics.frame_reset
    163.       for i in 0..20
    164.         @carol3_white_sprite.opacity -= 15
    165.         Graphics.update
    166.       end
    167.       @carol3_white_sprite.dispose
    168.       @carol3_teleport_window.dispose
    169.       Graphics.freeze
    170.     else
    171.       Graphics.freeze
    172.       @carol3_teleport_window.dispose
    173.       @carol3_map_sprite.dispose
    174.     end     
    175.   end
    176.   #--------------------------------------------------------------------------
    177.   # ● 刷新画面
    178.   #--------------------------------------------------------------------------
    179.   def carol3_update
    180.     @carol3_teleport_window.update
    181.     if Input.trigger?(Input::B)
    182.       $game_system.se_play($data_system.cancel_se)
    183.       $scene = Scene_Map.new
    184.       return
    185.     end
    186.     if Input.trigger?(Input::C)
    187.       if @carol3_teleport_window.index == -1
    188.         $game_system.se_play($data_system.cancel_se)
    189.         $scene = Scene_Map.new
    190.         return
    191.       else         
    192.         $game_temp.player_new_map_id = @carol3_teleport_window.map_id
    193.         $game_temp.player_new_x = @carol3_teleport_window.map_x
    194.         $game_temp.player_new_y = @carol3_teleport_window.map_y
    195.         $game_temp.player_new_direction = @carol3_teleport_window.map_direction
    196.         $game_temp.player_transferring = true
    197.         $game_temp.transition_processing = true
    198.         $game_temp.transition_name = ""
    199.         $scene = Scene_Map.new
    200.         @carol3_trans_white = true
    201.         Audio.se_play("Audio/SE/" + "018-Teleport01",100,100)
    202.         return
    203.       end
    204.     end     
    205.   end
    206. end
    复制代码
    分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    转播转播0 分享淘帖0 分享分享0 收藏收藏0

    160

    主题

    6

    听众

    1万

    积分

    超级版主

    蜀山剑侠银行行长

    超级版主

  • TA的每日心情
    开心
    昨天 21:35
  • 签到天数: 858 天

    [LV.10]以坛为家III

    精华
    3
    积分
    13202
    历练
    7
    声望
    24
    人气
    2361

    金融巨子 润泽万物 坚若磐石

    单身中……
    帮我摆脱单身吧
    2
    发表于 2010-7-2 22:30:49 |只看该作者
    解释一下,这个就是在不同的开关打开时触动相同的事件,到达不同的场景。
    于是饮酒乐甚,扣舷而歌之。歌曰:“桂棹兮兰桨,击空明兮溯流光。残阳阳兮是羊羊,吾乃最爱南宫煌。”
    回复

    使用道具 举报

    1008

    主题

    5

    听众

    2万

    积分

    返璞归真

    不器用な星の瞬き

    会员等级: 10

  • TA的每日心情
    擦汗
    2024-4-17 22:49
  • 签到天数: 1362 天

    [LV.10]以坛为家III

    精华
    2
    积分
    23735
    历练
    3
    声望
    133
    人气
    2536

    转帖之王 金融巨子 黑色羽翼

    单身中……
    帮我摆脱单身吧
    3
    发表于 2010-7-3 05:35:13 |只看该作者
    这个不如用事件做
    夜空の星に 捧げた願いの
    欠片積めて 爆誕する奇跡
    回复

    使用道具 举报

    160

    主题

    6

    听众

    1万

    积分

    超级版主

    蜀山剑侠银行行长

    超级版主

  • TA的每日心情
    开心
    昨天 21:35
  • 签到天数: 858 天

    [LV.10]以坛为家III

    精华
    3
    积分
    13202
    历练
    7
    声望
    24
    人气
    2361

    金融巨子 润泽万物 坚若磐石

    单身中……
    帮我摆脱单身吧
    4
    发表于 2010-7-3 11:36:25 |只看该作者
    我也是这么想的,不如来个公共事件里面来几个条件分歧。
    于是饮酒乐甚,扣舷而歌之。歌曰:“桂棹兮兰桨,击空明兮溯流光。残阳阳兮是羊羊,吾乃最爱南宫煌。”
    回复

    使用道具 举报

    1008

    主题

    5

    听众

    2万

    积分

    返璞归真

    不器用な星の瞬き

    会员等级: 10

  • TA的每日心情
    擦汗
    2024-4-17 22:49
  • 签到天数: 1362 天

    [LV.10]以坛为家III

    精华
    2
    积分
    23735
    历练
    3
    声望
    133
    人气
    2536

    转帖之王 金融巨子 黑色羽翼

    单身中……
    帮我摆脱单身吧
    5
    发表于 2010-7-3 12:50:07 |只看该作者
    你这样想的话还发?
    夜空の星に 捧げた願いの
    欠片積めて 爆誕する奇跡
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    手机版|Archiver|仙剑之十里坡 ( 苏ICP备11022766号 )  

    GMT+8, 2024-4-29 22:06 , Processed in 0.749934 second(s), 41 queries .

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回顶部