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 22:35:23


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
BenGorre
Légende vivante
Inscrit le: 12 Fév 2004
Messages: 301
Répondre en citant
Posté le : 29/06/2005 08:54:05 Sujet du message : Comment empecher un PJ de prendre un objet au sol?

Je voudrais savoir comment faire pour qu'un PJ ne puisse pas ramasser une arme qui est au sol, et qui est pourtant a sa porté.
_________________
La mort n'est rien seul le fait de mourir est terrible
Henry Fielding 1745

Le serveur Filandre a été stoppé pour le moment, je on travail à la conversion vers NWN2.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Elandil2
Chevalier
Inscrit le: 14 Fév 2005
Messages: 97
Localisation: sur mon ordi loir-et-cher
Répondre en citant
Posté le : 29/06/2005 13:38:06 Sujet du message :

J'ai deja eut ce problème, et c'est très simple :
Au lieu de mettre un "objet" simple, il faut mettre un "objet placable" avec l'apparence de ce que tu veux mettre et cocher "utilisable" ...
Pas plus compliqué que ça ^^ Cool
_________________
Rejoignez nous sur notre forum
Aelor, module en construction
Vive Gimli

 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
BenGorre
Légende vivante
Inscrit le: 12 Fév 2004
Messages: 301
Répondre en citant
Posté le : 29/06/2005 18:56:34 Sujet du message :

Et comment je met un placable de l'apparence d'une arme?
_________________
La mort n'est rien seul le fait de mourir est terrible
Henry Fielding 1745

Le serveur Filandre a été stoppé pour le moment, je on travail à la conversion vers NWN2.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ailesnoires
Grand Chevalier
Inscrit le: 21 Oct 2004
Messages: 110
Localisation: Vendée
Répondre en citant
Posté le : 29/06/2005 19:11:44 Sujet du message :

Tu poses l'arme à terre et tu coches la case pour la transformer en placeable
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Elandil2
Chevalier
Inscrit le: 14 Fév 2005
Messages: 97
Localisation: sur mon ordi loir-et-cher
Répondre en citant
Posté le : 29/06/2005 19:20:32 Sujet du message :

Héhé, pas assez rapide ^^
voila, il a tout dis, j'ai pas l'editeur ouvert sous les yeux mais bon, tu devrais trouver rapidemment logiquement ^^

[mode aide ON]
Suivant ! Cool
[mode aide OFF]
Mdr
_________________
Rejoignez nous sur notre forum
Aelor, module en construction
Vive Gimli

 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 29/06/2005 20:08:38 Sujet du message :

Je ne crois pas qu'il y ait une telle case, et j'ai pourtant bien vérifié dans l'éditeur, après avoir bien fait la dernière mise à jour... Serait-il possible d'avoir des screenshots de la case en question, ou des détails sur son emplacement exact ?
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Ailesnoires
Grand Chevalier
Inscrit le: 21 Oct 2004
Messages: 110
Localisation: Vendée
Répondre en citant
Posté le : 30/06/2005 07:10:22 Sujet du message :

Je te fais ça dès que possible si je ne suis pas owné Smile
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
BenGorre
Légende vivante
Inscrit le: 12 Fév 2004
Messages: 301
Répondre en citant
Posté le : 30/06/2005 08:56:23 Sujet du message :

Serai t'il possible de le faire par script? de transformer une arme en placable par script. Parce que mon arme est pas la au debut, elle apparai grace a un script qui copie une arme...
_________________
La mort n'est rien seul le fait de mourir est terrible
Henry Fielding 1745

Le serveur Filandre a été stoppé pour le moment, je on travail à la conversion vers NWN2.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé 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 : 30/06/2005 09:05:24 Sujet du message :

Hum, hum...

Une solution envisageable, mais pas parfaite, serait d'utiliser le OnAcquireItem, détecter si qq'un met cet objet dans son inventaire... le détruit alors et en recrée un au même endroit...

Autre solution.. un petit déclencheur autour de l'arme... dès que le joueur le franchit.. Il n'est plus contrôlable et et est rejeté hors de portée de l'objet de sa convoitise.

Voila, bon courage.
_________________
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
 
Seth de Sombrelune
Seigneur
Inscrit le: 10 Jan 2005
Messages: 156
Répondre en citant
Posté le : 30/06/2005 10:10:43 Sujet du message :

juste une idée en passant : Tu ajoute a ta copie l'option "ne peut être lâché" et tu place cette copie dans un coffre, ta copie ne poura pas etre récupérée par ton PJ....
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ailesnoires
Grand Chevalier
Inscrit le: 21 Oct 2004
Messages: 110
Localisation: Vendée
Répondre en citant
Posté le : 30/06/2005 10:36:54 Sujet du message :

FAUX
Dernière édition par Ailesnoires le 30/06/2005 11:56:07; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Ailesnoires
Grand Chevalier
Inscrit le: 21 Oct 2004
Messages: 110
Localisation: Vendée
Répondre en citant
Posté le : 30/06/2005 11:54:49 Sujet du message :

Après contrôle sur l'éditeur il est évident qu'il n'est pas possible de mettre une arme en placeable et cela est bien dommage. Embarassed
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 30/06/2005 12:21:57 Sujet du message :

Je me disais aussi Very Happy
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
kiky.le.magnifique
Homme très gay
Inscrit le: 19 Sep 2003
Messages: 907
Localisation: Camping de la nation martienne...
Répondre en citant
Posté le : 30/06/2005 13:13:04 Sujet du message :

Au début de SoU, apres la cinématique ou le maitre se fait attaquer,
on ne peut pas prendre le baton au sol, avec une petite décharge électrique
en représaille en plus ^,^

C'est dans le OnAquireItem,
j'en ai tiré les éléments qui t'intéresses :

NWScript :
//:: Name chap1_onaquire
//:: Created By: Keith Warner, Copyright (c) 2001 Bioware Corp.
//:: Modified by: Kiky

//A mettre dans le OnAquireItem
void DoStick(object oItem)
{
    object oWayPoint = GetWaypointByTag("wp_q1a1_staff");
    DestroyObject(oItem);
    CreateObject(OBJECT_TYPE_ITEM, "walkingstick", GetLocation(oWayPoint));
}

void main()
{
    object oItem = GetModuleItemAcquired();
    //Check to see if the item is a plot item
    if (GetPlotFlag(oItem) == TRUE)
    {
        object oPC = GetModuleItemAcquiredBy();
        string szItemTag = GetTag(oItem);

            //else if the item is Drogan's walkingstick
            if (szItemTag == "walkingstick")
            {
                //Quarterstaff will damage PC and cause him to drop it
                effect eDamage = EffectDamage(1);
                effect eVis = EffectVisualEffect(VFX_COM_HIT_ELECTRICAL);
                effect eLink = EffectLinkEffects(eDamage, eVis);
                ApplyEffectToObject(DURATION_TYPE_INSTANT, eLink, oPC);
                DelayCommand(0.2, DoStick(oItem));
                FloatingTextStrRefOnCreature(40422, 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.

_________________
http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
BenGorre
Légende vivante
Inscrit le: 12 Fév 2004
Messages: 301
Répondre en citant
Posté le : 30/06/2005 16:26:51 Sujet du message :

J'ai mis can ca detruit bien l'objet quand il a été pris mais ca le recrée pas, pourquoi?
NWScript :
void DoStick(object oItem)
{
    object oPC;
    object oInvisib = GetNearestObjectByTag("visu_arme" ,oPC);
    CreateObject(OBJECT_TYPE_ITEM, GetResRef(oItem), GetLocation(oInvisib), FALSE, "creation");
    DestroyObject(oItem);
}

void main()
{
    object oItem = GetModuleItemAcquired();
    //Check to see if the item is a plot item
        object oPC = GetModuleItemAcquiredBy();
        string szItemTag = GetTag(oItem);
        FloatingTextStringOnCreature("ca marche ici", oPC);

            //else if the item is Drogan's walkingstick
            if (szItemTag == "creation")
            {
                //Quarterstaff will damage PC and cause him to drop it
                effect eDamage = EffectDamage(1);
                effect eVis = EffectVisualEffect(VFX_COM_HIT_ELECTRICAL);
                effect eLink = EffectLinkEffects(eDamage, eVis);
                ApplyEffectToObject(DURATION_TYPE_INSTANT, eLink, oPC);
                DelayCommand(0.2, DoStick(oItem));
                FloatingTextStringOnCreature("Tu reve!", oPC);

            }
/* warning: 1 unclosed block {} */
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 mort n'est rien seul le fait de mourir est terrible
Henry Fielding 1745

Le serveur Filandre a été stoppé pour le moment, je on travail à la conversion vers NWN2.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
BenGorre
Légende vivante
Inscrit le: 12 Fév 2004
Messages: 301
Répondre en citant
Posté le : 30/06/2005 16:28:29 Sujet du message :

Petite erreur en collant
Voici le vrai:
NWScript :
void DoStick(object oItem)
{
    object oPC;
    object oInvisib = GetNearestObjectByTag("visu_arme" ,oPC);
    CreateObject(OBJECT_TYPE_ITEM, GetResRef(oItem), GetLocation(oInvisib), FALSE, "creation");
    DestroyObject(oItem);
}

void main()
{
    object oItem = GetModuleItemAcquired();
    //Check to see if the item is a plot item
        object oPC = GetModuleItemAcquiredBy();
        string szItemTag = GetTag(oItem);

            //else if the item is Drogan's walkingstick
            if (szItemTag == "creation")
            {
                //Quarterstaff will damage PC and cause him to drop it
                effect eDamage = EffectDamage(1);
                effect eVis = EffectVisualEffect(VFX_COM_HIT_ELECTRICAL);
                effect eLink = EffectLinkEffects(eDamage, eVis);
                ApplyEffectToObject(DURATION_TYPE_INSTANT, eLink, oPC);
                DelayCommand(0.2, DoStick(oItem));
                FloatingTextStringOnCreature("Tu reve!", 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.

_________________
La mort n'est rien seul le fait de mourir est terrible
Henry Fielding 1745

Le serveur Filandre a été stoppé pour le moment, je on travail à la conversion vers NWN2.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
kiky.le.magnifique
Homme très gay
Inscrit le: 19 Sep 2003
Messages: 907
Localisation: Camping de la nation martienne...
Répondre en citant
Posté le : 01/07/2005 07:42:51 Sujet du message :

A mon avis, ça ne marche pas à cause de ça :

CreateObject(blablabla);
DestroyObject(oItem);

Ce ne sont pas des actions, mais des fonctions.
Par conséquent, il ne va pas attendre que la premiere soit finit pour effectuer le seconde.
Or comme tu le sais, il est toujours plus facile de détruire que de créer! lol!
Donc il va détruire l'object avant de le créer.
Or pour le créer, tu utilise le tag de l'objet... Qui est déjà détruit!
Il n'arrive donc pas à le créer.

Il y a donc plusieurs solutions :
- soit tu fais comme dans le script d'origine,
avec un CreateObject utilisant le Resref d'un objet dans la palette.

- soit tu transformes ces fonctions en action à coup de ActionDoCommand

- soit tu temporises ta destruction pour être sûr qu'elle arrive apres la création.
En théorie, un bête DelayCommand suffit. En pratique, il me semble que ça ne marche pas pour le DestroyObject, et qu'il faut faire ta propre fonction de destruction (prototypage)...
_________________
http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin!
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
BenGorre
Légende vivante
Inscrit le: 12 Fév 2004
Messages: 301
Répondre en citant
Posté le : 01/07/2005 09:16:23 Sujet du message :

Je suis pas sur que le probleme soit la car j'ai enlever la ligne du DestroyObject(); pour voir qi il créait ey bah non.
Ca créait pas non plus.
Et je suis ne peus pas prendre un resref dans la palette car l'objet n'est pas toujours le même, son Tag est le meme masi pas son Resref.

Je vais reessayer sans le destroy();
_________________
La mort n'est rien seul le fait de mourir est terrible
Henry Fielding 1745

Le serveur Filandre a été stoppé pour le moment, je on travail à la conversion vers NWN2.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
BenGorre
Légende vivante
Inscrit le: 12 Fév 2004
Messages: 301
Répondre en citant
Posté le : 10/07/2005 14:19:45 Sujet du message :

Probleme résolu, la je n'ai pas le temp de mettre le script je le mettrais bientot.
_________________
La mort n'est rien seul le fait de mourir est terrible
Henry Fielding 1745

Le serveur Filandre a été stoppé pour le moment, je on travail à la conversion vers NWN2.
 
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 74.347ms