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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

ouverture d'un cerceuil

Par Blam le 3/1/2003 à 15:42:32 (#2935815)

oui je sais, faut pas les ouvrir mais

{
object oSummonedDefender = CreateObject(OBJECT_TYPE_CREATURE, "NW_SKELWARR01", lSpawnPoint, FALSE);
}

j'arrive pas a faire arriver un warrior squelette pres de son waypoint !

et la ligne que j'ai posté m'a l'air bizarre.

Par coolstar le 3/1/2003 à 15:46:50 (#2935850)

Attention Blam! c le ResRef exclusivement qu'il faut pour 'Create'... et pourquoi déclarer 'CreateObject' comme Variable, là? ;)

Par eMRaistlin le 3/1/2003 à 15:53:11 (#2935904)

et pourquoi déclarer 'CreateObject' comme Variable, là?


pour pouvoir faire des AssignCommand ?? :)

avec ca peut etre ?

Par Blam le 3/1/2003 à 15:54:08 (#2935915)

void ActionCreate(string sCreature, location lLoc)
{
CreateObject(OBJECT_TYPE_CREATURE, sCreature, lLoc);
}
void main()
{
object oCreature = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC);
if (GetIsObjectValid(oCreature) == TRUE && GetDistanceToObject(oCreature) 90)
{
sCreature = "NW_SKELCHIEF";
}
location lLoc = GetLocation(OBJECT_SELF);
DelayCommand(0.3, ActionCreate(sCreature, lLoc));
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eMind, GetLocation(OBJECT_SELF));
SetPlotFlag(OBJECT_SELF, FALSE);
// DestroyObject(OBJECT_SELF, 0.5); sauf si je veux detruire le //cercueil
}
}


mais comment faire pour que ce script ne s'execute qu'une fois que ce soit dans le onOpen ou le OnDeath ?????????
héhéhé vais bien y arriver (en plus 10% d'etre un chef)

Par Jaha Effect le 3/1/2003 à 16:05:08 (#2936024)

Moi je fais ça par encounter autour du coffre que je crée inactif et je met ce scripte dans le OnOnpen du Sarcophage

#include "NW_O2_CONINCLUDE"

void main()

{
if (GetLocalInt(OBJECT_SELF,"NW_DO_ONCE") != 0)
{
return;
}
object oLastOpener = GetLastOpener();
SetEncounterActive (TRUE, GetObjectByTag ("Tagdela rencontre"));
GenerateLowTreasure(oLastOpener, OBJECT_SELF);
SetLocalInt(OBJECT_SELF,"NW_DO_ONCE",1);
ShoutDisturbed();
}


Les encounter c'est bon mangez en :)

Jaha Effect :D

Par coolstar le 3/1/2003 à 16:13:46 (#2936093)

[RemoveEffect]Rhoô le lourd[/RemoveEffect] :D


Heeuuu... Je vois pas en quoi un 'AssignCommand' sur un 'CreateObject' peu avoir une utilité eMR?? :doute:

Sinon Blam, ce n'est pas pour rien que je te fais remarquer que les 'Create' ne sont gérés qu'avec les 'ResRef'... ton sCreature (le 'sTemplate' à l'origine!) est en MAJUSCULE là, ce qui ne devrait nullement être possible en ce cas... ;)

...

Ca se mange a quel sauce ?

Par Blam le 3/1/2003 à 16:14:22 (#2936103)

Interessant, j'essaie tout de suite !!!!



Coolstar le script plus haut marche tres bien mais comment puisje faire pour qu'il ne s'execute qu'une fois a l'ouverture ????

Par coolstar le 3/1/2003 à 16:22:04 (#2936170)

Par une Viarable (t'es pas sensé détruire l'objet ensuite?? ha non, c en option!)... :D

Par eMRaistlin le 3/1/2003 à 16:30:18 (#2936245)

Heeuuu... Je vois pas en quoi un 'AssignCommand' sur un 'CreateObject' peu avoir une utilité eMR??


Bein, ca evite de devoir scripter un script de OnSpawn directement...


Imagine, tu veux faire en sorte que le skel, une fois crée, attaque directeemnt le PC... (sans prendre en compte les factions)...

tu fais
{
object oSummonedDefender = CreateObject(OBJECT_TYPE_CREATURE, "NW_SKELWARR01", lSpawnPoint, FALSE);
AssignCommand(oSummonedDefender,DetermineCombatround(oPC));
}


Ca t'evite d'avoir a rechercher l'objet une fois celui-ci crée, et ca te permet aussi d'eviter de faie un script de onSpawn pour cette créature...

De plus, et surtout, la ou cela devient Reelement interessant, c'est pour la creation d'objet....

au lieu de faire

CreateItemOnObject("epee_legendaire",oPC,1);
AssignCommand(oPC,ActionEquipItem(GetItemByTag("EPEE_LEGENDAIRE")));


tu fais

object oEpee = CreateItemOnObject("epee_legendaire",oPC,1);
AssignCommand(oPC,ActionEquipItem(oEpee)));


Ca a l'avantage d'etre plus propre, plus sur, et moins couteux en temps machine...

toutefois, ce n'est pas necessaire, je te l'accorde

Par coolstar le 3/1/2003 à 16:42:16 (#2936327)

Elémentaire (merci pour l'exemple d'ailleurs!)... Pour ce qui est du 'CreatItemOnObject' j'emploie déjà en fait cette méthode, mais pour le 'CreateObject' au moins je suis mieux éclairé... :D

;)

Par coolstar le 3/1/2003 à 16:44:06 (#2936350)

Ha, au fait... Voilà pour toi Blam! Légèrement clarifié cependant... ;)




void ActionCreateCreature(string sCreature, location lLoc)
{
CreateObject(OBJECT_TYPE_CREATURE, sCreature, lLoc);
}


void main()
{
object oPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC);
object oCercueil = OBJECT_SELF;
location lLoc = GetLocation(oCercueil);
effect eMind = EffectVisualEffect(VFX_FNF_SUMMON_UNDEAD);
string sCreature;
string sVarName = "profanation";
int nDurationType = DURATION_TYPE_INSTANT;
int nPlotFlag = FALSE;
int iValue = TRUE;
int iLocal = GetLocalInt(oCercueil, sVarName) != iValue;
int iValid = GetIsObjectValid(oPC);
int iDistance = GetDistanceToObject(oPC) < 10.0;

if (iLocal && iValid && iDistance)
{
// * 10% chance of a skeleton chief instead
if (Random(10) == 0)
sCreature = "skelchief";
else
sCreature = "skelwarr01";

DelayCommand(0.3, ActionCreateCreature(sCreature, lLoc));
ApplyEffectAtLocation(nDurationType, eMind, lLoc);
SetPlotFlag(oCercueil, nPlotFlag);
// DestroyObject(oObject, 0.5); // En option...

SetLocalInt(oCercueil, sVarName, iValue);
}
}

Marchi

Par Blam le 3/1/2003 à 20:27:48 (#2938099)

heureusement que je suis la pour le role de candide sans quoi plas de debat et le forum ramasse les toiles d'araignées

Par Jaha Effect le 3/1/2003 à 20:47:54 (#2938226)

Provient du message de coolstar
[RemoveEffect]Rhoô le lourd[/RemoveEffect] :D

Pourquoi faire compliqué quand on peux faire beaucoup plus simple et flexible. Je le rappel, les encounter dosent les monstres en fonction du niveau du groupe. Ce qui évite les monstres trop dur ou trop simple. :D

Les encounter c'est bon mangez en ;)

Jaha Effect :D

Par coolstar le 4/1/2003 à 13:22:08 (#2942169)

Provient du message de Blam
heureusement que je suis la pour le role de candide sans quoi plas de debat et le forum ramasse les toiles d'araignées

Au plaisir de d'avoir pu aussi te rendre service... :D




PS: Je te charrie mon petit Jaha... A chacun son vice! ;)

Par Jaha Effect le 4/1/2003 à 19:52:31 (#2944993)

Provient du message de coolstar
PS: Je te charrie mon petit Jaha... A chacun son vice! ;)

Je sais mais ça m'éclate ;)

Jaha Effect :D
PS: tiens je suis Roi maintenant

Par coolstar le 4/1/2003 à 20:46:04 (#2945426)

Provient du message de Jaha Effect
PS: tiens je suis Roi maintenant


Pff! C malin ça!! :p

JOL Archives 1.0.1
@ JOL / JeuxOnLine