La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 03:29:08


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
ansquer
Héros
Inscrit le: 11 Déc 2005
Messages: 264
Localisation: MorBihan
Répondre en citant
Posté le : 26/07/2006 08:53:01 Sujet du message : [resolu] Objets de MD qu'il garde à chaque connexion

je voudrais que le MD est dès le début des objets (ça je sais le faire) mais comme pour les PJ, je voudrais que ce don d'objet ne se fasse quà la première connexion et qu'ensuite ils soient dans son inventaire comme il les a diposés.
Je pensais règler le pb en donnant des XP au MD ce qui permait de contrôler si c'est ça première connexion ou pas ... mais on ne peut pas donnes des Xp au MD ???

voici mon script dans le OnEnter du mod..

NWScript :
void main()
{
// Declarations
object oItem; // Definir oItem en objet
object oPC = GetEnteringObject(); // On defini le joueur
int iClasseDuJoueur = GetClassByPosition(1, oPC); // On prend la classe du joueur

if(GetIsPC(oPC) && !GetIsDM(oPC))
{
  if (GetXP(oPC) < 1) //Si le joueur n'as pas de xp
  {
  oItem = GetFirstItemInInventory(oPC);
  while (GetIsObjectValid(oItem)) //Boucle qui vide l'inventaire
  {
    DestroyObject(oItem); //Destruction des Items
    oItem = GetNextItemInInventory(oPC);
  }

  DestroyObject(GetItemInSlot(INVENTORY_SLOT_ARMS, oPC)); ///////////
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_ARROWS, oPC)); //
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_BELT, oPC)); //    E  O
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_BOLTS, oPC)); //  F  B
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_BOOTS, oPC)); //  F  J    S
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_BULLETS, oPC)); // A  E    L
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_CHEST, oPC)); //  C  T    O
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_CLOAK, oPC)); //  E  S    T
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_HEAD, oPC)); //            S
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC)); // L  P
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_LEFTRING, oPC)); // E  A
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_NECK, oPC)); //    S  R
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC)); //
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oPC)); ///////////

 
  AssignCommand(oPC, TakeGoldFromCreature(GetGold(oPC), oPC, TRUE));

// Donner objets

object oLivre = CreateItemOnObject("item002", oPC);
AssignCommand(oPC, ActionEquipItem(oLivre, INVENTORY_SLOT_CHEST));


  //Remet a 1 les XP
  SetXP(oPC, 1);
  }
}
// donner aux MD les DmfiWand


