La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 14/06/2024 22:39:54


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Indur Aubemort
Acolyte
Inscrit le: 01 Nov 2003
Messages: 26
Localisation: Marseille
Répondre en citant
Posté le : 23/12/2003 19:46:33 Sujet du message : Script transformation

Bonjour à vous je voudrais connaitre et savoir comment faire pour qu'un objet transforme en créature choisie celui qui l'utilise autant qu'il soit pj ou pnj ?

Exemple => Oeil de balor => je l'utilise et me transforme en balor
_________________
PsY|
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Adresse AIM MSN Messenger Ignorer l'utilisateur
 
Longbow
Grand Sage du Conseil
Inscrit le: 10 Déc 2003
Messages: 638
Localisation: Orléans
Répondre en citant
Posté le : 24/12/2003 00:19:34 Sujet du message :

Allons-y

Tout d'abord créer un objet magique (type amulette) et lui donner la propriété (pouvoir unique ou pouvoir unique uniquement sur soi: dans la catégorie lancer un sort)
Ensuite lui donner un Nom et un Tag (ici OeilBalor)

Puis aller dans Propriétés du module/Evènement/OnActivateItem/ et insérer le script ci-dessous


NWScript :
void main()
{
object oOeil = GetObjectByTag("OeilBalor");
// indique le nom de l'objet qui permet la transformation

object oTest = GetItemActivated();


object oPC = GetItemActivator();


object oCible = GetItemActivatedTarget();


if (oOeil == oTest)

{
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectPolymorph(POLYMORPH_TYPE_BALOR), oCible, 120.0);

DelayCommand (110.0, SendMessageToPC(oPC, "L'oeil de Balor a finit son office..."));
// 10 secondes avant la fin, le lanceur est averti de l'imminence de la fin
}
}
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.


On pourrait aussi ajouter un script dans le OnAcquireItem pour avertir soit par journal soit par SendMessageToPC que le joueur est en possession d'un objet d'une puissance occulte incomparable...
J'aurai tendance à rajouter une aura de terreur pour donner d'avantage de poids à l'évènement... Mais cela alourdi la clarté du propos
_________________
Rex illeteratus
Quasi Asinus Coronatus
Jean de Salisbury
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Indur Aubemort
Acolyte
Inscrit le: 01 Nov 2003
Messages: 26
Localisation: Marseille
Répondre en citant
Posté le : 24/12/2003 01:04:12 Sujet du message :

Oki ca roule merci et maintenant comment faire pour que la durée de la transformation soit continue?jusqua un repos ou anulement de metamorphose
_________________
PsY|
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Adresse AIM MSN Messenger Ignorer l'utilisateur
 
Longbow
Grand Sage du Conseil
Inscrit le: 10 Déc 2003
Messages: 638
Localisation: Orléans
Répondre en citant
Posté le : 24/12/2003 01:09:36 Sujet du message :

Et voila c'est toujours la même chose... Ils en veulent toujours plus... Bon laisse moi un quart d'heure que j'essaie quelques incantations impies...
_________________
Rex illeteratus
Quasi Asinus Coronatus
Jean de Salisbury
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Longbow
Grand Sage du Conseil
Inscrit le: 10 Déc 2003
Messages: 638
Localisation: Orléans
Répondre en citant
Posté le : 24/12/2003 01:48:15 Sujet du message :

Bien... en consultant les antiques grimoires de Tooth, je t'ai trouvé ceci.. Mais quelques remarques préliminaires... Ce qui suit n'est logique que si la transformation se fait sur le joueur et plus sur sur un PNJ.

NWScript :
// Dans le OnActivateItem du module
void main()
{
object oOeil = GetObjectByTag("OeilBalor");
// indique le nom de l'objet qui permet la transformation

object oTest = GetItemActivated();


object oPC = GetItemActivator();


object oCible = GetItemActivatedTarget();


if (oOeil == oTest)

{

SetLocalInt(GetModule(), "polymorph", 10);

// La transformation est permanente
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectPolymorph(POLYMORPH_TYPE_BALOR), oCible);
}
}
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.




