static Float:gametime = get_gametime() // 取得現在時間 (單位為秒 if ( gametime > user_time[id] + cdtime ) // 計算時間差 user_time[id] = gametime // 更新用戶CD開始時間 else // CD中...
下面是引用 i-c0112 於 2011-01-15 20:51 發表的 : 用set_task就可以啦...甚至連變數都可以省了
下面是引用 z1022001 於 2011-01-16 01:37 發表的 : 也可以用 get_gametime 比較簡單 get_gametime 和 set_task 的時間不太一樣 不過沒超過30秒應該是看不出誤差的... 複製程式 static Float:gametime = get_gametime() // 取得現在時間 (單位為秒 if ( gametime > user_time[id] + cdtime ) // 計算時間差 user_time[id] = gametime // 更新用戶CD開始時間 else // CD中...
下面是引用 zdt 於 2011-01-16 13:00 發表的 : 详细点~~~
下面是引用 zdt 於 2011-01-16 12:58 發表的 : 什么是set_task
下面是引用 i-c0112 於 2011-01-16 14:04 發表的 : 已經夠詳細了吧= =" 不就是用變數紀錄最後一次技能施放時間...再下次使用技能時判斷距離上次施放時間是否大於CD時間 看一看amxmodx.inc
static Float:gametime = get_gametime() // 取得現在時間 (單位為秒 if ( gametime > user_time[id] + cdtime ) // 計算時間差 , 用戶CD開始時間+CD秒數 (得到結束時間) 是否小於現在時間 { user_time[id] = gametime // 更新用戶CD開始時間 //允許使用技能 } else { // CD中... // 不允許使用技能 }
set_task(15.0,"MyFunction", id) public MyFunction( id ) { client_print( id, print_center, "ID : %d",id ) }
下面是引用 z1022001 於 2011-01-16 18:36 發表的 : [code] static Float:gametime = get_gametime() // 取得現在時間 (單位為秒 if ( gametime > user_time[id] + cdtime ) // 計算時間差 , 用戶CD開始時間+CD秒數 (得到結束時間) 是否小於現在時間 { .......
下面是引用 zdt 於 2011-01-16 18:43 發表的 : 其实有没有一定要放在那两段东西之间呀??