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 18:42:13
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 |
AZAZEL11 Seigneur Messages: 156 |
Rebonjour tout le monde, je reviens encore vous embêter . Comme il n'y avait aucun modèles ou topic qui pouvaient m'aider, j'ai tant bien que mal essayé de construire mon propre script.
Résultat? La catastrophe!!! Bien en fait j'ai jamais réussit à compiler ce script. Le but c'est cela se passe dans un cimetierre et je veux des rencontres de mort vivant que la nuit. Dites moi si ce script peut faire l'affaire. Donc le script pour les rencontres seulement de nuit: NWScript :
void main() { object oPC = GetEnteringObject(); // si l'entrant est un joueur if (GetIsPC(oPC)) { if (GetIsNight() == TRUE || GetIsDusk() == TRUE) { // activation de la rencontre SetEncounterActive(TRUE); } else { SetEncounterActive(FALSE); } } } Mais je voulais aussi faire en sorte que si les morts vivant sont spawnés mais non tués à l'aube, qu'il se mettent à bruler (vfx_inferno) avec des dégats a répétition. Le meilleur des cas est que je voulais mettre ce script dans le onuserdefined de la zone. C'Est bien le meilleur moyen??? Le script pour que les morts vivant brulent au soleil: NWScript : void main() { object oTarget = GetIsEncounterCreature(CLASS_TYPE_UNDEAD); object oArea = GetArea(OBJECT_SELF); // si c'est le jour ou l'aube { if (GetIsDay() == TRUE || GetIsDawn() == TRUE) { SetSkyBox(SKYBOX_GRASS_CLEAR); break; } if (GetIsEncounterCreature()==TRUE) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(50,DAMAGE_TYPE_DIVINE,DAMAGE_POWER_NORMAL),oTarget); EffectVisualEffect(VFX_DUR_INFERNO,TRUE); DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(50,DAMAGE_TYPE_DIVINE,DAMAGE_POWER_NORMAL), oTarget)); DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(50,DAMAGE_TYPE_DIVINE,DAMAGE_POWER_NORMAL), oTarget)); DelayCommand(7.0, ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(50,DAMAGE_TYPE_DIVINE,DAMAGE_POWER_NORMAL), oTarget)); DelayCommand(9.0, ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(50,DAMAGE_TYPE_DIVINE,DAMAGE_POWER_NORMAL), oTarget)); } } } _________________ L'imagination est plus importante que le savoir. (Albert Einstein) |
Revenir en haut | |
Harmelyo Chevalier Messages: 84 |
bon pour le deuxième script, il y a plusieurs points qui me chagrine et qui pourrait expliquer les soucis dans l'écxécution:
(Je retouche le code de manière à le faire fonctionner comme élément du onperceived) Le break qui se promène, il va mettre un terme à ton code les } me semble un peu bancal. Il manque un oTarget dans le GetIsEncounterCreature(*ici*) Il manque un ApplyEffectToObject pour l'effet visuel (je crois), j'applique une durée de 9 seconde etant la durée de ton plus gros delay. le GetIsEncounterCreature demande une creature en paramètre pas une constante. il manquait un paramètre dans le SetSkyBox(SKYBOX_GRASS_CLEAR, *ici*), je pense que le setskybox pourrait être coller dans un autre bout de code si ce n'est pas paramétrable directement dans l'éditeur Je vais essayer de corriger sa, je ne promet pas des miracles. Le script pour que les morts vivant brulent au soleil: NWScript :
void main() { object oTarget = OBJECT_SELF; object oArea = GetArea(OBJECT_SELF); if (GetIsDay() == TRUE || GetIsDawn() == TRUE) { // Cela ne me semble plus une bonne idee de mettre sa ici SetSkyBox(SKYBOX_GRASS_CLEAR,oArea); if (GetIsEncounterCreature(oTarget)==TRUE) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(50,DAMAGE_TYPE_DIVINE,DAMAGE_POWER_NORMAL),oTarget); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectVisualEffect(VFX_DUR_INFERNO,TRUE),oTarget,9.0f); DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(50,DAMAGE_TYPE_DIVINE,DAMAGE_POWER_NORMAL), oTarget)); DelayCommand(5.0, ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(50,DAMAGE_TYPE_DIVINE,DAMAGE_POWER_NORMAL), oTarget)); DelayCommand(7.0, ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(50,DAMAGE_TYPE_DIVINE,DAMAGE_POWER_NORMAL), oTarget)); DelayCommand(9.0, ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(50,DAMAGE_TYPE_DIVINE,DAMAGE_POWER_NORMAL), oTarget)); } } } A présent je pense que cela devrait fonctionner toutefois le soucis est d'exécuter le script dans une boucle capable de selectionner toute les créatures. sinon ce que je pense plus efficace est de mettre ce script dans le onperceived(enfin l'action declencher à la vue d'une creature) de tes morts vivants de manière à ce que le test soit lancer correctement à chaque fois qu'elles aperçoivent une créature (peut être qu'un pj suffira) de cette manière tu pourras te contenter d'un OBJECT_SELF pour oTarget et tu évitera de te prendre la tête sur des boucles à gogo. J'espère avoir aider et bonne continuation! |
Revenir en haut | |
AZAZEL11 Seigneur Messages: 156 |
wow merci^^ et quel service rapide, je test le tout et j'édite pour le résultat
merci encore, ça parait que je commence à m'initier aux scripts??? lol _________________ L'imagination est plus importante que le savoir. (Albert Einstein) |
Revenir en haut | |
Harmelyo Chevalier Messages: 84 |
De rien , juste un conseil si quand tu script tu as accès à internet, ouvre toujours une page du lexicon. C'est bête à dire mais le lexicon est un soutien très efficace, il te donne la plupart du temps des exemples ou au minimum les appels des fonctions avec ce qu'il faut lui passer en paramètre.
|
Revenir en haut | |
AZAZEL11 Seigneur Messages: 156 |
je dois etre aveugle....je n'ai pas trouvé l'endroit ou aller voir le lexicon. Quelqu'un d'assez aimable peut il me donner le lien svp?
_________________ L'imagination est plus importante que le savoir. (Albert Einstein) |
Revenir en haut | |
Harmelyo Chevalier Messages: 84 |
|
Revenir en haut | |
Yan the salor Seigneur Messages: 151 |
s
|
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