JeuxOnLineForumsPlusConnectés : 669 (sites) | 1151 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Répondre
Partager Outils Rechercher
The_Hyena
Roi
 
Question

Script

Voila est-il possible faire un script qui regarde dans l'inventaire du joueur, si un objet ne s'y trouve pas et de le lui mettre. C'est une baguette d'emote, donc on a pas besoin de l'avoir 20 fois.
Lien direct vers le message - Vieux
Avatar de -NoTra-
-NoTra-
Roi
 
Avatar de -NoTra-
 
Voilà je pense que ça devrait te suffir, mais sache que je ne suis qu'un débutant, donc il est possible que ce ne soit pas bon (en plus j'ai pas le compilateur )

Code PHP:
void main ()
{
object oItem GetObjectPossessedBy(oPC"tag_item");
object oNPC OBJECT_SELF;
//si tu fais ca par dialogue
object oPC GetPCSpeaker();
if(
oItem == OBJECT_INVALID)
{
CreateItemOnObject("tag_de_item"oPC);
}
else
{
ActionSpeakString("Tu as l'objet");
}

En espérant que ce sera juste ^_^'
__________________
------------------
(Re)découvrez Baldur's Gate ICI
Lien direct vers le message - Vieux
Avatar de Prince Nexus
Prince Nexus
Roi
 
Avatar de Prince Nexus
 
La c'est mieux : (enfin je crois)
Code PHP:
void main ()
{
 
//si tu fais ca par dialogue
 
object oPC GetPCSpeaker();
 
object oNPC OBJECT_SELF;

 
object oItem GetObjectPossessedBy(oPC"tag_item");
 
 if(
oItem == OBJECT_INVALID)
 {
  
CreateItemOnObject("tag_de_item"oPC);
 }
 else
 {
  
ActionSpeakString("Tu as l'objet");
 }

Lien direct vers le message - Vieux
Avatar de -NoTra-
-NoTra-
Roi
 
Avatar de -NoTra-
 
Citation:
Provient du message de Prince Nexus
La c'est mieux : (enfin je crois)
Code PHP:
void main ()
{
 
//si tu fais ca par dialogue
 
object oPC GetPCSpeaker();
 
object oNPC OBJECT_SELF;

 
object oItem GetObjectPossessedBy(oPC"tag_item");
 
 if(
oItem == OBJECT_INVALID)
 {
  
CreateItemOnObject("tag_de_item"oPC);
 }
 else
 {
  
ActionSpeakString("Tu as l'objet");
 }

euh...quelle est la différence ? à part une inversion de deux lignes ? ce qui à ma connaissance ne change rien si ?
Lien direct vers le message - Vieux
Avatar de Prince Nexus
Prince Nexus
Roi
 
Avatar de Prince Nexus
 
C'est plus beau ! Niark. (en fait, comme je n'ai pas le compilateur sous la main, je ne peux pas te dire si l'ordre des declarations influent, mais bon, pour un scripteur debutant, vo mieux lui montrer le bon exemple !)
Lien direct vers le message - Vieux
Avatar de -NoTra-
-NoTra-
Roi
 
Avatar de -NoTra-
 
Ok LOL MDR :bouffon:
Lien direct vers le message - Vieux
Avatar de Taern
Taern
Alpha & Oméga
 
Avatar de Taern
 
Ici l'ordre des lignes influe puisque si tu écrit GetObjectPossessedBy(oPC, "tag_item") avant d'avoir déclaré oPC, ça ne compilera pas.

Ah oui, autre chose, on ne crée pas un objet avec son tag
Lien direct vers le message - Vieux
The_Hyena
Roi
 
Code PHP:
void main ()
{
 
//si tu fais Ca par dialogue
 
object oPC GetPCSpeaker();
 
object oNPC OBJECT_SELF;

 
object oItem GetObjectPossessedBy(oPC"dmfi_emote"1);

 if(
oItem == OBJECT_INVALID)
 {
  
CreateItemOnObject("dmfi_emote"oPC1);
 }
 else
 {
  
ActionSpeakString("Vous posseder deja le Baton d'Emote.");
 }

ça fonctionnerai ca ?
Lien direct vers le message - Vieux
Avatar de -NoTra-
-NoTra-
Roi
 
Avatar de -NoTra-
 
Ok je comprend ! Merci pour ces remarques donc pour script définitif on a :
Code PHP:
void main ()
{
 
//si tu fais ca par dialogue
 
object oPC GetPCSpeaker();
 
object oNPC OBJECT_SELF;
 
object oItem GetObjectPossessedBy(oPC"tag_item");
 
 if(
oItem == OBJECT_INVALID)
 {
  
CreateItemOnObject("resref_de_item"oPC);
 }
 else
 {
  
ActionSpeakString("Tu as l'objet");
 }

Ca devrait être bon là, car c'est pas le tag mais le resref de l'item dans le CreateItemOnObject, n'est ce pas ?

PS : Dans le Lexicon, on a ça :
Citation:
Code PHP:
object CreateItemOnObject(
    
string sItemTemplate,
    
object oTarget OBJECT_SELF,
    
int nStackSize 1
); 
Parameters

sItemTemplate
The blueprint ResRef string of the item to be created or tag.

oTarget
The inventory where you want the item created. (Default: OBJECT_SELF)

nStackSize
The number of items to be created. (Default: 1)
Apparement c'est le resref ou le tag, non ?
Lien direct vers le message - Vieux
The_Hyena
Roi
 
il y a une erreur, a la sixième ligne :

ERREUR : PARSING VARIABLE LIST
Lien direct vers le message - Vieux
Avatar de aldech
aldech
Dauphin
 
Avatar de aldech
 
Post
C'est normal car c'est pas :

GetObjectPossessedBy

mais

GetItemPossessedBy
Lien direct vers le message - Vieux
Avatar de -NoTra-
-NoTra-
Roi
 
Avatar de -NoTra-
 
MDR
Désolé pour la petite erreur, dû à un manque d'attention !
Lien direct vers le message - Vieux
Avatar de Prince Nexus
Prince Nexus
Roi
 
Avatar de Prince Nexus
 
Citation:
Provient du message de Aerandir


PS : Dans le Lexicon, on a ça :


Apparement c'est le resref ou le tag, non ?
Oui enfin non. Le resref sert pour les objets de la palette et le tag pour les objets crees au sein du module. Ici, il ne s'agit pas de deposseder le module pour donner l'objet au PC, mais bien de creer l'objet dans l'inventaire du joueur.

Enfin, je conseille tres vivement la lecture de tous les tutoriaux a hyena, ainsi qu'aux scripteurs debutants en general, ils te permettront de te depatouiller et d'aller ensuite plus vite dans la creation de ton module. Enfin, de nombreux scripts ont deja ete rediges, rien que dans la section [persistant], il y a de quoi faire un module.
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Script
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Neverwinter Nights RSS
  • Aucune vidéo pour le moment...
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 11h01.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite