Level moyen d'un groupe

Répondre
Partager Rechercher
C'est pour ameliorer ce script et faire spawner des creatures en fonction du level moyen du groupe

Code PHP:

/*
  Spawn aleatoire de mobs undead
  2 Variables entre en jeu, la premiere permet de definir le % de chance de spawn
  et la deuxieme permet de choisir le type de creature
*/
//:://////////////////////////////////////////////
//:: Created By:  Drach
//:: Created On:  Ver 1.29
//:://////////////////////////////////////////////

//
void main()
{

object oTarget;
object oSpawn;
location lTarget;

lTarget GetLocation(OBJECT_SELF);


if (
d100(1) < 100//49% de chance qu'un mobs spawn
    
{
    switch (
d10(1))
        {
            case 
1oSpawn CreateObject(OBJECT_TYPE_CREATURE"NW_SKELETON"lTarget); break;
            case 
2oSpawn CreateObject(OBJECT_TYPE_CREATURE"NW_ZOMBIE01"lTarget); break;
            case 
3oSpawn CreateObject(OBJECT_TYPE_CREATURE"NW_SKELETON"lTarget); break;
            case 
4oSpawn CreateObject(OBJECT_TYPE_CREATURE"NW_SKELETON"lTarget); break;
            case 
5oSpawn CreateObject(OBJECT_TYPE_CREATURE"NW_ZOMBIE01"lTarget); break;
            case 
6oSpawn CreateObject(OBJECT_TYPE_CREATURE"NW_SKELETON"lTarget); break;
            case 
7oSpawn CreateObject(OBJECT_TYPE_CREATURE"NW_ZOMBIE01"lTarget); break;
            case 
8oSpawn CreateObject(OBJECT_TYPE_CREATURE"NW_SKELETON"lTarget); break;
            case 
9oSpawn CreateObject(OBJECT_TYPE_CREATURE"NW_ZOMBIEBOSS"lTarget); break;
            case 
10oSpawn CreateObject(OBJECT_TYPE_CREATURE"NW_SKELCHIEF"lTarget); break;
        }
    }



Voilou, et c'est surtout que j'ai pas envie de me casser la tete si la fonction existe deja
Non il n'est pas rajouté dans les persistants car pour moi il n'est pas encore complet, je veux rajouter un spawn en fonction du level moyen du groupe de joueur dans la zone
Je crois qu' y a une fonction bioware qui fait ca non, un truc du genre GetAverageLevelOfParty().

Sinon, ca donnerait ca :
Code PHP:

int GetAverageLevelOfParty(object oPartyMember)
{
 
object oMember;
 
int iXP,iCount;

 
oMember GetFirstFactionMember(oPartyMember);
 
iXP 0;
 
iCount 0;
 while(
oMember != OBJECT_INVALID)
 {
   if(
GetIsPC(oMember) && !GetIsDM(oMember))
   {
     
iXP iXP GetXP(oMember);
     
iCount++;
   } 
  
oMember GetNextFactionMember(oPartyMember);
  
 }
 if (
iCount != 0)
 {
  return (
iXP iCount);
 }

 return 
0;


Euh, j'ai lu un peu trop vite le thread, ce que je t'ai donne permet d'avoir l'XP moyen (et y a bien une fonction Biobio qui le fait), si tu veux le lvl, remplace GetXP par GetHitDice et le tour est joue.
Un petit détail : par défaut, GetFirstFactionMember et GetNextFactionMember ne retournent que des PC.
Code PHP:

object GetFirstFactionMember(
    
object oMemberOfFaction,
    
int bPCOnly TRUE
); 
Cela devrait donc permettre de supprimer (après vérification pour les DM, sait-on jamais) la condition qui du coup est en doublon :
Code PHP:

if(GetIsPC(oMember) && !GetIsDM(oMember)) 

Oui, Bioware.

Code PHP:

// Get the average level of the members of the faction.
// * Return value on error: -1
int GetFactionAverageLevel(object oFactionMember
J'ai droit à un bonbon ?
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés