La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 27/04/2024 16:37:58


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
Kamu d'Ishtar
Héros
Inscrit le: 07 Jan 2005
Messages: 281
Localisation: Citée des lumières d'Ishtar, Montagnes de Niork.
Répondre en citant
Posté le : 08/10/2005 13:36:18 Sujet du message : Changer d'inventaire pour un autre.

Hello, je voudrai faire un truc.

Quand le personnage arrive à un certain endroit (du genre rentre dans un canyon), son inventaire se vide, et il apparait d'autre truc à la place.

Explication, le perso arrive dans le canyon, son inventaire de gros bill se vide, pour faire place à des guenilles et à une épée cassé (qu'on aurai choisi auparavent).

Mais que le perso sort de cet endroit il retrouve son inventaire, en perdant ses guenilles et son épée cassée.

C'est possible ?

Merci d'avance.
_________________
"Je vais où le vent porte mes ailes, je suis celui qui porte les messages aux dieux. Je suis Kamu, prince de la citée des lumières d'Ishtar."
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Heldar
Seigneur
Inscrit le: 09 Sep 2004
Messages: 169
Localisation: France
Répondre en citant
Posté le : 09/10/2005 00:21:43 Sujet du message :

Tu crée un trigger à l'entrée de la zone et dans le Onenter de ce dernier tu mets ce script:
NWScript :
void main()
{

// definit le joueur entrant dans le trigger
object oPC = GetEnteringObject();
//definit les objets a equipe
object oArmure = CreateItemOnObject ("resrefdetonarmure", oPC, 1);
object oEpee = CreateItemOnObject ("resrefdetonepee", oPC, 1);
//equipe les objets
AssignCommand(oPC, ActionEquipItem(oArmure, INVENTORY_SLOT_CHEST));
AssignCommand(oPC, ActionEquipItem(oEpee, INVENTORY_SLOT_RIGHTHAND));
//si tu veux des effets visuels sinon supprime ces lignes
effect explosion= EffectVisualEffect (VFX_FNF_FIREBALL);
ApplyEffectToObject(DURATION_TYPE_INSTANT, explosion, oPC);

DestroyObject(OBJECT_SELF, 1.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.


voilà pour ce qui est d'equiper les guenille est l'Epée cassée sinon pour le reste je
suis trop naze en script pour y arriver
_________________
Heldar qui tue tous les monstres du soir.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Sith Vicious
Grand Sage du Conseil
Inscrit le: 19 Oct 2005
Messages: 693
Répondre en citant
Posté le : 30/10/2005 15:37:13 Sujet du message :

Il se passe à peu près la même chose au début de HotU, tu peux pomper sur eux, le script c'est q2a_enter_rooms.

Sinon, le truc c'est de créer un conteneur avec un tag unique, inaccessible au joueur (tant que tu ne veux pas qu'il récupere ses affaires.)

si tu crées un coffre avec le tag COFFREUNIQUE ça donne :
à placer sur le OnEnter de la zone (ou du trigger si tu préferes)

NWScript :

void main()
{

object oPc = GetEnteringObject();
object oCoffre = GetObjectByTag(COFFREUNIQUE); //remplace par ton tag

if (!GetIsPC(oPC)) return;
else {
object oItem = GetFirstObjectInInventory(oPC):
object oCopy;
while (GetIsObjectValid(oItem))
{
oCopy = CopyItem(oItem,oCoffre);
SetPlotFlag(oItem,FALSE);
DestroyObject(oItem);
oItem=GetNextObjectInInventory(oPC);

}


oItem = GetItemInSlot(INVENTORY_SLOT_XXX,oPC);
if (GetIsObjectValid(oItem))
oCopy = CopyItem(oItem,oCoffre);
SetPlotFlag(oItem,FALSE);
DestroyObject(oItem);


CreateItemOnObject("machinrouille1",oPC);
CreateItemOnObject("machinrouille2",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.


Pour qu'il récupère ses affaires, le plus simple c'est de lui donner le coffre à la fin de la zone. L'opération inverse risque d'être longue, en plus si tu veux lui rééquiper ce qu'il avait sur le dos c'est bien compliqué...
Un autre truc, c'est qu'aparement, ça bousille les sacs (je les ai pas retrouvé mes sacs magiques dans hotu... c'est dégueulasse)

/*si il a deja les trucs rouillés avant, rajoute dans les conditions if (GetIsObjectValid(oItem) && GetTag(oItem) != "TAGDUTRUCROUILLE1" && GetTag(oItem) != "TAGTRUCROUILLE2") mais c'est plus long à tourner, le mieux c'est de tout flinguer et de les créer après de toute façon même si ils les avait déja le resultat est le même */
tiens pour les sacs je crois que j'ai trouvé y faut répéter la première routine paske aparement, ça donne OBJECT_INVALID si y a keke chose dedans, donc la deuxième fois comme ils sont vides ça devrait les copier. A essayer. EDIT : Ben ouais mais non, forcément comme on les a détruits ça va pas marcher, j'aime bien dire des trucs bêtes...
 
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 28.678ms