La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
FAQ
Rechercher
Liste des Membres
Groupes d'utilisateurs
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
La date/heure actuelle est 23/11/2024 13:37:27
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
P.Patoche Chevalier Messages: 70 Localisation: France 77 |
Bonjour a toutes et a tous, voilà je cherche un moyen de retirer 2 items bien spécifiques ( item qui on étés retirer du module) sur les joueurs quand il se connecte, j'ai chercher ici mais je n'es rien trouver à part tout leur supprimer ce qui n'est pas le but rechercher, et une 3° item qui se trouve aussi dans l'inventaire des joueurs mais je voudrais qu'il leur en reste une seule et pas plusieurs, si une personne dévouer peux m'aider, je lui dirais un grand merci.
Patoche. |
Revenir en haut | |
edisnotdead Grand Chevalier Messages: 132 |
regarde a ce lien la fonction est faite pour ca
http://www.deepblack.be/forum/viewtopic.php?t=668 |
Revenir en haut | |
P.Patoche Chevalier Messages: 70 Localisation: France 77 |
Merci pour ta réponce, mais apres essais, le script me pose un brobleme, j'ai pris des items au azard dans le jeu et voici le résulta.
NWScript : //:///////////////////////// //////////////////// //:: Created By: edisnotdead //:///////////////////////// //////////////////// void banitem(string tagitemban,string resrefitemchange) { object oPC = GetModuleItemAcquiredBy(); object oItem = GetModuleItemAcquired(); if (GetTag(oItem) == tagitemban) { if(GetIsObjectValid(oItem)) { DestroyObject(oItem); CreateItemOnObject(resrefitemchange, oPC); } } } //exemple toujours dans le onactiveitem void main() { banitem("X0_IT_MBELT002","ceinturedeslio"); banitem("nw_it_mbelt014","RIEN"); banitem("nw_it_mbelt013","RIEN"); banitem("nw_it_mbelt012","RIEN"); banitem("nw_it_mbelt016","RIEN"); banitem("nw_it_mbelt017","RIEN"); //ect...... } |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Tiens voila :
NWScript :
void main() { object oPC = GetEnteringObject(); object oItem = GetFirstItemInInventory(); while(GetIsObjectValid(oItem)) { string sTag = GetTag(oItem); if(sTag == "TAG_DE_TON_OBJET") { DestroyObject(oItem); } oItem = GetNextItemInInventory(); } CreateItemOnObject("ref_de_ton_objet", oPC,1); } Ici on regarde le joueur entrant (zone, ou mod), on regarde tous ses items, on détruit les items de tag "TAG_DE_TON_OBJET", et ensuite, on crée un item unique de ref "ref_de_ton_obet". Voila _________________ [http] |
Revenir en haut | |
P.Patoche Chevalier Messages: 70 Localisation: France 77 |
Humm ok merci , donc si j'ai bien compris 2~3 petites chose ici, si je fais sa, sa doit marcher?
NWScript :
void main() { object oPC = GetEnteringObject(); object oItem = GetFirstItemInInventory(); while(GetIsObjectValid(oItem)) { string sTag = GetTag(oItem); if(sTag == "TAG_DE_TON_OBJET_1"|| sTag == "TAG_DE_TON_OBJET_2"|| sTag == "TAG_DE_TON_OBJET_3") { DestroyObject(oItem); } oItem = GetNextItemInInventory(); } CreateItemOnObject("ref_de_ton_objet", oPC,1); } Edit; bas non sa marche pas, sa crée bien l'item voulu, mais sa retire rien (les tag sont bon j'ai vérifier)et l'item est recrée a chaque fois que l'ont ce reconnecte. Je me suis peut-être mal exprimer sur ce que je cherche, donc je recommence, Je supprime définitivement ;(Ref "ITEM_" pour exemple) ITEM_1, ITEM_2, ITEM_3, ITEM_4, ITEM_5 Ensuite, ci je possède une seul ITEM_6 je fais rien, mais si je possède plusieurs ITEM_6 je retire le superflu pour en laisser qu'une seul. |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Hmm est ce que ton objet est enlevable? Ou est a quel niveau commence t-on dans ton serv (pour regler le problème des plusieurs fois)
NWScript :
void main() { object oPC = GetEnteringObject(); object oItem = GetFirstItemInInventory(oPC); while(GetIsObjectValid(oItem)) { string sTag = GetTag(oItem); if(sTag == "TAG_DE_TON_OBJET_1"|| sTag == "TAG_DE_TON_OBJET_2"|| sTag == "TAG_DE_TON_OBJET_3") { DestroyObject(oItem); } oItem = GetNextItemInInventory(oPC); } CreateItemOnObject("ref_de_ton_objet", oPC,1); } Celui marche. La simple et bonne raison que les autres scripts ne marcher pas, c'est a cause de cette foutu fonction GetNextItemInInventory (first aussi). J'oublie tout le temps de mettre le OBJECT Voila essaye avec ça, et si tu me dis qu'il faut supprimer tous les items commencant par le ref "item_" tu mets ça : NWScript : void main() { object oPC = GetEnteringObject(); object oItem = GetFirstItemInInventory(oPC); string sItem, sString; while(GetIsObjectValid(oItem)) { sItem = GetResRef(oItem); sString = GetStringLeft(sItem, 5); if(sString == "item_") { DestroyObject(oItem); } oItem = GetNextItemInInventory(oPC); } CreateItemOnObject("ref_de_ton_objet", oPC,1); } _________________ [http] |
Revenir en haut | |
P.Patoche Chevalier Messages: 70 Localisation: France 77 |
merci, mais non j'avais juste pris "item_" pour exemple les Tag son tous differant et oui elles sont dropable ces items.
Patoche. |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Le seul moyen alors de mettre en route se truc qu'une fois, c'est avec une Sauvegarde, enfin un GetCampaignInt. Tu peux pas donner 10 xp à tes personnages xD?
tiens : NWScript : void main() { object oPC = GetEnteringObject(); object oItem = GetFirstItemInInventory(oPC); while(GetIsObjectValid(oItem)&&GetCampaignInt("module", "retire", oPC)==0) { string sTag = GetTag(oItem); if(sTag == "TAG_DE_TON_OBJET_1"|| sTag == "TAG_DE_TON_OBJET_2"|| sTag == "TAG_DE_TON_OBJET_3") { DestroyObject(oItem); } oItem = GetNextItemInInventory(oPC); } CreateItemOnObject("ref_de_ton_objet", oPC,1); SetCampaignInt("module", "retire", 1, oPC); } _________________ [http] |
Revenir en haut | |
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
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