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:20:24


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
ballestolive
Ecuyer
Inscrit le: 15 Nov 2005
Messages: 64
Localisation: A 35 KM Sud de Paris.
Répondre en citant
Posté le : 30/03/2007 20:37:42 Sujet du message : Demande aide pour modif script Bioware pour Respawn.

Bonjour à toute la comunauté Wink

J'ai un petit prblème avec un script de Bioware. Le script officiel de mort... en fait je vroudrai que lorsque le PJ click sur le bouton de respawn il soit téléporté vers un WayPoint dans une autre Map !!!

Et bien je n'y arrive pas, pouvez vous m'aider. Merci.

NWScript :
//:Confused///////////////////////// /////////////////////
//:: Death Script
//:: NW_O0_DEATH.NSS
//:: Copyright (c) 2001 Bioware Corp.
//:Confused///////////////////////// ////////////////////
/*
    This script handles the default behavior
    that occurs when a player dies.
   
    BK: October 8 2002: Overriden for Expansion
*/

//:Confused///////////////////////// ////////////////////
//:: Created By: Brent Knowles
//:: Created On: November 6, 2001
//:Confused///////////////////////// ////////////////////
// BMA-OEI 7/20/06 -- Temp death screen
// BMA-OEI 11/08/06 -- Added engine death GUI: SCREEN_DEATH_DEFAULT (ingamegui.ini) is force closed upon resurrection

const string GUI_DEFAULT_DEATH_SCREEN = "SCREEN_DEATH_DEFAULT";

// Resurrect and remove negative effects from oPlayer
void Raise( object oPlayer );

// Display death pop-up to oPlayer
void ShowDefaultDeathScreen( object oPlayer );

void main()
{
  object oPlayer = GetLastPlayerDied();

  // * increment global tracking number of times that I died
  SetLocalInt(oPlayer, "NW_L_PLAYER_DIED", GetLocalInt(oPlayer, "NW_L_PLAYER_DIED") + 1);

  // * BK: Automation Control. Autopcs ignore death
  if (GetLocalInt(oPlayer, "NW_L_AUTOMATION") == 10)
  {
    Raise(oPlayer);
    //DelayCommand(1.0, ExecuteScript("crawl" ;, OBJECT_SELF));
    return; // Raise and return
  }

  DelayCommand( 2.5f, ShowDefaultDeathScreen( oPlayer ) );

  // Modif de Ballestolive pour jump to WP.
  Raise(oPlayer);
     string sDestTag = "wp_death_pj";
        object oSpawnPoint = GetObjectByTag(sDestTag);
        AssignCommand(oPlayer,JumpToLocation(GetLocation(oSpawnPoint)));

    // fin de Modif de ballestolive

  /*
    // * Handle Spirit of the Wood Death
    string sArea = GetTag(GetArea(oPlayer));

    if (sArea == "MAP_M2Q2F2" && GetDistanceBetweenLocations(Ge tLocation(GetObjectByTag(" ;M2Q2F2_M2Q2G")), GetLocation(oPlayer)) < 5.0 && GetLocalInt(GetModule()," NW_M2Q2E_WoodsFreed") == 0)
    {
        int bValid;

        Raise(oPlayer);
        string sDestTag = "WP_M2Q2GtoM2Q2F";
        object oSpawnPoint = GetObjectByTag(sDestTag);
        AssignCommand(oPlayer,JumpToLo cation(GetLocation(oSpawnPoint )));
        return;

    }

    // * in last level of the Sourcestone, move the player to the beginning of the area
    // * May 16 2002: or the main area of the Snowglobe (to prevent plot logic problems).
    // * May 21 2002: or Castle Never
    if (sArea == "M4Q1D2" || sArea == "M3Q3C" || sArea == "MAP_M1Q6A")
    {

        //Raise(oPlayer);
        //string sDestTag = "M4QD07_ENTER";
        //object oSpawnPoint = GetObjectByTag(sDestTag);
//        AssignCommand(oPlayer, DelayCommand(1.0, JumpToLocation(GetLocation(oSp awnPoint))));
// * MAY 2002: Just popup the YOU ARE DEAD panel at this point
        DelayCommand(2.5, PopUpDeathGUIPanel(oPlayer,FAL SE, TRUE, 66487));
        return;
    }

    // * make friendly to Each of the 3 common factions
    AssignCommand(oPlayer, ClearAllActions());
    // * Note: waiting for Sophia to make SetStandardFactionReptuation to clear all personal reputation
    if (GetStandardFactionReputation( STANDARD_FACTION_COMMONER, oPlayer) <= 10)
    {  SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad&qu ot;, 10); // * Player bad
        SetStandardFactionReputation(S TANDARD_FACTION_COMMONER, 80, oPlayer);
    }
    if (GetStandardFactionReputation( STANDARD_FACTION_MERCHANT, oPlayer) <= 10)
    {  SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad&qu ot;, 10); // * Player bad
        SetStandardFactionReputation(S TANDARD_FACTION_MERCHANT, 80, oPlayer);
    }
    if (GetStandardFactionReputation( STANDARD_FACTION_DEFENDER, oPlayer) <= 10)
    {  SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad&qu ot;, 10); // * Player bad
        SetStandardFactionReputation(S TANDARD_FACTION_DEFENDER, 80, oPlayer);
    }

    DelayCommand(2.5, PopUpGUIPanel(oPlayer,GUI_PANE L_PLAYER_DEATH));
*/

}

