Voila, dans les evenements disponibles d'un module, on a le droit a tous les evenements, sauf OnHit et OnDamaged.
Or je suis en train de faire un script sur la mort a cause de dommages excessifs dont voici le code :
void main()
{
object oMe = OBJECT_SELF;
//Si la creature encaisse plus de 50 de dommage
if (GetTotalDamageDealt() >= 50)
{
//alors elle fait un jet de vigueur contre un DD de 15 pour ne pas mourir du traumatisme
if (FortitudeSave(oMe, 15) == FALSE)
{
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectDeath(), oMe);
SendMessageToPC(oMe, "Vous mourrez suite a un traumatisme au cause de degats excessifs.");
}
}
}
J'ai un send message car je voudrais l'adapter pour les joueurs, et faire en sorte que eux aussi meurt de cette facon.
Mais le probleme, c'est qu'il manque un evenement OnDamaged.
Mais il y'a le OnUserDefined.
J'ai choppé ca sur le forum :
void main()
{
int nUser = GetUserDefinedEventNumber();
SendMessageToPC(OBJECT_SELF, "UDE : " + IntToString(nUser));
switch (nUser)
{
case 1001 : //HEARTBEAT
case 1002 : // PERCEIVE
case 1003 : // END OF COMBAT
case 1004 : // ON DIALOGUE
case 1005 : // ATTACKED
case 1006 : // DAMAGED
case 1007 : // DEATH
case 1008 : // DISTURBED
case 1011 : // CAST AT
}
}
Ca semble etre les evenements generiques de l'UDE, mais pourtant si je met mon meme code dans le case DAMAGED (avec les blocs pour le case, pas de probleme de syntaxe donc... ^^) Il ne se lance jamais, cela veut dire que ca ne se lance parce que je ne lance jamais l'evenement UDE(1006) ??
Et si oui, cela veut dire que pour chaque chose qui fais des dommages dans mon module, je devrais lancer l'evenement UDE ?
Ca semble tres lourdingue ca : /
J'espere qu'il y'a une solution moins "lourde"
Encore une fois, merci d'avance pour les reponses