下面是引用 lichen 于 2011-03-12 15:12 发表的 帮忙看一下 感谢..,|zombie_plague40.amxx debug: L 03/12/2011 - 14:41:51: [AMXX] [0] zombie_plague_csol.sma::allowed_survivor (line 8744) L 03/12/2011 - 14:41:51: [AMXX] [1] zombie_plague_csol.sma::native_make_user_survivor (line 9271) 8744 if (g_endround || !g_isalive[id] || task_exists(TASK_WELCOMEMSG) || (!g_newround && g_zombie[id] && fnGetZombies() == 1)) 9271 if (!allowed_survivor(id)) 是索引超出所以报错?意思就是格式不正确? 我其实不好意思再问这么简单的插件问题了,但是没人教! 还是不会修改啊.. 希望大大们在帮我的情况下,在发个教学帖子.... 我有这个 scripting 用amxx_studio.exe打开插件后 怎么修改?
下面是引用 a7811311622 于 2011-03-12 15:19 发表的 : 呃…你只有贴错误行数…却没贴错误内容…这要人怎么了解错误何在…?
...... randoms = fnGetRandomAliveHuman(random_num(1, fnGetAliveHuman())) if (randoms <= 0) return; ......
randoms = fnGetRandomAliveHuman(random_num(1, fnGetAliveHuman())) fnGetAliveHuman() { static iHumans, id iHumans = 0 for (id = 1; id <= g_maxplayers; id++) if (is_user_alive(id) && !zp_get_user_zombie(id)) iHumans++ return iHumans } fnGetRandomAliveHuman(n) { static iAlive, id iAlive = 0 for (id = 1; id <= g_maxplayers; id++) { if (is_user_alive(id) && !zp_get_user_zombie(id)) iAlive++ if (iAlive == n) return id } return -1 }
do{ randoms = random_num(1, get_playersnum()) }while(!is_user_alive(randoms) || zp_get_user_zombie(randoms))
下面是引用 a7811311622 于 2011-03-12 16:46 发表的 : 我无言了… 无言中…ZP 4.3 主插件都不会在这种地方判断ID值是不是僵尸…这写的人在自作主张什么…? 一开始的「fnGetAliveHuman」就是问题… 后面的「fnGetRandomAliveHuman」则是让判断出来的ID值偏差更大… .......
下面是引用 i-c0112 于 2011-03-12 16:40 发表的 : 可能要加个条件吧 复制程式 ...... randoms = fnGetRandomAliveHuman(random_num(1, fnGetAliveHuman())) if (randoms <= 0) return; ......