yymmychat
|
分享:
▲
▼
其实我也还没弄明白^^"
作者: a7811311622 标题: 关于我的备用方案… 那是我之前用来让ZP能感染最后人类的写法: =========================================================== new g_frags[33], g_deaths[33] new bool:g_infect_last_human
public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_type) // Swarm round or plague round if (g_swarmround || g_plagueround) return HAM_IGNORED; // human is killed // Last human if (fnGetHumans() == 1 && (!g_nemround && !g_survround && !g_swarmround && !g_plagueround)) { g_infect_last_human = true server_cmd("sv_restart 5") // force server restart } infection_explode(ent) // Victim is survivor? if (g_survivor[victim] && get_user_health(victim) > g_survivor_hp/4) { fm_set_user_health(victim, pev(victim, pev_health)-(g_survivor_hp/4)) continue; } // Last human if (fnGetHumans() == 1 && (!g_nemround && !g_survround && !g_swarmround && !g_plagueround)) { g_infect_last_human = true server_cmd("sv_restart 5") // force server restart } public fw_PlayerPreThink(id) if (g_infect_last_human) { g_frags[id] = pev(id, pev_frags) g_deaths[id] = fm_get_user_deaths(id) } public fw_PlayerSpawn_Post(id) if (g_infect_last_human) { UpdateFrags(id, id, g_frags[id], g_deaths[id], 1) if (id == get_playersnum()) g_infect_last_human = false } public message_textmsg() if (g_infect_last_human) { logevent_round_end() return PLUGIN_HANDLED; } g_scorehumans = 0 g_scorezombies = 0 logevent_round_end() public fnCheckLastZombie()
//g_lasthuman[id] = true =========================================================== 使用伺服器指令能让回合强制更新…不过因为是restart…会将所有人的杀敌数和死亡数归零… 所以我就对这部份修正…不过我上述内容少了修正「get_user_msgid("TeamScore")」的内容… 而最后将最后人类的bool判断取消只是为了测试某些僵尸的伤害技是否能确实感染最后人类而用的… 但是如果用在一般模式的话…最让我担心的是…我不知道胜利的队伍下回合会加多少钱…
|
※目前暂不接受插件修改委托※ 原本预计在2010年4月份之前发布更新 Zombie Hell 3.0, 但我还是失信了.... 在此要先向众版友们致歉,真的很抱歉 m(_._)m 但我终会完成此插件,兑现我的承诺.
|
x2
[11 楼]
From:未知地址 | Posted:2011-03-11 22:30 |
|
|
|