/*
void ClearAllFactionMembers(object oMember, object oPlayer)
{
//    AssignCommand(oMember, SpeakString("here")) ;
    AdjustReputation(oPlayer, oMember, 100);
    SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad&qu ot;, 10); // * Player bad
    object oClear = GetFirstFactionMember(oMember, FALSE);
    while (GetIsObjectValid(oClear) == TRUE)
    {
        ClearPersonalReputation(oPlaye r, oClear);
        oClear = GetNextFactionMember(oMember, FALSE);
    }
}
*/


// Resurrect and remove negative effects from oPlayer
void Raise(object oPlayer)
{
  effect eVisual = EffectVisualEffect(VFX_IMP_RESTORATION);

  effect eBad = GetFirstEffect(oPlayer);
  ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oPlayer);
  ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHeal(GetMaxHitPoints(oPlayer)), oPlayer);

  //Search for negative effects
  while(GetIsEffectValid(eBad))
  {
     if (GetEffectType(eBad) == EFFECT_TYPE_ABILITY_DECREASE ||
         GetEffectType(eBad) == EFFECT_TYPE_AC_DECREASE ||
         GetEffectType(eBad) == EFFECT_TYPE_ATTACK_DECREASE ||
         GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_DECREASE ||
         GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE ||
         GetEffectType(eBad) == EFFECT_TYPE_SAVING_THROW_DECREASE ||
         GetEffectType(eBad) == EFFECT_TYPE_SPELL_RESISTANCE_DECREASE ||
         GetEffectType(eBad) == EFFECT_TYPE_SKILL_DECREASE ||
         GetEffectType(eBad) == EFFECT_TYPE_BLINDNESS ||
         GetEffectType(eBad) == EFFECT_TYPE_DEAF ||
         GetEffectType(eBad) == EFFECT_TYPE_PARALYZE ||
         GetEffectType(eBad) == EFFECT_TYPE_NEGATIVELEVEL)
         {
             //Remove effect if it is negative.
             RemoveEffect(oPlayer, eBad);
        eBad = GetFirstEffect(oPlayer);
         }
    else
       eBad = GetNextEffect(oPlayer);
  }
  //Fire cast spell at event for the specified target
  SignalEvent(oPlayer, EventSpellCastAt(OBJECT_SELF, SPELL_RESTORATION, FALSE));
  ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisual, oPlayer);
}

