petit probleme a la con...

Répondre
Partager Rechercher
Voila, je veux obtenir la valeur de chaque constante de type INVENTORY_SLOT_... (ce serait bien que ce soit indiqué dans l'aide...) et comme je ne suis pas faignant, j'ai mis ce script :

Code PHP:

 object oItem GetItemActivated();

    if (
oItem == GetObjectByTag("bla"0))
    {
        
SendMessageToPC(OBJECT_SELF"INVENTORY_SLOT_ARMS : " IntToString(INVENTORY_SLOT_ARMS));
        
SendMessageToPC(OBJECT_SELF"INVENTORY_SLOT_ARROWS : " IntToString(INVENTORY_SLOT_ARROWS));
        
SendMessageToPC(OBJECT_SELF"INVENTORY_SLOT_BELT : " IntToString(INVENTORY_SLOT_BELT));
        
SendMessageToPC(OBJECT_SELF"INVENTORY_SLOT_BOLTS : " IntToString(INVENTORY_SLOT_BOLTS));
        
SendMessageToPC(OBJECT_SELF"INVENTORY_SLOT_BOOTS : " IntToString(INVENTORY_SLOT_BOOTS));
        
SendMessageToPC(OBJECT_SELF"INVENTORY_SLOT_BULLETS : " IntToString(INVENTORY_SLOT_BULLETS));
        
SendMessageToPC(OBJECT_SELF"INVENTORY_SLOT_CARMOUR : " IntToString(INVENTORY_SLOT_CARMOUR));
        
SendMessageToPC(OBJECT_SELF"INVENTORY_SLOT_CHEST : " IntToString(INVENTORY_SLOT_CHEST));
        
SendMessageToPC(OBJECT_SELF"INVENTORY_SLOT_CLOAK : " IntToString(INVENTORY_SLOT_CLOAK));
        
SendMessageToPC(OBJECT_SELF"INVENTORY_SLOT_CWEAPON_B : " IntToString(INVENTORY_SLOT_CWEAPON_B));
        
SendMessageToPC(OBJECT_SELF"INVENTORY_SLOT_CWEAPON_L : " IntToString(INVENTORY_SLOT_CWEAPON_L));
        
SendMessageToPC(OBJECT_SELF"INVENTORY_SLOT_CWEAPON_R : " IntToString(INVENTORY_SLOT_CWEAPON_R));
        
SendMessageToPC(OBJECT_SELF"INVENTORY_SLOT_HEAD : " IntToString(INVENTORY_SLOT_HEAD));
        
SendMessageToPC(OBJECT_SELF"INVENTORY_SLOT_LEFTHAND : " IntToString(INVENTORY_SLOT_LEFTHAND));
        
SendMessageToPC(OBJECT_SELF"INVENTORY_SLOT_LEFTRING : " IntToString(INVENTORY_SLOT_LEFTRING));
        
SendMessageToPC(OBJECT_SELF"INVENTORY_SLOT_NECK : " IntToString(INVENTORY_SLOT_NECK));
        
SendMessageToPC(OBJECT_SELF"INVENTORY_SLOT_RIGHTHAND : " IntToString(INVENTORY_SLOT_RIGHTHAND));
        
SendMessageToPC(OBJECT_SELF"INVENTORY_SLOT_RIGHTRING : " IntToString(INVENTORY_SLOT_RIGHTRING));
    } 
dans le OnActivateItem

sachant que bla est une amulette a utilisation unique.
Mais quand je l'active, elle disparait (normal) mais je ne recoit aucun de ces message et je ne peux donc pas lister les valeurs de ces constantes.

Donc si qqn a une solution a ce probleme, ou mieux, la liste des valeurs de ces constantes, je suis preneur.

En effet ca me permettra de programmer en for(), plutot que d'énumerer chaque slot d'inventaire. Car je dois faire la liste totale de l'inventaire equipé, autant ne pas se prendre la tête.

Merci d'avance
C'est ça que tu cherches ?

Code PHP:

int    INVENTORY_SLOT_HEAD 0;
int    INVENTORY_SLOT_CHEST 1;
int    INVENTORY_SLOT_BOOTS 2;
int    INVENTORY_SLOT_ARMS 3;
int    INVENTORY_SLOT_RIGHTHAND 4;
int    INVENTORY_SLOT_LEFTHAND 5;
int    INVENTORY_SLOT_CLOAK 6;
int    INVENTORY_SLOT_LEFTRING 7;
int    INVENTORY_SLOT_RIGHTRING 8;
int    INVENTORY_SLOT_NECK 9;
int    INVENTORY_SLOT_BELT 10;
int    INVENTORY_SLOT_ARROWS 11;
int    INVENTORY_SLOT_BULLETS 12;
int    INVENTORY_SLOT_BOLTS 13;
int    INVENTORY_SLOT_CWEAPON_L 14;
int    INVENTORY_SLOT_CWEAPON_R 15;
int    INVENTORY_SLOT_CWEAPON_B 16;
int    INVENTORY_SLOT_CARMOUR 17
Remarque : Je les avais récupéré en prévision de la conception des sorts "Arme magique", "Arme magique supérieure", "Panoplie magique" et "Epée sainte". Par ailleurs je pense que les constantes pré-définies suivantes pourraient aussi être utiles :

Code PHP:

int BASE_ITEM_SHORTSWORD 0;
int BASE_ITEM_LONGSWORD  1;
int BASE_ITEM_BATTLEAXE 2;
int BASE_ITEM_BASTARDSWORD 3;
int BASE_ITEM_LIGHTFLAIL 4;
int BASE_ITEM_WARHAMMER 5;
int BASE_ITEM_HEAVYCROSSBOW 6;
int BASE_ITEM_LIGHTCROSSBOW 7;
int BASE_ITEM_LONGBOW 8;
int BASE_ITEM_LIGHTMACE 9;
int BASE_ITEM_HALBERD 10;
int BASE_ITEM_SHORTBOW 11;
int BASE_ITEM_TWOBLADEDSWORD 12;
int BASE_ITEM_GREATSWORD 13;
int BASE_ITEM_SMALLSHIELD 14;
int BASE_ITEM_TORCH 15;
int BASE_ITEM_ARMOR 16;
int BASE_ITEM_HELMET 17;
int BASE_ITEM_GREATAXE 18;
int BASE_ITEM_AMULET 19;
int BASE_ITEM_ARROW 20;
int BASE_ITEM_BELT 21;
int BASE_ITEM_DAGGER 22;
int BASE_ITEM_MISCSMALL 24;
int BASE_ITEM_BOLT 25;
int BASE_ITEM_BOOTS 26;
int BASE_ITEM_BULLET 27;
int BASE_ITEM_CLUB 28;
int BASE_ITEM_MISCMEDIUM 29;
int BASE_ITEM_DART 31;
int BASE_ITEM_DIREMACE 32;
int BASE_ITEM_DOUBLEAXE 33;
int BASE_ITEM_MISCLARGE 34;
int BASE_ITEM_HEAVYFLAIL 35;
int BASE_ITEM_GLOVES 36;
int BASE_ITEM_LIGHTHAMMER 37;
int BASE_ITEM_HANDAXE 38;
int BASE_ITEM_HEALERSKIT 39;
int BASE_ITEM_KAMA 40;
int BASE_ITEM_KATANA 41;
int BASE_ITEM_KUKRI 42;
int BASE_ITEM_MISCTALL 43;
int BASE_ITEM_MAGICROD 44;
int BASE_ITEM_MAGICSTAFF 45;
int BASE_ITEM_MAGICWAND 46;
int BASE_ITEM_MORNINGSTAR 47;

int BASE_ITEM_POTIONS 49;
int BASE_ITEM_QUARTERSTAFF 50;
int BASE_ITEM_RAPIER 51;
int BASE_ITEM_RING 52;
int BASE_ITEM_SCIMITAR 53;
int BASE_ITEM_SCROLL 54;
int BASE_ITEM_SCYTHE 55;
int BASE_ITEM_LARGESHIELD 56;
int BASE_ITEM_TOWERSHIELD 57;
int BASE_ITEM_SHORTSPEAR 58;
int BASE_ITEM_SHURIKEN 59;
int BASE_ITEM_SICKLE 60;
int BASE_ITEM_SLING 61;
int BASE_ITEM_THIEVESTOOLS 62;
int BASE_ITEM_THROWINGAXE 63;
int BASE_ITEM_TRAPKIT 64;
int BASE_ITEM_KEY 65;
int BASE_ITEM_LARGEBOX 66;
int BASE_ITEM_MISCWIDE 68;
int BASE_ITEM_CSLASHWEAPON 69;
int BASE_ITEM_CPIERCWEAPON 70;
int BASE_ITEM_CBLUDGWEAPON 71;
int BASE_ITEM_CSLSHPRCWEAP 72;
int BASE_ITEM_CREATUREITEM 73;
int BASE_ITEM_BOOK 74;
int BASE_ITEM_SPELLSCROLL 75;
int BASE_ITEM_GOLD 76;
int BASE_ITEM_GEM 77;
int BASE_ITEM_BRACER 78;
int BASE_ITEM_MISCTHIN 79;
int BASE_ITEM_CLOAK 80;

int BASE_ITEM_INVALID 256
euhhh...
Pile poil ^^
Y'a t il un moyen de recuperer vite fait les valeurs des constantes, ou t'as bidouillé un truc pareil au mien mais qui a marché ?

En tout merci. Avec ca je vais pouvoir lister les bonus de CA d'esquive/parade/déflection de chaque objet et ainsi les ajouter a la CA contre l'attaque de toucher a distance.
C'est lourd comme systeme, mais j'ai pas trouvé mieux. Le plus simple serait de diminuer la CA totale des bonus d'armure et les bonus d'armure naturelle... Mais bon pas de fonction pour ca, alors on doit additionner les autres bonus (et la, j'ai toujours pas comptabilisé les bonus de CA d'esquive ou autre du aux sorts en cours. Et la je sais vraiment pas comment m'y prendre pour le moment )
Allez ! on va y arriver
Dans ton editeur de script, tu fais ouvrir, et dans les ressources, tu choisis "Toutes".
Et dans nom de la ressource, tu tapes nwscript.
ou alors tu selectionne ce script dans la foule de script en vrac.
Le fait de taper nwscript te permet de filtrer les script.
Répondre

Connectés sur ce fil

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