Project1

标题: 如何制作向驱魔香或者狂魔香一样的效果? [打印本页]

作者: cwx1999721    时间: 2010-11-21 19:38
提示: 作者被禁止或删除 内容自动屏蔽
作者: 冰舞蝶恋    时间: 2010-11-21 19:48
回复 cwx1999721 的帖子

驱:用公共事件禁止遇敌。
狂:设置要复杂些= .=手上目前没有XP的囧...
作者: 1040471355    时间: 2010-11-21 19:58
。。。。。。顶吧。。。。我也想要这东西啊。。。
作者: 魔火    时间: 2010-11-21 21:06
驱魔香制作方法看2L,至于狂魔香,那个是什么东东,功效告诉下我
作者: 精灵使者    时间: 2010-11-21 21:16
狂魔香:增加遇敌的频率……而且解除驱魔香的状态(驱魔和狂魔可以互解)
作者: 亿万星辰    时间: 2010-11-21 22:03
这个要考虑明雷和暗雷
暗雷的话难点主要在增加遇敌几率方面。
明雷的设置更容易了
作者: Wind2010    时间: 2010-11-21 22:16
狂魔香的话……
Game_Player里面查找
@encounter_count -= 1
改成-=2就可以了……吧……
作者: cwx1999721    时间: 2010-11-28 11:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: 希望化身    时间: 2010-11-28 15:45
现写的,拿去用……
  1. #==============================================================================
  2. #控制遇敌(暗雷)    By: 希望化身
  3. #==============================================================================
  4. $dis_encounter = 0      #设置驱魔变量
  5. $muti_encounter = 0     #设置狂魔变量
  6. $muti_times = 2         #狂魔遇敌几率倍数
  7. #==============================================================================
  8. #-----基本使用方法(驱魔):
  9. #1.在数据库=>物品 下建立物品 名字任意
  10. #2.设置物品运行公共事件 => 比如运行a号公共事件
  11. #3.在数据库=>公共事件=>a号事件=>执行内容双击
  12. #4.脚本=> 输入set_dis_encounter(b)  把b代换为你想让驱魔香工作的步数,如50步就输
  13. #  入set_dis_encounter(50)
  14. #-----基本使用方法(狂魔):
  15. #1.-3. 设置方法与驱魔相同
  16. #4.脚本=> 输入set_muti_encounter(b)  把b代换为你想让狂魔魔香工作的步数,如50步就
  17. #  输入set_dis_encounter(50)
  18. #==============================================================================

  19. def set_dis_encounter(steps)
  20.   if $muti_encounter > 0
  21.     $muti_encounter = 0
  22.   else
  23.     $dis_encounter = steps
  24.   end
  25. end
  26. def set_muti_encounter(steps)
  27.   if $dis_encounter > 0
  28.     $dis_encounter = 0
  29.   else
  30.     $muti_encounter = steps
  31.   end
  32. end
  33. def set_muti_times(times)
  34.   $muti_times = times
  35. end

  36. #==============================================================================
  37. # ■ Game_Player
  38. #------------------------------------------------------------------------------
  39. #  處理主角的類別。事件啟動的判定、以及地圖的滾動等功能。
  40. #  本類別的實例請參考 $game_player。
  41. #==============================================================================

  42. class Game_Player < Game_Character
  43.   #--------------------------------------------------------------------------
  44.   # ● 畫面更新
  45.   #--------------------------------------------------------------------------
  46.   def update
  47.     # 本地變數記錄移動訊息
  48.     last_moving = moving?
  49.     # 移動中、事件執行中、強制移動路線中、
  50.     # 訊息視窗一個也不顯示的時候
  51.     unless moving? or $game_system.map_interpreter.running? or
  52.            @move_route_forcing or $game_temp.message_window_showing
  53.       # 如果方向鍵被按下、主角就朝那個方向移動
  54.       case Input.dir4
  55.       when 2
  56.         move_down
  57.       when 4
  58.         move_left
  59.       when 6
  60.         move_right
  61.       when 8
  62.         move_up
  63.       end
  64.     end
  65.     # 本地變數記憶座標
  66.     last_real_x = @real_x
  67.     last_real_y = @real_y
  68.     super
  69.     # 角色向下移動、畫面上的位置在中央下方的情況下
  70.     if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
  71.       # 畫面向下捲動
  72.       $game_map.scroll_down(@real_y - last_real_y)
  73.     end
  74.     # 角色向左移動、畫面上的位置在中央左方的情況下
  75.     if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
  76.       # 畫面向左捲動
  77.       $game_map.scroll_left(last_real_x - @real_x)
  78.     end
  79.     # 角色向右移動、畫面上的位置在中央右方的情況下
  80.     if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
  81.       # 畫面向右捲動
  82.       $game_map.scroll_right(@real_x - last_real_x)
  83.     end
  84.     # 角色向上移動、畫面上的位置在中央上方的情況下
  85.     if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
  86.       # 畫面向上捲動
  87.       $game_map.scroll_up(last_real_y - @real_y)
  88.     end
  89.     # 不在移動中的情況下
  90.     unless moving?
  91.       # 上次主角移動中的情況
  92.       if last_moving
  93.         # 與同位置的事件接觸就判定為事件啟動
  94.         result = check_event_trigger_here([1,2])
  95.         # 沒有可以啟動的事件的情況下
  96.         if result == false
  97.           # 偵錯模式為 ON 並且按下 CTRL 鍵的情況下除外
  98.           unless $DEBUG and Input.press?(Input::CTRL)
  99.             # 遇敵計數下降
  100.             if @encounter_count > 0
  101.               if $dis_encounter > 0
  102.                 $dis_encounter -= 1
  103.               elsif $muti_encounter > 0
  104.                 @encounter_count = [@encounter_count-$muti_times,0].max
  105.                 $muti_encounter -= 1
  106.               else
  107.                 @encounter_count -= 1
  108.               end
  109.               p @encounter_count
  110.             end
  111.           end
  112.         end
  113.       end
  114.       # 按下 C 鍵的情況下
  115.       if Input.trigger?(Input::C)
  116.         # 判定為同位置以及正面的事件啟動
  117.         check_event_trigger_here([0])
  118.         check_event_trigger_there([0,1,2])
  119.       end
  120.     end
  121.   end
  122. end
复制代码

作者: cwx1999721    时间: 2010-11-28 16:37
提示: 作者被禁止或删除 内容自动屏蔽
作者: cwx1999721    时间: 2010-11-28 16:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: cwx1999721    时间: 2010-11-28 16:47
提示: 作者被禁止或删除 内容自动屏蔽
作者: cwx1999721    时间: 2010-11-28 16:48
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1