找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 19060|回复: 5

[已解决] 随机挑选事件发生的问题

[复制链接]
发表于 2020-3-17 12:51:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 达米安没钱 于 2020-3-17 18:14 编辑

首先感谢大佬@yume513和版主@BuErShen在https://www.renpy.cn/forum.php?mod=viewthread&tid=546&extra=page%3D1

帮助解决了实现随机范围内的变量不重复 r的问题_(:з」∠)_

于是有了测试代码:
[RenPy] 纯文本查看 复制代码
default newnumber = 0
default newnumber = 0
default newlist = list(range(1,6))



label suijiradio:


    $newnumber = renpy.random.choice(newlist)
    "随机数来了[newnumber]"
    $newlist.remove(newnumber)
    $ eventnum = "event"[newnumber]
    jump expression eventnum



label event1:
  "这是1"
  menu:
       "回去":
         jump suijiradio

label event2:
  "这是2"
  menu:
       "回去":
         jump suijiradio

label event3:
  "这是3"
  menu:
       "回去":
         jump suijiradio

label event4:
  "这是4"
  menu:
       "回去":
         jump suijiradio

label event5:
  "这是5"
  menu:
       "回去":
         jump suijiradio



结果发现报错说没有找到label n....emmm 哪来的n
看了版主大人的
脚本标签(label)和主控流程
https://www.renpy.cn/forum.php?mod=viewthread&tid=99&highlight=label

是不是要让jump达到某个由变量指定的特定label必须要用global全局变量呢?

如果不需要的话该怎么描述要跳转的这个label expression 问题到底在哪儿呢_(:з」∠)_

自我编辑!2020/3/17/13:11

expression表达失败_(:з」∠)_


发表于 2020-3-17 13:25:46 | 显示全部楼层
jump expression event_newnumber
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2020-3-17 16:43:24 | 显示全部楼层
老司机飞飞飞 发表于 2020-3-17 13:25
jump expression event_newnumber

emmm 尝试了之后还是失败了
看来是expression没有用对
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2020-3-17 16:56:10 | 显示全部楼层

  1. I'm sorry, but an uncaught exception occurred.

  2. While running game code:
  3.   File "game/suijiradio.rpy", line 13, in script
  4.    
  5. ScriptError: could not find label 'n'.

  6. -- Full Traceback ------------------------------------------------------------

  7. Full traceback:
  8.   File "game/suijiradio.rpy", line 13, in script
  9.    
  10.   File "D:\RENPY\renpy-7.3.5-sdk\renpy\ast.py", line 1697, in execute
  11.     rv = renpy.game.script.lookup(target)
  12.   File "D:\RENPY\renpy-7.3.5-sdk\renpy\script.py", line 898, in lookup
  13.     raise ScriptError("could not find label '%s'." % str(original))
  14. ScriptError: could not find label 'n'.

  15. Windows-8-6.2.9200
  16. Ren'Py 7.3.5.606
  17. FM666 1.0
  18. Tue Mar 17 16:52:18 2020
复制代码


现在无论怎么写 都说值是n _(:з」∠)_ 道阻且长了
回复 支持 抱歉

使用道具 举报

发表于 2020-3-17 17:44:30 | 显示全部楼层
$ eventnum = "event" + str(newnumber)

[]只有在游戏文本内使用才是显示变量,比如人物对话或者text类可视组件,用在代码里是在列表里取某个对象的
你看报错信息,显示的是无法找到“n”这个label,是因为按照你的源代码,程序把“event”这个字符串看做了一个list,取了其中的第4个值,也就是“n”。。
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2020-3-17 18:07:36 | 显示全部楼层
yume513 发表于 2020-3-17 17:44
$ eventnum = "event" + str(newnumber)

[]只有在游戏文本内使用才是显示变量,比如人物对话或者text类可 ...

啊啊啊啊原来是这样啊?!我以为取到了n是因为n是number的第一个字母 没办法读下去呢

我一直在搜怎么样让这个代码被读完完全想错方向了
谢谢谢谢大佬!
回复 支持 抱歉

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|RenPy中文空间 ( 苏ICP备17067825号|苏公网安备 32092302000068号 )

GMT+8, 2024-4-26 23:08 , Processed in 0.061005 second(s), 12 queries , File On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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