Jump to content

pixstudio

Resident
  • Posts

    30
  • Joined

  • Last visited

Posts posted by pixstudio

  1. tnx Callum

    gdatalines1 is my way to pass many data to the obj , but the issue was in gdatalines2 with the channel integer..........the strange thing , if the integer for local is 0 ( and this explain the uuid passed in local ) why the item that recive info collect correctly the info ( integer channel 00358 )

    making some modify on the script , solved in different mode and now work with out local chat

  2. workin on script for pass data from hud to object i found this strange issue

    the script accept the data correctly and trasmit to object........ but say in local the uuid of texture sent, when the script have an integer channel  different from local

    here the code


    list gDataLines1;
    list gDataLines2;

    integer ch1;

    default
    {
        

       
        state_entry()
    {  
     }
             link_message(integer sender_num, integer num, string msg, key id)
    {
         if (num == -1)
    {
        gDataLines1 += msg;
        key A=(llList2String(gDataLines1,0));
        llSetTexture(A, ALL_SIDES);
     }
     
          else if (num == -6)
    {
        gDataLines2 += msg;
        string B=(llList2String(gDataLines2,0));
       
     }
    }
        
        
       
        
        
         touch_start(integer tn)
    {
        key A=(llList2String(gDataLines1,0));
       
        string B=(llList2String(gDataLines2,0));
        integer ch1 =((integer) B);    
           
            if (A  != NULL_KEY)
            if (ch1 == ch1)   
    {
           llSay((integer)B,A); }
           
       
     }
            
     }

  3. sure Rolig uuid must be unic to avoid any crosstalk with other scripted item in region i use the example above only for an advice if is possible to use any random info for generate uuid

    thinking on your message , give me an idea to use owner uuid for generate uuid + a suffix in obj description adding "-" in the integer obtained in this way

    example

    integer offset = (integer) (llGetObjectDesc() );

     

    integer ch = (integer) ("-" + llGetSubString(llGetOwner(),0,6) + offset);

  4. thanks Innula , i found the error , in reciver i forget to do  llgetsubstring (msg,1,-1) my fault ........ but every error give a lesson to undestand and remember for improving   ^ _^

    another question

    channel used for listen have an uuid ther is a way for create integer used for channel using an iternal string , and something write in description

    example

    offset= 12

    obj description = red12   ( letter string give  number 0  )

    integer desc = (integer) (llGetObjectDesc() );

    integer ch = (desc + offset);

    not sure that work the final channel must be in that example 01212

  5. you are correct Innula with no specific info noone can help

    so for the transmiter

        if (llGetSubString (msg, 0, 0) == "A")

    {

         string riga00 =(llGetSubString(msg,1,-1));       
         llMessageLinked(LINK_THIS,-1,"A"+(string)riga00,"");
         llSay(0,"A"+(string)riga00);


    for the receiver

     link_message(integer sender_num, integer num, string msg, key id)  
     
      {

    if (llGetSubString (msg, 0, 0) == "A")
     { 

         llSay(0,"primocheck"+msg);//check
        string A1 =(llGetSubString(msg,1,-1));
         key A=A1;  
         llSay(0,"secondocheck"+A1);    //check

    }

     

    i think the problem is relative to touch event, beacuse the two check work correctly, but when i press a button i recive error and llSay of button show me only A

  6. hi i have a little problem with this comand.....

    i have created a configurator

    the configurator read notecard and send to hud  the data (this part work because llSay show me the correct data trasfer)

    but when i press any button on hud i recive error and the llSay check show me only the first letter of the message

     

    this part is correct?

     link_message(integer sender_num, integer num, string msg, key id)  
      { if (llGetSubString (msg, 0, 1) == "A")
         {

    //A1=message -A
    string A1 =(llGetSubString(msg,1,-1));   
           llSay(0,"A"+msg);    }

     

  7. solved in this way........ mabe non the best and easy but work wll for my purpose

    vector relativePosOffset2 = <-0,0.5, -2.2>;
    vector relativeVel2 = <0.0, 0.0, 0.0>;
    rotation relativeRot2 = <0.0, 0.0, 0.0, 0.707107>;
    integer startParam2 = 10;
     vector myPos2 = llGetPos();
            rotation myRot2 = llGetRot();
     
            vector rezPos2 = myPos2+relativePosOffset2*myRot2;
            vector rezVel2 = relativeVel2*myRot2;
            rotation rezRot2 = relativeRot2*myRot2;
     
            llRezObject(itemx, rezPos2, rezVel2, rezRot2, startParam2);

    • Like 1
  8. list obj;
    integer dialog_channel_listener;
    key target_key;

    default
    {
        on_rez(integer start_param)
        {
            llResetScript();
        }
        touch_start(integer total_number)
        {
            llSetTimerEvent(0.0);
            llSensor("", NULL_KEY,ACTIVE|PASSIVE, 100, PI);
         
        }
        sensor(integer total_number)
        {
            integer current_id;
            string output_names = "Choose a target:\n";
            list output_buttons = [];
            obj = [];
            for (current_id == 0; current_id < total_number && current_id < 11; current_id++)
            {
                obj += llDetectedKey(current_id);
            

                output_names += (string)current_id + " - " + llDetectedName(current_id) + "\n";
                output_buttons += (string)current_id;

            }
            integer dialog_channel_num = -1 * (100000000 + (integer)llFrand(899999999));
            dialog_channel_listener = llListen(dialog_channel_num, "", llGetOwner(), "");
            llDialog(llGetOwner(), output_names, output_buttons, dialog_channel_num);
        }
       
        listen(integer channel, string name, key id, string message)
        {
            target_key = llList2Key(obj, (integer)message);
            llListenRemove(dialog_channel_listener);
            
           llSay (0,target_key);
            llSetTimerEvent(0.2);
        }
       
    }

    at the moment the dialog show only 10 item found , my purpose is to filter the list for finding only item of a specific creator

  9. good day i have a small question for sensor

    when i made the research and the sensor found item  there is a way for select only item with a specific uuid creator key

    i looked for llGetObjectDetail  but i dont understand the way for use the parameter for filtering item

  10. maybe i was wrong

    but in this case i found only item_a

    my question is if possible from the same script dectect one of 3 item and start an action with the item found

    update

    solved the problem

    llSensor("","",ACTIVE|PASSIVE,5,PI);

  11. another question about rezobject and detect

     in wiki i cannot found the way for detect 3 different item            item_a             item_b           item_c and in function of item found make an action

     

    with llsensor if i undestand the utilization i can search only a item at time

     

     

  12. another question

    i can do a  llGiveInventoryList , or llGiveInventory in function  of the name found?

    example
    if name = object_A

    llGiveInventory (target,llGetInventoryName(INVENTORY_OBJECT,0):

    else

     llGiveInventoryList(target, llGetObjectName(), inventoryItems);

     

  13. tnx for the help

    with a llsay (channel,message) i sente the number of the copy of the item

    the example from innula Zenovka explain the part i cannot understand  for the routine

    while(++iCounter <iMax);

     

    if i have understand strat from 0 and loop until reach 10 for the example

     

  14. good day , i have a small question

    is possible to repeat a rez object from a parsed number?

    example object  X a contain 2 object A and B

    i parse the number 10 and X rez A and B 10 Times

    any example are appreciated for understanding the function

×
×
  • Create New...