if(GetIsDM(oPC))
    {
    if (GetXP(oPC) < 50) //Si le MDn'as pas de xp
    {
object oLivre = CreateItemOnObject("item002", oPC);
AssignCommand(oPC, ActionEquipItem(oLivre, INVENTORY_SLOT_CHEST));
object oWand001 = CreateItemOnObject("dmfi_afflict", oPC);
AssignCommand(oPC, ActionEquipItem(oWand001, INVENTORY_SLOT_CHEST));
object oWand002 = CreateItemOnObject("dmfi_dicebag", oPC);
AssignCommand(oPC, ActionEquipItem(oWand002, INVENTORY_SLOT_CHEST));
object oWand003 = CreateItemOnObject("dmfi_dmw", oPC);
AssignCommand(oPC, ActionEquipItem(oWand003, INVENTORY_SLOT_CHEST));
object oWand004 = CreateItemOnObject("dmfi_emote", oPC);
AssignCommand(oPC, ActionEquipItem(oWand004, INVENTORY_SLOT_CHEST));
object oWand005 = CreateItemOnObject("dmfi_en_ditto", oPC);
AssignCommand(oPC, ActionEquipItem(oWand005, INVENTORY_SLOT_CHEST));
object oWand006 = CreateItemOnObject("dmfi_encounter", oPC);
AssignCommand(oPC, ActionEquipItem(oWand006, INVENTORY_SLOT_CHEST));
object oWand007 = CreateItemOnObject("dmfi_exploder", oPC);
AssignCommand(oPC, ActionEquipItem(oWand007, INVENTORY_SLOT_CHEST));
object oWand008= CreateItemOnObject("dmfi_fx", oPC);
AssignCommand(oPC, ActionEquipItem(oWand008, INVENTORY_SLOT_CHEST));
object oWand009 = CreateItemOnObject("dmfi_music", oPC);
AssignCommand(oPC, ActionEquipItem(oWand009, INVENTORY_SLOT_CHEST));
object oWand010 = CreateItemOnObject("dmfi_mute", oPC);
AssignCommand(oPC, ActionEquipItem(oWand010, INVENTORY_SLOT_CHEST));
object oWand011 = CreateItemOnObject("dmfi_faction", oPC);
AssignCommand(oPC, ActionEquipItem(oWand011, INVENTORY_SLOT_CHEST));
object oWand012 = CreateItemOnObject("dmfi_500xp", oPC);
AssignCommand(oPC, ActionEquipItem(oWand012, INVENTORY_SLOT_CHEST));
object oWand013 = CreateItemOnObject("dmfi_sound", oPC);
AssignCommand(oPC, ActionEquipItem(oWand013, INVENTORY_SLOT_CHEST));
object oWand014 = CreateItemOnObject("dmfi_peace", oPC);
AssignCommand(oPC, ActionEquipItem(oWand014, INVENTORY_SLOT_CHEST));
object oWand015 = CreateItemOnObject("dmfi_voice", oPC);
AssignCommand(oPC, ActionEquipItem(oWand015, INVENTORY_SLOT_CHEST));
object oWand016 = CreateItemOnObject("dmfi_voicewidget", oPC);
AssignCommand(oPC, ActionEquipItem(oWand016, INVENTORY_SLOT_CHEST));
object oWand017 = CreateItemOnObject("dmfi_xp", oPC);
AssignCommand(oPC, ActionEquipItem(oLivre, INVENTORY_SLOT_CHEST));
GiveXPToCreature(oPC, 2000);
}
}

}
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.

_________________
L'année de l'île Tome 1 Un roman ecxeptionnel !
Urban Rivals ! Mettez " ansker " en pseudo de votre parrain svp
Dernière édition par ansquer le 31/07/2006 18:02:20; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Djezebel
Héros
Inscrit le: 29 Sep 2005
Messages: 252
Répondre en citant
Posté le : 26/07/2006 10:03:34 Sujet du message :

Tu peux essayer de lui donner un objet à sa première connexion et s'il l'a déjà, tu ne lui redonnes pas tous ses objets...

NWScript :
#include "nw_i0_tool"
if (!GetHasItem(oPC, "tag"));
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.


Tu peux aussi mettre une variable de campagne mais il parraît que c'est lourd. Smile

NWScript :
int nDM = GetCampaignInt(oPC, "entree");

if (nDM == 0)
{
// Tout ton script pour donner les objets
SetCampaignInt(oPC, "entree", 1);
}
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
 
ansquer
Héros
Inscrit le: 11 Déc 2005
Messages: 264
Localisation: MorBihan
Répondre en citant
Posté le : 26/07/2006 11:16:58 Sujet du message :

C'est aussi l'idée qui m'est venue en faisant mes courses Very Happy

merci ^^
_________________
L'année de l'île Tome 1 Un roman ecxeptionnel !
Urban Rivals ! Mettez " ansker " en pseudo de votre parrain svp
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 26/07/2006 12:05:32 Sujet du message :

Ou tu crées un objet qui quand on l'utilise donne tous les objets au MD. Soit tu laisses le MD se le créer tout seul dans son inventaire,soit à la connection tu vérifies si il le possède, si il l'a pas tu le crées.

Je vois pas le pourquoi des lignes
NWScript :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.


