JeuxOnLineForumsPlusConnectés : 719 (sites) | 1326 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Probleme : GetCurrentAction RSS
   
Répondre
Partager Outils Rechercher
Avatar de Iridian
Iridian
Roi
 
Avatar de Iridian
 

Probleme : GetCurrentAction

Petit problème de script.
J'utilise le script suivant pour (essayer de) faire en sorte que mes gardes détectent les pick pocket.

Code PHP:
    object oTest GetFirstObjectInShape(SHAPE_SPHERE,5.0,GetLocation(OBJECT_SELF),TRUE,OBJECT_TYPE_CREATURE);
    while(
oTest!=OBJECT_INVALID)
    {
        if (
GetIsPC(oTest)){SendMessageToPC(oTest,"Le garde vous regarde");}
        
int aTest=GetCurrentAction(oTest);
        if(
aTest==ACTION_PICKPOCKET)
        {
            if (
GetIsPC(oTest)){SendMessageToPC(oTest,"Le garde vous a vu voller ...");}
            
SetIsTemporaryEnemy(oTest,OBJECT_SELF);
            
AssignCommand(OBJECT_SELF,ActionAttack(oTest));
        }
        else
        {
            if (
GetIsPC(oTest)){SendMessageToPC(oTest,IntToString(aTest)+" != "+IntToString(ACTION_PICKPOCKET));}
        }
        
oTest GetNextObjectInShape(SHAPE_SPHERE,5.0,GetLocation(OBJECT_SELF),TRUE,OBJECT_TYPE_CREATURE);
    } 
Le problème c'est que la condition if(aTest==ACTION_PICKPOCKET) n'est jamais respectée ... (je place ce script sur le OHB du garde), comme si la commande GetCurrentAction ne fonctionnais pas ...

une idée ?
Lien direct vers le message - Vieux
Avatar de Skanzo Sylan
Skanzo Sylan
Empereur
 
Avatar de Skanzo Sylan
 
Je pourrais pô te dire où se trouve l'erreur.

P'tet qu'utiliser l'évènement OnDisturbed du pauv'gars qui se fait piquer sa bourse pourrait être plus efficace.

Code PHP:
void main() {
    
object oTarget GetLastDisturbed();
    
object oGarde GetNearestObjectByTag"GARDE");
    
int aTest GetInventoryDisturbType();

    if (
aTest == INVENTORY_DISTURB_TYPE_STOLEN && GetIsPôTropLoin()) {
        
AssignCommandoGardeSpeakString"Encore toi! Cette fois, c'est la zonzon a perpete!");
        
AssignCommandoGardePeteLuiLaGueuleoTarget));
        }
    } 
Lien direct vers le message - Vieux
Avatar de Jaha Effect
Jaha Effect
Alpha & Oméga
 
Avatar de Jaha Effect
 
Le OnDisturbe est bien mais encore mieux avec un silente shout sur le PNJ qui se fait détrousser et ListenPattern pour le garde qui va réagir

Jaha Effect
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
Citation:
Provient du message de Jaha Effect
Le OnDisturbe est bien mais encore mieux avec un silente shout sur le PNJ qui se fait détrousser et ListenPattern pour le garde qui va réagir

Jaha Effect
Moouarff, j'allais le dire ^^

Tu fais un silent talk, que le pickpocket ai reussi ou non, puis tu fait un OnConversation sur les garde avec un Jet de Competence pour verifier si les gardes l'ont vu ou non, et s'ils ont vu => action ^^


[PS : Attention Silent Shout est peut etre trop puissant, et en plus, ca fais un ligne dans l'interface DM (sisi oO). Pour ce qui est de la detection, Silent Talk est plus viable, et plus en accord niveau distances...]


[PPS : Pour le GetCurrentAction, je connais pas vraiment cette fonction, mais ca a l'air interressant )
Lien direct vers le message - Vieux
Avatar de Jaha Effect
Jaha Effect
Alpha & Oméga
 
Avatar de Jaha Effect
 
Qui plus est, il pourra même éviter le OnHeartBeat avec ce truc

Jaha Effect
Lien direct vers le message - Vieux
Avatar de Skanzo Sylan
Skanzo Sylan
Empereur
 
Avatar de Skanzo Sylan
 
Mouarf, encore mieux! en plus réaliste

Manque plus qu'un ActionForceFollowObject pour que le garde amène le voleur en zonzon
Lien direct vers le message - Vieux
Avatar de Iridian
Iridian
Roi
 
Avatar de Iridian
 
J'avais bien pensé a ces méthodes, mais j'aimerai que le garde puisse détecter AUSSI lorsqu'un joueur en vole un autre ...

Une idée ?
Lien direct vers le message - Vieux
Avatar de Iridian
Iridian
Roi
 
Avatar de Iridian
 
*remonte honteusement un post sans réponses sur le point d'être aspiré dans les profondeurs de la page 2*
Lien direct vers le message - Vieux
Avatar de Jedaï
Jedaï
Alpha & Oméga
 
Avatar de Jedaï
 
Bah à priori, il te suffit d'utiliser le OnUnaquireItem pour le cas où c'est un PJ qui est volé non ?
Reste à déterminer s'il s'agit bien d'un vol, il faudrait vérifier si GetCurrentAction() marche ce coup ci ou si GetInventoryDisturbType() marche...
Lien direct vers le message - Vieux
Avatar de 'Az
'Az [P.H.]
Alpha & Oméga
 
Avatar de 'Az
 
Bien tu met un script dans le OnUnaquireItem non ?

EDIT : Jedaï m'a pris de vitesse ^_^
Lien direct vers le message - Vieux
Avatar de Iridian
Iridian
Roi
 
Avatar de Iridian
 
Arf en 2 jours de réflexions, je n'ai pas pensé une seule seconde au onUnaquireItem.

J'y retourne, Merci
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Probleme : GetCurrentAction
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Neverwinter Nights RSS
  • Aucune vidéo pour le moment...
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 23h06.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite