引用 | 编辑
a7811311622
2013-08-17 23:52 |
3楼
▲ ▼ |
如果没猜错的话…
可能是玩家离开时…离开的玩家中有包括「没被爆头僵尸」… 然后没重新判断 noheadshot_zombies() 导致「没被爆头僵尸」离开了却算进去… 最后因为 noheadshot_zombies() > 0 变成不会执行「结束回合」这动作… 解决办法: 让 noheadshot_zombies() 内的 num 层级提高到公开变数… 然后在 public client_disconnect(id) 里用条件控制… 看是要用判断条件后 num-- 或是重新计算 num 都试试… x1 |
引用 | 编辑
曾李源
2013-08-17 23:58 |
4楼
▲ ▼ |
下面是引用 a7811311622 于 2013-08-17 23:52 发表的 : 确实僵尸没被爆头离开就会出现这个BUG,那我按您说的试试看吧 x0 |
引用 | 编辑
fouury
2013-08-18 18:33 |
6楼
▲ ▼ |
总之先让退出的玩家不被noheadshot算进去 直接
复制程式 public client_disconnect(id) { if (!is_headshot[id]) { is_headshot[id] = true } } 另外noheadshot每次在计算时都会将num重置后才计算 照理讲退出的玩家不会被计算进去 这部分或许需要另外加上判断玩家是否在游戏内的条件而后才计算 x1 |
引用 | 编辑
曾李源
2013-08-19 21:53 |
7楼
▲ ▼ |
下面是引用 fouury 于 2013-08-18 18:33 发表的 : 加上这段之后就无法转档了 x0 |
引用 | 编辑
曾李源
2013-08-20 00:40 |
9楼
▲ |
下面是引用 fouury 于 2013-08-18 18:33 发表的 : 多谢您了,BUG已经被修正了,不过您给的代码里面有一个错误让我转档失败半天,多亏a78大大提醒否则不知要搞到何时 x0 |