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

Project1

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

[已经解决] 【告别的伸手党】求改造此段脚本,奉上最后的VIP,走人

[复制链接]

Lv1.梦旅人

梦石
0
星屑
239
在线时间
2399 小时
注册时间
2008-4-11
帖子
12326

贵宾第6届短篇游戏比赛季军

跳转到指定楼层
1
发表于 2013-3-27 04:48:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
41星屑
本帖最后由 protosssonny 于 2013-4-7 18:15 编辑

这是取自一个最原始的ARPG工程的脚本
粗略看一下应该就能明白它简单到何种程度

最简单ARPG.rar (243.21 KB, 下载次数: 81)


目前自然有很多完胜此脚本的ARPG工程,但是小瞬有强迫症
已经做到一半的游戏,再也不想大修大改了。

求在此脚本基础上增加三个不会和任何其他脚本有冲突的功能(包括半事件半脚本)

1.怪物可以掉落物品,物品掉落在地,主角经过后才会被捡起

2.技能可以更简便的使用(比如设置键盘快捷键)

3.敌人也可以使用技能,换而言之就是数据库里面敌人的属性都被被映射到战斗中

4.敌我之间有属性克制,求加入各角色属性耐性和属性伤害数据
  1. #===================================
  2. # Vlad ABS
  3. #===================================
  4. #--------------------------------------------------------------
  5. # Credits to Vlad
  6. #--------------------------------------------------------------
  7. # 創造一個敵人(事件),在事件中加上這些註釋:
  8. # Enemy ID - 在數據庫中敵人的ID
  9. # Die X - X為 1 / 2 ( 1:死後删除敵人   2:不死之身 )
  10. # Follow - 設定是否跟隨敵人
  11. #--------------------------------------------------------------
  12. # 自定義項目
  13. #--------------------------------------------------------------
  14. #--------------------------------------------------------------
  15. # 武器攻撃鍵, 不要改變 [正常對應鍵: A]
  16. Attack_Button = Input::X
  17. #--------------------------------------------------------------
  18. # 技能攻撃鍵, 不要改變 [正常對應鍵: S]  <--也是技能畫面的技能記憶鍵
  19. Skill_Button = {Input::Y => 0}
  20. #--------------------------------------------------------------
  21. # 升級動畫ID (對應數據庫) :
  22. LevelUp_Ani = 40
  23. #--------------------------------------------------------------
  24. # Attack Animation, copy Enemy_atk_ani[2] = 13
  25. # change the 2 to the ID of the enemy, and the 13 to the ID of the animation.
  26. # Example: Enemy_atk_ani[25] = 24
  27. Enemy_atk_ani = {}
  28. Enemy_atk_ani[2] = 8
  29. #--------------------------------------------------------------

  30. #--------------------------------------------------------------
  31. # Game Character
  32. #--------------------------------------------------------------
  33. class Game_Character
  34.   attr_accessor :hp
  35.   attr_accessor :mp
  36.   attr_accessor :damage
  37.   attr_accessor :critical
  38.   attr_accessor :wait_ataque
  39.   attr_accessor :die
  40.   alias vlad_abs_gchar_initialize initialize
  41.   def initialize
  42.     @hp = 0
  43.     @mp = 0
  44.     @die = 0
  45.     $skill_for_use = 0
  46.     @wait_ataque = 0
  47.     @damage = nil
  48.     @critical = false
  49.     vlad_abs_gchar_initialize
  50.   end  
  51.   def recebe_atk(attacker)
  52.     attacker_status = (attacker.is_a?(Game_Event) ? attacker.enemy_status : $game_actors[1])
  53.     receptor_status = (self.is_a?(Game_Event) ? self.enemy_status : $game_actors[1])
  54.     self.damage = attacker_status.atk - receptor_status.def
  55.     self.damage *= attacker_status.elements_max_rate(attacker_status.element_set)
  56.     self.damage /= 100
  57.     self.damage = 0 if self.damage < 0
  58.     self.critical = (rand(100) < 4)
  59.     self.damage *= 2 if self.critical
  60.     if self.is_a?(Game_Player)
  61.     $game_actors[1].hp -= self.damage
  62.     if $game_actors[1].hp <= 0
  63.       $scene = Scene_Gameover.new
  64.     end
  65.     elsif self.is_a?(Game_Event)
  66.       self.hp -= self.damage
  67.       if self.hp <= 0
  68.         self.animation_id = 88
  69.           $game_actors[1].gain_exp(enemy_status.exp, 1)
  70.           if @die == 1
  71.           self.erase
  72.         elsif @die == 2
  73.           key = [$game_map.map_id, self.id, "A"]
  74.           $game_self_switches[key] = true
  75.           end
  76.           refresh
  77.         end
  78.     end
  79.   end
  80.    def recebe_skl(attacker)
  81.      for key in Skill_Button.keys
  82.     sklid = Skill_Button[key]
  83.     attacker_status = (attacker.is_a?(Game_Event) ? attacker.enemy_status : $game_actors[1])
  84.     receptor_status = (self.is_a?(Game_Event) ? self.enemy_status : $game_actors[1])
  85.     self.damage = $data_skills[sklid].atk_f - receptor_status.def
  86.     self.damage *= attacker_status.elements_max_rate(attacker_status.element_set)
  87.     self.damage /= 100
  88.     self.damage = 0 if self.damage < 0
  89.     self.critical = (rand(100) < 4)
  90.     self.damage *= 2 if self.critical
  91.     attacker_status.mp -= $data_skills[sklid].mp_cost
  92.     if self.is_a?(Game_Player)
  93.     $game_actors[1].hp -= self.damage
  94.     $scene = Scene_Gameover.new if $game_actors[1].hp <= 0
  95.     elsif self.is_a?(Game_Event)
  96.       self.hp -= self.damage
  97.       if self.hp <= 0
  98.           $game_actors[1].gain_exp(enemy_status.exp, 1)
  99.           if @die == 1
  100.           self.erase
  101.         elsif @die == 2
  102.           key = [$game_map.map_id, self.id, "A"]
  103.           $game_self_switches[key] = true
  104.           end
  105.           refresh
  106.         end
  107.     end
  108.   end
  109. end
  110.   def follow_hero(dx, dy)
  111.         sx = @x - dx
  112.         sy = @y - dy
  113.         if sx == 0 and sy == 0
  114.           return
  115.         end
  116.         abs_sx = sx.abs
  117.         abs_sy = sy.abs
  118.         if abs_sx == 0
  119.           sy > 0 ? move_up : move_down
  120.           if not moving? and sx != 0
  121.             sx > 0 ? move_left : move_right
  122.           end
  123.           return
  124.         elsif abs_sy == 0
  125.           sx > 0 ? move_left : move_right
  126.           if not moving? and sy != 0
  127.             sy > 0 ? move_up : move_down
  128.           end
  129.           return
  130.         end
  131.         if abs_sx == abs_sy
  132.           rand(2) == 0 ? abs_sx += 1 : abs_sy += 1
  133.         end
  134.         if abs_sx > abs_sy
  135.           sx > 0 ? move_left : move_right
  136.           if not moving? and sy != 0
  137.             sy > 0 ? move_up : move_down
  138.           end
  139.         else
  140.           sy > 0 ? move_up : move_down
  141.           if not moving? and sx != 0
  142.             sx > 0 ? move_left : move_right
  143.           end
  144.         end
  145.       end
  146.       def raio(dx, dy)
  147.         ax = (@x - dx) ** 2
  148.         ay = (@y - dy) ** 2
  149.         return Math.sqrt(ax + ay)
  150.       end
  151. end

  152. #--------------------------------------------------------------
  153. # Game Event
  154. #--------------------------------------------------------------
  155. class Game_Event < Game_Character
  156.   attr_reader :inimigo
  157.   attr_reader :enemy_status
  158.   alias vlad_abs_gevent_initialize initialize
  159.   alias vlad_abs_gevent_update update
  160.   alias vlad_abs_gevent_refresh refresh
  161.   def initialize(map_id, event)
  162.     @inimigo = false
  163.     @automove = false
  164.     vlad_abs_gevent_initialize(map_id, event)
  165.   end
  166.   def check_com(comentario)
  167.     return false if @list.nil? or @list.size <= 0
  168.     for item in @list
  169.       if item.code == 108 or item.code == 408
  170.         if item.parameters[0].downcase.include?(comentario.downcase)
  171.           return true
  172.         end
  173.       end
  174.     end
  175.   end
  176.   def check_comment(comentario)
  177.     com = comentario.downcase
  178.     return 0 if @list.nil? or @list.size <= 0
  179.     for item in @list
  180.       if item.code == 108 or item.code == 408
  181.         if item.parameters[0].downcase =~ /#{com}[ ]?(\d+)?/
  182.           return $1.to_i
  183.         end
  184.       end
  185.     end
  186.     return 0
  187.   end
  188.   def update
  189.     vlad_abs_gevent_update
  190.     if @inimigo
  191.       new_x = (@x + (@direction == 4 ? -1 : @direction == 6 ? 1 : 0))
  192.       new_y = (@y + (@direction == 8 ? -1 : @direction == 2 ? 1 : 0))
  193.       if self.wait_ataque > 0
  194.         self.wait_ataque -= 1
  195.       elsif $game_player.x == new_x and $game_player.y == new_y
  196.          $game_player.recebe_atk(self)
  197.          $game_player.animation_id = self.enemy_atk_animation_id
  198.          $game_player.jump(0,0)
  199.         self.wait_ataque = 60
  200.       end
  201.     end
  202.      if @automove
  203.           unless moving?
  204.             self.follow_hero($game_player.x, $game_player.y)
  205.           end
  206.         end
  207.   end
  208.   def refresh
  209.     vlad_abs_gevent_refresh
  210.     @inimigo = false
  211.     @enemy_id = check_comment("Enemy")
  212.     @automove = true if check_com("Follow") == true
  213.     @die = check_comment("Die")
  214.     if @enemy_id > 0
  215.       @inimigo = true
  216.       @enemy_status = Game_Enemy.new(@enemy_id, @enemy_id)
  217.             self.hp = @enemy_status.maxhp
  218.             self.mp = @enemy_status.maxmp
  219.     end
  220.   end
  221.   def enemy_atk_animation_id
  222.     if Enemy_atk_ani[@enemy_id]
  223.     return (@enemy_status.nil? ? 0 : Enemy_atk_ani[@enemy_id])
  224.   else
  225.     return (@enemy_status.nil? ? 0 : 1)
  226.   end
  227.   end
  228.   def Enemy_atk_ani
  229.     return Enemy_atk_ani
  230.   end
  231. end

  232. #--------------------------------------------------------------
  233. # Game Player
  234. #--------------------------------------------------------------
  235. class Game_Player < Game_Character
  236.   alias vlad_abs_gplayer_update update
  237.   alias vlad_abs_gplayer_refresh refresh
  238.   def update
  239.     vlad_abs_gplayer_update
  240.     if self.wait_ataque > 0
  241.       self.wait_ataque -= 1
  242.     end
  243.   def refresh
  244.     vlad_abs_gplayer_refresh
  245.     self.hp = $game_actors[1].hp
  246.     self.mp = $game_actors[1].mp
  247.   end
  248.     if Input.trigger?(Attack_Button) and self.wait_ataque <= 0
  249.       new_x = (@x + ($game_player.direction == 4 ? -1 : $game_player.direction == 6 ? 1 : 0))
  250.       new_y = (@y + ($game_player.direction == 8 ? -1 : $game_player.direction == 2 ? 1 : 0))
  251.       for event in $game_map.events.values
  252.         if event.inimigo
  253.           if event.x == new_x and event.y == new_y
  254.             event.recebe_atk(self)
  255.             event.animation_id = self.player_atk_animation_id
  256.             event.jump(0,0)
  257.             self.wait_ataque = 30
  258.             break
  259.           end
  260.         end
  261.       end
  262.     end
  263.     for key in Skill_Button.keys
  264.     if Input.trigger?(key) and Skill_Button[key] != nil and Skill_Button[key] != 0 and $game_actors[1].mp >= $data_skills[Skill_Button[key]].mp_cost and self.wait_ataque <= 0
  265.       new_x = (@x + ($game_player.direction == 4 ? -1 : $game_player.direction == 6 ? 1 : 0))
  266.       new_y = (@y + ($game_player.direction == 8 ? -1 : $game_player.direction == 2 ? 1 : 0))
  267.       for event in $game_map.events.values
  268.         if event.inimigo
  269.           if event.x == new_x and event.y == new_y
  270.             event.recebe_skl(self)
  271.             event.animation_id = self.player_skl_animation_id
  272.             event.jump(0,0)
  273.             self.wait_ataque = 60
  274.             break
  275.           end
  276.         end
  277.       end
  278.     end
  279.     end
  280.     def player_atk_animation_id
  281.     return ($game_actors[1].nil? ? 0 : $game_actors[1].atk_animation_id)
  282.   end
  283.   def player_skl_animation_id
  284.     for key in Skill_Button.keys
  285.       sklid = Skill_Button[key]
  286.     return ($game_actors[1].nil? ? 0 : $data_skills[sklid].animation_id)
  287.     end
  288.   end
  289.     def Attack_Button
  290.     return Attack_Button
  291.   end
  292.   def Skill_Button
  293.     return Skill_Button
  294.   end
  295.   end
  296. end

  297. #--------------------------------------------------------------
  298. # Game Actor
  299. #--------------------------------------------------------------
  300. class Game_Actor
  301.   alias vlad_abs_change_exp change_exp
  302.   def change_exp(exp, show)
  303.     last_level = @level
  304.     last_skills = skills
  305.     [url=home.php?mod=space&uid=13302]@exp[/url] = [[exp, 9999999].min, 0].max
  306.     while [url=home.php?mod=space&uid=13302]@exp[/url] >= @exp_list[@level+1] and @exp_list[@level+1] > 0
  307.       level_up
  308.     end
  309.     while @exp < @exp_list[@level]
  310.       level_down
  311.     end
  312.     @hp = [@hp, maxhp].min
  313.     @mp = [@mp, maxmp].min
  314.     if show and [url=home.php?mod=space&uid=22147]@level[/url] > last_level
  315.       show_level_up
  316.     end
  317.     vlad_abs_change_exp(exp,show)
  318.   end
  319.   def show_level_up
  320.     $game_player.animation_id = LevelUp_Ani
  321.     $game_actors[1].hp = $game_actors[1].maxhp
  322.     $game_actors[1].mp = $game_actors[1].maxmp
  323.   end
  324.   def LevelUp_Ani
  325.     return LevelUp_Ani
  326.   end
  327. end

  328. #--------------------------------------------------------------
  329. # Sprite Base
  330. #--------------------------------------------------------------
  331.   class Sprite_Base
  332.   alias animation animation_set_sprites
  333. def animation_set_sprites(frame)
  334.     cell_data = frame.cell_data
  335.     for i in 0..15
  336.       sprite = @animation_sprites[i]
  337.       next if sprite == nil
  338.       pattern = cell_data[i, 0]
  339.       if pattern == nil or pattern == -1
  340.         sprite.visible = false
  341.         next
  342.       end
  343.       if pattern < 100
  344.         sprite.bitmap = @animation_bitmap1
  345.       else
  346.         sprite.bitmap = @animation_bitmap2
  347.       end
  348.       sprite.visible = true
  349.       sprite.src_rect.set(pattern % 5 * 192,
  350.         pattern % 100 / 5 * 192, 192, 192)
  351.       if @animation_mirror
  352.         sprite.x = @animation_ox - cell_data[i, 1] / 2
  353.         sprite.y = @animation_oy - cell_data[i, 2] / 2
  354.         sprite.angle = (360 - cell_data[i, 4])
  355.         sprite.mirror = (cell_data[i, 5] == 0)
  356.       else
  357.         sprite.x = @animation_ox + cell_data[i, 1] / 2
  358.         sprite.y = @animation_oy + cell_data[i, 2] / 2
  359.         sprite.angle = cell_data[i, 4]
  360.         sprite.mirror = (cell_data[i, 5] == 1)
  361.       end
  362.       sprite.z = self.z + 300
  363.       sprite.ox = 96
  364.       sprite.oy = 96
  365.       sprite.zoom_x = cell_data[i, 3] / 200.0
  366.       sprite.zoom_y = cell_data[i, 3] / 200.0
  367.       sprite.opacity = cell_data[i, 6] * self.opacity / 255.0
  368.       sprite.blend_type = cell_data[i, 7]
  369.     end
  370.   end
  371. end
  372. #--------------------------------------------------------------
  373. # Sprite Character
  374. #--------------------------------------------------------------
  375. class Sprite_Character < Sprite_Base
  376.   alias vlad_abs_spchar_update update
  377.   def initialize(viewport, character = nil)
  378.     super(viewport)
  379.     @character = character
  380.     @balloon_duration = 0
  381.     @_damage_duration = 0
  382.     update
  383.   end
  384.   def update
  385.     super
  386.     if @_damage_duration > 0
  387.       @_damage_duration -=1
  388.         @_damage_sprite.x = self.x
  389.         if @_damage_duration <= 0
  390.           dispose_damage
  391.         end
  392.       end
  393.       if @character != nil and @character.damage != nil
  394.       damage(@character.damage, @character.critical)
  395.       @character.damage = nil
  396.       @character.critical = false
  397.     end
  398.     vlad_abs_spchar_update
  399.   end
  400. def damage(value, critical)
  401.       dispose_damage
  402.       if value.is_a?(Numeric)
  403.         damage_string = value.abs.to_s
  404.       else
  405.         damage_string = value.to_s
  406.       end
  407.       bitmap = Bitmap.new(160, 48)
  408.       bitmap.font.name = "黑体"
  409.       bitmap.font.size = 20
  410.       bitmap.font.italic = true
  411.       if value.is_a?(Numeric) and value <= 0
  412.         bitmap.font.color.set(0, 0, 0)
  413.         bitmap.draw_text(1, 13, 160, 36, "Fallo", 1)
  414.         bitmap.font.color.set(255, 245, 155)
  415.         bitmap.draw_text(0, 12, 160, 36, "Fallo", 1)
  416.       else
  417.         bitmap.font.color.set(0, 0, 0)
  418.         bitmap.draw_text(1, 13, 160, 36, damage_string, 1)
  419.         bitmap.font.color.set(255, 255, 255)
  420.         bitmap.draw_text(0, 12, 160, 36, damage_string, 1)
  421.       end
  422.       if critical
  423.         bitmap.font.color.set(0, 0, 0)
  424.         bitmap.draw_text(1, 6, 160, 20, "Critical", 1)
  425.         bitmap.font.color.set(255, 245, 155)
  426.         bitmap.draw_text(0, 5, 160, 20, "Critical", 1)
  427.       end
  428.       @_damage_sprite = ::Sprite.new(self.viewport)
  429.       @_damage_sprite.bitmap = bitmap
  430.       @_damage_sprite.ox = 80
  431.       @_damage_sprite.oy = 20
  432.       @_damage_sprite.x = self.x
  433.       @_damage_sprite.y = self.y - self.oy / 2 - 40
  434.       @_damage_sprite.z += 99999
  435.       @_damage_duration = 30
  436.     end
  437.     def show_text(string, size=16, color=0)
  438.       dispose_damage
  439.       damage_string = string
  440.       if string.is_a?(Array)
  441.         array = true
  442.       else
  443.         array = false
  444.       end
  445.       bitmap = Bitmap.new(160, 48)
  446.       bitmap.font.name = "Georgia"
  447.       bitmap.font.size = size
  448.       bitmap.font.italic = true
  449.       if array
  450.         for i in 0..string.size
  451.           next if damage_string[i] == nil
  452.           bitmap.font.color.set(96, 96-20, 0) if color == 0
  453.           bitmap.font.color.set(0, 0, 0) if color != 0
  454.           bitmap.draw_text(-1, (12+(16*i)-1)-16, 160, 36, damage_string[i], 1)
  455.           bitmap.draw_text(+1, (12+(16*i)-1)-16, 160, 36, damage_string[i], 1)
  456.           bitmap.draw_text(-1, (12+(16*i)+1)-16, 160, 36, damage_string[i], 1)
  457.           bitmap.draw_text(+1, (12+(16*i)+1)-16, 160, 36, damage_string[i], 1)
  458.           bitmap.font.color.set(255, 245, 155) if color == 0
  459.           bitmap.font.color.set(144, 199, 150) if color == 1
  460.           bitmap.font.color.set(197, 147, 190)if color == 2
  461.           bitmap.font.color.set(138, 204, 198)if color == 3
  462.           bitmap.draw_text(0, (12+(16*i))-16, 160, 36, damage_string[i], 1)
  463.         end
  464.       else
  465.         bitmap.font.color.set(96, 96-20, 0) if color == 0
  466.         bitmap.font.color.set(0, 0, 0) if color != 0
  467.         bitmap.draw_text(-1, 12-1, 160, 36, damage_string, 1)
  468.         bitmap.draw_text(+1, 12-1, 160, 36, damage_string, 1)
  469.         bitmap.draw_text(-1, 12+1, 160, 36, damage_string, 1)
  470.         bitmap.draw_text(+1, 12+1, 160, 36, damage_string, 1)
  471.         bitmap.font.color.set(255, 245, 155) if color == 0
  472.         bitmap.font.color.set(144, 199, 150) if color == 1
  473.         bitmap.font.color.set(197, 147, 190)if color == 2
  474.         bitmap.font.color.set(138, 204, 198)if color == 3
  475.         bitmap.draw_text(0, 12, 160, 36, damage_string, 1)
  476.       end
  477.       @_damage_sprite = ::Sprite.new(self.viewport)
  478.       @_damage_sprite.bitmap = bitmap
  479.       @_damage_sprite.ox = 80
  480.       @_damage_sprite.oy = 20
  481.       @_damage_sprite.x = self.x
  482.       @_damage_sprite.y = self.y - self.oy / 2
  483.       @_damage_sprite.z = 3000
  484.       @_damage_duration = 30
  485.     end
  486.     def dispose_damage
  487.     if @_damage_sprite != nil
  488.       @_damage_sprite.dispose
  489.       @_damage_sprite = nil
  490.     end
  491.   end
  492. end
  493.   
  494. #--------------------------------------------------------------
  495. # Window Skill
  496. #--------------------------------------------------------------
  497. class Scene_Skill
  498.   alias vlad_abs_sskill_initialize initialize
  499.   alias vlad_abs_sskill_update update
  500.   def initialize(actor_index = 0, equip_index = 0)
  501.     [url=home.php?mod=space&uid=25505]@memory[/url] = Window_Command.new(150, ["確 定 S 鍵 技 能"])
  502.     @memory.active = false
  503.     @memory.visible = false
  504.     @memory.x = (544 - @memory.width) / 2
  505.     @memory.y = (416 - @memory.height) / 2
  506.     @memory.z = 1500
  507.     vlad_abs_sskill_initialize
  508.   end
  509. def update
  510.   update_skill
  511.   @memory.update if @memory.active
  512.   return update_memory if @memory.active
  513.   vlad_abs_sskill_update
  514. end
  515. def update_skill
  516.   for key in Skill_Button.keys
  517.   if Input.trigger?(key)
  518.   Sound.play_decision
  519.   Skill_Button[key] = @skill_window.skill.id
  520.   @memory.active = @memory.visible = true
  521.   @skill_window.active = false
  522. end
  523. end
  524. end
  525.   def update_memory
  526. if Input.trigger?(Input::C)
  527.   Sound.play_decision
  528.   @memory.active = @memory.visible = false
  529.   @skill_window.active = true
  530. end
  531. end
  532.   def Skill_Button
  533.     return Skill_Button
  534.   end
  535. end

  536. #--------------------------------------------------------------
  537. # FINISH
  538. #--------------------------------------------------------------
