這兩個應該不用我教要放在哪裡吧...
複製程式
複製程式
register_cvar("zp_dasu_trap_cdtime", "10.0")
下面三個函數, 是從源碼裡複製出來修改過的, 找到對應的覆蓋下去就可以了
複製程式
do_set_trap(id)
{
if (!user_set_trap[id])
{
if (set_a_trap(id, set_trap_ent[id], set_trap_origin[id]) == 1)
{
new Float:gametime = get_gametime() // 取得現在時間 (單位為秒
if ( gametime > user_time[id] + get_cvar_float( "zp_dasu_trap_cdtime" ) ) // 計算時間差
{
user_set_trap[id] = true
new Float:velocity[3]
pev(id, pev_velocity, velocity)
velocity[0] = velocity[1] = 0.0
set_pev(id, pev_velocity, velocity)
new Float:set_trap_time, task_time
set_trap_time = get_pcvar_float(cvar_TrapSetTime)
task_time = floatround(set_trap_time, floatround_floor) + (floatfract(set_trap_time) >= 0.5 ? 1 : 0)
set_task(set_trap_time, "trap_complete", (id + TASK_SET_TRAP))
show_user_taskbar(id, task_time)
client_print(id, print_center, "你正在設置陷阱.")
client_print(id, print_chat, "[憎恶屠夫] 你還有%d個鬼手陷阱可以設置.", user_has_traps[id])
return 1;
}
else
{
client_print(id, print_center, "CD時間尚未結束, 還剩 %d 秒....", floatround( user_time[id] + get_cvar_float( "zp_dasu_trap_cdtime" ) - gametime, floatround_ceil ) )
return 0;
}
}
}
return 0;
}
複製程式
reset_vars(id)
{
user_has_traps[id] = 0
user_set_trap[id] = false
set_trap_ent[id] = 0
user_be_catched[id] = false
catched_trap_ent[id] = 0
user_time[id] = 0.0 // 用戶CD開始時間歸零
for (new i = 0; i < Max_Traps; i++)
user_traps_ent[id][i] = 0
}
複製程式
public trap_complete(taskid)
{
new id = taskid - TASK_SET_TRAP
show_user_taskbar(id, 0)
if (pev_valid(set_trap_ent[id]))
{
set_pev(set_trap_ent[id], pev_iuser2, 1) //記錄陷阱物件是否是可碰觸的狀態的flag數值 [1=可碰觸,0=不可碰觸]
user_has_traps[id]--
set_user_traps_data(id, set_trap_ent[id])
client_print(id, print_center, "你已設置完成一個陷阱.")
if (user_has_traps[id] > 0)
client_print(id, print_chat, "[憎惡屠夫] 你還有%d個鬼手陷阱可以設置.", user_has_traps[id])
else
client_print(id, print_chat, "[憎惡屠夫] 你已用光了所有的鬼手陷阱.")
user_time[id] = get_gametime() // 更新用戶CD開始時間
}
#if defined SUPPORT_BOT_TO_USE
if (is_user_bot(id))
{
set_pev(id, pev_flags, (pev(id, pev_flags) & ~FL_FROZEN))
bot_next_check_time[id] = get_gametime() + 10.0 //設定BOT經過多少時間才會再檢查是否進行設置陷阱(單位:秒)
}
#endif
user_set_trap[id] = false
set_trap_ent[id] = 0
}
至於精準和致命是什麼樣的東西我不是很清楚
說明一下吧