NWScript :
/ A placer dans "OnPlayerRest" du module
void main()
{
object oTarget = GetLastPCRested();

if (GetLocalInt(GetModule(), "polymorph") == 10 && GetItemPossessor(GetObjectByTag("OeilBalor")) == oTarget)
{
effect eBad = GetFirstEffect(oTarget);
    //Recherche un effet sur le joueur qui se repose...
    while(GetIsEffectValid(eBad))
    {
       
        if (GetEffectType(eBad) == EFFECT_TYPE_POLYMORPH)
        {
            //Retire l'effet polymorph.
            RemoveEffect(oTarget, eBad);
        }
        eBad = GetNextEffect(oTarget);
    }
}
}
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.

_________________
Rex illeteratus
Quasi Asinus Coronatus
Jean de Salisbury
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Indur Aubemort
Acolyte
Inscrit le: 01 Nov 2003
Messages: 26
Localisation: Marseille
Répondre en citant
Posté le : 24/12/2003 02:00:18 Sujet du message :

*as honte*Merci pour tout franchement mais une dernuere petite question "Quels sont les codes des transformations?"exemple pr le trasnformer en louper ou tout ce que je veux les codes quoi et ou jdoi les metre.
_________________
PsY|
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Adresse AIM MSN Messenger Ignorer l'utilisateur
 
Longbow
Grand Sage du Conseil
Inscrit le: 10 Déc 2003
Messages: 638
Localisation: Orléans
Répondre en citant
Posté le : 24/12/2003 02:41:43 Sujet du message :

Si tu entends par code de transformation les références des créatures dont tu cherches à prendre l'apparence, tu les trouveras dans l'éditeur de script, dans l'onglet Constantes... Pour toutes les voir... Tapes "POLYMORPH_TYPE_"

et toute la liste se déroule POLYMORPH_TYPE_BADGER -> POLYMORPH_TYPE_ZOMBIE en passant par POLYMORPH_TYPE_WOLF.
Il suivit de chercher POLYMORPH_TYPE_BALOR par celui que tu désires et l'apparence changera...

Je suis en train de chercher pour ta douche... J'ai une piste ou plutôt un filet d'eau..; Ca marche mais la douche est trop faiblarde... Donc je suis en train de manipuler des boucles pour donner un effet plus conséquent... Enfin je verrai ça demain si le père noël m'en laisse le temps..

En Attendant crée un déclencheur à l'endroit de la douche
avec en OnEnter
NWScript :
void main()
{
//object oPC = GetClickingObject();
object oPC = GetEnteringObject();
location Lloc = GetLocation(OBJECT_SELF);
if (GetIsPC(oPC))
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_MAGIC_PROTECTION),oPC);
// CreateObject(OBJECT_TYPE_PLACE ABLE, "plc_waterdrip", Lloc, TRUE);
// CreateObject(OBJECT_TYPE_PLACE ABLE, "plc_waterdrip", Lloc, TRUE);
CreateObject(OBJECT_TYPE_PLACEABLE, "plc_waterdrip", Lloc, TRUE);
}
}
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 OnExit
NWScript :
void main()
{
object oExit = GetExitingObject();
object oDestroy = GetNearestObjectByTag("WaterDrip",OBJECT_SELF,1);
if (GetIsPC(oExit))
{DestroyObject(oDestroy);}
}
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.



Ce sont des scripts de travail donc pas clairs et non anotés... Pourle moment ca marche mais c'est pas très impressionnant
_________________
Rex illeteratus
Quasi Asinus Coronatus
Jean de Salisbury
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Indur Aubemort
Acolyte
Inscrit le: 01 Nov 2003
Messages: 26
Localisation: Marseille
Répondre en citant
Posté le : 24/12/2003 12:40:14 Sujet du message :

Oki merci par contre le script pour que la métamorphose reste permanante jusqu'à un repos ou annulement ne marche pas...
Celui ci


Longbow a écrit :


NWScript :
// Dans le OnActivateItem du module
void main()
{
object oOeil = GetObjectByTag("OeilBalor");
// indique le nom de l'objet qui permet la transformation

object oTest = GetItemActivated();


object oPC = GetItemActivator();


object oCible = GetItemActivatedTarget();


if (oOeil == oTest)

{

SetLocalInt(GetModule(), "polymorph", 10);

// La transformation est permanente
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectPolymorph(POLYMORPH_TYPE_BALOR), oCible);
}
}
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.