(partie DM). Ca sert à rien, ce sont pas des objets équipable (enfin au moins pas tous, et tu demande de les équiper sur le même slot, or tu peux avoir qu'une armure...)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
ansquer
Héros
Inscrit le: 11 Déc 2005
Messages: 264
Localisation: MorBihan
Répondre en citant
Posté le : 26/07/2006 13:25:43 Sujet du message :

Houps ... je pensais que Chest signifiait Coffre Surprised
En fait, là, le script essaye de placer les éléments dans armures et comme ce ne sont pas des armures, il les place dans l'inventaire ...
Sais-tu comment créer les objets directement dans l'invenatire ?

CreateItemOnObject("tag_item", oPC);

suffit sans doute non ?

(d'où le petit son "DZOING" à la première connexion , celui que l'on a qd on essaye d'équiper avec un mauvais objet Very Happy) merci
_________________
L'année de l'île Tome 1 Un roman ecxeptionnel !
Urban Rivals ! Mettez " ansker " en pseudo de votre parrain svp
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 26/07/2006 15:59:52 Sujet du message :

Yop le CreateItemOnObject suffit Smile
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
ansquer
Héros
Inscrit le: 11 Déc 2005
Messages: 264
Localisation: MorBihan
Répondre en citant
Posté le : 29/07/2006 19:36:24 Sujet du message :

A chaque fois que je me connecte sur mon MOD, mon perso MD perd tous ses objets (sauf son vêtement) et mon script On_Enter lui donne les objets de la première connexion...
Si vous avez le temps de jeter un oeil sur ce script et trouver le pourquoi du comment, je vous serais très reconnaissant Smile

Merci

NWScript :
void main()
{
// Declarations
object oItem; // Definir oItem en objet
object oPC = GetEnteringObject(); // On defini le joueur
int iClasseDuJoueur = GetClassByPosition(1, oPC); // On prend la classe du joueur

if(GetIsPC(oPC) && !GetIsDM(oPC))
{
  if (GetXP(oPC) < 1) //Si le joueur n'as pas de xp
  {
  oItem = GetFirstItemInInventory(oPC);
  while (GetIsObjectValid(oItem)) //Boucle qui vide l'inventaire
  {
    DestroyObject(oItem); //Destruction des Items
    oItem = GetNextItemInInventory(oPC);
  }

  DestroyObject(GetItemInSlot(INVENTORY_SLOT_ARMS, oPC)); ///////////
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_ARROWS, oPC)); //
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_BELT, oPC)); //    E  O
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_BOLTS, oPC)); //  F  B
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_BOOTS, oPC)); //  F  J    S
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_BULLETS, oPC)); // A  E    L
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_CHEST, oPC)); //  C  T    O
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_CLOAK, oPC)); //  E  S    T
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_HEAD, oPC)); //            S
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC)); // L  P
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_LEFTRING, oPC)); // E  A
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_NECK, oPC)); //    S  R
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC)); //
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oPC)); ///////////

 
  AssignCommand(oPC, TakeGoldFromCreature(GetGold(oPC), oPC, TRUE));

// Donner objets

object oLivre = CreateItemOnObject("item002", oPC);

  //Remet a 1 les XP
  SetXP(oPC, 1);
  }
}
// donner aux MD les DmfiWand


