[script] Clics

Répondre
Partager Rechercher
On va rire.
Celui qui me trouve ça a ma gratitude éternelle et est accessoirement un dieu :
- J'ai besoin de récupérer dans un script le Tag du dernier object cliqué. Et j'aimerais éviter d'avoir à modifier tous les OnSpawns.

Merci à tous.
tu modifie le onused de base, avec un truc du genre

Code PHP:


object oPC
=GetLastUsedBy();
if(
GetIsPC(oPC))
SetLocalObject(oPC"LAST_CLICKED"OBJECT_SELF); 
variable objet que tu récupère quand t'en a besoin ..
pis y a éventuellement les onclick des trigers ...

ou alors :

Code PHP:


object oPC
=GetLastUsedBy();
if(
GetIsPC(oPC))
SetLocalString(oPC"LAST_CLICKED"GetTag(OBJECT_SELF)); 
si t'as déjà mis des onused de base partout, ba c pas bien, ca sert à quoi onuserdefined

mais tu peu tjrs modifier le onspawn de base ( :bouffon: ) et décotter la ligne du onused
euh... je comprend pas bien ta question.....

SetLocalObject(GetLastUsedBy(), "LastClick", OBJECT_SELF);
dans le OnUsed ca marche pas ?

d'autre part, je comprend pas ce que tu veux faire avec le OnSpawn
de base, celui de nwn le nw_machin_truc
mais tu vas avoir de tt facon pleins d'objets à changer, ds la mesure où y en a plein qu'on pas de onused de base ...
bref, tu peu aps être plus précis ?


edit : qd tu utilise un objet, il se met en memoire sur le PV avec un SetLocalObject, et qd t'as besoin du dernier utilisé tu fet un

GetLocalObject (oPC, "LAST_CLIKED);

...
Je précise ma pensée : je veux que le PC ou NPC aie une variable qui indique le dernier objet cliqué.

EDIT // Je précise : c'est d'une importance capitale.

EDIT 2// WARNING !!!
Excusez, excusez, je me suis mal exprimé : L'objet à récupérer est un PC ou NPC avant tout
bien avec ce truc, ca ne sera pas le dernier objet clické, mais le dernier objet utilisé (ce qui change un peu).

Pour simplement le CLICK d'un objet, je pense pas que ca soit possible :/
Bien pour utiliser, il faut arriver au contact, et déclencher l'action d'utilser, tandis que pour moi, un click est simplement de porter le doigt sur le bouton gauche de sa souris.

Après, si ta cible est une créature, tu dois pouvoir mettre le truc dans le .... ben je sais pas moi ^_^
Autre question toute aussi importante : j'active un objet avec pouvoir unique. Comment je détermine dans le script d'effets de l'objet la location du pointeur ?

C'est à dire que si je veux créer une table à l'endroit cliqué (ou pointé) par exemple, je détermine l'endroit comment dans mon script ?
avec la fonction qui va bien, a savoir :
Code PHP:

// Use this in an OnItemActivated module script to get the location of the item's
// target.
location GetItemActivatedTargetLocation() 
Oki je veux déclencher un effet visuel à toute personne qui demande la grâce de Dieu :
Dans le OnEnter du module :
Code PHP:

void main()
{
object oPC GetEnteringObject();
SetListening(oPC,TRUE);
SetListenPattern(oPC,"Amen",0);

Et dans le UserDefined :
Code PHP:

void main()
{
int nMatch GetListenPatternNumber();
 {
 if(
nMatch == 0)
  {
  
effect eVFX EffectVisualEffect(VFX_DUR_SANCTUARY,FALSE);
  
ApplyEffectToObject(DURATION_TYPE_PERMANENT,eVFX,oPC);
  
FloatingTextStringOnCreature("Dieu vous a entendu.",oPC,FALSE);
  }
 }

Mais le problème c'est que... Ben... Je vois pas comment initialiser le oPC dans le UserDefined...
Negatif : les Patternes ne fonctionnent que pour les pnj (quoique je n'ai pas teste un AssignCommand(ActionDoCommand(SetListenningPattern())).... oO?)

Et pour recuperer ces patternes, il faut un OnConversation, (euh c'est pour ca, que j'avais pas testé sur les PC ^^, et non pas un OnUDE (ou bien tu envoie un UDE sur le OnConversation, mais ca reviens un peu au même ^^)


PS : A noter que toutes les creature qui spawnnent declenche le OnEnter d'une zone, donc se verraient attribuer le Set.

PPS : A noter aussi que si tu met une Pattern identique a toutes les creatures de la zone, toute celle qui seront a portee de perception du gars qui dit Amen vont aussi beneficier de la grace divine, sauf si tu met des verif en plus...
Répondre

Connectés sur ce fil

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