// Display death pop-up to oPlayer
void ShowDefaultDeathScreen( object oPlayer )
{
  DisplayGuiScreen( oPlayer, GUI_DEFAULT_DEATH_SCREEN, FALSE );
  //DisplayMessageBox( oPlayer, 0, GetStringByStrRef(181408), "gui_death_respawn_self&q uot;, "", FALSE, "", 6603, "", 0, "" );
}
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.


Par avance merci de vos réponses.
_________________
Coordinateur du projet LanceDragon VF un module pour NWN2. [http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 30/03/2007 20:56:39 Sujet du message :

Salut.

Une petite recherche t'aurais aidé, mais bon...

NWScript :
string sDestTag = "wp_death_pj";
object oSpawnPoint = GetObjectByTag(sDestTag);
AssignCommand(oPlayer,JumpToLocation(GetLocation(oSpawnPoint)));
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.


La tu es renvoyé au WP : "wp_death_pj" à toi de changer ou de nommé ton tag comme ça.

@Pluche
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
ballestolive
Ecuyer
Inscrit le: 15 Nov 2005
Messages: 64
Localisation: A 35 KM Sud de Paris.
Répondre en citant
Posté le : 30/03/2007 21:00:39 Sujet du message :

Merci Black Knight pour ta réponse ( j'ai pas mal cherché Wink )

Mais je comprend pas trop ce que tu me donne ????
NWScript :
string sDestTag = "wp_death_pj";
object oSpawnPoint = GetObjectByTag(sDestTag);
AssignCommand(oPlayer,JumpToLocation(GetLocation(oSpawnPoint)));
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.


Si tu regarde bien ces lignes sont dans le script que j'ai "collé" plus haut mais cela ne fonctionne pas .....

Le PJ ne jump pas vers le WP ...
_________________
Coordinateur du projet LanceDragon VF un module pour NWN2. [http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Noon
Héros
Inscrit le: 15 Jan 2005
Messages: 272
Localisation: Entre Vannes et les RO
Répondre en citant
Posté le : 31/03/2007 00:50:09 Sujet du message :

Il faut que tu crée un waypoint ayant pour tag "wp_death_pj", ou alors tu changes le tag désigné dans ton script.
_________________
Beshaba me protège, Tymora guide mes tirs.

The Cake is a lie !

Mes modules NwN2:De Vieilles Rencontres! et De Vieilles Rencontres2
Double Avenir sur le Nwvault
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
ballestolive
Ecuyer
Inscrit le: 15 Nov 2005
Messages: 64
Localisation: A 35 KM Sud de Paris.
Répondre en citant
Posté le : 31/03/2007 19:05:22 Sujet du message :

Oui cela je l'est fait, pas de soucis, mais il marche tout de même pas et suivant la possition dans le script ou je colle cette modif, elle me téléporte avant la fenétre Respawn ou pas du tout ????

Une idée.
_________________
Coordinateur du projet LanceDragon VF un module pour NWN2. [http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 01/04/2007 07:04:15 Sujet du message :

Il y a quelque truc que je comprends pas dans ton script. Bon j'fais un copier coller, sans le vert, pasque ça me saoul lol:

NWScript :

const string GUI_DEFAULT_DEATH_SCREEN = "SCREEN_DEATH_DEFAULT";

void Raise( object oPlayer );
void ShowDefaultDeathScreen( object oPlayer );

void main()
{
object oPlayer = GetLastPlayerDied();
SetLocalInt(oPlayer, "NW_L_PLAYER_DIED", GetLocalInt(oPlayer, "NW_L_PLAYER_DIED") + 1);

if (GetLocalInt(oPlayer, "NW_L_AUTOMATION") == 10)
{
Raise(oPlayer);
}

DelayCommand( 2.5f, ShowDefaultDeathScreen( oPlayer ) );
Raise(oPlayer);
string sDestTag = "wp_death_pj";
object oSpawnPoint = GetObjectByTag(sDestTag);
AssignCommand(oPlayer,JumpToLocation(GetLocation(oSpawnPoint)));
}

void Raise(object oPlayer)
{
effect eVisual = EffectVisualEffect(VFX_IMP_RESTORATION);
effect eBad = GetFirstEffect(oPlayer);
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oPlayer);
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHeal(GetMaxHitPoints(oPlayer)), oPlayer);

while(GetIsEffectValid(eBad))
{

if (GetEffectType(eBad) == EFFECT_TYPE_ABILITY_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_AC_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_ATTACK_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_SAVING_THROW_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_SPELL_RESISTANCE_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_SKILL_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_BLINDNESS ||
GetEffectType(eBad) == EFFECT_TYPE_DEAF ||
GetEffectType(eBad) == EFFECT_TYPE_PARALYZE ||
GetEffectType(eBad) == EFFECT_TYPE_NEGATIVELEVEL)
{
RemoveEffect(oPlayer, eBad);
eBad = GetFirstEffect(oPlayer);
}

else
eBad = GetNextEffect(oPlayer);
}

SignalEvent(oPlayer, EventSpellCastAt(OBJECT_SELF, SPELL_RESTORATION, FALSE));
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisual, oPlayer);
}

void ShowDefaultDeathScreen( object oPlayer )
{
DisplayGuiScreen( oPlayer, GUI_DEFAULT_DEATH_SCREEN, FALSE );
}
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.


Bon le premier truc que je trouve bizzare c'est ça :

NWScript :
if (GetLocalInt(oPlayer, "NW_L_AUTOMATION") == 10)
{
Raise(oPlayer);
}

DelayCommand( 2.5f, ShowDefaultDeathScreen( oPlayer ) );
Raise(oPlayer);
string sDestTag = "wp_death_pj";
object oSpawnPoint = GetObjectByTag(sDestTag);
AssignCommand(oPlayer,JumpToLocation(GetLocation(oSpawnPoint)));
}/* suspect block end found !*/
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.