if(GetIsDM(oPC))
    {

    if (GetItemPossessedBy(oPC, "dmfi_fx")!= OBJECT_INVALID) //si le MD n'a pas dj les objets
{return;}
    else
{
object oLivre = CreateItemOnObject("item002", oPC);

object oWand001 = CreateItemOnObject("dmfi_afflict", oPC);

object oWand002 = CreateItemOnObject("dmfi_dicebag", oPC);

object oWand003 = CreateItemOnObject("dmfi_dmw", oPC);

object oWand004 = CreateItemOnObject("dmfi_emote", oPC);

object oWand005 = CreateItemOnObject("dmfi_en_ditto", oPC);

object oWand006 = CreateItemOnObject("dmfi_encounter", oPC);

object oWand007 = CreateItemOnObject("dmfi_exploder", oPC);

object oWand008= CreateItemOnObject("dmfi_fx", oPC);

object oWand009 = CreateItemOnObject("dmfi_music", oPC);

object oWand010 = CreateItemOnObject("dmfi_mute", oPC);

object oWand011 = CreateItemOnObject("dmfi_faction", oPC);

object oWand012 = CreateItemOnObject("dmfi_500xp", oPC);

object oWand013 = CreateItemOnObject("dmfi_sound", oPC);

object oWand014 = CreateItemOnObject("dmfi_peace", oPC);

object oWand015 = CreateItemOnObject("dmfi_voice", oPC);

object oWand016 = CreateItemOnObject("dmfi_voicewidget", oPC);

object oWand017 = CreateItemOnObject("dmfi_xp", 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.

_________________
L'année de l'île Tome 1 Un roman ecxeptionnel !
Urban Rivals ! Mettez " ansker " en pseudo de votre parrain svp
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Viduc de Papironda
Grand Chevalier
Inscrit le: 22 Mar 2006
Messages: 119
Répondre en citant
Posté le : 29/07/2006 23:11:08 Sujet du message :

En soit je vois pas pourquoi il détruit tes objets mais essaie ça:

NWScript :
void main()
{
// Declarations
object oItem; // Definir oItem en objet
object oPC = GetEnteringObject(); // On defini le joueur
int iClasseDuJoueur = GetClassByPosition(1, oPC); // On prend la classe du joueur

if(GetIsPC(oPC))
{
  if (GetXP(oPC) < 1) //Si le joueur n'as pas de xp
  {
  oItem = GetFirstItemInInventory(oPC);
  while (GetIsObjectValid(oItem)) //Boucle qui vide l'inventaire
  {
    DestroyObject(oItem); //Destruction des Items
    oItem = GetNextItemInInventory(oPC);
  }

  DestroyObject(GetItemInSlot(INVENTORY_SLOT_ARMS, oPC)); ///////////
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_ARROWS, oPC)); //
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_BELT, oPC)); //    E  O
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_BOLTS, oPC)); //  F  B
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_BOOTS, oPC)); //  F  J    S
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_BULLETS, oPC)); // A  E    L
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_CHEST, oPC)); //  C  T    O
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_CLOAK, oPC)); //  E  S    T
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_HEAD, oPC)); //            S
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC)); // L  P
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_LEFTRING, oPC)); // E  A
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_NECK, oPC)); //    S  R
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC)); //
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oPC)); ///////////

 
  AssignCommand(oPC, TakeGoldFromCreature(GetGold(oPC), oPC, TRUE));

// Donner objets

object oLivre = CreateItemOnObject("item002", oPC);

  //Remet a 1 les XP
  SetXP(oPC, 1);
  }
}
// donner aux MD les DmfiWand


