Um Exemplo:
onStatsChange(cid, attacker, _type, combat, value)
os argumentos(arg) podem ter qualquer nome que desejar,so importa a ordem dos mesmos 1ºarg = cid esse n precisa de explicação
2ºarg = attacker quem deu o dano(ou healo)
3ºarg = _type(n use o nome type,pois type é uma função que pode ser bem util) o _type pode ser 4 tipos STATSCHANGE_HEALTHGAIN(quando ganha hp), STATSCHANGE_HEALTHLOSS(quando perde hp), STATSCHANGE_MANALOSS(quando perde mana), STATSCHANGE_MANAGAIN(quando ganha mana)
como usa-los? coloque um if pra checalos se vc quer quando perder sangue use
if _type == STATSCHANGE_HEALTHLOSS then
4ºarg = combat o tipo de dano physical,fire,etc. caso queira que seja quan um tipo de dano em epecifico use um "if combat == NomeDoTipoDeDano then" os tipos de dano podem ser visto na lib 000-constant
5ºarg = value o quando de hp ou mana ganho/perdeu
exemplo de script torna player imunea danos fire enquanto tiver o storage
function onStatsChange(cid, attacker, _type, combat, value)
if _type == STATSCHANGE_HEALTHLOSS then --checa se foi uma perda de hp
if getPlayerStorageValue(cid,666) == 1 then --checa o storage
if combat == COMBAT_FIREDAMAGE then --checa se foi por dano de fogo
return false --retorna falso(encerando o script) sendo assim n muda o hp do jogador
end
end
end
return true --retorna verdadeiro mudando o hp de player
end
agora ela compactada e sem comentarios
function onStatsChange(cid, attacker, _type, combat, value)
if _type == STATSCHANGE_HEALTHLOSS and getPlayerStorageValue(cid,666) == 1 and combat == COMBAT_FIREDAMAGE then
return false
end
return true
end
lembrece de sempre indendar o script pra deixar organizado
Créditos: lordbug99