Ici tu appliques la même fonction (donc la fonction Raise) mais dans deux conditions différentes. Pourtant celle-ci renvoit au même chose. C'est normal ou pas? Déjà j'te conseil de supprimé ça, cela prend des lignes pour rien, et tu t'y retrouvera mieux !

Ensuite, j'pense que le mieux, c'est d'appliqué la teleportation dans la fonction Raise directement, donc ça donnera ça:

NWScript :
const string GUI_DEFAULT_DEATH_SCREEN = "SCREEN_DEATH_DEFAULT";

void Raise( object oPlayer );
void ShowDefaultDeathScreen( object oPlayer );

void main()
{
object oPlayer = GetLastPlayerDied();
SetLocalInt(oPlayer, "NW_L_PLAYER_DIED", GetLocalInt(oPlayer, "NW_L_PLAYER_DIED") + 1);
DelayCommand( 2.5f, ShowDefaultDeathScreen( oPlayer ) );
Raise(oPlayer);
}

void Raise(object oPlayer)
{
effect eVisual = EffectVisualEffect(VFX_IMP_RESTORATION);
effect eBad = GetFirstEffect(oPlayer);
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oPlayer);
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHeal(GetMaxHitPoints(oPlayer)), oPlayer);

while(GetIsEffectValid(eBad))
{

if (GetEffectType(eBad) == EFFECT_TYPE_ABILITY_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_AC_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_ATTACK_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_DAMAGE_IMMUNITY_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_SAVING_THROW_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_SPELL_RESISTANCE_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_SKILL_DECREASE ||
GetEffectType(eBad) == EFFECT_TYPE_BLINDNESS ||
GetEffectType(eBad) == EFFECT_TYPE_DEAF ||
GetEffectType(eBad) == EFFECT_TYPE_PARALYZE ||
GetEffectType(eBad) == EFFECT_TYPE_NEGATIVELEVEL)
{
RemoveEffect(oPlayer, eBad);
eBad = GetFirstEffect(oPlayer);
}

else
eBad = GetNextEffect(oPlayer);
}

SignalEvent(oPlayer, EventSpellCastAt(OBJECT_SELF, SPELL_RESTORATION, FALSE));
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisual, oPlayer);
object oSpawnPoint = GetWaypointByTag("wp_death_pj");
AssignCommand(oPlayer,JumpToLocation(GetLocation(oSpawnPoint)));
}