NWScript :
/ A placer dans "OnPlayerRest" du module
void main()
{
object oTarget = GetLastPCRested();

if (GetLocalInt(GetModule(), "polymorph") == 10 && GetItemPossessor(GetObjectByTag("OeilBalor")) == oTarget)
{
effect eBad = GetFirstEffect(oTarget);
    //Recherche un effet sur le joueur qui se repose...
    while(GetIsEffectValid(eBad))
    {
       
        if (GetEffectType(eBad) == EFFECT_TYPE_POLYMORPH)
        {
            //Retire l'effet polymorph.
            RemoveEffect(oTarget, eBad);
        }
        eBad = GetNextEffect(oTarget);
    }
}
}
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.

_________________
PsY|
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Adresse AIM MSN Messenger Ignorer l'utilisateur
 
Longbow
Grand Sage du Conseil
Inscrit le: 10 Déc 2003
Messages: 638
Localisation: Orléans
Répondre en citant
Posté le : 24/12/2003 16:19:52 Sujet du message :

J'en suis très étonné, je viens de relancer le module d'essai qui fonctionne parfaitement... La transformation s'arrête dès que le joueur lance le repos. Encore une fois, désormais uniquement sur soi-même...
Je t'envoie un e-mail avec un module d'essai... en pièce jointe.
_________________
Rex illeteratus
Quasi Asinus Coronatus
Jean de Salisbury
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Indur Aubemort
Acolyte
Inscrit le: 01 Nov 2003
Messages: 26
Localisation: Marseille
Répondre en citant
Posté le : 31/12/2003 16:25:48 Sujet du message :

Ok mercic a marche et maintenant comment pourais-je faire pour transformer quelqu'un en chauve souris j'ai essayer
PLYMORPH_TYPE_BAT mais ce polymorph n'existe pas .
_________________
PsY|
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Adresse AIM MSN Messenger Ignorer l'utilisateur
 
Longbow
Grand Sage du Conseil
Inscrit le: 10 Déc 2003
Messages: 638
Localisation: Orléans
Répondre en citant
Posté le : 31/12/2003 16:38:19 Sujet du message :

Alors là attention c'est du lourd et ca mériterait de rentrer dans la section "personnalisable"..

En effet, il faut modifier des fichiers 2DA et nss... Puis les inclure dans un HakPak... Il me semble avoir déja parlé de cela



