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:38:17
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 |
zogzog59 Grand Chevalier Messages: 123 |
zog zog à tous !
Je sais pas si c'est faisable mais je voudrai un script bloque les xp du joueurs si celui-ci detient dans son inventaire un objet precit ??? Ceci servirait a bloquer le pexage du jouer par exemple lol. si quelqu'un connais ce genre de script je suis preneur merci bcq !!! _________________ Les vaux module rp |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Bloquer je pense pas, car le seul moyen de bloquer l'xp c'est grâce au LevelUp des propriétés du mod, mais que quand on levelup.
En revanche enlevez l'exp en trop c'est possible (toutes les 6secondes). NWScript :
void main() { object oPC = GetFirstPC(); int iMaxXP = 5000; while(GetIsPC(oPC)) { int iXP = GetXP(oPC); if(iXP > iMaxXP) { GiveXPToCreature((iMaxXP-iXP), oPC); } oPC = GetNextPC(); } } Tu le mets dans le HB d'un placeable, ça devrait fonctionner... enfin je me rappel plus si il y a une fonction précise pour ENLEVER l'exp, car moi j'utilise un chiffre négatif, donc ça devrait fonction, dit moi si ça marche, sinon je te règle ça avec l'edit _________________ [http] |
Revenir en haut | |
zogzog59 Grand Chevalier Messages: 123 |
merci black Knight ton script ma me serir quand même même si c'est pas ce que je cherche !!!
mais le problème c'est que tu dis de mettre cela sur un placeable ?? le pj l'aura pas dans son inventaire comment faire pour que sa touche un pj precit ?? car un placeable se met sur la carte et non dans l'inventaire du pj ?? de plus ton script à une erreur voici la bonne version. NWScript : void main() { object oPC = GetFirstPC(); int iMaxXP = 5000; while(GetIsPC(oPC)) { int iXP = GetXP(oPC); if(iXP > iMaxXP) { GiveXPToCreature(oPC,(iMaxXP-iXP)); } oPC = GetNextPC(); } } _________________ Les vaux module rp |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Ha oui l'erreur, c'est habituelle chez moi, si je fais pas ça sur l'éditeur j'me gourre...
Heu oui effectivement, j'ai oublier de mettre l'item en condition xD NWScript :
void main() { object oPC = GetFirstPC(); int iMaxXP = 5000; while(GetIsPC(oPC)) { int iXP = GetXP(oPC); object oItem = GetFirstItemInInventory(oPC); while(GetIsObjectValid(oItem)) { if(GetTag(oItem) == "TonTag") { if(iXP > iMaxXP) { GiveXPToCreature(oPC,(iMaxXP-iXP)); } } oItem = GetNextItemInInventory(oPC); } oPC = GetNextPC(); } } Faut remplacer TonTag par le tag de l'item en question... Citation : mais le problème c'est que tu dis de mettre cela sur un placeable ?? le pj l'aura pas dans son inventaire comment faire pour que sa touche un pj precit ?? car un placeable se met sur la carte et non dans l'inventaire du pj ?? Se script analyse le joueur toutes les 6 secondes. Ils les analysent tous un par un, ici enfaite, on demande Si les joueurs on l'objet "TonTag" (en tag), alors on regarde si ils ont plus d'experience que iMaxXP. Si ils ont plus, on fait la soustraction pour enlever (donc plus petit chiffre devant, et grand chiffre derrière (donc XP-iMaxXP)), sinon on passe a l'autre joueur, et ainsi dessuite
Si tu veux envoyer d'autre chose, ou appliquer d'autre truc au joueur, tu mets tes fonctions ici : NWScript :
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. Voila, BK _________________ [http] |
Revenir en haut | |
zogzog59 Grand Chevalier Messages: 123 |
merci beaucoup a toi je comprends mieux !!!
au pasage cela va prendre beaucoup de ressources a scanner tous les jouerus tous les 6 secondes ? _________________ Les vaux module rp |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
normalement non, le script et petit, j'ai pire que toi t'inquiete po
Au pire tu mets une variable qui fait en sorte de lancer le script que quand elle est à zero : NWScript :
void main() { object oPC = GetFirstPC(); int iMaxXP = 5000; int iTime = GetLocalInt(OBJECT_SELF, "Times"); if(iTime == 10) { SetLocalInt(OBJECT_SELF, "Times", 0); while(GetIsPC(oPC)) { int iXP = GetXP(oPC); object oItem = GetFirstItemInInventory(oPC); while(GetIsObjectValid(oItem)) { if(GetTag(oItem) == "TonTag") { if(iXP > iMaxXP) { GiveXPToCreature(oPC,(iMaxXP-iXP)); } } oItem = GetNextItemInInventory(oPC); } oPC = GetNextPC(); } } else { SetLocalInt(OBJECT_SELF, "Times", iTime+1); } } Ici on demande à ce que iTime soit à 10, donc en gros on demande que toutes les 1 minutes on verifie (bein oui, le heartbeat se relance toutes les 6 secondes, donc on fait 6 * 10 = 60 secondes = 1 minute ) Voilou _________________ [http] |
Revenir en haut | |
AZAZEL11 Seigneur Messages: 156 |
BK ce ne serait pas mieux de mettre un script qui s'appele lui meme a tous les 120 secondes (un exemple) ?
tu vérifie si le joueur a son item dans le OnClientEnter, si oui tu fait exécuter le script en question qui s'éxécute lui meme par la suite. NWScript :
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. parait que c'est le meilleur pseudo/HeartBeat ^^ enfin c'est toi le pro après tout lol _________________ L'imagination est plus importante que le savoir. (Albert Einstein) |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
J'utilise rarement cette fonction et je vais te dire pourquoi :
Si tu oublie que tu as un script ou tu désigne oPC comme GetEnteringObject, ou GetLastUsedBy tu l'as dans le caca si je puis dire... Donc je pense plus trop à cette option Mais c'est vrai qu'elle aurait été mieux sur ce coup la, mais bon deux script contre un script + 3 lignes hein _________________ [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