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

Project1

 找回密码
 注册会员
搜索

cannot convert nil into string....

查看数: 1736 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2012-2-28 08:58

正文摘要:

本帖最后由 xx小虾米xx 于 2012-2-28 05:26 编辑 我做的游戏是 牧场物语。。里面放了行走加速的脚本和一些其他脚本 但是我把 ”年月日四季时间昼夜地图显示及天气http://rpg.blue/thread-194450-1-1.html“脚本 ...

回复

xx小虾米xx 发表于 2012-3-1 11:54:22
谢啦。。。有你们帮忙今天我拿了Florida 地区比赛冠军。。。。外国老看傻了。。。怎么今天也为中国争光啦。。。3-16 要上交游戏 比Florida 州赛。。。我想 有你们帮忙指点 应该没问题。。
viktor 发表于 2012-2-29 10:19:51
好吧……掉人参了。看来我还是太C-style了。没想到是初值的错……其实如果我来赋初值一般就$year=0或者1了
可以case里面加一个else
错误的输入,如果是程序内部写死的,一般还是可以避免的嘛

点评

加油哦。。。。会有那么一天的  发表于 2012-3-1 11:16
加油哦。。。。会有那么一天的  发表于 2012-3-1 11:16
亿万星辰 发表于 2012-2-29 07:30:53
本帖最后由 亿万星辰 于 2012-3-1 06:56 编辑

问题处在你的全局变量$year上,你前面的设置里写的 $year = 6

    case $game_variables[$year]
    when 1
      yeartxt = "江湖一年"
    when 2
      yeartxt = "江湖二年"
    when 3
      yeartxt = "江湖三年"
    when 4
      yeartxt = "江湖四年"
    end
这里对于$game_variables[$year]在你的游戏里也就是【变量6】的判断只有1~4的情况,没有该变量为6时的判断,这样执行过这个casewhen之后yeartxt本身就是个nil,然后才会出现下面的问题。
至于解决方法嘛,楼主可自行思考一下,是修改全局变量的值,还是增加对应值的文本内容。

点评

知道怎么回事了。。。。我搬脚本到写好的游戏里面变量是不同的。。。。所以一进去就爆了  发表于 2012-3-1 11:48
只要你的 变量6 的值在1~4之间应该就不会有问题。  发表于 2012-3-1 06:57
那你的意思是如果 变量大鱼4 他就会说 script 'window_Time 2' line145: TypeError occurred Cannot convert nil into string 如果小鱼4 就可以正常运行游戏啦???????   发表于 2012-2-29 23:49
单单这个脚本在游戏里是可以运行的。。。。但是我一放了其他脚本进去这个脚本就不行了。。。我脚本是能少改就少改。。。。  发表于 2012-2-29 23:45
xx小虾米xx 发表于 2012-2-29 00:43:58
  1. 01.case yeartxt="" $game_variables[$year]

  2. 02.    when 1

  3. 03.      yeartxt = "江湖一年"

  4. 04.    when 2

  5. 05.      yeartxt = "江湖二年"

  6. 06.    when 3

  7. 07.      yeartxt = "江湖三年"

  8. 08.    when 4

  9. 09.      yeartxt = "江湖四年"

  10. 10.    end

  11. 11.   ¥¥¥¥self.contents.draw_text($year_x, $year_y, 128, $year_font_size + 14, yeartxt)¥¥¥¥

  12. 12.    #其实根本不需要那么多,一年就要跑很久了   
  13. 复制代码
复制代码

点评

这样吗????  发表于 2012-2-29 00:45
viktor 发表于 2012-2-28 16:01:37
本帖最后由 viktor 于 2012-2-28 16:02 编辑
  1. case $game_variables[$year]
  2.     when 1
  3.       yeartxt = "江湖一年"
  4.     when 2
  5.       yeartxt = "江湖二年"
  6.     when 3
  7.       yeartxt = "江湖三年"
  8.     when 4
  9.       yeartxt = "江湖四年"
  10.     end
  11.    ¥¥¥¥self.contents.draw_text($year_x, $year_y, 128, $year_font_size + 14, yeartxt)¥¥¥¥
  12.     #其实根本不需要那么多,一年就要跑很久了   
复制代码
明白了 是菊部变量作用域的问题。yeartxt这个变量可能只在case里面有用,出了case就被释放了。
请在这个case前面加上yeartxt=""

后面的festxt等等类似物一样修改。

点评

错误答案,误导~  发表于 2012-2-29 07:28
Festxt 是什么?????Case$game_varbles也 不知道 是什么。。。。中间的我懂  发表于 2012-2-29 00:48

评分

参与人数 1星屑 -2 收起 理由
亿万星辰 -2 误导

查看全部评分

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

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

GMT+8, 2025-7-19 22:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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