Arme spécifique à utiliser.

Répondre
Partager Rechercher
Coucou les amis !

J'ai un petit problème d'arme dans neverwinter. Je cherche à faire (un marteau ou une pioche), une arme qui puisse être la seule à casser un rocher (c'est dans une mine, pour pas que le palouf lvl20 puisse prospecter avec son épée).

J'ai essayé d'attribuer une enorme CA à l'objet en question et de mettre un bonus au toucher sensationel à l'arme, mais du coup je me retrouve avec uen arme à utiliser seulement au niveau 30 et je souhaite garder la limitation de niveau pour utiliser les objets.

Merci de m'éclairer sur ce problème, au cas où il existerait une façon de le résoudre.
Un p'tit script conditionnel dans le OnDamaged vérifiant que le tag de l'arme correspond bien me semble aprorpié.

Du genre :

Si le tag de l'arme = vrai
--> on autorise la récolte ( là tu exécutes le script de récolte ou bien tu colles le code direct )

sinon
--> un p'tit msg pour dire qu'il faut une pioche.

Pas le temps de faire le script dsl mais tu dois pouvoir faire une bidouille avec le script générator de Lilac, et pis je connais pas non plus comment marche ton système de minage donc bon....
sur le OnPhysicalAttacked de ton objet placeable :

Code PHP:

void main()
{

object oArtisan GetLastAttacker(OBJECT_SELF);
if(
GetTag(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oArtisan ))=="tag_de_l'arme_speciale")
    {
//ici ton script de minage ou tout autre fonction nécessitant 
//un outil particulier et donnant au perso un objet (minerai, etc)
    
}
    else
    {
    
FloatingTextStringOnCreature("Vous devez etre equipe d'une hache de bucheron...",oArtisan); 
    } 
//ou tout autre phrase indiquant l'outil a avoir

Voili

FR - [CEP] - MARKHOR
et pfuuut pas le droit d'etre gaucher l'artisant

Et plus serieusement, il faudrait prevoir que seuls les degats occasionnes par la pioche soit pris en compte.
Je le dis parce que je le faisais sur un module, il fallait etre equipe d'une hache pour pouvoir couper des arbres et ben j'avais la hache dans une main et une autre arme dans l'autre... c'etait plus rapide (honte a moi )
Y a plusieurs manières de voir.

L'une d'entre elle est que le jet d'attaque ne sert à rien et qu'on "touche" automatiquement (ce que fait l'ATS). Après tout, pour rater un rocher ou un arbre, faut vraiment être un gland...

Un autre truc est de considérer que seul la pioche (ou hache de bûcheron, etc) permet de récupérer du matériau, mais que les autres armes permettent quand même de détruire le rocher/arbre/etc (encore une fois, ce que fait l'ATS)... ou pas bien sur.

Une autre chose encore est d'interrompre le combat entre chaque coup de hache/pioche/etc... pour éviter les choses du genre "Je cliques sur le rocher et je reviens une demi heure plus tard, après mon p'tit dej" (oui oui, j'aime l'ATS )

Le OnPhysicalAttacked est déclenché à chaque coup porté au placable, qu'il touche ou non.

Et pour éviter qu'une arme dans l'autre main n'étant pas une pioche fasse bobo à ta roche, tu utilise quelque chose comme:
Code PHP:

void main
{
    
object oPlayer GetLastAttacker();
    
object oWeaponOnPlayer GetLastWeaponUsed(oPlayer);
    if(
GetTag(oWeaponOnPlayer))=="tag_de_l'arme_speciale")
    {
        
//Ce qui se passe si c'est le bon outil
    
} else {
        
//Ce qui se passe si ce n'est pas le bon outil
    
}

Ou encore

Code PHP:

void main
{
    
object oPlayer GetLastAttacker();
    
object oWeaponOnPlayer GetLastWeaponUsed(oPlayer);
    if(
GetTag(oWeaponOnPlayer))!="tag_de_l'arme_speciale")
    {
        
//Ce qui se passe si ce n'est pas le bon outil
        
return; //on quitte
    
}
    
//ici, on a forcement le bon outil
    //Ce qui se passe si on a le bon outil

Ca peut être encore plus complexifié en considérant uniquement le début du tag de l'arme en faisant que tout les outils pour une matière commence d'une certaine manière ("CRAFT_PIOCHE_*" en remplaçant le * par une qualité de différente pioche, ou des matériaux différents)

Bref, voilà plusieurs pistes, et si tu as besoin d'aides ou précisions, n'hesites pas à demander
Citation :
Provient du message de Fanley
Le OnPhysicalAttacked est déclenché à chaque coup porté au placable, qu'il touche ou non.
Autant pour moi, c'est dans le "nw_c2_default5" des créatures qu'est "ignoré" l'évènement si la créature est déjà engagée dans un combat. Mais l'évènement se déclenche bel et bien malgré tout.

Ma remarque était dûe au fait que justement dans le "nw_c2_default5" je gère des ajustements de réputations personnalisées uniquement au premier contact. Parfois l'on oublie ce qui est de base sur NwN et ce que l'on modifie, mea culpa .
Citation :
Provient du message de Garrath
et pfuuut pas le droit d'etre gaucher l'artisant

Et plus serieusement, il faudrait prevoir que seuls les degats occasionnes par la pioche soit pris en compte.
Je le dis parce que je le faisais sur un module, il fallait etre equipe d'une hache pour pouvoir couper des arbres et ben j'avais la hache dans une main et une autre arme dans l'autre... c'etait plus rapide (honte a moi )
ou utiliser une hache a 2 mains, pour bûcherons costauds
Répondre

Connectés sur ce fil

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