script pour déplacer un hud a l'écran

Répondre
Partager Rechercher
hellow, à demande succinte, réponse succinte....crée un hud en position Center, mets ce script et clic dessus...



Code PHP:

float onoff 0.2;

default
{
    
on_rez(integer start_param)
    {
        
llResetScript();
    }
    
    
state_entry()
    {
        
llSetLinkPrimitiveParamsFast(LINK_SET, [PRIM_POS_LOCAL,<0.0,0.0,0.0>]);
    }

    
touch_start(integer total_number)
    {
        
llSetLinkPrimitiveParamsFast(LINK_SET, [PRIM_POS_LOCAL,llGetLocalPos() + <0.0,onoff,0.0>]);

        
onoff = -onoff;
    }

dans le HUD ....


Code PHP:

 list order_buttons(list buttons)
{
    return 
llList2List(buttons, -3, -1) + llList2List(buttons, -6, -4) +
          
llList2List(buttons, -9, -7) + llList2List(buttons, -12, -10);
}

list 
boutons = ["x","-x","y","-y","z","-z","STOP"];

integer canal;
integer ecoute;

key owner;

string msg;

default
{
    
on_rez(integer start_param)
    {
        
llResetScript();
    }
  
    
state_entry()
    {
        
owner llGetOwner();
        
canal = (integer)("0xA" llGetSubString((string)owner0,));
    }
  
    
touch_start(integer total_number)
    {
        
llSetTimerEvent(30.0);
        
ecoute llListen(canal"",owner"");
      
        
llDialog(owner"Choise un mouvement"order_buttons(boutons), canal);

        
llWhisper(canal,msg);      
    }
  
    
listeninteger canalstring namekey idstring msg )
    {
        
llSetTimerEvent(0.0);
      
        if(
msg == "STOP")
        {
            
llListenRemove(ecoute);
        }
        else
        {
            
llWhisper(canal,msg);
            
llListenRemove(ecoute);          
        }      
    }
  
    
timer()
    {
      
llSetTimerEvent(0.0);
      
llListenRemove(ecoute);
      
llOwnerSay("Temps ecoulé, veuillez recliquer");
    }
  
    
changed(integer change)
    {
        if(
change & (CHANGED_OWNER))
        {
            
llResetScript();
        }
    }


[/php]


et dans le hud qui se deplace...



Code PHP:

float pas 0.1;

integer canal;
integer ecoute;

key owner;

vector deplacmt;

default
{
    
on_rez(integer start_param)
    {
        
llResetScript();
    }
    
    
state_entry()
    {
        
owner llGetOwner();
        
canal = (integer)("0xA" llGetSubString((string)owner0,));
        
ecoute llListen(canal""owner"");
    }

    
listeninteger canalstring namekey idstring msg)
    {
        if(
msg == "x")
            
deplacmt = <pas,.0,.0>;
        else if(
msg == "-x")
            
deplacmt = <-pas,.0,.0>;
        else if(
msg == "y")
            
deplacmt = <.0,pas,.0>;
        else if(
msg == "-y")
            
deplacmt = <.0,-pas,.0>;
        else if(
msg == "z")
            
deplacmt = <.0,.0,pas>;
        else if(
msg == "-z")
            
deplacmt = <.0,.0,-pas>;

        
llSetLinkPrimitiveParamsFast(LINK_THIS, [PRIM_POS_LOCAL,llGetLocalPos() + deplacmt]);
    }
    
    
changed(integer change)
    {
        if(
change & (CHANGED_OWNER)) 
        {
            
llResetScript();
        }
    }

merci je vais faire des essai et je vous dit

j'ai essayé c'est ce qu'il me fallait un grand merci pour la valeur du déplacement plus grand ou plus petit je pense que je doit modifier la valeur de pass je voudrai un déplacement plus fin

Dernière modification par bral38 ; 21/12/2023 à 21h28. Motif: Auto-fusion
Répondre

Connectés sur ce fil

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