Local Global ?

Répondre
Partager Rechercher
Voila je voudrait un script avec l'idée suivant , le pc parle a un PNJ
et lui permet l'acces a une zone ou une porte, pour ce faire je charge une variable pour le test avec SetLocalInt mais apparement c est vraiement local donc valide ke sur la zone pas sur le module ?? SetGlogal fonctionnerait-il si oui comment

Pour l instant voila mon code

#include "nw_i0_plot"

void main()
{
object oPC = GetPCSpeaker();
object oClicker = GetClickingObject();
object oTarget = GetTransitionTarget(OBJECT_SELF);// lasse passe
location lLoc = GetLocation(oTarget);

object oTarget2 = GetWaypointByTag ("recule");// recule a un trigger
location lLoc2 = GetLocation(oTarget2);

object oDoor = GetObjectByTag("porte_tour");
int J=GetLocalInt(oPC,"jeffrey");// jeffrey variable test

string Name = GetPCPlayerName(GetNearestPC());

if (J=1)
{
AssignCommand(oClicker,JumpToLocation(lLoc));
SetLocked(oDoor,FALSE);
}
else
{
AssignCommand(oClicker,JumpToLocation(lLoc2));
SetLocked(oDoor,TRUE);
ActionSpeakString(Name + " !!! Vous ne pouvez entrer pour le moment ");
}

}
non, local fonctionne sur tout le module, et sauvegardé après la deco du joueur sur lequel cela a été mis (sauf reboot). Il n'existe pas de fonction du style SetGlobal...
(attention : le nom de la variable est sensible à la casse)
(Il faut aussi que le joueur est acquis cette variable locale)
Hum est ce que l'assignation de ta variable est bien
Code PHP:

SetLocalInt(GetPCSpeaker(),"jeffrey",1); 

Je vais essayer de faire simple o_O
1 = donne une assignation pour les object, string, int, etc
2 == donne une egalite (desole je ne sais pas comment l'expliquer plus simplement ...)

PS : met les balises codes a l'occase
Bon toute a l'heure j'ai regarder et vite fait et je n'aurais pas du arf !

Voila les erreur l'object oPC tu le declare comme GetPCSpeaker or d'apres ce que je voix en lisant le code se script est sur une transition de porte...

Voila le code qui devrait marcher.

Code PHP:

//A mettre sur le OnAreaTransitionClik
#include "nw_i0_plot"

void main()
{
object oClicker GetClickingObject();
object oTarget GetTransitionTarget(OBJECT_SELF);
object oTarget2 GetWaypointByTag ("recule");// "recule" tag d'un Waypoint
object oDoor GetObjectByTag("porte_tour");//tag 

string sName GetName(oClicker);

    if(
GetLocalInt(oClicker,"jeffrey") == )//Test de variable "jeffrey"
    
{
    
AssignCommand(oClicker,JumpToObject(oTarget));
    
SetLocked(oDoor,FALSE);
    }
    else
    {
    
AssignCommand(oClicker,JumpToObject(oTarget2));
    
SetLocked(oDoor,TRUE);
    
ActionSpeakString(sName " !!! Vous ne pouvez entrer pour le moment. ");
    }


J'ai tester en simuant sur un module et ca fonctionne correctement j'ai modifier quelque truck et editer le poste ci-dissus car je pense pas que tu voulais afficher le nom du compte du joueur mais le nom de son perso

Si ca ne fonctionne pas pour toi c'est que ca vien de tes tag ou que tu place mal ce script...

J'ai mis dans l'en-tête du code l'emplacement ou il faut le mettre (afin d'etre sure )
Répondre

Connectés sur ce fil

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