if(GetIsDM(oPC))
    {

    if (GetItemPossessedBy(oPC, "dmfi_fx")== OBJECT_INVALID) //si le MD n'a pas dj les objets
{return;}
    else
{
object oLivre = CreateItemOnObject("item002", oPC);

object oWand001 = CreateItemOnObject("dmfi_afflict", oPC);

object oWand002 = CreateItemOnObject("dmfi_dicebag", oPC);

object oWand003 = CreateItemOnObject("dmfi_dmw", oPC);

object oWand004 = CreateItemOnObject("dmfi_emote", oPC);

object oWand005 = CreateItemOnObject("dmfi_en_ditto", oPC);

object oWand006 = CreateItemOnObject("dmfi_encounter", oPC);

object oWand007 = CreateItemOnObject("dmfi_exploder", oPC);

object oWand008= CreateItemOnObject("dmfi_fx", oPC);

object oWand009 = CreateItemOnObject("dmfi_music", oPC);

object oWand010 = CreateItemOnObject("dmfi_mute", oPC);

object oWand011 = CreateItemOnObject("dmfi_faction", oPC);

object oWand012 = CreateItemOnObject("dmfi_500xp", oPC);

object oWand013 = CreateItemOnObject("dmfi_sound", oPC);

object oWand014 = CreateItemOnObject("dmfi_peace", oPC);

object oWand015 = CreateItemOnObject("dmfi_voice", oPC);

object oWand016 = CreateItemOnObject("dmfi_voicewidget", oPC);

object oWand017 = CreateItemOnObject("dmfi_xp", 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.


j'ai viré la vérif du début du joueur/dm (normalement vu que c'est une condition elle est vrai ou fausse...) et dans ta ligne qui vérifiait si le dm à l'objet de tête je pense que là elle vérifiait si il ne l'avait pas....

Viduc
_________________
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
ansquer
Héros
Inscrit le: 11 Déc 2005
Messages: 264
Localisation: MorBihan
Répondre en citant
Posté le : 30/07/2006 10:06:28 Sujet du message :

Désolé ... mais là c'est pire ...

Le MD apparait à poil et le srcipt ne lui donne pas les Objets (sauf le livre, je suppose qu'il est considéré comme un PJ)

Sad
_________________
L'année de l'île Tome 1 Un roman ecxeptionnel !
Urban Rivals ! Mettez " ansker " en pseudo de votre parrain svp
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Viduc de Papironda
Grand Chevalier
Inscrit le: 22 Mar 2006
Messages: 119
Répondre en citant
Posté le : 30/07/2006 10:34:51 Sujet du message :

essaie ça alors pour voir.... (j'ai pas tester...)


NWScript :
void main()
{
// Declarations
object oItem; // Definir oItem en objet
object oPC = GetEnteringObject(); // On defini le joueur
int iClasseDuJoueur = GetClassByPosition(1, oPC); // On prend la classe du joueur

if(GetIsPC(oPC))
{
  if (GetIsDM(oPC))
      {
return;
      }
  else
      {
  if (GetXP(oPC) < 1) //Si le joueur n'as pas de xp
  {
  oItem = GetFirstItemInInventory(oPC);
  while (GetIsObjectValid(oItem)) //Boucle qui vide l'inventaire
  {
    DestroyObject(oItem); //Destruction des Items
    oItem = GetNextItemInInventory(oPC);
  }

  DestroyObject(GetItemInSlot(INVENTORY_SLOT_ARMS, oPC)); ///////////
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_ARROWS, oPC)); //
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_BELT, oPC)); //    E  O
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_BOLTS, oPC)); //  F  B
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_BOOTS, oPC)); //  F  J    S
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_BULLETS, oPC)); // A  E    L
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_CHEST, oPC)); //  C  T    O
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_CLOAK, oPC)); //  E  S    T
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_HEAD, oPC)); //            S
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC)); // L  P
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_LEFTRING, oPC)); // E  A
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_NECK, oPC)); //    S  R
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC)); //
  DestroyObject(GetItemInSlot(INVENTORY_SLOT_RIGHTRING, oPC)); ///////////

 
  AssignCommand(oPC, TakeGoldFromCreature(GetGold(oPC), oPC, TRUE));

// Donner objets

object oLivre = CreateItemOnObject("item002", oPC);

  //Remet a 1 les XP
  SetXP(oPC, 1);
  }
    }
}
// donner aux MD les DmfiWand


if(GetIsDM(oPC))
    {

    if (GetItemPossessedBy(oPC, "dmfi_fx")== OBJECT_INVALID) //si le MD n'a pas dj les objets
      {
object oLivre = CreateItemOnObject("item002", oPC);

object oWand001 = CreateItemOnObject("dmfi_afflict", oPC);

object oWand002 = CreateItemOnObject("dmfi_dicebag", oPC);

object oWand003 = CreateItemOnObject("dmfi_dmw", oPC);

object oWand004 = CreateItemOnObject("dmfi_emote", oPC);

object oWand005 = CreateItemOnObject("dmfi_en_ditto", oPC);

object oWand006 = CreateItemOnObject("dmfi_encounter", oPC);

object oWand007 = CreateItemOnObject("dmfi_exploder", oPC);

object oWand008= CreateItemOnObject("dmfi_fx", oPC);

object oWand009 = CreateItemOnObject("dmfi_music", oPC);

object oWand010 = CreateItemOnObject("dmfi_mute", oPC);

object oWand011 = CreateItemOnObject("dmfi_faction", oPC);

object oWand012 = CreateItemOnObject("dmfi_500xp", oPC);

object oWand013 = CreateItemOnObject("dmfi_sound", oPC);

object oWand014 = CreateItemOnObject("dmfi_peace", oPC);

object oWand015 = CreateItemOnObject("dmfi_voice", oPC);

object oWand016 = CreateItemOnObject("dmfi_voicewidget", oPC);

object oWand017 = CreateItemOnObject("dmfi_xp", 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.

_________________
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
ansquer
Héros
Inscrit le: 11 Déc 2005
Messages: 264
Localisation: MorBihan
Répondre en citant
Posté le : 31/07/2006 06:18:37 Sujet du message :

Alors là c 'est presque drôle ... je ne comprends plus rien ...

Le MD apparait avec sa robe , son invenataire est vidé et il ne recoit pas les objets de MD ??!!!???
(inventaire vidé à chaque fois...)

pour les PJ c'est toujours ok ^^
_________________
L'année de l'île Tome 1 Un roman ecxeptionnel !
Urban Rivals ! Mettez " ansker " en pseudo de votre parrain svp
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 31/07/2006 11:54:03 Sujet du message :

T'es sur que t'as pas un double du script, genre sur le OnEnter de la zone de départ ou un truc comme ça ?

Paske franchement, je vois pas comment ça se peut tes problèmes, ton tout premier script est bon (les autres un peu moins).

Celui d'au dessus, il y a un return si le joueur est DM, donc normalement on ne touche pas à son inventaire...

Essaye de faire un module avec juste ton script dans le OnClientEnter (en important les objets du dmfi) pour voir si il plante vraiment tout seul ou si on l'aide.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
ansquer
Héros
Inscrit le: 11 Déc 2005
Messages: 264
Localisation: MorBihan
Répondre en citant
Posté le : 31/07/2006 16:08:55 Sujet du message :

Bé si même toi tu ne trouves pas alors Sad

J'ai fait comme tu as dit : nouveau mod, avec le on_enter et les dmfi ... j'ai même poussé jusqu'à le faire sur un autre ordi ... hé bé c'est tout pareil ...Shocked
_________________
L'année de l'île Tome 1 Un roman ecxeptionnel !
Urban Rivals ! Mettez " ansker " en pseudo de votre parrain svp
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 31/07/2006 17:06:20 Sujet du message :

Ah ça non je pige rien du tout là...
Je regarderai en rentrant du taf avec l'éditeur.

Une question bête (j'adore les questions bêtes) : ton DM, il les a les objets à la connection ? (cad tu as bien sauvegardé ton DM avec les objets dans l'inventaire et tu as les messages : "objet perdu : DMFI_Machin") ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
ansquer
Héros
Inscrit le: 11 Déc 2005
Messages: 264
Localisation: MorBihan
Répondre en citant
Posté le : 31/07/2006 17:45:16 Sujet du message :

Surprised

Ben mince alors Confused

Pas bête dutout ta question car elle m'apprend quelque chose...
Je ne pensais pas qu'il fallait sauvegarder systématiquement les MD Confused
Je pensais que ça se faisait comme pour les PJ (sauvegarde auto à la déco)
Parceque là ça me fait dans le choix du perso:
[MD]ansker
[MD]ansker (1)
[MD]ansker (2)
...

et ainsi de suite après chaque sauvegarde ...

Je ne sais pas si c'est comme ça pour tout le monde, dans ce cas je suis désolé de vous avoir ennuyé...
(c'est qd même lourd ces sauvegardes manuelles et si ca plante on perd aussi l'invetaire mis en place ? Crying or Very sad)
_________________
L'année de l'île Tome 1 Un roman ecxeptionnel !
Urban Rivals ! Mettez " ansker " en pseudo de votre parrain svp
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 31/07/2006 17:53:38 Sujet du message :

Yop les MD faut les sauvegarder "à la main".

(c'est con c'est le premier truc auquel j'ai pensé, mais je me suis dit que tu devais le savoir... Comme quoi faut pas hésiter à poser les questions "bêtes", qui le sont jamais vraiment, qui a jamais galéré des heures sur un problème qui n'existait pas hein ?? On a tous démonté notre fer à repasser avant de se rendre compte qu'on avait pas branché la rallonge...)
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
ansquer
Héros
Inscrit le: 11 Déc 2005
Messages: 264
Localisation: MorBihan
Répondre en citant
Posté le : 31/07/2006 18:01:39 Sujet du message :

LOL Very Happy

désolé encore ... ben oui quand on ne sait pas, c'est pas évident Razz

Ca me fait penser à mon aspirateur que j'ai démonté pièce par pièce... Il y avait une balle dans le tuyau Confused

Merci à tous ^^
_________________
L'année de l'île Tome 1 Un roman ecxeptionnel !
Urban Rivals ! Mettez " ansker " en pseudo de votre parrain svp
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur 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 108.854ms