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

Project1

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

[原创发布] 【脚本】多功能事件

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
193 小时
注册时间
2013-3-24
帖子
448
跳转到指定楼层
1
发表于 2013-4-6 02:00:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 joe5491 于 2013-4-28 16:10 编辑

因為上次發的腳本功能實在是太少了??!!
所以這次重新寫了些沒人寫過的功能並整合?!(應該吧)

提供功能:扔物品、放置物品、丟錢、放置錢、放置經驗、置設傳送點、複製事件、刪除前面的這些東西
詳情看註解~

p.s. 「置設傳送點」這功能是給ARPG用的(玩家可以用它來在同一張地圖內傳來傳去躲攻擊?!)

~~~~~~~~~2013/4/6 15:17  修復重大的Bug~~~~~~~~~~(之前會當掉...)
~~~~~~~~~2013/4/6 22:35  加入新功能~~~~~~~~~~~
~~~~~~~~~2013/4/10 21:30  修正註解~~~~~~~~~~~
~~~~~~~~~2013/4/28 16:09  支援RGSS3forXP並改進效率~~~~~~~~~~~
  1. #========================================================
  2. #★ 多功能事件 -by joe59491
  3. #========================================================

  4. #========使用說明========================================
  5. #扔物品到地圖上
  6. #Throw_Item_To_Map.new(物品編號,set*)  #會扔在主角面前,名稱為物品名,會扣物品
  7. #Throw_Item_To_Map2.new(物品編號,set*)  #會扔在主角腳下,名稱為物品名,會扣物品
  8. #放置物品到地圖上
  9. #Item_To_Map.new(物品編號,x,y,set*)  #會放在地圖上的(x,y),名稱為物品名,不扣物品
  10. #丟錢到地圖上
  11. #Throw_Money_To_Map.new(多少錢,set*)  #會扔在主角面前,會扣錢
  12. #丟錢到地圖上
  13. #Throw_Money_To_Map2.new(多少錢,set*)  #會扔在主角腳下,會扣錢
  14. #放置錢到地圖上
  15. #Money_To_Map.new(多少錢,x,y,set*)  #會放在地圖上的(x,y),不扣錢
  16. #放置經驗到地圖上
  17. #EXP_To_Map.new(多少經驗,x,y,set*)  #會放在地圖上的(x,y),不扣經驗
  18. #放置變數到地圖上
  19. #Variables_To_Map.new(變數ID,多少,x,y,set*)  #會放在地圖上的(x,y)
  20. #製造傳送點A
  21. #Telport_To_Map_A.new(set*)           #會放在主角面前
  22. #製造傳送點B
  23. #Telport_To_Map_B.new(set*)           #會放在主角面前
  24. #製造傳送點A(xy版)
  25. #Telport_To_Map_A_xy.new(x,y,set*)           #會放在地圖上的(x,y)
  26. #製造傳送點B(xy版)
  27. #Telport_To_Map_B_xy.new(x,y,set*)           #會放在地圖上的(x,y)
  28. # set為是否要刷新地圖,預設會刷新,如果是從非地圖畫面,請寫0
  29. #每對A和B傳送點是互傳的
  30. #複製事件
  31. #Eve_To_Map.new(新X座標,新Y座標,複製事件所在地圖的編號,複製事件編號)
  32. #刪除事件(全部,針對傳送點的)
  33. #Dis_Telport_Eve.new
  34. #刪除事件(全部,針對多功能事件)
  35. #Dis_Eve.new
  36. #刪除某事件(針對多功能事件)
  37. #Dis_A_Eve.new(編號)
  38. #儲存事件(非自動,針對多功能事件)
  39. #Save_Eve.new
  40. #讀取事件(非自動,針對多功能事件)
  41. #Load_Eve.new
  42. #p.s. 當開關關閉時,會事件會被保留,否則會消失。
  43. #多功能事件預設一個地圖最多200個,然後暫時消除多功能事件等於刪掉它
  44. #========================================================

  45. #========參數設定======================================
  46. #Pic開頭是指行走圖名稱
  47. #Dir開頭是指朝向  2上(第一排)  4左(第二排)  6右(第三排)  8下(第四排)
  48. #Item=物品  EXP=經驗  Money=錢  Variables=變數  Telport=傳送點
  49. $Pic_Item = "193-support01"
  50. $Dir_Item = 6
  51. $Pic_EXP = "193-support01"
  52. $Dir_EXP = 6
  53. $Pic_Money = "193-support01"
  54. $Dir_Money = 6
  55. $Pic_Variables = "193-support01"
  56. $Dir_Variables = 6
  57. $Pic_TelportA = "199-support07_tori"
  58. $Dir_TelportA = 2
  59. $Pic_TelportB = "199-support07_tori"
  60. $Dir_TelportB = 6

  61. $Eve_Control = 18  #是否要關閉自動回復地圖上的事件的開關編號
  62. #======================================================

  63. class Game_Character
  64.   attr_accessor   :id                       # ID
  65.   attr_accessor   :tel                       # ID
  66. end

  67. class Eve_To_Map
  68.   def initialize(x, y, map_id, eve_id)
  69.     map = load_data(sprintf("Data/Map%03d.rxdata", map_id))
  70.     for i in 200..300
  71.       if $game_map.events[i] == nil
  72.         $game_map.events[i] = Game_Event.new($game_map.map_id, map.events[eve_id])
  73.         $game_map.events[i].moveto(x,y)
  74.         $game_map.events[i].id=i
  75.         $scene.spriteset.dispose
  76.         $scene.spriteset = Spriteset_Map.new
  77.         break
  78.       end
  79.     end   
  80.   end
  81. end
  82. class Game_Event < Game_Character
  83.   attr_accessor   :erased                       # erased
  84.   def set_as_exp(value,eve_id)
  85.     @through = false
  86.     @direction_fix = true
  87.     @character_name = $Pic_EXP
  88.     @pattern=0
  89.     @opacity=255
  90.     @direction=$Dir_EXP
  91.     @page.list=[RPG::EventCommand.new(315,0,[0,0,0,value]),RPG::EventCommand.new(355,0,["Dis_A_Eve.new("+eve_id.to_s+")"]),RPG::EventCommand.new(0,0,[])]
  92.     @list=[RPG::EventCommand.new(315,0,[0,0,0,value]),RPG::EventCommand.new(355,0,["Dis_A_Eve.new("+eve_id.to_s+")"]),RPG::EventCommand.new(0,0,[])]
  93.     @skippabel=false
  94.     @trigger = 0
  95.     @step_anime=false
  96.     @walk_anime=false
  97.     @move_frequency=3
  98.     @move_speed=3
  99.     @move_type=0
  100.     @name=value.to_s + "EXP"
  101.     @always_on_top=false
  102.     @interpreter = nil
  103.   end
  104.   def set_as_money(value,eve_id)
  105.     @through = false
  106.     @direction_fix = true
  107.     @character_name = $Pic_Money
  108.     @pattern=0
  109.     @opacity=255
  110.     @direction=$Dir_Money
  111.     @page.list=[RPG::EventCommand.new(125,0,[0,0,value]),RPG::EventCommand.new(355,0,["Dis_A_Eve.new("+eve_id.to_s+")"]),RPG::EventCommand.new(0,0,[])]
  112.     @list=[RPG::EventCommand.new(125,0,[0,0,value]),RPG::EventCommand.new(355,0,["Dis_A_Eve.new("+eve_id.to_s+")"]),RPG::EventCommand.new(0,0,[])]
  113.     @skippabel=false
  114.     @trigger = 0
  115.     @step_anime=false
  116.     @walk_anime=false
  117.     @move_frequency=3
  118.     @move_speed=3
  119.     @move_type=0
  120.     @name=value.to_s + $data_system.words.gold
  121.     @always_on_top=false
  122.     @interpreter = nil
  123.   end
  124.   def set_as_variables(variables_id,value,eve_id)
  125.     @through = false
  126.     @direction_fix = true
  127.     @character_name = $Pic_Variables
  128.     @pattern=0
  129.     @opacity=255
  130.     @direction=$Dir_Variables
  131.     @page.list=[RPG::EventCommand.new(315,0,[variables_id,variables_id,1,0,value,0]),RPG::EventCommand.new(355,0,["Dis_A_Eve.new("+eve_id.to_s+")"]),RPG::EventCommand.new(0,0,[])]
  132.     @list=[RPG::EventCommand.new(315,0,[variables_id,variables_id,1,0,value,0]),RPG::EventCommand.new(355,0,["Dis_A_Eve.new("+eve_id.to_s+")"]),RPG::EventCommand.new(0,0,[])]
  133.     @skippabel=false
  134.     @trigger = 0
  135.     @step_anime=false
  136.     @walk_anime=false
  137.     @move_frequency=3
  138.     @move_speed=3
  139.     @move_type=0
  140.     @name=value.to_s
  141.     @always_on_top=false
  142.     @interpreter = nil
  143.   end
  144.   def set_as_item(item_id,eve_id)
  145.     @through = false#true
  146.     @direction_fix = true
  147.     @character_name = $Pic_Item
  148.     @pattern=0
  149.     @opacity=255
  150.     @direction=$Dir_Item
  151.     @page.list=[RPG::EventCommand.new(126,0,[item_id,0,0,1]),RPG::EventCommand.new(355,0,["Dis_A_Eve.new("+eve_id.to_s+")"]),RPG::EventCommand.new(0,0,[])]
  152.     @list=[RPG::EventCommand.new(126,0,[item_id,0,0,1]),RPG::EventCommand.new(355,0,["Dis_A_Eve.new("+eve_id.to_s+")"]),RPG::EventCommand.new(0,0,[])]
  153.     @skippabel=false
  154.     @trigger = 0
  155.     @step_anime=false
  156.     @walk_anime=false
  157.     @move_frequency=3
  158.     @move_speed=3
  159.     @move_type=0
  160.     @name=$data_items[item_id].name
  161.     @always_on_top=false
  162.     @interpreter = nil
  163.   end
  164.   def set_as_telport_a
  165.     @through = true
  166.     @direction_fix = true
  167.     @character_name = $Pic_TelportA
  168.     @pattern=0
  169.     @opacity=255
  170.     @direction=$Dir_TelportA
  171.     @page.list=[RPG::EventCommand.new(101,0,["沒有對應傳送點!"]),RPG::EventCommand.new(0,0,[])]
  172.     @list=[RPG::EventCommand.new(101,0,["沒有對應傳送點!"]),RPG::EventCommand.new(0,0,[])]
  173.     @skippabel=false
  174.     @trigger = 1
  175.     @step_anime=true
  176.     @walk_anime=false
  177.     @move_frequency=3
  178.     @move_speed=3
  179.     @move_type=0
  180.     @name="傳送點"
  181.     @always_on_top=false
  182.     @interpreter = nil
  183.   end
  184.   def set_as_telport_b(tox,toy)
  185.     @through = true
  186.     @direction_fix = true
  187.     @character_name = $Pic_TelportA
  188.     @pattern=0
  189.     @opacity=255
  190.     @direction=$Dir_TelportB
  191.     @page.list=[RPG::EventCommand.new(201,0,[0,$game_map.map_id,tox,toy,0,1]),RPG::EventCommand.new(0,0,[])]
  192.     @list=[RPG::EventCommand.new(201,0,[0,$game_map.map_id,tox,toy,0,1]),RPG::EventCommand.new(0,0,[])]
  193.     @skippabel=false
  194.     @trigger = 1
  195.     @step_anime=true
  196.     @walk_anime=false
  197.     @move_frequency=3
  198.     @move_speed=3
  199.     @move_type=0
  200.     @name="傳送點"
  201.     @always_on_top=false
  202.     @interpreter = nil
  203.   end
  204. end

  205. class Telport_To_Map_A
  206.   def initialize(set = 1)
  207.     if $game_map.Telport_A[$game_map.map_id] != nil
  208.       $game_temp.message_text = "你已經設過了起點!"
  209.       return
  210.     end
  211.     if !$game_player.passable?($game_player.x, $game_player.y, $game_player.direction)
  212.       $game_temp.message_text = "前面無法放傳送點!"
  213.       return
  214.     end
  215.     for i in 200..300
  216.       if $game_map.events[i] == nil
  217.         x=$game_player.x
  218.         y=$game_player.y
  219.         if $game_player.direction==2
  220.           y += 1
  221.         elsif $game_player.direction==4
  222.           x -= 1
  223.         elsif $game_player.direction==6
  224.           x += 1
  225.         elsif $game_player.direction==8
  226.           y -= 1
  227.         end
  228.         $game_map.events[i] = Game_Event.new($game_map.map_id,RPG::Event.new(x,y))
  229.         $game_map.events[i].id=i
  230.         $game_map.events[i].set_as_telport_a
  231.         $game_map.events[i].tel = 1
  232.         $game_map.Telport_A[$game_map.map_id]=i
  233.         if set == 1
  234.           $scene.spriteset.push_eve(i)
  235.         end
  236.         break
  237.       end
  238.     end
  239.   end
  240. end

  241. class Telport_To_Map_B
  242.   def initialize(set = 1)
  243.     if $game_map.Telport_A[$game_map.map_id] == nil
  244.       $game_temp.message_text = "你還沒設起點!"
  245.       return
  246.     end
  247.     if !$game_player.passable?($game_player.x, $game_player.y, $game_player.direction)
  248.       $game_temp.message_text = "前面無法放傳送點!"
  249.       return
  250.     end
  251.     for i in 200..300
  252.       if $game_map.events[i] == nil
  253.         x=$game_player.x
  254.         y=$game_player.y
  255.         if $game_player.direction==2
  256.           y += 1
  257.         elsif $game_player.direction==4
  258.           x -= 1
  259.         elsif $game_player.direction==6
  260.           x += 1
  261.         elsif $game_player.direction==8
  262.           y -= 1
  263.         end
  264.         $game_map.events[i] = Game_Event.new($game_map.map_id,RPG::Event.new(x,y))
  265.         $game_map.events[i].id=i
  266.         
  267.         $game_map.events[i].set_as_telport_b($game_map.events[$game_map.Telport_A[$game_map.map_id]].x,$game_map.events[$game_map.Telport_A[$game_map.map_id]].y)
  268.         $game_map.events[$game_map.Telport_A[$game_map.map_id]].set_as_telport_b($game_map.events[i].x,$game_map.events[i].y)
  269.         $game_map.events[i].tel = 1
  270.         $game_map.Telport_A[$game_map.map_id]=nil
  271.         if set == 1
  272.           $scene.spriteset.push_eve(i)
  273.         end
  274.         break
  275.       end
  276.     end
  277.   end
  278. end

  279. class Telport_To_Map_A_xy
  280.   def initialize(x,y,set = 1)
  281.     if $game_map.Telport_A[$game_map.map_id] != nil
  282.       $game_temp.message_text = "你已經設過了起點!"
  283.       return
  284.     end
  285.     for i in 200..300
  286.       if $game_map.events[i] == nil
  287.         $game_map.events[i] = Game_Event.new($game_map.map_id,RPG::Event.new(x,y))
  288.         $game_map.events[i].id=i
  289.         $game_map.events[i].set_as_telport_a
  290.         $game_map.events[i].tel = 1
  291.         $game_map.Telport_A[$game_map.map_id]=i
  292.         if set == 1
  293.           $scene.spriteset.push_eve(i)
  294.         end
  295.         break
  296.       end
  297.     end
  298.   end
  299. end

  300. class Telport_To_Map_B_xy
  301.   def initialize(x,y,set = 1)
  302.     if $game_map.Telport_A[$game_map.map_id] == nil
  303.       $game_temp.message_text = "你還沒設起點!"
  304.       return
  305.     end
  306.     for i in 200..300
  307.       if $game_map.events[i] == nil
  308.         $game_map.events[i] = Game_Event.new($game_map.map_id,RPG::Event.new(x,y))
  309.         $game_map.events[i].id=i
  310.         $game_map.events[i].set_as_telport_b($game_map.events[$game_map.Telport_A[$game_map.map_id]].x,$game_map.events[$game_map.Telport_A[$game_map.map_id]].y)
  311.         $game_map.events[$game_map.Telport_A[$game_map.map_id]].set_as_telport_b($game_map.events[i].x,$game_map.events[i].y)
  312.         $game_map.events[i].tel = 1
  313.         $game_map.Telport_A[$game_map.map_id]=nil
  314.         if set == 1
  315.           $scene.spriteset.push_eve(i)
  316.         end
  317.         break
  318.       end
  319.     end
  320.   end
  321. end

  322. class Throw_Item_To_Map
  323.   def initialize(item_id, set = 1)
  324.     if $game_party.item_number(item_id)>0
  325.       if !$game_player.passable?($game_player.x, $game_player.y, $game_player.direction)
  326.         $game_temp.message_text = "前面無法放東西!"
  327.         return
  328.       end
  329.       $game_party.gain_item(item_id, -1)
  330.       for i in 200..300
  331.         if $game_map.events[i] == nil
  332.           x=$game_player.x
  333.           y=$game_player.y
  334.           if $game_player.direction==2
  335.             y += 1
  336.           elsif $game_player.direction==4
  337.             x -= 1
  338.           elsif $game_player.direction==6
  339.             x += 1
  340.           elsif $game_player.direction==8
  341.             y -= 1
  342.           end
  343.           $game_map.events[i] = Game_Event.new($game_map.map_id,RPG::Event.new(x,y))
  344.           $game_map.events[i].id=i
  345.           $game_map.events[i].set_as_item(item_id,i)
  346.           if set == 1
  347.             $scene.spriteset.push_eve(i)
  348.           end
  349.           break
  350.         end
  351.       end
  352.     end
  353.   end
  354. end

  355. class Throw_Item_To_Map2
  356.   def initialize(item_id, set = 1)
  357.     if $game_party.item_number(item_id)>0
  358.       $game_party.gain_item(item_id, -1)
  359.       for i in 200..300
  360.         if $game_map.events[i] == nil
  361.           x=$game_player.x
  362.           y=$game_player.y
  363.           $game_map.events[i] = Game_Event.new($game_map.map_id,RPG::Event.new(x,y))
  364.           $game_map.events[i].id=i
  365.           $game_map.events[i].set_as_item(item_id,i)
  366.           if set == 1
  367.             $scene.spriteset.push_eve(i)
  368.           end
  369.           break
  370.         end
  371.       end
  372.     end
  373.   end
  374. end

  375. class Throw_Money_To_Map2
  376.   def initialize(value, set = 1)
  377.     if $game_party.gold > value
  378.       $game_party.gain_gold(value)
  379.       for i in 200..300
  380.         if $game_map.events[i] == nil
  381.           x=$game_player.x
  382.           y=$game_player.y
  383.           $game_map.events[i] = Game_Event.new($game_map.map_id,RPG::Event.new(x,y))
  384.           $game_map.events[i].id=i
  385.           $game_map.events[i].set_as_item_money(value,i)
  386.           if set == 1
  387.             $scene.spriteset.push_eve(i)
  388.           end
  389.           break
  390.         end
  391.       end
  392.     end
  393.   end
  394. end

  395. class Throw_Money_To_Map
  396.   def initialize(value, set = 1)
  397.     if $game_party.gold > value
  398.       if !$game_player.passable?($game_player.x, $game_player.y, $game_player.direction)
  399.         $game_temp.message_text = "前面無法放東西!"
  400.         return
  401.       end
  402.       $game_party.gain_gold(value)
  403.       for i in 200..300
  404.         if $game_map.events[i] == nil
  405.           x=$game_player.x
  406.           y=$game_player.y
  407.           if $game_player.direction==2
  408.             y += 1
  409.           elsif $game_player.direction==4
  410.             x -= 1
  411.           elsif $game_player.direction==6
  412.             x += 1
  413.           elsif $game_player.direction==8
  414.             y -= 1
  415.           end
  416.           $game_map.events[i] = Game_Event.new($game_map.map_id,RPG::Event.new(x,y))
  417.           $game_map.events[i].id=i
  418.           $game_map.events[i].set_as_item_money(value,i)
  419.           if set == 1
  420.             $scene.spriteset.push_eve(i)
  421.           end
  422.           break
  423.         end
  424.       end
  425.     end
  426.   end
  427. end

  428. class Variables_To_Map
  429.   def initialize(variables_id,value, x,y,set = 1)
  430.     for i in 200..300
  431.       if $game_map.events[i] == nil
  432.         $game_map.events[i] = Game_Event.new($game_map.map_id,RPG::Event.new(x,y))
  433.         $game_map.events[i].id=i
  434.         $game_map.events[i].set_as_variables(variables_id,value,i)
  435.         if set == 1
  436.           $scene.spriteset.push_eve(i)
  437.         end
  438.         break
  439.       end
  440.     end
  441.   end
  442. end

  443. class Item_To_Map
  444.   def initialize(item_id, x,y,set = 1)
  445.     for i in 200..300
  446.       if $game_map.events[i] == nil
  447.         $game_map.events[i] = Game_Event.new($game_map.map_id,RPG::Event.new(x,y))
  448.         $game_map.events[i].id=i
  449.         $game_map.events[i].set_as_item(item_id,i)
  450.         if set == 1
  451.           $scene.spriteset.push_eve(i)
  452.         end
  453.         break
  454.       end
  455.     end
  456.   end
  457. end

  458. class Money_To_Map
  459.   def initialize(value, x,y,set = 1)
  460.     for i in 200..300
  461.       if $game_map.events[i] == nil
  462.         $game_map.events[i] = Game_Event.new($game_map.map_id,RPG::Event.new(x,y))
  463.         $game_map.events[i].id=i
  464.         $game_map.events[i].set_as_money(value,i)
  465.         if set == 1
  466.           $scene.spriteset.push_eve(i)
  467.         end
  468.         break
  469.       end
  470.     end
  471.   end
  472. end


  473. class EXP_To_Map
  474.   def initialize(value, x,y,set = 1)
  475.     for i in 200..300
  476.       if $game_map.events[i] == nil
  477.         $game_map.events[i] = Game_Event.new($game_map.map_id,RPG::Event.new(x,y))
  478.         $game_map.events[i].id=i
  479.         $game_map.events[i].set_as_exp(value,i)
  480.         if set == 1
  481.           $scene.spriteset.push_eve(i)
  482.         end
  483.         break
  484.       end
  485.     end
  486.   end
  487. end

  488. class Game_Map
  489.   attr_accessor :SEve
  490.   attr_accessor :Telport_A
  491.   alias initialize_seve initialize
  492.   def initialize
  493.     @SEve=[0]
  494.     @Telport_A=[0]
  495.     initialize_seve
  496.   end
  497.   alias update_seve update
  498.   def update
  499.     if $game_map.need_refresh
  500.     end
  501.   update_seve
  502.   end
  503. end

  504. class Save_Eve
  505.   def initialize
  506.     $game_map.SEve[$game_map.map_id]=[0]
  507.     for i in 200..300
  508.       if $game_map.events[i] != nil
  509.         if !$game_map.events[i].erased
  510.           $game_map.SEve[$game_map.map_id][i-200] = $game_map.events[i]
  511.         end
  512.       end
  513.     end   
  514.   end
  515. end

  516. class Load_Eve
  517.   def initialize
  518.     if $game_map.SEve[$game_map.map_id]!=nil
  519.       for i in 0..200
  520.         if $game_map.SEve[$game_map.map_id][i] != nil and $game_map.SEve[$game_map.map_id][i] != 0
  521.           $game_map.events[i+200]=$game_map.SEve[$game_map.map_id][i]
  522.           $scene.spriteset.push_eve(i+200)
  523.         end
  524.       end   
  525.     end
  526.   end
  527. end

  528. class Dis_A_Eve
  529.   def initialize(eve_id)
  530.     if $game_map.events[eve_id] != nil
  531.       $game_map.events[eve_id].erase
  532.     end  
  533.   end
  534. end


  535. class Dis_Telport_Eve
  536.   def initialize
  537.     for i in 200..300
  538.       if $game_map.events[i] != nil
  539.         if $game_map.events[i].tel=1
  540.           $game_map.events[i].erase
  541.         end
  542.       end  
  543.     end
  544.   end
  545. end

  546. class Dis_Eve
  547.   def initialize
  548.     for i in 200..300
  549.       if $game_map.events[i] != nil
  550.         $game_map.events[i].erase
  551.       end
  552.     end  
  553.   end
  554. end

  555. class Interpreter
  556.   alias command_201_seve command_201
  557.   def command_201
  558.     if !$game_switches[$Eve_Control]
  559.       Save_Eve.new
  560.     end
  561.     command_201_seve
  562.   end
  563. end

  564. class Scene_Map
  565.   attr_accessor :spriteset
  566.   alias transfer_player_seve transfer_player
  567.   def transfer_player
  568.    
  569.     transfer_player_seve
  570.     if !$game_switches[$Eve_Control]
  571.       Load_Eve.new   
  572.     end
  573. #      $Jdll.call("$MOVM"+$game_map.map_id.to_s+" "+$game_player.x.to_s+" "+$game_player.y.to_s+" "+$game_player.direction.to_s+" "+$game_player.move_speed.to_s+" "+$game_player.character_name )
  574. #    $Send_Msg_Map="$MOVM"$game_map.map_id.to_s+" "+$game_player.x+" "+$game_player.y+" "++$game_player.direction

  575.    
  576.   end
  577. end


  578. class Spriteset_Map
  579.   def push_eve(i)
  580.     sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
  581.     @character_sprites.push(sprite)
  582.   end
  583. end

  584. class Game_Character
  585.   attr_accessor :to_x              
  586.   attr_accessor :to_y              
  587. end
