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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

vider inventaire et equipement...

Par Florynth le 26/9/2002 à 2:42:37 (#2233504)

Comme j'ai chercher longtemps comment faire et je crois avoir trouver une bonne façon de le faire et bien je vous donne mon script (j'ai été chercher une partie a cette page http://forums.jeuxonline.info/newthread.php?s=&action=newthread&forumid=28 , mais j'ai optimisé un peu dans une boucle c'est moins chiant)

//Vide l'inventaire de la cible et la met dans le contenant
//Si pas de contenant specifier, detruit tout simplement

void viderInventaire(object cible, object contenant=OBJECT_INVALID)
{
int i;
object item;
object copiItem;
while((item = GetNextItemInInventory(cible)) != OBJECT_INVALID){
if(contenant != OBJECT_INVALID){
copiItem = CreateItemOnObject(GetTag(item), contenant);
SetPlotFlag(copiItem, GetPlotFlag(item));
SetIdentified(copiItem, GetIdentified(item));
}
DestroyObject(item);
}
for(i = 0 ; i <= NUM_INVENTORY_SLOTS ; i++){
if(contenant != OBJECT_INVALID){
item = GetItemInSlot(i,cible);
copiItem = CreateItemOnObject(GetTag(item), contenant);
SetPlotFlag(copiItem, GetPlotFlag(item));
SetIdentified(copiItem, GetIdentified(item));
}
DestroyObject(item);
}
}

J'ai utiliser ce script dans un module ou on débute dans une prison... j'ai mis cette appel dans le onEnter de la zone (area) faites attention de vérifier quel personnage et quand vous voulez qu'il le fasse

créé une apparition de monstre plus tard...

Par Florynth le 26/9/2002 à 2:51:08 (#2233517)

Ce script permet de vérifier depuis combien de temps la zone a été visiter pour la première fois (dans ce cas si 10 jours) et en fonction du fait que si l'araigné reine est toujours vivante des rencontres d'araigné seront activé

void main()
{
// La premiere fois q'un personnage entre, donc le debut du module
if(GetLocalInt(OBJECT_SELF,"entrer") != 1)
{
SetLocalInt(OBJECT_SELF,"jour entrer",GetCalendarDay());
activeRencontreAraigne(FALSE);
SetLocalInt(OBJECT_SELF,"entrer",1);
// Les autre fois
}else{
int jourEntrer = GetLocalInt(OBJECT_SELF,"jour entrer");
int aujourdhui = GetCalendarDay();
if(GetLocalInt(OBJECT_SELF,"araigneReineVie") == TRUE && (aujourdhui - jourEntrer) > 10)
activeRencontreAraigne(TRUE);
else
activeRencontreAraigne(FALSE);
}
}

void activeRencontreAraigne(int true_false)
{
int i;
for(i = 0 ; i < 4 ; i++){
SetEncounterActive(true_false,GetObjectByTag("friz_encou_arai1",i));
}
}

Dans ce cas mes rencontre son "friz_encou_arai1", j'en ai créé 4, donc que je doit activer...

Bien entendu il faut savoir si l'araigné reine est en vie...
dans son onSpawn on créé une variable "araigneReineVie" dans l'area qu'on mait a TRUE , et lorsque que l'araigné meurt on mais cette valeur a FALSE

Par Delis le 26/9/2002 à 11:24:54 (#2234835)

Rajoute les dans le fil persistant : Liste de scripts "prêt à servir" !

Pour la partie code, encadre le avec PHP et /PHP (les deux entre crochets), c'est beaucoup plus lisible :)

JOL Archives 1.0.1
@ JOL / JeuxOnLine