Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrĂ´le

Recherche | Retour aux forums

JOL Archives

Les événement NWN

Par Prophetia Astrae le 1/2/2003 Ă  23:35:34 (#3151443)

Bonsoi tout le monde,

Voila, je m'arrache les cheveux sur un script depuis ce midi, il semble etre bon, compile sans probleme, mais ça fonctionne pas....

J'ai un pnj qui est tout tranquil sans armes à la main, normal il est commerçant et avec une arme à la main, il risque de faire fuir les client, mais il posséde deux épées longues dans son inventaire, et j'aimerais qu'il équipe automatiquement ses deux épées quand il est attaqué.

J'ai mis mon Script dans le onPhysicalAttacked, mais la je suis pas du tout certaine, que ce soit le bon event.....

Je vous laisse mon script au passage des fois que ce soit lui qui bug...

void main()
{
/************************************************/
/* Dclaration des variables */
/************************************************/
object oAttacker;
object oItem;

oAttacker = GetLastAttacker();// recupere le dernier attaquant
//on opere que si l'atanquant est un objet valid et un pc
if(GetIsObjectValid(oAttacker) && GetIsPC(oAttacker)){
oItem = GetFirstItemInInventory();
while(oItem != OBJECT_INVALID){
if((GetItemInSlot(INVENTORY_SLOT_ARMS) != OBJECT_INVALID) &&
(GetItemInSlot(INVENTORY_SLOT_CHEST) != OBJECT_INVALID)){
return;//les deux armes sont deja equipee, on sort de la fonction
}else if(GetItemInSlot(INVENTORY_SLOT_ARMS) != OBJECT_INVALID){
if(GetBaseItemType(oItem) == BASE_ITEM_LONGSWORD){
ActionEquipItem(oItem, INVENTORY_SLOT_CHEST);
return;//la deuxieme arme etant equipee, sort de la fonction
}
}else{
if(GetBaseItemType(oItem) == BASE_ITEM_LONGSWORD){
ActionEquipItem(oItem, INVENTORY_SLOT_ARMS);
}
}
oItem = GetNextItemInInventory();
}
}
}


Ben si vous avez une petite idée....

Sinon, vous savez ou je pourrais avoir une description de chacun des événement de NWN? J'arrive pas à trouver ça :(

Merci d'avance

Prophetia

Par JedaĂŻ le 2/2/2003 Ă  0:34:35 (#3151727)

En fait j'ai l'impression que ce script est très bien :) , le problème se trouve simplement là :


ActionEquipItem(oItem, INVENTORY_SLOT_CHEST);

et lĂ  :

ActionEquipItem(oItem, INVENTORY_SLOT_ARMS);

Ce ne sont pas les bons slots : INVENTORY_SLOT_CHEST est le slot de l'armure et INVENTORY_SLOT_ARMS est le slot des gantelets ou des bracelets.
Les bons slots pour les armes sont : INVENTORY_SLOT_LEFTHAND et INVENTORY_SLOT_RIGHTHAND. :p

Sinon j'utilise plutĂ´t GetIsObjectValid() Ă  la place de != OBJECT_INVALID, mais je ne crois pas que ce soit important.

PS : Bien sûr il faut modifier les slots dans tout le script. ;)

[EDIT] PPS : Théoriquement c'est le bon event, le Lexicon en dit qu'il est lancé une seule fois, au début du combat.

Par eMRaistlin le 2/2/2003 Ă  1:24:36 (#3152006)

A noter que nwn a aussi une IA qui se charge d'equipper l'item qui semble le plus interressant dans la fonction DetermineCombatRound() et consorts..

Par Jaha Effect le 2/2/2003 Ă  2:33:08 (#3152272)

Vi mais faut créer un guerrier ou autre classe et pas un commoner :)
Par contre les trois quart du temps les PNJ pensent bien a équiper la première arme mais pas la deuxième.

Jaha Effect :D

Par Prophetia Astrae le 2/2/2003 Ă  2:54:27 (#3152329)

Oki merci, c'est sur que les armes à la place de l'armure ou des gants, ça peut pas aller :)

Merci bcp :)

Prophetia

Par Prophetia Astrae le 2/2/2003 Ă  13:45:45 (#3154114)

Merci tout plein, ça marche, sauf que j'ai changé le script, donc maintenant, quand l'ataquant est mort, le pnj rengaine ses armes :)

Sinon, plutot que utilisé le onPhysicalAttacked, j'ai utilisé le onUserDefinedEvent appelé dans le onCombatRoundEnd, ce qui donne un effet ecore mieu, le pnjs Sort d'abord une premiere arme, puis la seconde un peu plus tard ;)

En tout cas merci de votre aide ;)

Prophetia

Par ruru666 le 7/2/2003 Ă  14:13:22 (#3189992)

ou pe t on trouver ton script il m interesse bcp :)

Re: Les événement NWN

Par Gadjio le 13/2/2003 Ă  16:51:22 (#3231424)

Provient du message de Prophetia Astrae
Sinon, vous savez ou je pourrais avoir une description de chacun des événement de NWN? J'arrive pas à trouver ça :(


Hop : http://vnfiles.ign.com/nwn/other/Gazzar08NWN_Script_Events_Ref.pdf
;)

Par Prophetia Astrae le 13/2/2003 Ă  16:59:23 (#3231484)

le meme traduit en français et c'est parfait :p

Merci Gadjio

:doute: Gadjio..... est ce bien le meme selenite qui précéda Alanis à la baronie de Lighthaven sur Feyd?

Par Gadjio le 13/2/2003 Ă  17:21:40 (#3231619)

Arf, il est en anglais, j'avais mĂŞme pas fait gaffe. ;) Bon, c'est pas si dur Ă  traduire, tout de mĂŞme :p
S'il y a des trucs pas clairs, je pourrai faire la VF pour le forum (mais je refais pas un pdf :p).

Mmh, moi, Baron ? Vous devez faire erreur, cher professeur Weaver (oups trahi :D).

Par Rand Corwinson le 13/2/2003 Ă  18:01:17 (#3231885)

Moi ça m'intéresse grandement cette traduction !! En effet, j'ai lu la plupart des tutoriels dispos sur le forum et je comprends sans aucun pb les manip :). Le pb est que je ne connais pas la correspondance des évènements et scripter est dès lors quasimment impossible parce que choisir un évènment au hasard, ça le fait pas :mdr: . Donc, si tu fais la traduction, ça m'aidera bcp (encore que je suis moins une quiche en anglais qu'en script dc je pourrai me débrouiller si tu ne le fais pas ;) )

Par Reyan le 13/2/2003 Ă  18:34:16 (#3232117)

tiens, un palouf :)
bon, alors pas la peine de les traduire, ca a déjà été fait, je le sais, je l'ai lu pdt les vacances lors de mon exile loin du pici ^_^
je remet la main dessus et j'edit ;) (2 sec quoi :D )
allez, il est dans le persistant sur les tut :)
c'est la fantastique traduction des tut bioware par Théranthil :)
le liens vers lĂ  oĂą qu'il y a tout :
fantastique tutorial, celui qu'il faut faire si on n'en fait qu'1

c'est Ă  la fin de la page et sur la page suivante :)
mais le reste est très super interressant aussi :lit:

et le lien vers chez Kemay où qu'il y a tout ca et même plus sous format word ^_^ je recommande les format word, très pratique (maintenant que je l'ai retrouvé il ne me quitte plus :rasta: )

chez kemay

Par Rand Corwinson le 13/2/2003 Ă  19:12:06 (#3232348)

Merci merci merci merci :merci: :merci: :merci: :merci:
Je vais pouvoir enfin scripter grâce à toi et aussi grâce au fabuleux boulot de Théranthil !!

Par daemogorgon le 13/2/2003 Ă  22:54:17 (#3233757)

Eh Gadjio, il faut quelques secondes pour créer un PDf de nos jours, alors, les traductions (pour les gens comme nous, qui sont des quiches de chez quiches) en bon françois, ça ne peut que nous interresser.
Moi, ça fait quelques mois que je me tortille avec des explications sur des fonctions en anglois, et là, j'avoue, que la fille Jeanne, si j'avais su, je serais allé l'aider pour bouter ces anglois loin d'ici......( et maintenant, on aurait Aurora tout en françois sans problème....)

(PS : pour les pdf, passes par MP)

JOL Archives 1.0.1
@ JOL / JeuxOnLine