se teleporter sur n'importe quel avatar sur la sim en restant assise sur un prim

Répondre
Partager Rechercher
Bonjour à tous ,

Je suis actuellement à la recherche d'un ou deux scripts, je vous explique la chose .


J'aimerais pouvoir me téléporter sur n'importe quels avatars sur le sim en restant assise sur un prim , ce que je veux dire c'est que une fois assise sur mon prim je puisse avoir une sorte de bouton sur mon écran que je clic et qui me propose tout les avatars sur la sim , je n'aurais du coup juste à choisir le noms de l'avatars .


J'avais déjà vu cela avec un bouton que tu clic sur ton écran . Impossible de retrouver cela. C'est pour cela si l'un ou l'une d'entre avais ça cela m'aiderait beaucoup pour finir mon petit jeu .

une tres belle journée à tous
Marrant la tendance actuelle pour ce genre de trucs....m' enfin bon, le script suivant devrait le faire




Code PHP:

​integer i;
integer ecoute;
integer canal;
integer num;
integer COUNT 1;

key target;
key owner;

list 
BOUTONS;
list 
CLES;
list 
KEYS;
list 
pos;
list 
rot;

list 
MENU1;
list 
MENU2;

string name;
  
choix_cible()
{
    
num llGetListLength(KEYS);
    
llListenRemove(ecoute);
    
ecoute llListen(canal""NULL_KEY"");
    
    if(
num <= 11)
    {
        
BOUTONS = [];
        
CLES = [];

        
integer i;
        do
        {
         
name llKey2Name(llList2Key(KEYS,i));
         
key cle llList2Key(KEYS,i);
          if(
name != "")
            {
               
BOUTONS += llGetSubString(name,0,12);
               
CLES += cle;
            }
        }
        while(
i++<num);
        
llDialog(owner"Choose Target"BOUTONS,canal);
    }
    else
    {
        
BOUTONS = ["<<<<<"">>>>>"];  
        
CLES = ["<<<<<"">>>>>"];
        
        
integer start = (COUNT 10) - 10;
        
integer stop = (COUNT 10) - 1;
        
i;
         
        for(
start<= stop; ++i)
        {
            
string name llKey2Name(llList2Key(KEYS,i));
            
key cle llList2Key(KEYS,i);

            if(
name != "")
            {
               
BOUTONS += llGetSubString(name,0,12);
               
CLES += cle;
            }
        }
        
llDialog(owner"Choose Target"BOUTONS,canal);
    }
    
llSetTimerEvent(30.0);
}


default
{
    
on_rez(integer start_param)
    {
        
llResetScript();
    }
    
    
state_entry()
    {
        
owner llGetOwner();
        
canal = (integer)("0xA" llGetSubString((string)owner0,));
        
KEYS = [];
    }
        
    
touch_start(integer total_number)
    {
        
KEYS llGetAgentList(AGENT_LIST_REGION, []);
        
choix_cible();
    }
    
    
listen(integer channelstring namekey idstring msg)
    {
        
llListenRemove(ecoute); 
        
llSetTimerEvent(0.0);
        
         if(
msg == ">>>>>")
        {
            
float MAX llGetListLength(KEYS);

            
MAX MAX 9.0;
            
integer MAXIMUM llCeil(MAX);
            ++
COUNT;

            if(
COUNT MAXIMUM)
            {
                
COUNT 1;
            }
            
choix_cible();        
        }
         else if(
msg == "<<<<<")
        {
            if(
COUNT 1)
            {
                --
COUNT;
            }
             else
            {
            
float MAX llGetListLength(KEYS);
            
MAX MAX 10.0;
            
integer MAXIMUM llCeil(MAX);
            
COUNT MAXIMUM;
            }
            
choix_cible();
        }
        
        else
        {
            
integer index llListFindList(BOUTONS, [msg]);
            
target llList2Key(CLESindex);
           
            
pos = [];
            
rot = [];
            
            
pos llGetObjectDetails(target,[OBJECT_POS]);
            
rot llGetObjectDetails(target,[OBJECT_ROT]);
            
llSetRegionPos(llList2Vector(pos,0)+<0.0,0.0,1.5>);
            
llSetRot(llList2Rot(rot,0));
        }
    }

 
timer()
    {
        
llListenRemove(ecoute);
        
llSetTimerEvent(0.0);
        
llOwnerSay("Time out...");
    }

 
changed(integer change)
    {
        if (
change CHANGED_OWNER
        {
            
llResetScript();
        }
    }

merci
Bonjour merci MenthalOH ,

j'ai fait un petit bouton qui est sur mon écran qui lancent des instructions sur le chat quand je suis a coté de l'avatar , pense tu possible de creer un petit bouton a mettre sur mon ecran ou je n'es juste a clic pour me teleporter vers la personne de mon choix ? ou c'est une chose trop complexe ?

merci dans tout les cas pour ton aide
On peut tout faire....ou presque....mais quel interêt de cliquer un bouton sur l' écran, quand on peut cliquer le cube sur lequel on est assis ?
et s' il s' agit juste de se tp....il suffit d' aller ds la liste "people"....clic droit/teleport to....et on se retrouve sur la tête du gugusse...
Pour faire un script efficace, faut vraiment avoir une idée précise de ce qu'il doit faire....
Bonjour à nouveau Menthal ,

En fait je parlée de bouton car j'active deja des choses avec 2 boutons sur mon ecrans pour mon cubes , particules , effets sonore ... du coup cela aurais était plus pratique pour moi t'integrer un autre petit bouton sur mon écran à coté des autres au lieu de clicker sur mon cube , car le cube parfois et rempli de petit particules du coup pas toujours evident de le voir et de clic dessus ... je comprend ta logique bien entendu mais c'était plutôt pour ma part une histoire pratique en ayant bouton sur mon écran en + que je colle au 2 ou 3 autres .

Je sais pas si mon explication est clair ^^mais j'ai essayée de faire du mieux

merci pour ta réponse
pour le bouton....



Code PHP:

integer i;
integer ecoute;
integer canal;
integer canal2;
integer num;
integer COUNT 1;

key target;
key owner;

list 
BOUTONS;
list 
CLES;
list 
KEYS;
list 
pos;
list 
rot;

list 
MENU1;
list 
MENU2;

string name;
  
choix_cible()
{
    
num llGetListLength(KEYS);
    
llListenRemove(ecoute);
    
ecoute llListen(canal""NULL_KEY"");
    
    if(
num <= 11)
    {
        
BOUTONS = [];
        
CLES = [];

        
integer i;
        do
        {
         
name llKey2Name(llList2Key(KEYS,i));
         
key cle llList2Key(KEYS,i);
          if(
name != "")
            {
               
BOUTONS += llGetSubString(name,0,12);
               
CLES += cle;
            }
        }
        while(
i++<num);
        
llDialog(owner"Choose Target"BOUTONS,canal);
    }
    else
    {
        
BOUTONS = ["<<<<<"">>>>>"];  
        
CLES = ["<<<<<"">>>>>"];
        
        
integer start = (COUNT 10) - 10;
        
integer stop = (COUNT 10) - 1;
        
i;
         
        for(
start<= stop; ++i)
        {
            
string name llKey2Name(llList2Key(KEYS,i));
            
key cle llList2Key(KEYS,i);

            if(
name != "")
            {
               
BOUTONS += llGetSubString(name,0,12);
               
CLES += cle;
            }
        }
        
llDialog(owner"Choose Target"BOUTONS,canal);
    }
    
llSetTimerEvent(30.0);
}


default
{
    
on_rez(integer start_param)
    {
        
llResetScript();
    }
    
    
state_entry()
    {
        
owner llGetOwner();
        
canal = (integer)("0xA" llGetSubString((string)owner0,));
        
canal2 canal +2;
        
KEYS = [];
    }
        
    
touch_start(integer total_number)
    {
        
KEYS llGetAgentList(AGENT_LIST_REGION, []);
        
choix_cible();
    }
    
    
listen(integer channelstring namekey idstring msg)
    {
        
llListenRemove(ecoute); 
        
llSetTimerEvent(0.0);
        
         if(
msg == ">>>>>")
        {
            
float MAX llGetListLength(KEYS);

            
MAX MAX 9.0;
            
integer MAXIMUM llCeil(MAX);
            ++
COUNT;

            if(
COUNT MAXIMUM)
            {
                
COUNT 1;
            }
            
choix_cible();        
        }
         else if(
msg == "<<<<<")
        {
            if(
COUNT 1)
            {
                --
COUNT;
            }
             else
            {
            
float MAX llGetListLength(KEYS);
            
MAX MAX 10.0;
            
integer MAXIMUM llCeil(MAX);
            
COUNT MAXIMUM;
            }
            
choix_cible();
        }
        
        else
        {
            
integer index llListFindList(BOUTONS, [msg]);
            
target llList2Key(CLESindex);
            
            
llSay(canal2,(string)target);
        }
    }

 
timer()
    {
        
llListenRemove(ecoute);
        
llSetTimerEvent(0.0);
        
llOwnerSay("Time out...");
    }

 
changed(integer change)
    {
        if (
change CHANGED_OWNER
        {
            
llResetScript();
        }
    }



et pour le prim...



Code PHP:

integer ecoute;
integer canal2;

key target;
key owner;

list 
pos;
list 
rot;


default
{
    
on_rez(integer start_param)
    {
        
llResetScript();
    }
    
    
state_entry()
    {
        
owner llGetOwner();
        
canal2 = (integer)("0xA" llGetSubString((string)owner0,))+2;
        
llListenRemove(ecoute);
        
ecoute llListen(canal2""NULL_KEY"");
    }
    
    
listen(integer channelstring namekey idstring msg)
    {
            
target = (key)msg;
           
            
pos = [];
            
rot = [];
            
            
pos llGetObjectDetails(target,[OBJECT_POS]);
            
rot llGetObjectDetails(target,[OBJECT_ROT]);
            
llSetRegionPos(llList2Vector(pos,0)+<0.0,0.0,1.5>);
            
llSetRot(llList2Rot(rot,0));
    }

 
changed(integer change)
    {
        if (
change CHANGED_OWNER
        {
            
llResetScript();
        }
    }

Répondre

Connectés sur ce fil

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