复制代码

最佳答案

查看完整内容

基本功能已经实现,占楼了,待优化。 [hr]问:什么时候优化? 答:P叔有时间再来优化,本周太多事情了。你先看看实现效果。

点评

悬赏了这么多VIP,为了防止一些伸手党不劳而获,遂将权限设置为仅作者可见。  发表于 2013-4-7 18:19
我以为标题的意思是小瞬以后不当伸手党了...  发表于 2013-3-29 12:55
我只是说离开一段时间专心做游戏啊  发表于 2013-3-28 03:00
小瞬别走QAQ  发表于 2013-3-27 22:07
QAQ小顺要走?  发表于 2013-3-27 12:05

评分

参与人数 1星屑 +12 收起 理由
结城照美 + 12 专业VIP土豪,祝制作顺利

查看全部评分

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4694
在线时间
5240 小时
注册时间
2009-4-29
帖子
14318

贵宾

来自 2楼
发表于 2013-3-27 04:48:33 | 只看该作者
此帖仅作者可见
《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
239
在线时间
2399 小时
注册时间
2008-4-11
帖子
12326

贵宾第6届短篇游戏比赛季军

3
 楼主| 发表于 2013-4-17 18:56:51 手机端发表。 | 只看该作者
此帖仅作者可见

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-23 01:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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