Citation :
Et pour donner l'apparence d'un vieil homme(ou d'une chauve souris) au PJ, c'est POSSIBLE. Il faut pour cela modifier le fichier polymorph.2da, appeareance.2da et nwscript.nss. C'est relativement hardu, mais j'ai déja réussi à donner l'apparence d'un feu follet, d'un Boss Ogre à un PJ... Alors pourquoi pas le vieil homme. Si tu es interressé, je peux t'envoyer les fichiers avec les explications... Attention, il faut connaître le fonctionnement des fichiers .2da
Alors je te pose la question... Est-ce que tu maîtrises les 2DA ?
_________________
Rex illeteratus
Quasi Asinus Coronatus
Jean de Salisbury
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Indur Aubemort
Acolyte
Inscrit le: 01 Nov 2003
Messages: 26
Localisation: Marseille
Répondre en citant
Posté le : 31/12/2003 19:45:00 Sujet du message :

C'est bon j'abandonne ! lol
_________________
PsY|
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Adresse AIM MSN Messenger Ignorer l'utilisateur
 
Longbow
Grand Sage du Conseil
Inscrit le: 10 Déc 2003
Messages: 638
Localisation: Orléans
Répondre en citant
Posté le : 31/12/2003 19:52:59 Sujet du message :

Mais non, on s'accroche !!

Je viens de poster ... un tutoriel
_________________
Rex illeteratus
Quasi Asinus Coronatus
Jean de Salisbury
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
edisnotdead
Grand Chevalier
Inscrit le: 19 Fév 2005
Messages: 132
Répondre en citant
Posté le : 21/02/2005 20:25:35 Sujet du message :

salut j ai vu ton tutorial il ma bien aidé par contre avec ton script de polymorphe quand on a deux objet avec le méme tag aucun ne marche ..
c est a dire deux personne avec le meme objet dans une meme piece ne peuvent pas se transformer .
ce que j essaye de resoudre en vain jusqua maintenant.
tout aide serai la bienvenu^^

edisnotdead
 
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 : 21/02/2005 21:18:50 Sujet du message :

Sinon il y a une fonction plus pratique je trouve c'est
NWScript :
// Sets the creature's appearance type to the value specified (uses the APPEARANCE_TYPE_XXX constants)
void SetCreatureAppearanceType(object oCreature, int nAppearanceType)
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.

Non ? tu as beaucoup plus de forme...
_________________
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
 
edisnotdead
Grand Chevalier
Inscrit le: 19 Fév 2005
Messages: 132
Répondre en citant
Posté le : 21/02/2005 21:31:07 Sujet du message :

pour les formes ce n est pas un probleme j ai repertorié toute les formes dont j avait besoin dans un hack pakc..
mais merci quand meme.. Ca doit fair 10 beure que je suis dessus je veu trouver *tetu*^^
 
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 : 21/02/2005 21:34:53 Sujet du message :

en fait j ai trouvé la solution mais le seul ick c est que je ne peut plus mettre les autre transformation sans que tous ce lance avec n importe quelle tag voili mon probleme ^^
 
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 : 21/02/2005 21:43:51 Sujet du message :

je vien de m appercevoir que l on comprendra rien a mon probleme avec le message precedent alors je montre mon script modifié


NWScript :
// Dans le OnActivateItem du module
void main()
{
object vpolyblanc = GetObjectByTag("polyblanc");

// indique le nom de l'objet qui permet la transformation


object vPC = GetItemActivator();


object vCible = GetItemActivatedTarget();



{



// La transformation est permanente
ApplyEffectToObject(DURATION_TYPE_PERMANENT,
EffectPolymorph(POLYMORPH_TYPE_DRAGON_WHITE), vCible);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,
EffectVisualEffect(VFX_FNF_ICESTORM), vCible);
ApplyEffectToObject(DURATION_TYPE_PERMANENT,
EffectVisualEffect(VFX_DUR_AURA_COLD), vCible);
}


{

object cpolydemon = GetObjectByTag("polydemon");
// indique le nom de l'objet qui permet la transformation

object cTest = GetItemActivated();


object cPC = GetItemActivator();


object cCible = GetItemActivatedTarget();




// La transformation est permanente
ApplyEffectToObject(DURATION_TYPE_PERMANENT,
EffectPolymorph(POLYMORPH_TYPE_BALOR), cCible);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,
EffectVisualEffect(VFX_FNF_LOS_EVIL_30), cCible);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,
EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_FIRE), cCible);
}

  {
object bpolyevil = GetObjectByTag("polyevil");
// indique le nom de l'objet qui permet la transformatio

object bPC = GetItemActivator();


object bCible = GetItemActivatedTarget();

{



// La transformation est permanente
ApplyEffectToObject(DURATION_TYPE_PERMANENT,
EffectPolymorph(POLYMORPH_TYPE_DEVIL), bCible);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,
EffectVisualEffect(VFX_FNF_LOS_EVIL_30), bCible);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,
EffectVisualEffect(VFX_FNF_GAS_EXPLOSION_EVIL), bCible);
ApplyEffectToObject(DURATION_TYPE_PERMANENT,
EffectVisualEffect(VFX_IMP_AURA_NEGATIVE_ENERGY), bCible);
}
}
}

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 : 22/02/2005 13:32:35 Sujet du message :

Tu ne met pas les tests entre l'objet activé et les tag repertoriés, donc voilà j'ai refait comme sa
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.

Dit si sa marche...
_________________
Scripts, systèmes, fonctions,... c'est par ici...
Pyjama pour castor, une vocation, un avenir sûr
Dernière édition par Ivellios le 22/02/2005 17:29:04; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger Ignorer l'utilisateur
 
edisnotdead
Grand Chevalier
Inscrit le: 19 Fév 2005
Messages: 132
Répondre en citant
Posté le : 22/02/2005 16:53:51 Sujet du message :

merci ca marche du feu de dieu ^^
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé 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 55.042ms