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

Project1

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

[已经过期] 新人请教,脚本冲突问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
800
在线时间
2 小时
注册时间
2015-6-26
帖子
3
跳转到指定楼层
1
发表于 2015-7-12 14:58:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 RyanBern 于 2015-7-13 20:25 编辑

RUBY 代码复制
  1. #==============================================================================
  2.  
  3. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  4.  
  5. #==============================================================================
  6.  
  7.  
  8. # ————————————————————————————————————
  9.  
  10.  
  11.  
  12. # ▼▲▼ XRXS13. パーティ列車移動 ver.1.02 ▼▲▼
  13.  
  14. # by fukuyama
  15.  
  16.  
  17.  
  18. # 分开一段距离跟随
  19.  
  20. # by 叶子
  21.  
  22. #
  23.  
  24. # Train_Actor
  25.  
  26. #
  27.  
  28. # [email][email protected][/email]
  29.  
  30. # [url]http://www4.big.or.jp/~fukuyama/rgss/Train_Actor.txt[/url]
  31.  
  32. #
  33.  
  34.  
  35.  
  36. module Train_Actor
  37.  
  38.  
  39. #是否使用停止跟随的方法,也就是说,这里false改为true的时候,如果TRANSPARENT_SWITCHES_INDEX
  40.  
  41. #开关打开,跟随的人物就消失了(其实只是变成透明而已)
  42.  
  43. TRANSPARENT_SWITCH = true
  44.  
  45. TRANSPARENT_SWITCHES_INDEX = 96
  46.  
  47. #举例:第一个为true,第二个为20,则打开20号开关,后面的人都没了。
  48.  
  49. #跟随人数的最大数目,可以更改为2、3什么的。
  50.  
  51. TRAIN_ACTOR_SIZE_MAX = 4
  52.  
  53.  
  54.  
  55.  
  56.  
  57. # 跟随距离,例如0为紧贴,1为分开一个身位
  58.  
  59. TRAIN_ACTOR_DISTANCE = 1
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67. # 定数
  68.  
  69. #Input::DOWN = 2
  70.  
  71. #Input::LEFT = 4
  72.  
  73. #Input::RIGHT = 6
  74.  
  75. #Input::UP = 6
  76.  
  77. DOWN_LEFT = 1
  78.  
  79. DOWN_RIGHT = 3
  80.  
  81. UP_LEFT = 7
  82.  
  83. UP_RIGHT = 9
  84.  
  85. JUMP = 5
  86.  
  87.  
  88.  
  89. # 叶子到此一游
  90.  
  91. # 插入空角色,造成分开一段距离跟随的假象
  92.  
  93. TRAIN_ACTOR_SIZE_MAX = TRAIN_ACTOR_SIZE_MAX * (TRAIN_ACTOR_DISTANCE+1) + 1
  94.  
  95. class Game_Party_Actor < Game_Character
  96.  
  97. def initialize
  98.  
  99. super()
  100.  
  101. @through = true
  102.  
  103. end
  104.  
  105. def setup(actor)
  106.  
  107. # キャラクターのファイル名と色相を設定
  108.  
  109. if actor != nil
  110.  
  111. @character_name = actor.character_name
  112.  
  113. @character_hue = actor.character_hue
  114.  
  115. else
  116.  
  117. @character_name = ""
  118.  
  119. @character_hue = 0
  120.  
  121. end
  122.  
  123. # 不透明度と合成方法を初期化
  124.  
  125. @opacity = 255
  126.  
  127. @blend_type = 0
  128.  
  129. end
  130.  
  131. def screen_z(height = 0)
  132.  
  133. if $game_player.x == @x and $game_player.y == @y
  134.  
  135. return $game_player.screen_z(height) - 1
  136.  
  137. end
  138.  
  139. super(height)
  140.  
  141. end
  142.  
  143. #--------------------------------------------------------------------------
  144.  
  145. # ● 下に移動
  146.  
  147. # turn_enabled : その場での向き変更を許可するフラグ
  148.  
  149. #--------------------------------------------------------------------------
  150.  
  151. def move_down(turn_enabled = true)
  152.  
  153. # 下を向く
  154.  
  155. if turn_enabled
  156.  
  157. turn_down
  158.  
  159. end
  160.  
  161. # 通行可能な場合
  162.  
  163. if passable?(@x, @y, Input::DOWN)
  164.  
  165. # 下を向く
  166.  
  167. turn_down
  168.  
  169. # 座標を更新
  170.  
  171. @y += 1
  172.  
  173. end
  174.  
  175. end
  176.  
  177. #--------------------------------------------------------------------------
  178.  
  179. # ● 左に移動
  180.  
  181. # turn_enabled : その場での向き変更を許可するフラグ
  182.  
  183. #--------------------------------------------------------------------------
  184.  
  185. def move_left(turn_enabled = true)
  186.  
  187. # 左を向く
  188.  
  189. if turn_enabled
  190.  
  191. turn_left
  192.  
  193. end
  194.  
  195. # 通行可能な場合
  196.  
  197. if passable?(@x, @y, Input::LEFT)
  198.  
  199. # 左を向く
  200.  
  201. turn_left
  202.  
  203. # 座標を更新
  204.  
  205. @x -= 1
  206.  
  207. end
  208.  
  209. end
  210.  
  211. #--------------------------------------------------------------------------
  212.  
  213. # ● 右に移動
  214.  
  215. # turn_enabled : その場での向き変更を許可するフラグ
  216.  
  217. #--------------------------------------------------------------------------
  218.  
  219. def move_right(turn_enabled = true)
  220.  
  221. # 右を向く
  222.  
  223. if turn_enabled
  224.  
  225. turn_right
  226.  
  227. end
  228.  
  229. # 通行可能な場合
  230.  
  231. if passable?(@x, @y, Input::RIGHT)
  232.  
  233. # 右を向く
  234.  
  235. turn_right
  236.  
  237. # 座標を更新
  238.  
  239. @x += 1
  240.  
  241. end
  242.  
  243. end
  244.  
  245. #--------------------------------------------------------------------------
  246.  
  247. # ● 上に移動
  248.  
  249. # turn_enabled : その場での向き変更を許可するフラグ
  250.  
  251. #--------------------------------------------------------------------------
  252.  
  253. def move_up(turn_enabled = true)
  254.  
  255. # 上を向く
  256.  
  257. if turn_enabled
  258.  
  259. turn_up
  260.  
  261. end
  262.  
  263. # 通行可能な場合
  264.  
  265. if passable?(@x, @y, Input::UP)
  266.  
  267. # 上を向く
  268.  
  269. turn_up
  270.  
  271. # 座標を更新
  272.  
  273. @y -= 1
  274.  
  275. end
  276.  
  277. end
  278.  
  279. #--------------------------------------------------------------------------
  280.  
  281. # ● 左下に移動
  282.  
  283. #--------------------------------------------------------------------------
  284.  
  285. def move_lower_left
  286.  
  287. # 向き固定でない場合
  288.  
  289. unless @direction_fix
  290.  
  291. # 右向きだった場合は左を、上向きだった場合は下を向く
  292.  
  293. @direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::UP ? Input::DOWN : @direction)
  294.  
  295. end
  296.  
  297. # 下→左、左→下 のどちらかのコースが通行可能な場合
  298.  
  299. if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or
  300.  
  301. (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN))
  302.  
  303. # 座標を更新
  304.  
  305. @x -= 1
  306.  
  307. @y += 1
  308.  
  309. end
  310.  
  311. end
  312.  
  313. #--------------------------------------------------------------------------
  314.  
  315. # ● 右下に移動
  316.  
  317. #--------------------------------------------------------------------------
  318.  
  319. def move_lower_right
  320.  
  321. # 向き固定でない場合
  322.  
  323. unless @direction_fix
  324.  
  325. # 左向きだった場合は右を、上向きだった場合は下を向く
  326.  
  327. @direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::UP ? Input::DOWN : @direction)
  328.  
  329. end
  330.  
  331. # 下→右、右→下 のどちらかのコースが通行可能な場合
  332.  
  333. if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or
  334.  
  335. (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN))
  336.  
  337. # 座標を更新
  338.  
  339. @x += 1
  340.  
  341. @y += 1
  342.  
  343. end
  344.  
  345. end
  346.  
  347. #--------------------------------------------------------------------------
  348.  
  349. # ● 左上に移動
  350.  
  351. #--------------------------------------------------------------------------
  352.  
  353. def move_upper_left
  354.  
  355. # 向き固定でない場合
  356.  
  357. unless @direction_fix
  358.  
  359. # 右向きだった場合は左を、下向きだった場合は上を向く
  360.  
  361. @direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::DOWN ? Input::UP : @direction)
  362.  
  363. end
  364.  
  365. # 上→左、左→上 のどちらかのコースが通行可能な場合
  366.  
  367. if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or
  368.  
  369. (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP))
  370.  
  371. # 座標を更新
  372.  
  373. @x -= 1
  374.  
  375. @y -= 1
  376.  
  377. end
  378.  
  379. end
  380.  
  381. #--------------------------------------------------------------------------
  382.  
  383. # ● 右上に移動
  384.  
  385. #--------------------------------------------------------------------------
  386.  
  387. def move_upper_right
  388.  
  389. # 向き固定でない場合
  390.  
  391. unless @direction_fix
  392.  
  393. # 左向きだった場合は右を、下向きだった場合は上を向く
  394.  
  395. @direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::DOWN ? Input::UP : @direction)
  396.  
  397. end
  398.  
  399. # 上→右、右→上 のどちらかのコースが通行可能な場合
  400.  
  401. if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or
  402.  
  403. (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP))
  404.  
  405. # 座標を更新
  406.  
  407. @x += 1
  408.  
  409. @y -= 1
  410.  
  411. end
  412.  
  413. end
  414.  
  415. attr_writer :move_speed
  416.  
  417. attr_writer :step_anime
  418.  
  419. end
  420.  
  421. module Spriteset_Map_Module
  422.  
  423. def setup_actor_character_sprites?
  424.  
  425. return @setup_actor_character_sprites_flag != nil
  426.  
  427. end
  428.  
  429. def setup_actor_character_sprites(characters)
  430.  
  431. if !setup_actor_character_sprites?
  432.  
  433. index_game_player = 0
  434.  
  435. @character_sprites.each_index do |i|
  436.  
  437. if @character_sprites[i].character.instance_of?(Game_Player)
  438.  
  439. index_game_player = i
  440.  
  441. break
  442.  
  443. end
  444.  
  445. end
  446.  
  447. for character in characters.reverse
  448.  
  449. @character_sprites.unshift(
  450.  
  451. Sprite_Character.new(@viewport1, character)
  452.  
  453. )
  454.  
  455. end
  456.  
  457. @setup_actor_character_sprites_flag = true
  458.  
  459. end
  460.  
  461. end
  462.  
  463. end
  464.  
  465. module Scene_Map_Module
  466.  
  467. def setup_actor_character_sprites(characters)
  468.  
  469. @spriteset.setup_actor_character_sprites(characters)
  470.  
  471. end
  472.  
  473. end
  474.  
  475. module Game_Party_Module
  476.  
  477. def set_transparent_actors(transparent)
  478.  
  479. @transparent = transparent
  480.  
  481. end
  482.  
  483. def setup_actor_character_sprites
  484.  
  485. if @characters == nil
  486.  
  487. # 叶子到此一游
  488.  
  489. @characters = []
  490.  
  491. for i in 1 ... TRAIN_ACTOR_SIZE_MAX
  492.  
  493. @characters.push(Game_Party_Actor.new)
  494.  
  495. end
  496.  
  497. end
  498.  
  499. for i in 1 ... TRAIN_ACTOR_SIZE_MAX
  500.  
  501. # 叶子到此一游
  502.  
  503. if i % (TRAIN_ACTOR_DISTANCE+1) == 0
  504.  
  505. @characters[i-1].setup(actors[i/(TRAIN_ACTOR_DISTANCE+1)])
  506.  
  507. end
  508.  
  509. end
  510.  
  511. if $scene.class.method_defined?('setup_actor_character_sprites')
  512.  
  513. $scene.setup_actor_character_sprites(@characters)
  514.  
  515. end
  516.  
  517. end
  518.  
  519. def update_party_actors
  520.  
  521. setup_actor_character_sprites
  522.  
  523. transparent = $game_player.transparent
  524.  
  525. if transparent == false
  526.  
  527. if TRANSPARENT_SWITCH
  528.  
  529. transparent = $game_switches[TRANSPARENT_SWITCHES_INDEX]
  530.  
  531. end
  532.  
  533. end
  534.  
  535. for character in @characters
  536.  
  537. character.transparent = transparent
  538.  
  539. character.move_speed = $game_player.move_speed
  540.  
  541. character.step_anime = $game_player.step_anime
  542.  
  543. character.update
  544.  
  545. end
  546.  
  547. end
  548.  
  549. def moveto_party_actors( x, y )
  550.  
  551. setup_actor_character_sprites
  552.  
  553. for character in @characters
  554.  
  555. character.moveto( x, y )
  556.  
  557. end
  558.  
  559. if @move_list == nil
  560.  
  561. @move_list = []
  562.  
  563. end
  564.  
  565. move_list_setup
  566.  
  567. end
  568.  
  569. def move_party_actors
  570.  
  571. if @move_list == nil
  572.  
  573. @move_list = []
  574.  
  575. move_list_setup
  576.  
  577. end
  578.  
  579. @move_list.each_index do |i|
  580.  
  581. if @characters[i] != nil
  582.  
  583. case @move_list[i].type
  584.  
  585. when Input::DOWN
  586.  
  587. @characters[i].move_down(@move_list[i].args[0])
  588.  
  589. when Input::LEFT
  590.  
  591. @characters[i].move_left(@move_list[i].args[0])
  592.  
  593. when Input::RIGHT
  594.  
  595. @characters[i].move_right(@move_list[i].args[0])
  596.  
  597. when Input::UP
  598.  
  599. @characters[i].move_up(@move_list[i].args[0])
  600.  
  601. when DOWN_LEFT
  602.  
  603. @characters[i].move_lower_left
  604.  
  605. when DOWN_RIGHT
  606.  
  607. @characters[i].move_lower_right
  608.  
  609. when UP_LEFT
  610.  
  611. @characters[i].move_upper_left
  612.  
  613. when UP_RIGHT
  614.  
  615. @characters[i].move_upper_right
  616.  
  617. when JUMP
  618.  
  619. @characters[i].jump(@move_list[i].args[0],@move_list[i].args[1])
  620.  
  621. end
  622.  
  623. end
  624.  
  625. end
  626.  
  627. end
  628.  
  629. class Move_List_Element
  630. def initialize(type,args)
  631. @type = type
  632. @args = args
  633. end
  634.  
  635. def type() return @type end
  636.  
  637. def args() return @args end
  638. end
  639.  
  640. def move_list_setup
  641. for i in 0 .. TRAIN_ACTOR_SIZE_MAX
  642. @move_list[i] = nil
  643. end
  644. end
  645.  
  646. def add_move_list(type,*args)
  647. @move_list.unshift(Move_List_Element.new(type,args)).pop
  648. end
  649.  
  650. def move_down_party_actors(turn_enabled = true)
  651. move_party_actors
  652. add_move_list(Input::DOWN,turn_enabled)
  653. end
  654.  
  655. def move_left_party_actors(turn_enabled = true)
  656. move_party_actors
  657. add_move_list(Input::LEFT,turn_enabled)
  658. end
  659.  
  660. def move_right_party_actors(turn_enabled = true)
  661. move_party_actors
  662. add_move_list(Input::RIGHT,turn_enabled)
  663. end
  664.  
  665. def move_up_party_actors(turn_enabled = true)
  666. move_party_actors
  667. add_move_list(Input::UP,turn_enabled)
  668. end
  669.  
  670. def move_lower_left_party_actors
  671. move_party_actors
  672. add_move_list(DOWN_LEFT)
  673. end
  674.  
  675. def move_lower_right_party_actors
  676. move_party_actors
  677. add_move_list(DOWN_RIGHT)
  678. end
  679.  
  680. def move_upper_left_party_actors
  681. move_party_actors
  682. add_move_list(UP_LEFT)
  683. end
  684.  
  685. def move_upper_right_party_actors
  686. move_party_actors
  687. add_move_list(UP_RIGHT)
  688. end
  689.  
  690. def jump_party_actors(x_plus, y_plus)
  691. move_party_actors
  692. add_move_list(JUMP,x_plus, y_plus)
  693. end
  694. end
  695.  
  696. module Game_Player_Module
  697. def update
  698. $game_party.update_party_actors
  699. super
  700. end
  701.  
  702. def moveto( x, y )
  703. $game_party.moveto_party_actors( x, y )
  704. super( x, y )
  705. end
  706.  
  707. def move_down(turn_enabled = true)
  708. if passable?(@x, @y, Input::DOWN)
  709. $game_party.move_down_party_actors(turn_enabled)
  710. end
  711. super(turn_enabled)
  712. end
  713.  
  714. def move_left(turn_enabled = true)
  715. if passable?(@x, @y, Input::LEFT)
  716. $game_party.move_left_party_actors(turn_enabled)
  717. end
  718. super(turn_enabled)
  719. end
  720.  
  721. def move_right(turn_enabled = true)
  722. if passable?(@x, @y, Input::RIGHT)
  723. $game_party.move_right_party_actors(turn_enabled)
  724. end
  725. super(turn_enabled)
  726. end
  727.  
  728. def move_up(turn_enabled = true)
  729. if passable?(@x, @y, Input::UP)
  730. $game_party.move_up_party_actors(turn_enabled)
  731. end
  732. super(turn_enabled)
  733. end
  734.  
  735. def move_lower_left
  736. # 下→左、左→下 のどちらかのコースが通行可能な場合
  737. if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or
  738. (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN))
  739. $game_party.move_lower_left_party_actors
  740. end
  741. super
  742. end
  743.  
  744. def move_lower_right
  745. # 下→右、右→下 のどちらかのコースが通行可能な場合
  746. if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or
  747. (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN))
  748. $game_party.move_lower_right_party_actors
  749. end
  750. super
  751. end
  752.  
  753. def move_upper_left
  754. # 上→左、左→上 のどちらかのコースが通行可能な場合
  755. if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or
  756. (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP))
  757. $game_party.move_upper_left_party_actors
  758. end
  759. super
  760. end
  761.  
  762. def move_upper_right
  763. # 上→右、右→上 のどちらかのコースが通行可能な場合
  764. if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or
  765. (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP))
  766. $game_party.move_upper_right_party_actors
  767. end
  768. super
  769. end
  770.  
  771. def jump(x_plus, y_plus)
  772. # 新しい座標を計算
  773. new_x = @x + x_plus
  774. new_y = @y + y_plus
  775. # 加算値が (0,0) の場合か、ジャンプ先が通行可能な場合
  776. if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0)
  777. $game_party.jump_party_actors(x_plus, y_plus)
  778. end
  779. super(x_plus, y_plus)
  780. end
  781. attr_reader :move_speed
  782. attr_reader :step_anime
  783. end
  784. end # module Train_Actor
  785.  
  786. class Game_Party
  787. include Train_Actor::Game_Party_Module
  788. end
  789.  
  790. class Game_Player
  791. include Train_Actor::Game_Player_Module
  792. end
  793.  
  794. class Spriteset_Map
  795. include Train_Actor::Spriteset_Map_Module
  796. end
  797.  
  798. class Scene_Map
  799. include Train_Actor::Scene_Map_Module
  800. end
  801.  
  802. #==============================================================================
  803. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  804. #==============================================================================
  805.  
  806.  
  807.  
  808.  
  809.  
  810.  
  811.  
  812.  
  813.  
  814. #==============================================================================
  815. # 本脚本来自[url]www.66rpg.com[/url],转载、使用请保留此信息
  816. #==============================================================================
  817.  
  818. #--------------------------------------#
  819. #  大话西游单机论坛  [url]www.ie886.com[/url]     #
  820. #--------------------------------------#
  821.  
  822. # 作者:柳柳
  823. #
  824. # 使用方法:插入到main前即可,之后就会显示每个事件的名字。
  825. # 不想显示名字的NPC直接把名字设置为一个空格就行了。
  826. #
  827. # 附加功能:名字颜色区分:比如一个NPC的名字是  柳柳,2  就会用2号颜色(红色)显示
  828. #
  829. # 修改NPC名的方法:$game_map.events[事件ID编号].name =
  830. # 比如某个宝箱,原名宝箱,打开后名为“打开的宝箱”,则
  831. # $game_map.events[@event_id].name = "打开的宝箱" 或者
  832. # $game_map.events[2].name = "打开的宝箱" (假设宝箱是2号事件)
  833. #
  834. # 修改颜色定义:70-88行,131-149行,自己随便改。
  835. #
  836. # 给主角带上名字:192行,改 "" 为 "主角" 或者 $game_party.actors[0].name 即可
  837. #
  838. $c3_每一步的帧数 = 4
  839. $c3_总共可用的方向数 = 4 #是否显示姓名的开关:182行,开头的井号去掉。则以后39号开关打开的时候才会显示姓名
  840. #
  841. #==============================================================================
  842. # ■ Game_Event
  843. #------------------------------------------------------------------------------
  844. #  处理事件的类。条件判断、事件页的切换、并行处理、执行事件功能
  845. # 在 Game_Map 类的内部使用。
  846. #==============================================================================
  847. class Game_Event < Game_Character
  848. #——————————————————————————————————————
  849. # 用来返回名称
  850. #——————————————————————————————————————
  851. def name
  852.    return @event.name
  853. end  
  854. def name=(newname)
  855.    @event.name = newname
  856. end
  857. end
  858.  
  859. #==============================================================================
  860. # ■ Sprite_Character
  861. #------------------------------------------------------------------------------
  862. #  角色显示用脚本。监视 Game_Character 类的实例、
  863. # 自动变化脚本状态。
  864. #==============================================================================
  865.  
  866. class Sprite_Character < RPG::Sprite
  867. #--------------------------------------------------------------------------
  868. # ● 定义实例变量
  869. #--------------------------------------------------------------------------
  870. attr_accessor :character                # 角色
  871.    #--------------------------------------------------------------------------
  872. # ● 初始化对像
  873. #     viewport  : 查看端口
  874. #     character : 角色 (Game_Character)
  875. #--------------------------------------------------------------------------
  876. def initialize(viewport, character = nil)
  877.    name = character.name
  878.    super(viewport)
  879.    [url=home.php?mod=space&uid=2631396]@character[/url] = character
  880.  
  881.    @namesprite = Sprite.new(viewport) ################小雪
  882.    @namesprite.bitmap = Bitmap.new(255, 200)
  883.    @namesprite.bitmap.font.name ="宋体"
  884.    @namesprite.bitmap.font.size = 16
  885.    @namesprite.bitmap.font.color.set(60, 255, 120)
  886.    @evname = name
  887.    @evname_split = name.split(/,/)[0]
  888.    if name[0, 2]=="EV"
  889.      @evname_split = " "
  890.    end
  891.    if name.split(/,/)[1] != nil
  892.      case name.split(/,/)[1]
  893.      when "0"
  894.        @namesprite.bitmap.font.color.set(255, 255, 255)
  895.      when "1"
  896.        @namesprite.bitmap.font.color.set(128, 128, 255)
  897.      when "2"
  898.        @namesprite.bitmap.font.color.set(255, 128, 128)
  899.      when "3"
  900.        @namesprite.bitmap.font.color.set(128, 255, 128)
  901.      when "4"
  902.        @namesprite.bitmap.font.color.set(128, 255, 255)
  903.      when "5"
  904.        @namesprite.bitmap.font.color.set(255, 128, 255)
  905.      when "6"
  906.        @namesprite.bitmap.font.color.set(255, 255, 128)
  907.      when "7"
  908.        @namesprite.bitmap.font.color.set(192, 192, 192)
  909.      else
  910.        @namesprite.bitmap.font.color.set(255, 255, 255)
  911.      end
  912.    end
  913.    if @evname_split != "" and @evname_split != nil
  914.       @namesprite.bitmap.font.size = 16
  915.          y = 110
  916.       @namesprite.bitmap.draw_text(40, y, 200, 25, @evname_split, 1)
  917.    end
  918.    #----------------------------
  919.  
  920.    update
  921. end
  922.    #--------------------------------------------------------------------------
  923. # ● 更新画面
  924. #--------------------------------------------------------------------------
  925. def update
  926.    super
  927.    # 元件 ID、文件名、色相与现在的情况存在差异的情况下
  928.    if @tile_id != @character.tile_id or
  929.       @character_name != @character.character_name or
  930.       @character_hue != @character.character_hue
  931.      # 记忆元件 ID 与文件名、色相
  932.      @tile_id = @character.tile_id
  933.      @character_name = @character.character_name
  934.      @character_hue = @character.character_hue
  935.      # 元件 ID 为有效值的情况下
  936.      if @tile_id >= 384
  937.         self.bitmap = RPG::Cache.tile($game_map.tileset_name,
  938.           @tile_id, @character.character_hue)
  939.         self.src_rect.set(0, 0, 32, 32)
  940.         self.ox = 16
  941.         self.oy = 32
  942.       # 元件 ID 为无效值的情况下
  943.       else
  944.         self.bitmap = RPG::Cache.character(@character.character_name,
  945.           @character.character_hue)
  946.         @cw = bitmap.width / $c3_每一步的帧数
  947.         #---------------------
  948.         #if $c3_总共可用的方向数==4
  949.           #@ch = bitmap.height / 4
  950.         #else
  951.           @ch = bitmap.height / 4
  952.         #end
  953.         #-------------------------
  954.         self.ox = @cw / 2
  955.        # self.oy = @ch
  956.         self.oy = @ch / 1.13####################
  957.       end
  958.  
  959.     # 设置可视状态
  960.     self.visible = (not @character.transparent)
  961.     # 图形是角色的情况下
  962.      end
  963.  
  964.    if @evname != @character.name
  965.      @namesprite.bitmap.clear
  966.      @evname = @character.name
  967.      @evname_split = @character.name.split(/,/)[0]
  968.      if @character.name.split(/,/)[1] != nil
  969.        case @character.name.split(/,/)[1]
  970.        when "0"
  971.          @namesprite.bitmap.font.color.set(255, 255, 255)
  972.        when "1"
  973.          @namesprite.bitmap.font.color.set(128, 128, 255)
  974.        when "2"
  975.          @namesprite.bitmap.font.color.set(255, 128, 128)
  976.        when "3"
  977.          @namesprite.bitmap.font.color.set(128, 255, 128)
  978.        when "4"
  979.          @namesprite.bitmap.font.color.set(128, 255, 255)
  980.        when "5"
  981.          @namesprite.bitmap.font.color.set(255, 128, 255)
  982.        when "6"
  983.          @namesprite.bitmap.font.color.set(255, 255, 128)
  984.        when "7"
  985.          @namesprite.bitmap.font.color.set(192, 192, 192)
  986.        else
  987.          @namesprite.bitmap.font.color.set(255, 255, 255)
  988.        end
  989.      end
  990.      if @evname_split != "" and @evname_split != nil
  991.        @namesprite.bitmap.font.color.set(0,0, 0)
  992.  
  993.        @namesprite.bitmap.draw_text(0, 0,160,30, @evname_split, 1)
  994.      end
  995.    end
  996.    #@namesprite.visible = $game_switches[39]
  997.    # 设置可视状态
  998.    self.visible = (not @character.transparent)
  999.    # 图形是角色的情况下
  1000.     if @tile_id == 0
  1001.       # 设置传送目标的矩形
  1002.  
  1003.       sx = @character.pattern * @cw
  1004.  
  1005.       if $c3_总共可用的方向数==4
  1006.         case  @character.direction            
  1007.         when 2
  1008.           sy = 0 * @ch
  1009.         when 4
  1010.           sy = 1 * @ch
  1011.         when 6
  1012.           sy = 2 * @ch
  1013.         when 8
  1014.           sy = 3 * @ch
  1015.         when 1
  1016.           sy = 2 * @ch
  1017.         when 3
  1018.           sy = 1 * @ch
  1019.         when 7
  1020.           sy = 3 * @ch
  1021.         when 9
  1022.           sy = 0 * @ch
  1023.         end
  1024.       else
  1025.         sy = (@character.direction - 2) / 2 * @ch
  1026.       end
  1027.       self.src_rect.set(sx, sy, @cw, @ch)
  1028.     end
  1029.    # 设置脚本的坐标
  1030.    self.x = @character.screen_x
  1031.    self.y = @character.screen_y
  1032.    self.z = @character.screen_z(@ch)
  1033.  
  1034.    ######################################小雪
  1035.    @namesprite.x = self.x-135
  1036.    @namesprite.y = self.y-self.oy-65
  1037.    @namesprite.z = @character.screen_z(@ch) + 10  ####名字的优先级#####
  1038.    ######################################小雪
  1039.    # 设置不透明度、合成方式、茂密
  1040.    self.opacity = @character.opacity
  1041.    self.blend_type = @character.blend_type
  1042.    self.bush_depth = @character.bush_depth
  1043.    # 动画
  1044.    if @character.animation_id != 0
  1045.      animation = $data_animations[@character.animation_id]
  1046.      animation(animation, true)
  1047.      @character.animation_id = 0
  1048.    end
  1049. end
  1050. end
  1051. #==============================================================================
  1052. # ■ Game_Player
  1053. #------------------------------------------------------------------------------
  1054. #  处理主角的类。事件启动的判定、以及地图的滚动等功能。
  1055. # 本类的实例请参考 $game_player。
  1056. #==============================================================================
  1057.  
  1058. class Game_Player < Game_Character
  1059. def name
  1060.    return $game_party.actors[0].name   
  1061. end
  1062. end
  1063. #==============================================================================
  1064. # 本脚本来自[url]www.66rpg.com[/url],转载、使用请保留此信息
  1065. #=============================================================




感觉好多地都有问题,麻烦大神看看





Lv1.梦旅人

梦石
0
星屑
800
在线时间
2 小时
注册时间
2015-6-26
帖子
3
2
 楼主| 发表于 2015-7-13 14:03:52 | 只看该作者
竟然没有人,55555555555555555,是不是问题太。。。其实就是以上两个脚本冲突。。。

点评

原因在于: 1、没有用代码框,难以阅读。 2、没有错误原因、类型、位置(错误时弹出的对话框),工作量过大。 改正后应该会有人回复(最好改个标题)  发表于 2015-7-13 15:20
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
800
在线时间
2 小时
注册时间
2015-6-26
帖子
3
3
 楼主| 发表于 2015-7-13 16:56:30 | 只看该作者
woshixiaoye 发表于 2015-7-13 14:03
竟然没有人,55555555555555555,是不是问题太。。。其实就是以上两个脚本冲突。。。 ...

谢谢谢谢,新人不懂事。。。待我改过
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-25 00:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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