La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 27/11/2024 06:47:31


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
sylveran
Ecuyer
Inscrit le: 03 Sep 2004
Messages: 57
Localisation: dijon
Répondre en citant
Posté le : 24/07/2005 09:49:21 Sujet du message : capture de drapeau

bonjour à vous Very Happy

je recherche un script pour ceci:

mon PJ1 prend un item dans un contenant et lorsque qu'il se fait tuer par un autre pj, celui ci récupere directement l'item dans son inventaire et ainsi de suite...

merci d'avance pour l'aide apportée
_________________
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
edisnotdead
Grand Chevalier
Inscrit le: 19 Fév 2005
Messages: 132
Répondre en citant
Posté le : 24/07/2005 10:02:42 Sujet du message :

faut mettre ca dans le ondeath du mod je pense
NWScript :
void main()
{
object otueur = GetLastKiller();
object opc = GetLastPlayerDied();
object oItem = GetItemPossessedBy(opc, "tag du drapeau");
location oopc = GetLocation(opc);


if ((GetIsPC(opc)==TRUE)&&(oItem != OBJECT_INVALID))
{
DestroyObject(oItem);

CreateItemOnObject("reref du drapeau",otueur);

}
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
sylveran
Ecuyer
Inscrit le: 03 Sep 2004
Messages: 57
Localisation: dijon
Répondre en citant
Posté le : 24/07/2005 11:48:59 Sujet du message :

merci
j'essaye sa de suite
_________________
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
edisnotdead
Grand Chevalier
Inscrit le: 19 Fév 2005
Messages: 132
Répondre en citant
Posté le : 24/07/2005 22:29:53 Sujet du message :

essaye celui la ca evitera que si il se fait tuer par un spawn le drapeau soit perdu
NWScript :
void main()
{
object otueur = GetLastKiller();
object opc = GetLastPlayerDied();
object oItem = GetItemPossessedBy(opc, "tag du drapeau");
location oopc = GetLocation(opc);


if ((GetIsPC(opc)==TRUE)&&(oItem != OBJECT_INVALID)&&(GetIsPC(otueur)==TRUE))
{
DestroyObject(oItem);

CreateItemOnObject("reref du drapeau",otueur);

}
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
arknax
Ecuyer
Inscrit le: 15 Mai 2005
Messages: 56
Répondre en citant
Posté le : 25/07/2005 19:57:20 Sujet du message :

Pourquoi
NWScript :
location oopc = GetLocation(opc);
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
Il ne te sert à rien dans ton script.

Sinon, pour raccourcir un peu le tout :
NWScript :
void main()
{
object otueur = GetLastKiller();
object opc = GetLastPlayerDied();
object oItem = GetItemPossessedBy(opc, "tag du drapeau");

if (GetIsPC(opc) && oItem != OBJECT_INVALID && GetIsPC(otueur))
  {
  DestroyObject(oItem);
  CreateItemOnObject("reref du drapeau",otueur);
  }
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
edisnotdead
Grand Chevalier
Inscrit le: 19 Fév 2005
Messages: 132
Répondre en citant
Posté le : 25/07/2005 20:03:38 Sujet du message :

pourquoi ??? la fleme de l enlever en faite Cool
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
arknax
Ecuyer
Inscrit le: 15 Mai 2005
Messages: 56
Répondre en citant
Posté le : 25/07/2005 20:54:50 Sujet du message :

Razz ...lol
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
sylveran
Ecuyer
Inscrit le: 03 Sep 2004
Messages: 57
Localisation: dijon
Répondre en citant
Posté le : 26/07/2005 18:59:44 Sujet du message :

lol merci à vous Smile
_________________
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
sylveran
Ecuyer
Inscrit le: 03 Sep 2004
Messages: 57
Localisation: dijon
Répondre en citant
Posté le : 10/10/2005 18:40:56 Sujet du message :

bonjour a vous

j'aimerais que le drapeau s'equipe automatiquement au PJ quand il l'acquiere (a priori main gauche) et que en plus le PJ qui a le drapeau gagne 1 xp par secondes

merci d'avance
_________________
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
sylveran
Ecuyer
Inscrit le: 03 Sep 2004
Messages: 57
Localisation: dijon
Répondre en citant
Posté le : 12/10/2005 17:26:10 Sujet du message :

personne pour m'aider ? Sad
_________________
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
parrain
Chevalier
Inscrit le: 20 Jan 2005
Messages: 97
Localisation: Creteil
Répondre en citant
Posté le : 12/10/2005 19:15:51 Sujet du message :

huhu je t'aurais bien aider mais bon sa m'interesse aussi ce script Razz
Aller aider nous! lol
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 13/10/2005 20:06:16 Sujet du message :

En utilisant le TagBase il y à la possibilitté suivante
NWScript :
#include "x2_inc_switches"

void main()
{
object oPC;
object oFlag;

switch(GetUserDefinedItemEventNumber())
{
  case X2_ITEM_EVENT_ACQUIRE :
  {
  oPC = GetModuleItemAcquiredBy();
  oFlag = GetModuleItemAcquired();

  AssignCommand(oPC, ActionUnequipItem(GetItemInSlot(5 ,oPC)));
  AssignCommand(oPC, ActionEquipItem(oFlag, 5));

  object oXP = CreateObject(64, "ResRef_XP", GetLocation(oPC), 0, "XP_"+GetName(oPC));
  SetLocalObject(oXP, "PC", oPC);
  SignalEvent(oXP, EventUserDefined(1212));
  }
  break;

  case X2_ITEM_EVENT_UNEQUIP :
  {
  oPC = GetPCItemLastUnequippedBy();
  oFlag = GetPCItemLastUnequipped();

  AssignCommand(oPC, ActionPutDownItem(oFlag));
  DestroyObject(GetObjectByTag("XP_"+GetName(oPC)));
  }
  break;
}
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.



Attention je n'est pas tout donné, dans un premier temps il va falloir enregistrer ce script sous le tag du drapeau,
Ensuite tu devra créer un plaçable (invisible, intrigue, etc) ou tu utilisera un système basé sur le OnUserDefined (avec l'event 1212, mais tu peux le changer) qui fera des boucles de 1 seconde pour donner 1xp au persos que je t'ai enregistrer en variable (tu peux t'inspirer de ça).
Ensuite n'oublie pas les quelques détail tel que dans le OnClientLeave lacher le drapeau et detruire le plaçable invisible.
En théorie sa devrait pas être loin de marcher...
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
sylveran
Ecuyer
Inscrit le: 03 Sep 2004
Messages: 57
Localisation: dijon
Répondre en citant
Posté le : 14/10/2005 19:47:51 Sujet du message :

merci beaucoup

sa na pas l'air tres simple mais je vais essayer encore merci
_________________
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Dangon
Acolyte
Inscrit le: 18 Oct 2005
Messages: 21
Répondre en citant
Posté le : 18/10/2005 16:38:11 Sujet du message :

Je vous propose plus simple que de passer par un placeable invisible : directement implémenter le compteur à XP dans le script précédent...

NWScript :

#include "x2_inc_switches"

void GainXP()
{
   
    object oPC = GetItemPossessor(OBJECT_SELF);

   
    if ( GetIsPC(oPC) )
    {
        // On lui donne 1 point d'xp
        GiveXPToCreature(oPC,1);
        // On relance la machine dans 1 sec
        DelayCommand(1.0,GainXP());
    }

}

void main()
{
object oPC;
object oFlag;

switch(GetUserDefinedItemEventNumber())
{
  case X2_ITEM_EVENT_ACQUIRE :
  {
  oPC = GetModuleItemAcquiredBy();
  oFlag = GetModuleItemAcquired();

  AssignCommand(oPC, ActionUnequipItem(GetItemInSlot(5 ,oPC)));
  AssignCommand(oPC, ActionEquipItem(oFlag, 5));

  AssignCommand(oFlag, GainXP());
  }
  break;

  case X2_ITEM_EVENT_UNEQUIP :
  {
  oPC = GetPCItemLastUnequippedBy();
  oFlag = GetPCItemLastUnequipped();

  AssignCommand(oPC, ActionPutDownItem(oFlag));
  DestroyObject(GetObjectByTag("XP_"+GetName(oPC)));
  }
  break;
}
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 18/10/2005 17:28:48 Sujet du message :

EDIT : Désolé erreur.
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
sylveran
Ecuyer
Inscrit le: 03 Sep 2004
Messages: 57
Localisation: dijon
Répondre en citant
Posté le : 18/10/2005 17:45:55 Sujet du message :

merci ivellios j'essaye sa et je retiens au courant
_________________
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
sylveran
Ecuyer
Inscrit le: 03 Sep 2004
Messages: 57
Localisation: dijon
Répondre en citant
Posté le : 18/10/2005 17:59:36 Sujet du message :

bon sa ne marche pas le pj mort garde le drapeau a la main et en plus ne peux pas respawn
_________________
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 18/10/2005 19:37:32 Sujet du message :

C'est normal ta pas rien mit dans le OnPlayerDeath je pense ^^
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
sylveran
Ecuyer
Inscrit le: 03 Sep 2004
Messages: 57
Localisation: dijon
Répondre en citant
Posté le : 19/10/2005 18:07:28 Sujet du message :

bah j'ai mis ton script dans le onplayerdeath .... fallait pas le mettre la ? il va ou alors ?
_________________
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ivellios
Légende vivante
Inscrit le: 25 Jan 2005
Messages: 447
Localisation: Poitiers
Répondre en citant
Posté le : 19/10/2005 18:40:51 Sujet du message :

Non pas du tout, c'est un script à enregistrer sous le même nom que le tag de ton drapeau mais pour cela il faut avoir le script de base dans le OnActivatedItem (ou dumoins une version équivalente).
Après pour le OnDeath tu lui fait tombé le drapeau au sol comme quand il quitte le module.
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 87.528ms