要参考这个文章吗 ? 里边有达到伤害就+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
}