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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

PNJ attaque un autre PNJ, et autres questions...

Par Morethil le 1/11/2002 à 1:42:34 (#2453470)

J'ai plain de petites questions a poser, sur des scriptes qui bloque partiellement, souvent parce que je ne sait pas comment l'ecrire.

D'abord j'aimerai qu'un PNJ attaque un autre PNJ suite au passage sur un trigger, pour ça j'ai mis cette ligne dans mon sripte :


DelayCommand (22.0f, AssignCommand (oAttacker, ActionAttack
(oGnome, bPassive)));


Je ne sait pas si ça marche, mais je doute. Avant ça j'avais essayé sans le bPassive, et le oAttacker restait tranquil.

( oui, - j'ai definit le int bPassive = FALSE; - avant, comme toutes les autres variables.)

Mon autre probleme c'est qu'une conversation entre PNJ n'est pas entendu a travers une porte, donc j'ai ajusté le volume en definissant la variable, pour eviter que ça reste sur le volume par defaut. Encore une fois, je ne sait pas si ça marchera.


int nTalkVolume = TALKVOLUME_SILENT_SHOUT;


Troisième probleme, je veux qu'un de mes PNJ soit assit par terre en permanance (sauf quand les PJ lui parle peut etre). Là je n'ai aucune idée. J'ai essayé de lui appliquer l'effect knocdown en DURATION_PERMANANT mais ca ne fonctionne pas. essayé de mettre ca sur un trigger actioné par un autre PNJ en DURATION_TEMPORARY, mais je ne sait pas comment ecrire le scripte correctement (dès que j'essaye d'assigner une durée ça ne compile plus).

Enfin, c'est liée, je voudrait avoir un PNJ couché ET Blessé à l'arrivé des PJ.
Je pense mettre le lanceur sur un trigger, ça m'evitera de toucher au OnSpawn de la créature (j'aime toucher les scriptes par defaut) mais 1) Je ne connait pas le nom de l'effet pour coucher le PNJ, 2) je ne sait pas comment l'appliquer. 3) J'ai taté pour essayer de blesser mon personnage, mais il me dit que je suis une quiche...

Voilà, donc si avez le temps de me donner un coup de main, je vous y invite :)

Merci d'avance ;)

Par Skanzo Sylan le 1/11/2002 à 3:49:27 (#2453817)

Je ne l'ai jamais utilisé mais essaie la fonction SetIsTemporaryEnemy. En toute logique, enfin la mienne :p, je penserais que cela suffirait à les faires combattre.

Pour ton bPassive, juste en passant, ne définit pô de variable, remplace directement ce bPassive par FALSE, ça t'économisera de la place et des neurones :)
(le bPassive est une variable interne à la fonction, utilisée probablement dans un include)


Pour le TALKVOLUME_SILENT_TALK, j'ai vraiment pô idée. Faudrait faire des tests pour voir comment réagit le jeu avec chaque type de dialogue mais... j'ai vraiment pô envie vu qu'il est tard :baille:


Couché, je crois pô que ton perso puisse mais assis par terre, vivi, ya moyen :)

Essaie ça dans le spawn du perso:

void main()
{
ClearAllActions();
PlayAnimation(ANIMATION_LOOPING_SIT_CROSS, 1.0, 1200.0);
}


Ya une option dans les conversations qui permet de lancer un script à la fin du dialogue, il suffit de cibler le même script pour que le PNJ se rassoit.


Comme d'habitude, je ne suis sûr de rien et donc il est fort possible que tout ceci ne te serve à rien, donc soit cool avec le advanced-quiche-skanzo ;)

Par Jedaï le 1/11/2002 à 11:27:20 (#2454701)

Les TALKVOLUME_SILENT_... ne te donneront rien, il s'agit de phrases qui ne seront entendues que par les NPCs, pas exactement ce que tu veux, non ?:rolleyes:
Utilise plutôt TALKVOLUME_SHOUT (ou correspondant, j'ai mauvaise mémoire :D ), tu entendra la conversation sur toute la carte...
Sinon tu peux simuler que seul ton perso derrière la porte entende la conversation avec FloatingTextOnCreature() (ou apparenté) et un test de distance par rapport à la porte. Tu fais une première phrase du style "Vous entendez une conversation derrière la porte..." et ensuite un truc du genre "Voix 1:..." "Voix 2:...."

Par Morethil le 1/11/2002 à 17:18:41 (#2456787)

Bon, je suis une quiche. Mon probleme d'attaque était un probleme de Tag.
Pour la conversation je suis passé en TOLKVOLUME_SHOUT Je testerai le floating text à l'occasion :)

Pour le mec assis ça marche dans la conversation avec les PJ, mais pas dans le onspawn. Bizare... Pourtant j'ai mis le même scripte :)
Pour les mecs couché je ne sait toujours pas. J'ai entendu parler d'orcs qui dorment, mais si c'est fait avec un effet de sommeil je ne pense pas que ça correspondra. J'ai essayé aussi les mecs mort, mais c'est trop radical :p Mon PNJ il veux plus parler apres... (jk)
Bref, si vous avez des indices, je suis preneur. J'ai trouvé (je pense) comment blesser un mec.

Merci pour le coup de main en tous cas.

JOL Archives 1.0.1
@ JOL / JeuxOnLine