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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Monstre multiplié

Par Blam le 29/11/2002 à 16:40:05 (#2673269)

Voila un autre challenge ou nous patinons.
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)

Moi je verrais ça comme ça :
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)

Je pense que le OnDamaged devrait aller.

Par eMRaistlin le 29/11/2002 à 17:46:47 (#2673790)

Et je pense que c'est une excellente idee ^^

vu, la démarche

Par Blam le 29/11/2002 à 20:40:30 (#2675081)

On s'y attelle de suite :)
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)

Mastokk récupérator! :D

Par eMRaistlin le 30/11/2002 à 10:43:32 (#2677888)

http://www.gppaustin.com/images/SPAM/Image33_small.gif

Par Iridian le 30/11/2002 à 11:56:08 (#2678326)

Trop fort la boite de conserve lol

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)

Et j'espère que vous en souffrirez/profiterez :)

imaginez une caverne qui se rempli de monstre au fur et a mesure que l'on tape !!! (pas des gros, hein !)

je prefere les petits pains

Par Ronce-iris le 30/11/2002 à 13:49:31 (#2679224)

:)

Par coolstar le 30/11/2002 à 14:30:58 (#2679495)

Oups! ne dire que des trucs utiles... :D

Marche pas bien

Par Blam le 30/11/2002 à 15:16:22 (#2679755)

J'importe le .erf
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)

Ca serait sympa de mettre en ligne qu'on puisse en profiter aussi ;)

Jaha Effect :D

Hé ! Ho! Hein ! Bon! 2 mn svp :)

Par Blam le 30/11/2002 à 15:46:16 (#2679927)

Mais je vais le mettre en ligne, attends que ce soit complètement au point
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)

Héhéhéhé j'adore ce genre de piège :)

Par eMRaistlin le 30/11/2002 à 15:50:57 (#2679955)

OnDamaged des gob spawnes:


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)

Fondons la Ligue des Affreux Maitres Etanges et Sadiques
L.A.M.E.S

eMRaistlin

Par Blam le 30/11/2002 à 16:06:21 (#2680046)

ERREUR : UNDEFINED IDENTIFIER (Createobject)

donc pas compilé

pas compris pourquoi d'ailleurs !

Par Jaha Effect le 30/11/2002 à 16:17:21 (#2680098)

C'est parce que c'est CreateObject et pas Createobject ...
Juste une question de majuscule a Oject

Remplacer dans le scripte du gob originel

Createobject(OBJECT_TYPE_CREATURE,"resrefGobSpawn",GetLocation(OBJECT_SELF),FALSE);


par
CreateObject(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)

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)

:)

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)

C'est parce que comme le gob originel n'est pas indestructible, son corps disparait au bout d'un certain temps, et visiblement le programme considère que OBJECT_INVALID a plus de 0 point de vie (sic :mdr: ).

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)

un éboulement qui n'est vraiment pas de chance :)

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