Script

Répondre
Partager Rechercher
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.
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
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");
 }

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 ?
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 !)
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
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 ?
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 ?
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.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés