ajouter une peau au pc

Répondre
Partager Rechercher
je suis en train de faire un scenario avec des drows. Et j'ai biensur ajouté une peau drow qui resiste a la magie.

J'aurrai aimé que les joueurs d'ethenie "drow" est une peau "drow" ajouté qud ils entrent sur le serveur.

c'est possible de faire ça?

si y a quelqu'un pour me faire le script ça serait sympa, parce que j'y pige kedal.
ça n'interesse personne ?

Pourtant c'est super utile.

par exemple pour les trolls on peu leur ajouter une peau avec +5 en regeneration et reçoit 100% de degats supplémentaires par le feu et 50% par l'electricité!


Donc là, pas de probleme, on a l'editeur et hop on créé la peau et la join a l'inventaire du troll...


par contre si je créé un Drow en tant que joueur, j'aurrai aimé qu'une peau de tag"peau_drow" sois cursé ( de toute façon innaccéssible ds le jeu) à mon inventaire des mon entrée en jeu.

ça aurrait été bien aussi pour les vampires qui pourrais avoir une attaque vampirique si on leur ajoute des griffes! pas besoin d''ajouter des scripts ds le ohb qui bouffe enormement en capacité resource...
Il y a pas grand chose comme ligne de code, le seul problème (qui est de taille) avec ce système, c'est que le Item Level Restriction est appliqué sur l'objet... ce qui veut dire que c'est pas la peine de mettre à un personnage de niveau 1, un objet de niveau 10. Il y a toujours moyen de contourner ça... mais... c'est de désactiver le Item Level Restriction...

sinon voilà le code :
Code PHP:

void main()
{
 
object oPC GetLastUsedBy(); // ou autre événement GetPCSpeaker() par exemple

 
object oSpecialItem CreateItemOnObject("TAG de l'ITEM"oPC);

 
AssignCommand(oPCActionEquipItem(oSpecialItemINVENTORY_SLOT_CARMOUR));

Il y a rien de compliqué.
je le colle ou le script?


le prob, c'est que le joueur qui va débuter ne sera pas forcement un drow ou un vampire etc...

il va falloir que j'ajoute la "peau drow" en fonction de l'ethnie et ça, des l'entrée du joueur ds le module.

bon je v voir ce que je peux dejà faire de ce script

en tous cas merci
Bon ça a marché, qd je cliques sur un objet j'btient bien ma peau Drow et mon perso a 10 pt de resistance magic.

Mais il va falloir que je detect suivant la subrace
si c un drow -> peau de drow
si c un vampire -> peau de vampire griffes gauche et droite vampirique

etc...

ça aurrait été pas mal si on pouvais ajouter dans lv up.

detruire les anciens objets et ajouter les nouveaux en fonction du lv up.

Ainsi un vampire de lv 20 aurait drain vampirique bien plus important qu'au lv1.

là y a du taf
Code PHP:


void main
()
{
 
object oPC GetPCLevellingUp(); // pour level up?
 
object oSpecialItem CreateItemOnObject("PeauDrow"oPC);

 
AssignCommand(oPCActionEquipItem(oSpecialItemINVENTORY_SLOT_CARMOUR));


et si je reprend les scripts pour le spawn suivant l'alignement que je réimbrique dessu ça devrait marcher non?

il me manque juste les lignes de command pour le destroy "peau drow"...
bon ça tue! suis pas pret d'etre un bon programmeur sur aurora

j'ai bien la peaudrow au lv up!

ça c dejà un bon point.

mais le reste j'y arrive pas du tout

j'aimerai attribuer une peau et des griffes tout les 5 lv

subrace drow lv1 -> peaudrow1
subrace drow lv5 -> peaudrow5
subrace drow lv10 -> peaudrow10
subrace drow lv15 -> peaudrow15
subrace drow lv20 -> peaudrow20

et pareil pour vampire...


il faut donc qu'il attribu les peaux seulment si c'est un drow ou un vampire.



je sais qu'il y a:


Code PHP:

 object oPC GetPCLevellingUp(); // au moment du lvup 

Code PHP:

GetSubRace(oPC); // pour prend la valeur ethenie 


Code PHP:

object oSpecialItem CreateItemOnObject("TAG de l'ITEM"oPC);
AssignCommand(oPCActionEquipItem(oSpecialItemINVENTORY_SLOT_CARMOUR)); 

par contre tous ce qui est condition, j'abandonne



Quelqu'un peut-il m'aider?! que je puisse comprendre comment ce code marche une fois pour toute.


Bon déjà : http://www.reapers.org/nwn/reference...TORY_SLOT.html


Puis voilà le code je pense qu'il correspond à ce que tu veux, il compile par contre je l'ai pas testé dans le jeu et vu l'heure... :baille:

Code PHP:


//sur l'événement OnPlayerLevelUp :



void destroy_slot(int nInventorySlotobject oPC)
{
    
object oItem GetItemInSlot(nInventorySlotoPC);
    if (
GetIsObjectValid(oItem))
    {
        
DestroyObject(oItem);
   }
}


void main()
{
  
object oPC GetPCLevellingUp();
  
string sRace GetSubRace(oPC);

  if (
sRace == "Vampire")
  {
    
destroy_slot(INVENTORY_SLOT_CARMOURoPC); // détruit la peau
    
object oSpecialItem CreateItemOnObject("TAG de l'ITEM"oPC); // ajout un nouvelle peau
    
AssignCommand(oPCActionEquipItem(oSpecialItemINVENTORY_SLOT_CARMOUR));
  }

  if(
sRace == "Drow")
  {
    
destroy_slot(INVENTORY_SLOT_CARMOURoPC);
    
object oSpecialItem CreateItemOnObject("TAG de l'ITEM"oPC);
    
AssignCommand(oPCActionEquipItem(oSpecialItemINVENTORY_SLOT_CARMOUR));
  }




tu vas avoir 2 problèmes :
- pour les griffes, elles sont considérés comme des armes et ton personnage ne pourra jamais avoir le don de les utiliser.
- l'inventory slot carmour n'est pas sauvegardé avec ton personnage... (facile à gérer en ce qui concerne les persos serveurs cependant...)
Merci bc alkien , j'etais pas loin de ce code.
je risque de m'en reservir pour autre chose


si les peaux sont pas sauvegardé il va falloir que je mette ça ds le onenter de mon module.

et les griffes?! y a pas une variable pour les griffes?!
bon a la compilation c nikel j'obtiens bienma peau drow et une seul apres chaques lv up.

Mais au bout d'un moment, donc de quelques lv up j'ai un crach , une erreur d'exeception et hop retour windaub

quelqu'un a une idée de quoi ça peux venir? ça peux arriver?
Code PHP:

void main()
{
   
object oPC GetEnteringObject();

    
string sRace GetSubRace(oPC);

  if(
sRace == "Drow")
  {
   
    
object oSpecialItem CreateItemOnObject("PeauDrow"oPC);
    
AssignCommand(oPCActionEquipItem(oSpecialItemINVENTORY_SLOT_CARMOUR));
}
   if(
sRace == "Drow")
  {
       
object oSpecialItem CreateItemOnObject("Peaudrowhand"oPC);
    
AssignCommand(oPCActionEquipItem(oSpecialItemINVENTORY_SLOT_RIGHTHAND));
}





Bon, le probleme des sauvegardes est resolu, j'ai mis ça ds le onclinetenter de mon module.

Des qu'un joueur Drow entre jeu, il a une peau drow d'une resistance +10.


En effet, mon perso ne peux pas porter de griffe, parce qu'il n'a pas le don , maniement des armes(créature).
Pour le vampire il suffit donc de lui ajouter ce don avant de lui attribuer les griffes?! ça devrait marcher ça aussi non?

si quelqu'un a la gentilesse de me taper le script pour le don

ça risque ds interesser plus d'un
Je voix que ca servais vachement a quelque chose que je reponde sur le poste ou tu continuais le probleme de tes subraces puisque la question tu la continué ici .......

Enfin si tu tien quand même a regarder ce que les autre te fond sur TES postes voila quand meme le lien au cas outu ne ten souviendrais pas

Voila c'etait ici ...

*pas content du tout*
Répondre

Connectés sur ce fil

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