Le script cadeau d'août "Little Area Cleaner"

Répondre
Partager Rechercher
Après quelques vacances, je reviens pour vous filer un petit script simple histoire de nettoyer vos zones des loot ou des items que les joueurs abandonnent malgrés vos poubelles ^^

Dans le onEnter de la zone :

Code PHP:

void main()
{
object oArea=GetArea(OBJECT_SELF);
int iPC=GetLocalInt(oArea,"iPC");
object oPC=GetEnteringObject();


if (
GetIsPC(oPC))
{
iPC=iPC+1;
SetLocalInt(oArea,"iPC",iPC);}


A chaque PJ qui rentre dans la zone, elle ajoute 1 à son compteur.

Et dans le onExit :

Code PHP:

void main()
{
object oArea=GetArea(OBJECT_SELF);
int iPC=GetLocalInt(oArea,"iPC");
object oPC=GetExitingObject();


if (
GetIsPC(oPC))
{
iPC=iPC-1;
SetLocalInt(oArea,"iPC",iPC);}

iPC=GetLocalInt(oArea,"iPC");

if (
iPC<=0){
ExecuteScript("zon_cleaner",oArea);}

Il retire 1 du compteur à chaque joueur qui sort de la zone et si le score du compteur est à zéro, il lance le script suivant à nommer "zon_cleaner":

Code PHP:

void main()
{
            
object oArea GetArea(OBJECT_SELF);
            
object oObject GetFirstObjectInArea(oArea);
            while(
GetIsObjectValid(oObject))
                {
                
int nChk GetObjectType(oObject);

                    switch(
nChk)
                    {
                    case 
OBJECT_TYPE_ITEM:
                        {
                        
DestroyObject(oObject);
                        break;
                        }
                    case 
OBJECT_TYPE_PLACEABLE:
                        {
                        if (
GetTag(oObject)=="BodyBag")
                            {
                            
DestroyObject(oObject);
                            }
                        break;
                        }
                    } 
//end switch
                
oObject=GetNextObjectInArea();
                }    
//end while


Ce script vérifie la nature des objets de la zone et détruit tous les items ainsi que les sacs de butin laissés par les cadavres. Il ne touche pas aux items dans les inventaires des NPC bien sûr.

Donc, tant qu'il y a quelqu'un dans une zone, les objets restent au sol. A vous de placer les 2 premiers scripts dans les endroits les plus pollués de votre module.
Répondre

Connectés sur ce fil

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