Juste besoin d'un petit script

Répondre
Partager Rechercher
ha oui et juste un dernier , si c'est pas abusé ....

Il me faut un script qui permet a un pnj ( un garde ) d'attacker les pj d'un ou plusieurs alignements spécifiques ...
bien déjà, si tu commencais par mettre un nom plus explicite, peut être que tu aurais plus de réponces
Ensuite, toutes tes réponces se trouvent dans les sujets persistants

bon, je suis de bonne humeur aujourd'hui :

dans le OnUsed de ton portail
Code PHP:

void main()
{
    
object oPC GetLastUsedBy();
    
AssignCommand(oPCClearAllActions());
    
AssignCommand(oPCActionJumpToObject(GetObjectByTag("LE_TAG_DU_WAYPOINT")));


dans le OnPerseive de ton garde
Code PHP:

void main()
{
    
object oPC GetLastPerseived();
    
//Suite de tout tes test avec GetAlignement, GetRacialType, GetLevelByClass, etc... appliqués à oPC
    
{
        
ClearAllActions();
        
ActionAttack(oPC);
    }

Tiens Azrael, je te vois souvent mettre des ClearAllActions dans tes scripts.
Quelles sont les types de désagréments que tu cherches à éviter en les plaçant ? Pcq ça pourrait fonctionner très bien sans.
Je suis vraiment nul en script

Et je n'arrives pas à compiler le script de mon garde, je voudrais qu'il attack les pnj et pj d'alignement Evil...... Si quelqu'un pouvait me compléter le script
Il me semble que ClearAllAction permet de vider la pile d'action.

On ne sait pas toujours ce que les créatures ont encore à effectuer entre le moment ou l'ordre ATTAQUER ( par exemple ) se met dans la file et au moment ou il va s'exécuter.
c'est un truc pour être sur qu'il n'y ai pas un truc derrière la chaine d'action qui empècherais l'action de ce faire.

pas toujours utile, mais c'est une sécurité
Code PHP:

object oPC GetLastPerceived();
//le || signifie OU.
if((GetAlignmentGoodEvil(oPC)== ALIGNMENT_GOOD) ||
(
GetAlignmentGoodEvil(oPC) == ALIGNMENT_NEUTRAL))
{
    
ClearAllActions();
    
ActionAttack(oPC);

****************************************************

Personnellement, je le mettrais dans le OnUserDefined que je renommerais pour la créature en question.

Il suffit de dé-commenter la ligne 62 dans le script OnSpawn:
Code PHP:

    SetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT);         //OPTIONAL BEHAVIOR - Fire User Defined Event 1002 

et d'ajouter dans ton UserDefined,
Code PHP:

void main()
{

    
int nUser GetUserDefinedEventNumber();

    if(
nUser == 1001//HEARTBEAT
    
{

    }
    else if(
nUser == 1002// PERCEIVE
    
{
    
object oPC GetLastPerceived();
    if((
GetAlignmentGoodEvil(oPC)== ALIGNMENT_GOOD) ||
    (
GetAlignmentGoodEvil(oPC) == ALIGNMENT_NEUTRAL))
    {
        
ClearAllActions();
        
ActionAttack(oPC);
    }
    }
    else if(
nUser == 1003// END OF COMBAT
    
{

    }
    else if(
nUser == 1004// ON DIALOGUE
    
{

    }
    else if(
nUser == 1005// ATTACKED
    
{

    }
    else if(
nUser == 1006// DAMAGED
    
{

    }
    else if(
nUser == 1007// DEATH
    
{

    }
    else if(
nUser == 1008// DISTURBED
    
{

    }
    else if(
nUser == 1011// CAST AT
    
{

    }

Là, il attaque ceux d'alignement Bon ou Neutre.
Citation :
Provient du message de eMRaistlin
ce serait pas mieux avec un switch ?
heu... oui...

Code PHP:

void main()
{

    
int nUser GetUserDefinedEventNumber();
    
object oPC GetLastPerceived();
    switch (
nUser)
    {
        case 
1001 //HEARTBEAT
        
case 1002 // PERCEIVE
            
if((GetAlignmentGoodEvil(oPC)== ALIGNMENT_GOOD) ||
            (
GetAlignmentGoodEvil(oPC) == ALIGNMENT_NEUTRAL))
            {
                
ClearAllActions();
                
ActionAttack(oPC);
            }
            break;
        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
    
}

Citation :
Provient du message de eMRaistlin
(vi, je sais, je suis lourd :p)
Non, non, j'avais absolument pas percuté... Merci :o)
Répondre

Connectés sur ce fil

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