(script) gagner de l'xp en tapant sur un objet

Répondre
Partager Rechercher
J'aimerais faire un script qui permette a un joueur de gagner un certain nombre d'xp a chaque coup qu'il inflige sur un objet placeable qui ne pourrait être détruit . Ce script ne fonctionnerait que jusqu'au niveau 3 après chaque coup inflige ne rapporterait plus rien au joueur . je vous serais reconnaissant si vous pouviez m'aider sur ce point, merci .

ps: je voudrais faire la même chose mais avec une arme a distance et seulement si le pj attaque avec une arme a distance .
Sur l'objet (une cible par exemple) il y a un évènement qui est déclenché lorsque l'objet prend des dégâts.
Sur cet évènement tu ajoute un script qui récupère la source des dégâts (le joueur = GetLastDamager) et tu vérifie l'arme qu'il a d'équipé (pour savoir il s'agit d'une arme à distance=GetItemInSlot), ainsi que son niveau pour savoir si il doit recevoir l'xp ou pas(GetLevelByPosition).

Voilà pour te guider un peut.
oui..je sais ou placer le script et comment m'en servir...
le problème c'est le script en lui mêmes..j'y comprend rien aux scripts et je n'y'ai jamais rien compris..mais il va bien falloir que je m'y mette un jour .
Donc je vais essayer de le faire avec tes indications merci pour ton aide
regardes les bases ds le forum concepteur de nwn1...

tu y trouveras tout ton bonheur...

le plus chiant qd on script c'est les 2 premieres semaines, apres quand tu es ds le bain, tu fais ce que tu veux...
si je ne me trompe pas dans mais ligne de code
sa pourrait étre sa

Code:
//script OnDeath
 #include "nw_i0_tool"
 void main()
 {
 
 object oPC = GetLastKiller();
 
 while (GetIsObjectValid(GetMaster(oPC)))
 {
 oPC=GetMaster(oPC);
 }
 
 if (!GetIsPC(oPC)) return;
 
 effect eEffect;
 eEffect = EffectDamage(1, DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_NORMAL);
 
 ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, GetObjectByTag("objet X "));
 
 object oTarget;
 oTarget = GetObjectByTag("objet x ");
 
 DestroyObject(oTarget, 0.0);
 
 oTarget = OBJECT_SELF;
 
 DestroyObject(oTarget, 0.0);
 
 RewardPartyXP(11, oPC, FALSE);
 
 CreateItemOnObject("objet ", oPC);
 
 }
ou il y'a marquer objet X entre le tag de l'objet a détruire

ici place le nombre de px a gagner le 11 et un exemple
Code:
 RewardPartyXP(11, oPC, FALSE);
Répondre

Connectés sur ce fil

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