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 21:01:36
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 |
Damonya Novice Messages: 12 Localisation: Quelques part dans ces lieux là |
Voila j'ai un problème j'ai créer dans un script une copie conforme de mon joueur (c'est pour un système de lootable corpse pour PC), mais j'ai un problème il me devient impossible de le détruire par la suite.
Il parait que l'on peut pas se servir du tag proprement dit de la copie pour la détruire. Je veux pouvoir le détruire par distance de plus. J'ai d'abord essayé avec Set/GetlocalObject mais il me faut un système qui marche avec la bdd, hors Set/GetcampaignObject n'existe pas. Bon mais je pense avoir trouvé mieux. En fait il faut que j'explique un truc ou deux avant. Dans ce systéme au moment de la mort du joueur je créé un objet invisible (utilisable) que l'on va nommer cadavre (ca me sert pour stoquer l'inventaire du joueur et le reprendre par la suite), je créé aussi une copie conforme du joueur que l'on va nommer corps. On connait le tag de mon pseudo-cadavre (l'objet invisible). On le cherches par GetObjectByTag() (très rapide) et pn cherches le cadavre du PJ par GetNearestObjectToLocation() sur la position de l'objet invisible et pour finir on vérifies qu'il s'agit bien d'un cadavre, ou un truc comme ça. le Tag du coprs (la copie) va me servir tout de même pour cette boucle Code : object oPC = Le Joueur; object oCorps = L'inventaire invisible; object oCopy = GetNearestObject( OBJECT_TYPE_CREATURE, oCorps, 1); string sName = GetName( oPC); int i; while (GetTag(oCopy) != sName) { i++; oCopy = GetNearestObject( OBJECT_TYPE_CREATURE, oCorps, i); } Bien j'avoue j'ai du mal avec les boucles. Voila enfin le script final qui ne marche pas bien evdemment. j'ai un gros TOO MANY INSTRUCTION qui m'arrive dans la face au moment de jouer. Code : void main() { SpawnScriptDebugger() ; object oPC = GetPCSpeaker() ; // Sets the object oPC as the PC speaking to the corpse string sName = GetName(oPC); string sTable = "LOOT_" + sName + "_PJ_" + GetPCPlayerName(oPC); location lLoc = GetCampaignLocation( sTable, "POSITION_CADAVRE"); object oCadavre = GetNearestObjectToLocation(OBJECT_TYPE_PLACEABLE, lLoc, 1); object oTag = GetObjectByTag("CADAVRE_" + sName); object oItem = GetFirstItemInInventory(OBJECT_SELF) ; // Gets the first item in the corpse's inventory int iLvl = GetHitDice(oPC); while (GetIsObjectValid(oItem)) // As long as it finds item in inventory { AssignCommand(OBJECT_SELF, ActionGiveItem(oItem, oPC)) ; // The corpse puts the items into the PC's inventory oItem = GetNextItemInInventory(OBJECT_SELF) ; // Checks for other items } int nGiveBack = 50 * iLvl ; // calcul 50 fois Lvl GiveXPToCreature(oPC, nGiveBack) ; // Donne Xp au PC if (oTag==oCadavre)//si l'object proche de la location de la mort est le bon objet invisible { object oCopy = GetNearestObject( OBJECT_TYPE_CREATURE, oTag, 1); int i; while (GetTag(oCopy) != sName) { i++; oCopy = GetNearestObject( OBJECT_TYPE_CREATURE, oTag, i); } DestroyObject(oTag,1.0f) ; // Detruit le cadavre apres 1 sec DestroyObject(oCopy,1.0f); //detruit le corps apres 1 sec } } Ce script se place en action consequente dans le dialogue avec l'objet invisible. Ca permet deux choses. De donner au joueur l'inventaire contenu dans cet objet invisible et aussi et là j'aimerais bien que ça marche de détruire l'objet invisible et le corps. Pliiiiiiize j'ai vraiment besoin d'aide car là je cale. 1 mois que je suis sur ce système de lootable corpse pour PJ via BDD. je suis presque à la fin, mais je bloque pour détruire le cadavre et le coprs, alors que ca devrait être tout con. Merci. Si vous avez des questions ou des points sont trop obscures pour pouvoir m'aider, je vous répondrais dans les plus brefs délais _________________ Et bla et bla et bla. J'aime le blabla et surtout avec beaucoup de blabla. Dès le matin un p'tit blabla et ça va beaucoup mieux. Message de la comunauté des blablavores. |
Revenir en haut | |
Damonya Novice Messages: 12 Localisation: Quelques part dans ces lieux là |
Bopn laissez tombé les scripts j'ai finit par trouver une solution toute conne.
SetIsDestoyable(True,False,False); fallait le savoir aussi pfffff _________________ Et bla et bla et bla. J'aime le blabla et surtout avec beaucoup de blabla. Dès le matin un p'tit blabla et ça va beaucoup mieux. Message de la comunauté des blablavores. |
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