View Full Version: A poile !

RunUO.FR Support > Le vivier > A poile !


Title: A poile !


Didi - November 4, 2003 09:25 PM (GMT)
J'ai besoin de savoir engros comment:
- Enlever tout ce que le pj a sur lui (vetement,armes, bijoux, book de magie ....)
- Chosir dependant de litem si il se transformera (linge en lambeaux donc bandages), si il tombera par terre.

Merci d'avance

Kaervek - November 19, 2003 05:01 PM (GMT)
J'aimerais aussi.....

Y a un système automatique qui retire les armures si on repasse en dessous du prerequis je crois...

Usul - November 20, 2003 05:07 PM (GMT)
Y a moyen d aller veriffier tt les layer du perso
(layer = endroit ou on c mettre un item)
ex:
Item torse = from.FindItemOnLayer( Layer.OuterTorso ) ;

ou la meme chose mais avec un int a la place
Item torse = from.FindItemOnLayer( 22 ) ;



et cette ligne sert a mettre se que porte le joueur dans les mains dans son sac
from.ClearHands();

voila la de tt les Layer (Enum)
Invalid = 0,
FirstValid = 1,
FirstValid = 1,
TwoHanded = 2,
Shoes = 3,
Pants = 4,
Shirt = 5,
Helm = 6,
Gloves = 7,
Ring = 8,
Unused_x9 = 9,
Neck = 10,
Hair = 11,
Waist = 12,
InnerTorso = 13,
Bracelet = 14,
Unused_xF = 15,
FacialHair = 16,
MiddleTorso = 17,
Earrings = 18,
Arms = 19,
Cloak = 20,
Backpack = 21,
OuterTorso = 22,
OuterLegs = 23,
LastUserValid = 24,
LastUserValid = 24,
Mount = 25,
ShopBuy = 26,
ShopResale = 27,
ShopSell = 28,
Bank = 29,
Bank = 29

Didi - December 18, 2003 02:38 AM (GMT)
pour les interessés

CODE
       Container pack = from.Backpack;
        if( pack != null )
        {
           ArrayList equipitem = new ArrayList(from.Items);

           foreach (Item item in equipitem)
           {
              if ((item.Layer != Layer.Bank) && (item.Layer != Layer.Backpack) && (item.Layer != Layer.Hair) && (item.Layer != Layer.FacialHair) && (item.Layer != Layer.Mount))
                 pack.DropItem( item );
           }
        }

Kaervek - December 18, 2003 05:06 AM (GMT)
Ca reconnait pas equipitem et arraylist
Fin bon, c'est ptet moi qui suis pas encore réveillé à cette heure pour voir d'où ca vient mdr :P

Didi - December 18, 2003 01:25 PM (GMT)
using System;
using System.Collections;
using Server;
using Server.Items;
using Server.Targeting;

Kaervek - September 20, 2004 05:30 PM (GMT)
J'aimerais arriver à faire une condition qui dit :
"Si l'objet à la Place 8 est AnneauAnnulKO"
Mais je n'y parviens pas... Voila une des syntaxes que j'ai essayées... (c'est dans le fichier playermobile donc le "this" renvoit au pj)


CODE
if (this.ItemOnLayer( 8 ) is AnneauAnnulKO)
 {
 }




------------------------------------------------------------------------------------------
EDIT 10 min après:
Heeeeeeu désolé... Chuis con je crois ^^ lol

Voila le code efficace si quelqu'un est aussi stupide que moi pendant quelques minutes :P *Se demande comment il a fait pour être si bête*
CODE
Item anneau = this.FindItemOnLayer( Layer.Ring );
  if (anneau is AnneauAnnulKO)
  {
  }

Didi - September 20, 2004 11:23 PM (GMT)
ne connaissant pas la fonction, j'aurais répondu:
CODE
Item Anno = null;
Container pack = from.Backpack;
if( pack != null )
{
  ArrayList equipitem = new ArrayList(from.Items);
  foreach (Item item in equipitem)
  {
     if ( item.Layer == Layer.Ring )
        Anno = item;
  }
}
if (Anno is AnneauAnnulKO)
{

}


On notera que ta methode était nettement plus simple :D

Kaervek - September 21, 2004 03:43 PM (GMT)
Dans un premier temps j'avais fait comme toi et puis je suis tombé par chance (comme dab en fait quand je scripte un truc... :D ) sur quelquechose qui m'a permis de "pondre" ma solution raccourcie.

slade15 - September 21, 2004 10:05 PM (GMT)
kaer c bon ton truc c'est just que dans le scripte que tu m'a envoyé j'ai du corriger quelque chose car anneau ici tu l'a defini comme un Item et donc faut pas oublier que pour modifier ses attribut tu doit le re transformer en AnneauAnnulKO donc

CODE

if (Anno is AnneauAnnulKO)
{
  AnneauAnnulKO  a = (AnneauAnnulKO) Anno;
  et tout ce que tu veux faire avec l'anneau apres

}


Kaervek - September 22, 2004 08:44 AM (GMT)
Je l'ai fait aussi cette correction ;) (touche pas trop au playermobile avant de recevoir ma version plz, j'ai modifié pas mal de trucs hier soir).
:)




Hosted for free by InvisionFree