Ir para conteúdo
  • 0

onStatsChange


WillOliveira

Pergunta

7 respostass a esta questão

Posts Recomendados

  • 0

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 por Shoguns
Link para o comentário
Compartilhar em outros sites

  • 0

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 :(

Link para o comentário
Compartilhar em outros sites

  • 0

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

Link para o comentário
Compartilhar em outros sites

  • 0

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

Unknown heal

 

Duvidas pode fala

Editado por RigBy
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...