JeuxOnLineForumsPlusConnectés : 572 (sites) | 1169 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Euh... un ch'ti peu paumé dans tous les liens RSS
   
Répondre
Partager Outils Rechercher
Avatar de Moonheart
Moonheart
Alpha & Oméga
 
Avatar de Moonheart
 

Euh... un ch'ti peu paumé dans tous les liens

Quelqu'un qui connait un peu les tutoriaux et tout ca présent dans les liens qui sont mis en persistant sur les modules, peut-il m'aiguiller parmi eux?

Je cherche plus précisément de bons tutoriaux sur la personnalisation des items via des scripts (par exemple comment on fait un item qui lance un script par l'intermédiaire du menu radial du dit items... comment on déclenche un script quand un item est équipé/déséquipé... ou quand il touche une cible...) et une bon document pour trouver le nom d'une fonction de NwN quand on sait ce qu'elle fait mais qu'on a oublié comment elle s'appelle...

J'ai un peu cherché dans les liens, mais y'en a tellement que je me noie, là...
Lien direct vers le message - Vieux
Avatar de Archamedes_Fr
Archamedes_Fr
Alpha & Oméga
 
Avatar de Archamedes_Fr
 
Personnalisation des objets:
1) Tu crées ton objet
2) Tu lui assignes dans les propriétés Lancer un sort / Pouvoir Unique ( ou Pouvoir Unique sur soi )
3) Tu édites les propriétés du Pouvoirs pour définir la fréquence, Utilisation Unique, X foix, X fois par jours...
4) Tu places le script dans le OnActivateItem
Code PHP:

//Variables objets
    
object oUser GetItemActivator(); // Le personnage qui active l'objet
    
object oItem GetItemActivated(); // L'objet activé
    
string sItemTag GetTag(oItem); // Le TAG de l'objet activé

// Début Détection du MAL
if(sItemTag=="PAL_DETECTMAL" &&
    
GetLevelByClass(CLASS_TYPE_PALADIN,oUser)>0)
{
    
ExecuteScript("5_pal_detevil",oUser);
    return;

Par exemple ou plus simplement

Code PHP:
//Variables objets
    
object oUser GetItemActivator(); // Le personnage qui active l'objet

    
ExecuteScript("7_em_activemote",oUser); 
En fonction de ce que tu veux. Bien entendu, on peut se passer d'un ExecuteScript, je les utilises sur les objets ayant des script un peu longué.

quand il touche une cible, il y a un Thread sur le OnHit, relativement récent.
__________________
Archamedes
Lien direct vers le message - Vieux
Avatar de Moonheart
Moonheart
Alpha & Oméga
 
Avatar de Moonheart
 
Ok, j'ai pas Aurora sous la main mais y'a des events pour quand:

- l'item est créé (genre pour faire une initialisation de SetLocalInt())
- l'item est équipé/déséquiper

Mon but pour le moment est de bricoler un script empechant le sort posé sur un objet d'être activé s'il n'est pas équipé et ensuite de faire qu'on ne puisse plus le déséquiper dans la minute qui suit....

Je pensais faire comme ca:

- à la création, initialiser un local int "STATE" a 0
- à l'equipement passer ce "STATE" à 1 s'il est a 0
- à l'utilisation, si le "STATE" est à 0, ne rien faire, sinon lancer le sort puis faire un ClearAllActions, puis passer le "STATE" 2, puis coller un ActionWait d'une minute et enfin une ActionDoCommand passant le "STATE" a 1
- au déséquipement, si le "STATE" est a 2, annuler le déséquipement, sinon mettre le "STATE" a 0

Il faut juste que je trouve le nom des evenements asssociés:
- création = ?
- equipement = ?
- utilisation = OnActivateItem
- déséquipement = ?

et comment annuler un evenement.

Autre question: y'a pas un moyen de faire un script qui applique ca sur tous les objets du module sans avoir a éditer chaque objet en particulier? (oui,je débute a peine, je rame encore pas mal avec les concept de scripts sur Aurora)
Lien direct vers le message - Vieux
Avatar de Moonheart
Moonheart
Alpha & Oméga
 
Avatar de Moonheart
 
Bon, j'ai un peu cherché, j'ai trouvé ou était le script OnItemActivate.

Petit problème, ce n'est pas vraiment ce que je cherche... Ce script là ne se déclenche que quand on fait appel à un "pouvoir unique" sur un objet, alors que je cherche le moyen d'executer un script quand au contraire une capacité du genre "Lancer un sort - Sort X" est activé sur un objet.

Passer par OnItemActivate m'obligerait à recopier tout le code du dit sort, et ce pour CHAQUE objet concerné... or des objets concernés, il y en a plein (une bonne cinquantaine voir plus et le nombre ne peux qu'augmenter) et cela tranformerait le script en un méga-switch.

Quelqu'un a une idée?
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
Citation:
"Lancer un sort - Sort X" est activé sur un objet.
pas bien compris, mais en mettant un executescript dans ton sort avec éventuellement un test sur la classe ou une variable qq oncque ... g tt faux c ca ?

sinon pour les

Citation:
Il faut juste que je trouve le nom des evenements asssociés:
- création = ?
- equipement = ?
- utilisation = OnActivateItem
- déséquipement = ?
je m'etais fais la même remarque, donc si tu trouve
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
euh... l'autre solution est pas mieux :

Un item qui possede le pouvoir de lancer timeStop, en fait, lance effectivement le nw_s0_timestop.nss...

La seule alternative a ton Pb, c'est de modifier les sorts concernés, pour verifier a l'execution si c'est un sort qui est lance, ou une activation d'objet, puis d'agir en consequence.

L'autre solution : presque tout les sorts lancent des Event a l'exection. Voit si tu peux jouer avec ca...

Quoiqu'il en soit, pour avoir moi-même modifie tout les sorts de NwN, je peut te garantir que c'est un peu chi***, des que tu touche a ca...
(mais c'est comme tout : quand le resultat suit, tu oublie les galeres ^^)
Lien direct vers le message - Vieux
Avatar de Moonheart
Moonheart
Alpha & Oméga
 
Avatar de Moonheart
 
Citation:
Provient du message de eMRaistlin
euh... l'autre solution est pas mieux :

Un item qui possede le pouvoir de lancer timeStop, en fait, lance effectivement le nw_s0_timestop.nss...

La seule alternative a ton Pb, c'est de modifier les sorts concernés, pour verifier a l'execution si c'est un sort qui est lance, ou une activation d'objet, puis d'agir en consequence.
Sauf que j'ai pas le droit au hackpak, et je crois que pour que mes modifs de sorts soient pris en compte par les clients, il en faut un, non?

Citation:
L'autre solution : presque tout les sorts lancent des Event a l'exection. Voit si tu peux jouer avec ca...
Meme problème que précédement.

Citation:
Quoiqu'il en soit, pour avoir moi-même modifie tout les sorts de NwN, je peut te garantir que c'est un peu chi***, des que tu touche a ca...
(mais c'est comme tout : quand le resultat suit, tu oublie les galeres ^^)
Disons qu'actuellement je joue sur un serveur qui a un vrai problème sur ce genre d'objets. Au départ il y en avait peu, c'était donc jouable... Des persos ont même été crées dans l'optique d'utiliser tel ou tel objet.

Mais malheureusement, ca a viré au cauchemard... les objets magiques sont maintenant TRES nombreux et comme on peux les utiliser sans les equiper, ca fait qu'un objet comme une "orbe de mort" qui lancer plainte 1fois/jour se retrouve acheté a 12 exemplaire par des guerriers qui finissent par balancer le sort à tout va (et c'est pas le seul)

Bref, je cherche une solution pour que sans retirer les items (ce qui dégouterait les joueurs qui ont axé leur perso sur un d'entre eux), ces dits items ne puissent plus etre utilisés sans etre équipés (ce qui limiterait leur prolifération dans les inventaires)

Helas, il me semble qu'il manque des evenement vitaux pour cela:
- Un evenement qui se déclenche quand on utilise le pouvoir d'un sort a partir d'un item
- Un evenement qui se déclenche quand on equipe un item
- Un evenement quand on déséquipe un item

Bref, je trouve NWN un peu léger sur les évenements au sujet de ces items (en fait, je trouve qu'il manque carément un onglet "scripts" comme sur les PNJ, pour etre franc)
Lien direct vers le message - Vieux
Avatar de Moonheart
Moonheart
Alpha & Oméga
 
Avatar de Moonheart
 
Citation:
Provient du message de Reyan
je m'etais fais la même remarque, donc si tu trouve
Pour l'equip/desequip, y'a pas l'air d'avoir. Pour la création, y'a "OnItemAcquiered" dans les scripts du module, que tu peux utiliser.
Lien direct vers le message - Vieux
Avatar de eMRaistlin
eMRaistlin
Alpha & Oméga
 
Avatar de eMRaistlin
 
non, pas besoin de hakpak pour modifier les scripts des sorts : tu ouvre le .nss que tu veux modifier (via les script editor), et tu modifie en sauvegardant avec le même nom.

Ne t'inquiete pas, ca ne modifie le sort que Sur le module courant, pas sur tout ton NwN
Lien direct vers le message - Vieux
Avatar de Moonheart
Moonheart
Alpha & Oméga
 
Avatar de Moonheart
 
Citation:
Provient du message de eMRaistlin
non, pas besoin de hakpak pour modifier les scripts des sorts : tu ouvre le .nss que tu veux modifier (via les script editor), et tu modifie en sauvegardant avec le même nom.

Ne t'inquiete pas, ca ne modifie le sort que Sur le module courant, pas sur tout ton NwN
Bon, ca aide deja un bout... Je peux donc ajouter un morceau de code qui vérifie que le sort a été lancé autrement que par un objet ou non et si c'est le cas faire que l'objet lui explose a la figure s'il n'était pas porté.

Petit problème: ca n'empeche pas les gens de "switcher" entre les items... Ok, ca limite un peu parce qu'il faut deux fois plus de raccourcis pour le même résultat, mais c'est encore loin de l'obligation de se limiter aux sorts des items auquel on alloue un slot définitivement comme je le désirais vu que ca n'empeche pas les joueurs de faire:

- hop! j'équipe
- hop! je lance le sort
- hop! je remet mon amulette habituelle
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
et tu peu pas maudire un peu ces objets ?
zavait l'air de dire qu'il y avait une fonction pour bloquer l'inventaire dans un topic voisin ...
fin maudire, ouais, imposer des contraintes d'utilisation quoi ...
Lien direct vers le message - Vieux
Avatar de Moonheart
Moonheart
Alpha & Oméga
 
Avatar de Moonheart
 
Citation:
Provient du message de Reyan
et tu peu pas maudire un peu ces objets ?
Meme problème... y'a entre 50 et 100 objets concernés, alors repasser sur chacun individuellement, ca serait l'enfer.

Citation:
zavait l'air de dire qu'il y avait une fonction pour bloquer l'inventaire dans un topic voisin ...
Ca ca m'interesse... T'as le lien, stp?
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
ba, demande sur le forum, parce que il avait vraiment donné aucune précision, et je vois pas ce que c'est
et c'est un procédé pour maudire, mais a travers le script, donc pdt le test dans le sort en fait, que je pensais (oui, c pas français .. c compréhensible ? )

au pire tu peux essayer de tester ce qu'ils sur eux tes joueurs, dans un onheartbeat qq part ... mais c achement lourd j'en ai peur :/
Lien direct vers le message - Vieux
Avatar de Moonheart
Moonheart
Alpha & Oméga
 
Avatar de Moonheart
 
Citation:
Provient du message de Reyan
(oui, c pas français .. c compréhensible ? )
En tout cas moi j'ai pas compris...
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
arf, dsl, chuis fatigué ^_^
en fait je disais, mais ca n'est qu'une idée basée sur pas grd chose, qu'il y avait peut être moyen de "maudire" les objets afin qu'il reste sur le perso, non pas ds les options de la palette, mais dans le script du sorts, si la fonction existe ainsi, pas de pb, quand ton sort est appelé, tu fais un test quelconque et tu maudit si faut ... ainsi tu GB de service , si lance orbe de truc avec sa chaine, ba il est obligé de la garder
autre idée : tu peux peut être, toujours dans le script, limiter le nombre de lancer par jour, non plus en fonction de l'objet, mais en fonction du PJ avec une variable quelconque réinitialisé, par exemple toute les 600 heartbeat genre on ne peut lancer qu'une fois orbe de truc, même si on a 46000 amulettes
mais bon, ss pas très rp tt ca ... :/ c t juste une idée
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > Euh... un ch'ti peu paumé dans tous les liens
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Neverwinter Nights RSS
  • Aucune vidéo pour le moment...
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 11h26.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite