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 |
|
|
|