Project1

标题: 这里要怎么改才可以? [打印本页]

作者: lovepea    时间: 2008-6-26 05:33
标题: 这里要怎么改才可以?
if $game_switches[1] == true #开关1打开时 执行这个脚本,这是我加的,下面是 脚本
class Game_Event
attr_accessor :flag
end
class Game_Map
#--------------------------------------------------------------------------
# ● 检查鼠标处是否有自定义的事件并返回类型
#--------------------------------------------------------------------------
def check_event_custom(mouse_x, mouse_y)
   for event in $game_map.events.values #循环所有事件检查
     event_width = RPG::Cache.character(event.character_name,event.character_hue).width / 4
     event_height = RPG::Cache.character(event.character_name,event.character_hue).height / 4
     if mouse_x > event.screen_x - event_width / 2 and mouse_x < event.screen_x + event_width / 2 and mouse_y + 32 > event.screen_y + 32 - event_height and mouse_y + 32 < event.screen_y + 32
       for i in 0...event.list.size
         if event.list.parameters[0] == "Item" #类型判断
           event.flag = 1
         elsif event.list.parameters[0] == "Npc" #类型判断
           event.flag = 2
         else
           event.flag = 0 if $game_player.get_mouse_sta != 2 #无标志
         end
         return event.flag #返回事件类型标志
       end
     end
   end
   return 0 if $game_player.get_mouse_sta != 2 #如果不是在跟随鼠标状态,则返回无标志
   return $mouse_icon_id #使鼠标图不变化
end
#--------------------------------------------------------------------------
# ● 检查鼠标处是否有事件可以开启
#--------------------------------------------------------------------------
def check_event_custom_start(mouse_x, mouse_y)
   for event in $game_map.events.values #循环所有事件检查
     #事件角色图片宽度、高度
     event_width = RPG::Cache.character(event.character_name,event.character_hue).width/4
     event_height = RPG::Cache.character(event.character_name,event.character_hue).height/4
     #判断是否鼠标在事件上
     if mouse_x > event.screen_x - event_width / 2 and mouse_x < event.screen_x + event_width / 2 and mouse_y + 32 > event.screen_y + 32 - event_height and mouse_y + 32 < event.screen_y + 32
       way_x = $game_player.x - event.x
       way_y = $game_player.y - event.y
       if ([1, -1].include?($game_player.x-event.x) and $game_player.y-event.y == 0) or ([1, -1].include?($game_player.y-event.y) and $game_player.x-event.x == 0)
         for i in 0...event.list.size
           if ["Item","Npc"].include?(event.list.parameters[0]) #当事件属于自定义事件
             #判断主角朝向
             if way_x == -1
               p_direction = 6 if way_y == 0
             elsif way_x == 0
               p_direction = 2 if way_y == -1
               p_direction = 8 if way_y == 1
             else
               p_direction = 4 if way_y == 0
             end
             event.start #开启事件
             return 1, p_direction #返回即将开启事件以及角色朝向
           end
         end
       end
     end
   end
   return 0, 5 #返回不会开启事件以及角色朝向不变
end


else
end

我这样加后.....提示 第一行错误
[LINE]1,#dddddd[/LINE]版务信息:版主帮忙结贴~
作者: dna_7086    时间: 2008-6-26 06:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: 暴风の龙    时间: 2008-6-26 10:28
原来如此……IF是不可以这样用的……
不是说用IF把整个CLASS括起来,打开开关就能屏蔽功能的啊=。=

作者: lovepea    时间: 2008-6-27 00:24
原来是这样........那我要 开关 1 打开才 调用这个脚本......要怎么办呢?
作者: 灯笼菜刀王    时间: 2008-6-27 00:28
那改动的可大了。
作者: dbshy    时间: 2008-6-27 00:43
我从来没看过这样加IF的

LZ还是说下想实现什么效果..

PS:LZ想象力真丰富
作者: 禾西    时间: 2008-6-27 01:12
主要問題是 $game_switches 在Object 當中通常爲 nil ...可是這個卻當作數組用,還調用 [ ] 方法 = =b
當然會出錯...
2,3樓+LS不要誤導新人 = =
if 當然可以包括 class [LINE]1,#dddddd[/LINE]系统信息:本贴由本区版主认可为正确答案,66RPG感谢您的热情解答~
作者: hgr    时间: 2008-6-28 04:50
提示: 作者被禁止或删除 内容自动屏蔽
作者: 亮F    时间: 2008-6-30 01:40
{/fd}{/fd}{/fd} [LINE]1,#dddddd[/LINE]版主对此帖的评论:『刷版』,积分『-100』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
作者: Infrared    时间: 2008-6-30 02:08
提示: 作者被禁止或删除 内容自动屏蔽




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