找回密码
 注册
X系列官方授权正版
搜索
查看: 2252|回复: 5

[原创] 遇到攻打星球跳出的bug,我竟然能改掉bug,太崇拜我自己了

[复制链接]
发表于 2012-3-18 16:45:36 | 显示全部楼层 |阅读模式
本帖最后由 autopopo 于 2012-3-19 15:59 编辑

我靠!没有白做12年的程序员啊!sots2居然每个存档都是一个数据库,标准sql啊有木有。

攻打属于morrige的并且有未编队的船(reserve中有船)的星球会跳出。

玩到100回合左右,攻击morrige星系的时候出现的这个问题。
很是郁闷了一阵。后来发现,如果星系的reserve中没有船,则不会跳出。
打开存档摸索了一阵,发现删了reserve中的船就行。


打开存档修改sql。
首先,找到星球。star_systems表,按游戏中的名字找到星球,记下id=XXX。
然后,找到舰队。fleets表,执行query:select × from fleets where system_id=XXX,找到name=reserve的舰队,记下舰队的id=###
然后,找到船。ships表,执行query:delete from ships where fleet_id=###
保存。

然后读档进入游戏,就能正常攻击星球了,不会跳出了。

这个问题似乎原因是无人机算是一个ship,并在ships表中。
但删除的时候,删除无人机时调用的API抛空指针错误。


评分

参与人数 1UCC +12 收起 理由
TLX099 + 12 嗯,鼓励你出个XP补丁。。

查看全部评分

发表于 2012-3-19 19:40:23 | 显示全部楼层
没人回复,你把别人都吓跑了
回复

使用道具 举报

发表于 2012-3-19 20:29:19 | 显示全部楼层
这也太高手了吧!高手,编个XP系统兼容补丁怎么样?不算难吧?
回复

使用道具 举报

发表于 2012-3-20 20:50:33 | 显示全部楼层
XP的路过。准备挣两钱去换本本了。唉,穷啊。
回复

使用道具 举报

发表于 2012-3-22 16:04:09 | 显示全部楼层
XP是因为不支持DX10……没那么容易吧……
办法我倒有一个:用wined3d的技术在xp上将dx10指令转成OpenGL指令,但是太折腾了而且很伤性能。
给个链接,大家知道有这么回事就行了:http://download.savannah.nongnu. ... /latest/wined3d.exe
估计小白折腾的话系统会挂……
回复

使用道具 举报

发表于 2012-3-22 16:49:45 | 显示全部楼层
反过来说,我可以在一个星球里面修改出500艘海妖?????
回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|DeepTimes.NET 太空游戏站