Project1

标题: 显示文章可以到时间自动消失而不用按空格回车么? [打印本页]

作者: horussakai    时间: 2008-6-25 23:58
标题: 显示文章可以到时间自动消失而不用按空格回车么?


显示文章
那个一般情况下必须按回车或空格


但是我战斗出招调用了公共事件,里面有显示文章,但是每次出招都调用,所以每次都按太麻烦了。

我想如果能通过时间控制就好了,比如等待50帧,显示文章就关闭,结束该事件。


这个该怎么弄,高手指点一下,可以用现有功能完成吗? [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: dbshy    时间: 2008-6-26 00:20
def terminate_message
    for i in 0..50
      Graphics.update
    end
    self.active = false
    self.pause = false
    self.index = -1
    self.contents.clear
    # 清除显示中标志
    @contents_showing = false
    # 呼叫信息调用
    if $game_temp.message_proc != nil
      $game_temp.message_proc.call
    end
    # 清除文章、选择项、输入数值的相关变量
    $game_temp.message_text = nil
    $game_temp.message_proc = nil
    $game_temp.choice_start = 99
    $game_temp.choice_max = 0
    $game_temp.choice_cancel_type = 0
    $game_temp.choice_proc = nil
    $game_temp.num_input_start = 99
    $game_temp.num_input_variable_id = 0
    $game_temp.num_input_digits_max = 0
    # 开放金钱窗口
    if @gold_window != nil
      @gold_window.dispose
      @gold_window = nil
    end
  end

     if Input.trigger?(Input::C)
      if $game_temp.choice_max > 0
          $game_system.se_play($data_system.decision_se)
          $game_temp.choice_proc.call(self.index)
        end
        terminate_message
      end   
      return
    end
改为
if  $game_switches[id] then
  if $game_temp.choice_max > 0
          $game_system.se_play($data_system.decision_se)
          $game_temp.choice_proc.call(self.index)
        end
        terminate_message
      end   
      return
   end


作者: 3535    时间: 2008-6-26 00:22
一些对话脚本已有此功能,例:
http://rpg.blue/web/htm/news356.htm

# \M[60]:等待60帧文字直接消失 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: horussakai    时间: 2008-6-26 00:22
你那个一改,是不是改系统啊,那岂不是把所有的显示文章都改了?{/fd}
作者: Infrared    时间: 2008-6-26 00:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: horussakai    时间: 2008-6-26 00:24
以下引用3535于2008-6-25 16:22:24的发言:
<br><script language="javascript">
<!--
strCont="一些对话脚本已有此功能,例:\r\nhttp://rpg.blue/web/htm/news356.htm\r\n\r\n# \\M[60]:等待60帧文字直接消失";
document.write(ubb.spbShowTopic(strCont,1));
//-->
</script>一些对话脚本已有此功能,例:<br>
<a href="http://rpg.blue/web/htm/news356.htm" target="_blank">http://rpg.blue/web/htm/news356.htm</a><br>
<br>
# \M[60]:等待60帧文字直接消失




这个必须又打Main脚本?。。。。。。。。打多了会冲突吧,我打了好多MAIN前脚本了。。。。。
作者: dna_7086    时间: 2008-6-26 00:26
提示: 作者被禁止或删除 内容自动屏蔽
作者: horussakai    时间: 2008-6-26 00:27
或者变通一下

不用显示文章也成,只要能在事件范围内在屏幕打出文字就成。有框没框无所谓。。。。。。。。
作者: Infrared    时间: 2008-6-26 00:28
提示: 作者被禁止或删除 内容自动屏蔽
作者: horussakai    时间: 2008-6-26 00:28
if  $game_switches[id] then

ELSE

那怎么操作才走IF

怎么才走ELSE。。。。。。。中间过程没明白。。。。。。。。汗
作者: horussakai    时间: 2008-6-26 00:30
以下引用Infrared于2008-6-25 16:28:42的发言:

那样用公共事件显示图片


我以前那样想过,不过我出招的公共事件。每招调用一个

一共20多个公共事件,做图太恐怖了。。。。。。。。。。。

作者: Infrared    时间: 2008-6-26 00:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: dbshy    时间: 2008-6-26 00:31
$game_switches[id] 为 TRUE 就自动消失
作者: horussakai    时间: 2008-6-26 00:34
$game_switches[id]

里面就是某个开关的ID?那我要写20多个开关吗?{/fd}{/fd}


作者: horussakai    时间: 2008-6-26 00:36
if  $game_switches[5] then
if  $game_switches[6] then
if  $game_switches[7] then
if  $game_switches[8] then
if  $game_switches[9] then


这么用?{/fd}
作者: dna_7086    时间: 2008-6-26 00:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: Infrared    时间: 2008-6-26 00:46
提示: 作者被禁止或删除 内容自动屏蔽
作者: Infrared    时间: 2008-6-26 00:49
提示: 作者被禁止或删除 内容自动屏蔽
作者: 灯笼菜刀王    时间: 2008-6-26 00:53
游戏开场动画中,随便哪里查进一个开关,然后打开。

然后平时对话,输入文章前把这个开关关上,输入文章后再把开关打开。

只要一个开关控制事件的执行是否就行了,干吗要用那么多开关。

要么,就在每个队伍前面设置。0+0回合的时候把开关打开。然后地图上设置一个自动执行的事件,开关关上,暂时消除该事件。

OK了,
作者: yangff    时间: 2008-6-26 00:56
以下引用灯笼菜刀王于2008-6-25 16:53:08的发言:

游戏开场动画中,随便哪里查进一个开关,然后打开。

然后平时对话,输入文章前把这个开关关上,输入文章后再把开关打开。

只要一个开关控制事件的执行是否就行了,干吗要用那么多开关。

要么,就在每个队伍前面设置。0+0回合的时候把开关打开。然后地图上设置一个自动执行的事件,开关关上,暂时消除该事件。

OK了,

公共事件
n号开关=on
close n号开关
作者: horussakai    时间: 2008-6-26 02:52
以下引用灯笼菜刀王于2008-6-25 16:53:08的发言:
<br><script language="javascript">
<!--
strCont="游戏开场动画中,随便哪里查进一个开关,然后打开。\r\n\r\n然后平时对话,输入文章前把这个开关关上,输入文章后再把开关打开。\r\n\r\n只要一个开关控制事件的执行是否就行了,干吗要用那么多开关。\r\n\r\n要么,就在每个队伍前面设置。0+0回合的时候把开关打开。然后地图上设置一个自动执行的事件,开关关上,暂时消除该事件。\r\n\r\nOK了,";
document.write(ubb.spbShowTopic(strCont,1));
//-->
</script>游戏开场动画中,随便哪里查进一个开关,然后打开。<br>
<br>
然后平时对话,输入文章前把这个开关关上,输入文章后再把开关打开。<br>
<br>
只要一个开关控制事件的执行是否就行了,干吗要用那么多开关。<br>
<br>
要么,就在每个队伍前面设置。0+0回合的时候把开关打开。然后地图上设置一个自动执行的事件,开关关上,暂时消除该事件。<br>
<br>
OK了,



你这个办法没看明白,开关也需要在显示文章前后操作吧,无法避免回车才执行下一步的问题啊

而且这个‘文章可以到时间自动消失’其实会反复使用的,也就是每人出招时说的话。。。。。。。。


1场战斗都要调几百次的。。。。。。。。还是4个人不同的各个招。。。。。。
作者: Infrared    时间: 2008-6-26 02:55
提示: 作者被禁止或删除 内容自动屏蔽
作者: horussakai    时间: 2008-6-26 02:55
本贴由楼主自主结贴???不是我结贴的啊{/gg}{/gg}{/gg}
作者: Infrared    时间: 2008-6-26 02:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: horussakai    时间: 2008-6-26 02:57
以下引用Infrared于2008-6-25 18:55:14的发言:

用了什么对话脚本


是招式上调用的公共事件


也就是比如A招叫‘CCCC’那,发招时我顺便调用公共事件,主角出现图片,说‘CCCC’,其他招依此类推。

但是每次都要按回车,每次都这样累死了。。。。。。。。。。。

作者: Infrared    时间: 2008-6-26 03:01
提示: 作者被禁止或删除 内容自动屏蔽
作者: horussakai    时间: 2008-6-26 03:05
以下引用Infrared于2008-6-25 19:01:04的发言:

如果没用对话脚本,直接用我贴的脚本



你那个怎么用啊。。。。。。。。。比如/M[60],然后呢。。。。。写哪{/gg}
作者: Infrared    时间: 2008-6-26 03:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: horussakai    时间: 2008-6-26 03:11
不成,我今天要下了。

明天可以继续讨论吗?还有我不是自行结贴的!

3535帮我好几次了,明天给你再开新带分的贴继续讨论吧,谢了{/cy}
作者: horussakai    时间: 2008-6-26 22:18


  1. if  $game_switches[50] == true then
  2. if $game_temp.choice_max > 0
  3.         $game_system.se_play($data_system.decision_se)
  4.         $game_temp.choice_proc.call(self.index)
  5.       end
  6.       terminate_message
  7. else
  8.    if Input.trigger?(Input::C)
  9.     if $game_temp.choice_max > 0
  10.         $game_system.se_play($data_system.decision_se)
  11.         $game_temp.choice_proc.call(self.index)
  12.       end
  13.       terminate_message
  14.     end   
  15. end   
  16.     return



复制代码


请问当IF时,可以别太快就关掉吗?等待50桢怎么写上去呢???
作者: horussakai    时间: 2008-6-26 22:25
if  $game_switches[50] == true then
    if $game_temp.choice_max > 0
            @wait_count = 50
            $game_system.se_play($data_system.decision_se)
            $game_temp.choice_proc.call(self.index)
          end
          terminate_message
    else
       if Input.trigger?(Input::C)
        if $game_temp.choice_max > 0
            $game_system.se_play($data_system.decision_se)
            $game_temp.choice_proc.call(self.index)
          end
          terminate_message
        end   
    end   
        return


这样不好用




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