要參考這個文章嗎 ? 裡邊有達到傷害就+XP的語法
http://bbs-mychat.com/reads.php?tid=882340&keyword=%E7%AD%89%E7%B4%9A%E7%B3%BB%E7%B5%B1我不懂sma 加油!
{
// 首先在一些不適合的情況下 不運行下面的動作
// if 是 如果
// ( 及 ) 是必需的
// || 是 或者
// attacker == victim - 受傷者 是 攻擊者
// ! 是 相反意思
// is_user_connected 是 玩家連接著伺服器的
// 全句解作 如果 受傷者 是 攻擊者 或者 攻擊者不是連接著伺服器的
if (attacker == victim || !is_user_connected(attacker))
return HAM_IGNORED // 返回原來操作
// 其實 attacker 和 victim 都是數字來的
// 我們令用玩家的 id 去做我們想做的事
// g_damage[attacker] 是 攻擊者的g_damage
// += 是把 a 的數值加上 b
// 全句解作 把 攻擊者的g_damage 加上 傷害值
g_damage[attacker] += damage
// 這裡我們做一個檢查
// 如果 攻擊者的g_damage 大於或等於 150, 就會運行下面的動作
if (g_damage[attacker] >= 150)
{
// 把 攻擊者的g_damage 變回做 0
g_damage[attacker] -= 150
// 把 攻擊者的g_xp 加上 1
g_xp[attacker] += 1
}
// 上面的意思是 如果攻擊者的累積傷害大於150時, 就會加1經濟值和重設累積傷害
// 因為我們上面用過 return HAM_IGNORED 所以最後要多打一次
return HAM_IGNORED
}