Não uso muito essa função, mas pelo oque mim lembro poder ser usada para Mudas Status de um Player ou deixá-lo Imune á um elemento se tiver uma tal storage.
Editado Março 2 por Shoguns
info
Grupo: Campones
Registrado: 16/09/12
Posts: 88
Reputação: +21

Não uso muito essa função, mas pelo oque mim lembro poder ser usada para Mudas Status de um Player ou deixá-lo Imune á um elemento se tiver uma tal storage.
não é esse tipo de explicação que eu queria ![]()
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
info
Grupo: Visconde
Registrado: 26/12/07
Posts: 272
Reputação: +31
Char no Tibia: [ADM]Sony

Ótima explicação, função muito boa.
info
Grupo: Conde
Registrado: 03/06/08
Posts: 508
Reputação: +149

A explicação ficou ótima
info
Grupo: Visconde
Registrado: 05/02/14
Posts: 411
Reputação: +285
Gênero: Masculino
Char no Tibia: Zeh Sergipano

Não so bom com explicação mas so posso fala uma coisa.
onStatsChange significa Estatísticas sobre Mudança
Ela a ativada quando muda seu status.
exemplo:
quando o bicho te ataca ela e ativada.
quando você se reala ela e ativada.
sempre que muda algum status no player ela e ativada.
paraments
cid -- Quem ativa a função(player) attacker -- quem te caso o dano type -- tipo do dano(LOSS ou GAIN) combat -- tipo do dano como fire, ice.. value -- valor do dano
exemplo de uma script que usa onStatsChange
Duvidas pode fala
Editado Março 2 por RigBy
info
Grupo: Conde
Registrado: 18/01/12
Posts: 988
Reputação: +327
Gênero: Masculino
Char no Tibia: Xerife Woody

Movido para resolvidos .




info
Grupo: Campones
Registrado: 16/09/12
Posts: 88
Reputação: +21
Alguem pode explicar essa função?