复制代码
.

可以扔物品,不過這介面要自己寫....我只提供方法....


物品丟棄完成!


置設傳送點A


置設傳送點B


怪物來了!!快跑!!


呼~逃走了~



附上範例工程:  ARPG腳本是愚零武鬥多提供的,不過已經被我大幅修改了
RMEVENT.rar (481.77 KB, 下载次数: 318)

评分

参与人数 6星屑 +112 收起 理由
某死灵法师 + 12 塞糖
春风莉露 + 27 塞糖
弗雷德 + 49 有意思的东西。
sai90306 + 12 我很赞同
viktor + 7 不错~可以做一个2D版Portal了! 糖.
美丽晨露 + 5 精品文章

查看全部评分

Lv1.梦旅人

梦石
0
星屑
97
在线时间
753 小时
注册时间
2011-7-17
帖子
781
2
发表于 2013-4-6 10:38:53 | 只看该作者
不错的脚本.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
51
在线时间
454 小时
注册时间
2012-7-31
帖子
579
3
发表于 2013-4-6 10:53:27 | 只看该作者
有木有范例?给个给个撒

点评

已經更新並放範例上去了,看看吧~  发表于 2013-4-6 15:22
已經更新並放範例上去了,看看吧~  发表于 2013-4-6 15:22
【我是ABC君,也可以叫我“银行君”“字母君”……】
斗罗大陆—火焰篇章》重新起航!!
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (版主)

梦石
20
星屑
1840
在线时间
6925 小时
注册时间
2012-12-14
帖子
11485

短篇十战斗者组别冠军开拓者贵宾短篇九勇士组亚军

4
发表于 2013-4-6 12:03:07 | 只看该作者
很强大的脚本
如果能给一个范例参考一下就更好了

点评

已經更新並放範例上去了,看看吧~  发表于 2013-4-6 15:21
大家好,这里是晨露的说。请多多指教。
刚入门RM软件制作,请大家多多帮助我哦。
落雪君的欢乐像素教程,欢迎查阅。

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
193 小时
注册时间
2013-3-24
帖子
448
5
 楼主| 发表于 2013-4-6 12:42:58 | 只看该作者
我的arpg腳本跟太多東西整合在一起了....好像很難拆開....我得想個好辦法弄開了....
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

6
发表于 2013-4-6 12:43:02 | 只看该作者
我只想要扔掉物品和改变事件···另外我想要个永久改变事件名称和位置的脚本···之前在6R上弄的会不停出错

点评

話說用多功能事件製造的事件,位置和名稱是永久改變的(直到你關閉自動恢復功能)  发表于 2013-4-6 15:19
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
560 小时
注册时间
2012-12-29
帖子
1075
7
发表于 2013-4-6 12:59:34 | 只看该作者
有没有范例呢?有的话会更好哦~

点评

已經更新,放了範例上去  发表于 2013-4-6 15:20
MOBA以及回合制的一个创新,点这里查看游戏新思路
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
193 小时
注册时间
2013-3-24
帖子
448
8
 楼主| 发表于 2013-4-6 14:47:17 | 只看该作者
本帖最后由 joe5491 于 2013-4-6 15:11 编辑

範例生成中.....
然後我發現有莫名的BUG.....(範例RM會當掉....)

~~~~~~~~~~~修好了~~~~~~~~~~~
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

9
发表于 2013-4-6 16:39:14 | 只看该作者
我只想要其中的2个功能···其他的如果我不要要怎么去掉啊
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
51
在线时间
454 小时
注册时间
2012-7-31
帖子
579
10
发表于 2013-4-6 19:48:29 | 只看该作者
不错哦
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 18:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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