Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Monstre multiplié
Monstre multiplié
Par Blam le 29/11/2002 Ã 16:40:05 (#2673269)
Le but est de créer un monstre (pour l'exemple un gobelin) qui chaque fois qu'il est touché se multiplie (apparait a coté de lui un autre gobelin qui a les memes propriétés)
De ce fait, toucher le gobelin original, ou un de ses doubles, en fait apparaitre un nouveau.
La deuxième partie est moins simple, comment faire pour que tous les dégats faits sur tous les gobelins ne soient déduits, que du gobelin d'origine.
Une idée sur le principe ? On a du mal a synthétiser.
M'ci
Par Iridian le 29/11/2002 Ã 16:57:29 (#2673421)
Un gob **origine** avec un tag bien a lui
Un gob **copie** avec un tag diffèrent
Dans le script "touché" du gob origine, tu me le spawn d'x copie
Dans le script "touché" du gob copie, tu blesse le gob origine le plus proche.
*se souvient pu du nom exact de l'évènement "touché"*
Par Jedaï le 29/11/2002 à 17:11:52 (#2673539)
Par eMRaistlin le 29/11/2002 Ã 17:46:47 (#2673790)
vu, la démarche
Par Blam le 29/11/2002 Ã 20:40:30 (#2675081)
merci a vous
Pensez un peu a tous ces joueurs qui vont nous bénir !!!
;)
Re: vu, la démarche
Par Mastokk le 29/11/2002 Ã 22:25:39 (#2675746)
Provient du message de Blam
On s'y attelle de suite :)
merci a vous
Pensez un peu a tous ces joueurs qui vont nous bénir !!!
;)
vi pensez à eux :D
Par coolstar le 30/11/2002 Ã 9:36:47 (#2677690)
Par eMRaistlin le 30/11/2002 Ã 10:43:32 (#2677888)
Par Iridian le 30/11/2002 Ã 11:56:08 (#2678326)
Bon, essayons de remettre le sujet d'aplomb.
une fois le script réalisé Blam, tu nous en fera profité ?
Ben, bien sur
Par Blam le 30/11/2002 Ã 12:52:57 (#2678819)
imaginez une caverne qui se rempli de monstre au fur et a mesure que l'on tape !!! (pas des gros, hein !)
Par coolstar le 30/11/2002 Ã 14:30:58 (#2679495)
Marche pas bien
Par Blam le 30/11/2002 Ã 15:16:22 (#2679755)
je place le gobelin au tag gobspécial (je mets 60pv pour mon test)
je sauvegarde.
Je joue, je tape =rien le gob riposte, je retape jusqu'Ã sa mort.
qu'est je oublié Kemay ?
j'ai fait l'inverse avec le gob au tag gobspawn (marche pas mais la ca me semble normal :) ).
(normal que le ondamaged soit d'origine ?)
Heu....Ah oui :)
Merci :)
Par Jaha Effect le 30/11/2002 Ã 15:41:22 (#2679904)
Jaha Effect :D
Hé ! Ho! Hein ! Bon! 2 mn svp :)
Par Blam le 30/11/2002 Ã 15:46:16 (#2679927)
On y travaille
Lys
Kemay
Blam
et en plus je vais le mettre dans l'excellent module de.....Ben, toi Jaha :)
C'est la que je le teste dans ta salle une fois l'effondrement fini...
Rançon du succès :)
(je critique mais quand j'aime, j'aime !)
Par Jaha Effect le 30/11/2002 Ã 15:49:37 (#2679951)
Par eMRaistlin le 30/11/2002 Ã 15:50:57 (#2679955)
void main()
{
int nDamage = GetTotalDamageDealt();
object oGob = GetObjectByTag("GobOriginel");
effect eDamage = ExtraordinaryEffect(EffectDamage(nDamage));
ApplyEffectToObject(DURATION_TYPE_INSTANT,eDamage,oGob);
if (GetCurrentHitPoints(oGob)0)
{
Createobject(OBJECT_TYPE_CREATURE,"resrefGobSpawn",GetLocation(OBJECT_SELF),FALSE);
}
}
ca devrait marcher... enfin, je suppose... ^^;
[edit = aurteaugraphe ^^;]
Ben tu vois qu'on peut se faire plaisir
Par Blam le 30/11/2002 Ã 15:53:07 (#2679972)
L.A.M.E.S
eMRaistlin
Par Blam le 30/11/2002 Ã 16:06:21 (#2680046)
donc pas compilé
pas compris pourquoi d'ailleurs !
Par Jaha Effect le 30/11/2002 Ã 16:17:21 (#2680098)
Juste une question de majuscule a Oject
Remplacer dans le scripte du gob originelCreateobject(OBJECT_TYPE_CREATURE,"resrefGobSpawn",GetLocation(OBJECT_SELF),FALSE);
parCreateObject(OBJECT_TYPE_CREATURE,"resrefGobSpawn",GetLocation(OBJECT_SELF),FALSE);
Et ça marche génial :)
Jaha Effect :D
C'est genial !!!
Par Blam le 30/11/2002 Ã 16:31:14 (#2680189)
Remerciement a....Tous
Jaha Effect, je le publie, ou tu le rajoute a ton éboulement, pour faire marrer les testeurs ?
(mets 60 pv au gob d'origine, pour que ce soit drôle)
Encore merci a tous (inversement proportionnel aux râles des joueurs)
:)
Re: C'est genial !!!
Par Jaha Effect le 30/11/2002 Ã 16:39:49 (#2680234)
Provient du message de Blam
J'avais même pas vu pour le O (quand je vous dis que je suis une burne en script)
Remerciement a....Tous
Jaha Effect, je le publie, ou tu le rajoute a ton éboulement, pour faire marrer les testeurs ?
(mets 60 pv au gob d'origine, pour que ce soit drôle)
Encore merci a tous (inversement proportionnel aux râles des joueurs)
:)
Bha c'est ton travail et celui de ceux qui y ont participé alors je préfère que tu le mette en ligne toi même, par contre tu peux utiliser ma petite demo sans prob ;)
Par contre j'ai remarqué un truc étrange à l'utilisation...
On prends comme exemple en combat, 1 gob originel et 3 spawns, à la mort du gob originel, il suffit d'un coup sur le premier et le deuxième gob spawn pour les faire disparaitre, par contre le dernier spawn agis comme un gob normal et reste jusqu'à ça mort.
Ca me pose pas de prob particulier mais bon :)
Jaha Effect :D
Par Jedaï le 30/11/2002 à 16:57:11 (#2680326)
Suffit de rajouter un test :
void main()
{
int nDamage = GetTotalDamageDealt();
object oGob = GetObjectByTag("GobOriginel");
effect eDamage = ExtraordinaryEffect(EffectDamage(nDamage));
ApplyEffectToObject(DURATION_TYPE_INSTANT,eDamage,oGob);
if (GetCurrentHitPoints(oGob)<0 || !GetIsObjectValid(oGob))
{
DestroyObject(OBJECT_SELF);
}
}
Voila
Par Blam le 30/11/2002 Ã 17:05:54 (#2680369)
Merci a Jaha Effect, eMRaistlin, Lys, Kemay.
Viens de voir une modif de Jedaï, pas eu le temps de la faire, mais ca viendra, donc dans les remerciement je rajoute:
Jedaï !
tadaaaaaaaaa !
Si il y a qqn pour le mettre en persistant, pour l'éboulement au moins.
JOL Archives 1.0.1
@ JOL / JeuxOnLine