void ShowDefaultDeathScreen( object oPlayer )
{
DisplayGuiScreen( oPlayer, GUI_DEFAULT_DEATH_SCREEN, FALSE );
}
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.


Bon faut aussi que tu saches deux choses:
-Il existe deux sortes de tag : GetObjectByTag et GetWaypointByTag. Le premier sert principalement aux placable. Le deuxième, sert aux Waypoints => Pour toi.
-Il faut savoir aussi que JumpToLocation ne marche pas avec GetObjectByTag, la raison pour laquel ton script ne te teleporte pas. Utilise GetObjectByTag avec JumpToObject, et utilise GetWaypointByTag avec JumpToLocation.

Voila, j'espere que le script marche, je les pas verrifier, j'ai fais que du copier coller ^^

Sbizz
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
ballestolive
Ecuyer
Inscrit le: 15 Nov 2005
Messages: 64
Localisation: A 35 KM Sud de Paris.
Répondre en citant
Posté le : 02/04/2007 11:03:00 Sujet du message :

Merci de ta réponse Black Knight.
Etant un gros nul en script je ne comprend pas tout ce que tu explique et je sais encore moins décortiquer le script officiel de Bioware ( celui que tu commente ).

Par contre j'ai trouvé, par une autre voie, d'ou venais mon problème. C'est qu'en faite le JUMPTOLOCATION devais être lancé après l'apuis sur le bouton respanw et qu'en fait le script qui est déclenché par ce bouton est le "gui-respanw-self" ou le gui-respanw" c'est donc dans ces deux scripts qu'il faut ajouter la partie du scripty avec le JUMPTOLOCATION.

J'ai fais cela ce WE et maintenant cela fonctionne très bien.

Merci à tous pour vos réponses.
_________________
Coordinateur du projet LanceDragon VF un module pour NWN2. [http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 02/04/2007 12:50:19 Sujet du message :

Heu c'est louche ton histoire.

Pour reconnaitre si le joueur à clicker ou pas sur respawn, c'est très simple ; dans les propriétés du module, tu as deux "fonctions":
-OnDeath
-OnRespawn

OnDeath c'est quand le joueur meurt (AVANT QUE LA FENETRE APPARAIT) donc c'est ici qu'on applique le script qui fait apparaitre la fenetre

OnRespawn c'est APRÈS avoir clicker sur respawn.

Sbizz
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
ballestolive
Ecuyer
Inscrit le: 15 Nov 2005
Messages: 64
Localisation: A 35 KM Sud de Paris.
Répondre en citant
Posté le : 02/04/2007 20:43:26 Sujet du message :

En fait je ne touche pas du toutau propriété du module, je laisse les script par défaut et je colle celui-ci dans les scripts de mon module Wink Son nom (très imortant) est gui_death_respawn_self à ne pas changer c'est un appel interne à NWN2....
NWScript :
// gui_death_respawn_self.nss
/*
  NWN2 Default Death Screen 'Respawn' callback
*/

// BMA-OEI 7/20/06
// BMA-OEI 11/08/06 -- Close SCREEN_DEATH_DEFAULT


#include "ginc_death"


void main()
{
  ResurrectCreature( OBJECT_SELF );
  CloseGUIScreen( OBJECT_SELF, "SCREEN_DEATH_DEFAULT" );

    // Modif de Ballestolive pour jump to WP.
//  Raise(oPC);
  object oPC = OBJECT_SELF;
     string sDestTag = "z0_ob_wp_death_pj";
        object oSpawnPoint = GetObjectByTag(sDestTag);
        AssignCommand(oPC,JumpToLocation(GetLocation(oSpawnPoint)));

    // fin de Modif de ballestolive

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


Et je t'assure que cela fonctionn très très bien. Essai Wink

En tout cas, merci pour tes réponses.
_________________
Coordinateur du projet LanceDragon VF un module pour NWN2. [http]
 
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 85.813ms