OnUserDefined : OnDamaged des PC ? (script des dommages excessifs)

Répondre
Partager Rechercher
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 :

Code PHP:

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(oMe15) == FALSE)
        {
            
ApplyEffectToObject(DURATION_TYPE_PERMANENTEffectDeath(), 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 :
Code PHP:

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
-Tu dois lancer ça pour que ça s'exécute:

SignalEvent(GetModule(), EventUserDefined(1006);

Et oui, c'est lourdingue

Mais vu qu'on n'a pas accès à une certaine partie du code.....
C'est trop dur pour bioware de mettre les memes evenements que pour les PNJ aux PJ ??
Ca doit pas leur changer grand chose mais ca change bcp d'huile de coude pour les developpeurs de modules : /.
Si encore on pouvait acceder au code pour rajouter des evenements a la racine, mais la faut tout modifier, les scripts d'atk, les script de sort (de chaque sort )

Pas bravo la
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés