Je viens de finir de me prendre la tête sur une fonction pour faire réapparaitre un placeable quelconque aléatoirement dans sa zone de destruction.
Et comme ça marche, je vous l'offre:
void CreateAleaFrom() { object oArea=GetArea(OBJECT_SELF); string sTag=GetResRef(OBJECT_SELF); object oSpawn =GetObjectByTag("Tag_de_lobjet_de_reference_des_spawn"); location lBoum = GetLocation(OBJECT_SELF); //Point de destruction float fXMove = IntToFloat(Random(7)); //Deplacement sur l'axe des X float fYMove = IntToFloat(Random(7)); //Deplacement sur l'axe des Y vector vOldVector = GetPositionFromLocation(lBoum); vector vNewVector; if(Random(2) == 1) { vNewVector = vOldVector + Vector(fXMove,fYMove,0.0); } else { vNewVector = vOldVector - Vector(fXMove,fYMove,0.0); }//Creation du vecteur location lLoca = Location(oArea,vNewVector,10.0); //Creation de la Location
AssignCommand(oSpawn,DelayCommand(10.0,CreateObject(OBJECT_TYPE_PLACEABLE,sTag,lLoca,FALSE))); }
Il suffit de modifier les deux chiffres 7 pour augmenter le rayon de respawn.
A placer dans une bibliothèque et insérer via un include. Je vous invite à la prudence, il est possible que le placeable spawn dans un endroit inaccessible. gardez ça en tête quand vous l'utiliserez.
|