Jump to content

Shymus Roffo

Resident
  • Posts

    118
  • Joined

  • Last visited

Posts posted by Shymus Roffo

  1. Yeah, it works. But after a bit, it will not work. If you click it a few times the rotations go off. I would have to straighten it for it to work. Yes, the prim is cut so it rotates on the access. :smileywink:

    I used a sleep so it would ignore chat. The normal script uses a listener and waits for a command.

    My question is, how would you fix it from doing that issue with the rotation setting off after a few clicks.

  2. I have been experimenting with rotations, during that time while trying to make a "swivel" gate or a traffic gate that would be on something like RR crossings; i came across a problem with my function to rotate the arm.

     

    ffSetRot(integer n,rotation sr,rotation er) {
        rotation b = ( sr / ZERO_ROTATION) * er;
        vector ax = llRot2Axis(b);
        float an = llRot2Angle(b);
        integer j;
        for(j=0;j<=n;++j) {
            llSetLinkPrimitiveParamsFast(LINK_THIS,[PRIM_ROT_LOCAL,sr * llAxisAngle2Rot(ax,((float)j) / ((float)n) * an)]);
            llSleep(0.01);
        }
    }
    
    integer open = FALSE;
    integer speed = 35;
    rotation r_open = ZERO_ROTATION;
    rotation r_closed = ZERO_ROTATION;
    
    default {
        state_entry() {
            r_open = llEuler2Rot(<0,-90,0>*DEG_TO_RAD);
            r_closed = llEuler2Rot(<0,0,0>*DEG_TO_RAD);
        } 
        touch_start(integer s) {
            if(llDetectedKey(0) == llGetOwner()) {
                if(!open) {
                    ffSetRot(speed,llGetLocalRot(),r_open);
                } else {
                    ffSetRot(speed,llGetLocalRot(),r_closed);
                }
                open = !open;
            }
        }
    }

     If you were to click this enough times, the rotations would change, then they would slowly offset. I'm not the best with rotations, so i don't really know what the function does, my friend did that for me. If you are able to explain it better then that would really help.

  3. I am trying to make a light switch to practice my rotation skills as i am not good with them. I am having troubles with problems with the object if it is rotated a certain way.

     

    flipSwitch(integer n) {
        vector vrot = llRot2Euler(llGetRot());
        if(n) vrot += <-30 * DEG_TO_RAD,0,0>;
        else vrot += <30 * DEG_TO_RAD,0,0>;
        llSetRot(llEuler2Rot(vrot));
    }
    
    integer on = FALSE;
    default {
        touch_start(integer n) {
            flipSwitch(on = !on);
        }
    }

     

    If the object is rotated on Z axis then the rotations will start to act all weird and won't rotate like a switch properly.

    Also if you can point me to a place to learn rotations easily, it would help! :P

    • Like 1
  4. Does this use prim media? What i am going to be doing is making street signs with this and if this supports multiple fonts and is not media i might look into this cause it looks kinda cool.

  5. I know this may not be "scripting" but i can't really think of anywhere else to post this since it is a thing that only scripters use. I'm trying find more fonts for XyText, i can't find the plugin for Gimp that creates the letters and i was wondering where i can find different textures or fonts for the XyText 2.0.


    I have found the gimp plugin for GIMP that creates the one letter per face but i'm looking for the two letter face.
     If there is a plugin for photopshop, GIMP, or any other graphics program. Where can i find it?

  6. Something like this would rely on communications between the head and HUD. I would reccommend checking out the llListen() function as well as the llRegionSayTo() function.


    Here's a simple example of transmission, this would probably also work well for the HUD.

    HUD Transmiter

    integer c = -5345345345; //The channel that is transmitted to the head to change the texture or to tell the head what button we pressed.
    default
    {
        on_rez(integer s) { llResetScript(); }
        
        //The event raised when someone touches the script.
        touch_start(integer n)
        {
            //Make sure the person touching the buttons is the owner.
            if(llDetectedKey(0) == llGetOwner())
            {
                string name = llToLower(llGetLinkName(llDetectedLinkNumber(0)));// Check the name of the button that is pressed and force it to lower case and store in a variable for comparing later.
                //Send the command to the head on the channel specified at the top of the script
                llRegionSayTo(llGetOwner(),c,name);
            }
        }
    }

     

    Head/Expression Listener

    integer c = -5345345345; //Receiving channel that is transmitted from the hud

    integer face_link_number = LINK_ROOT;//The link number of the head prim
    integer face_texture_face = ALL_SIDES;//The face that the texture would be applied

    default
    {
        on_rez(integer s) { llResetScript(); }
        state_entry()
        {
            //Set up the event for listening on the channel specified, in which case the channel is set at the top of the script in the variable "c"
            llListen(c,"","","");
        }
        
        //The event pulled when a message is received on the channel that is specified in the llListen() function
        listen(integer chan, string n, key i, string m)
        {
            if(chan == c)
                llSetLinkTexture(face_link_number,m,face_texture_face);

        }
    }

     

    • Like 1
  7. I'm trying to get a more smoother script for a golf cart, so far the script is nothing but sharp and pointy. I can do all the logic for testing what keys are pressed but i can't figure out how to make things smoother and how everything works...

    Yes i have checked out the Linden Vehicle Tutorial, some was helpful and some was not.

    I'm trying to get smoother acceleration and turning. I will be placing gears in the script to allow variable speeds.

     

    default {
        state_entry() {
            llPassCollisions(TRUE);
            llSetSitText("Drive");
            llSitTarget(<.6,0.3,0.2>,ZERO_ROTATION);
            llSetCameraEyeOffset(<-5,0,5>);
            llSetCameraAtOffset(<3,0,1>);
            
            llSetVehicleType(VEHICLE_TYPE_CAR);
            llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 0.80);
            llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 1.0);
            
            llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0.2);
            llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 0.1);
            
            llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_TIMESCALE, 1.0);
            llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 0.1);
            
            llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_TIMESCALE, 0.3);
            llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 0.1);
            
            llSetVehicleVectorParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, <100.0, 2.0, 1000.0> );
            llSetVehicleVectorParam(VEHICLE_ANGULAR_FRICTION_TIMESCALE, <1000.0, 1000.0, 1000.0> );
            
            llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.0);
            llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 300.0);
            
            llSetVehicleFloatParam(VEHICLE_HOVER_HEIGHT, 0 );
            llSetVehicleFloatParam(VEHICLE_HOVER_EFFICIENCY, 0 );
            llSetVehicleFloatParam(VEHICLE_HOVER_TIMESCALE, 1000 );
            llSetVehicleFloatParam(VEHICLE_BUOYANCY, 0 );
            
            llRemoveVehicleFlags(VEHICLE_FLAG_HOVER_WATER_ONLY | VEHICLE_FLAG_HOVER_TERRAIN_ONLY | VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT);
            
            llSetVehicleFlags(VEHICLE_FLAG_NO_DEFLECTION_UP | VEHICLE_FLAG_LIMIT_ROLL_ONLY | VEHICLE_FLAG_HOVER_UP_ONLY | VEHICLE_FLAG_LIMIT_MOTOR_UP);
            
            llCollisionSound("", 0.0);
        } changed(integer c) {
            if(c & CHANGED_LINK) {
                key a = llAvatarOnSitTarget();
                if(a) {
                    if(a == llGetOwner()) {
                        llSetStatus(STATUS_PHYSICS,TRUE);
                        llRequestPermissions(a,PERMISSION_TRIGGER_ANIMATION | PERMISSION_TAKE_CONTROLS);
                    } else {
                        llSay(0,"Get your own brick! >:O");
                        llUnSit(a);
                        llPushObject(a,<0,0,100>,ZERO_VECTOR,FALSE);
                    }
                } else {
                    llSetStatus(STATUS_PHYSICS,FALSE);
                    llReleaseControls();
                    //llStopAnimation("");
                }
            }
        } run_time_permissions(integer p) {
            if(p) {
                //llStartAnimation("sit");
                llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_RIGHT | CONTROL_LEFT | CONTROL_ROT_RIGHT | CONTROL_ROT_LEFT,TRUE,FALSE);
            }
        } control(key i, integer level, integer edge) {
            vector angular_motor;
            if(level & CONTROL_FWD)
                llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION,<10,0,0>);
            if(level & CONTROL_BACK)
                llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION,<-3,0,0>);
            if(level & CONTROL_UP)
                angular_motor.y -= 10;
            if(level & (CONTROL_RIGHT | CONTROL_ROT_RIGHT)) {
                angular_motor.x += PI;
                angular_motor.z -= PI;
            } if(level & (CONTROL_LEFT | CONTROL_ROT_LEFT)) {
                angular_motor.x -= PI;
                angular_motor.z += PI;
            }
            llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION,angular_motor);
        }
    }

     Many thanks for the help. ;)

  8. I'm trying to get a more smoother script for a golf cart, so far the script is nothing but sharp and pointy. I can do all the logic for testing what keys are pressed but i can't figure out how to make things smoother and how everything works...

    Yes i have checked out the Linden Vehicle Tutorial, some was helpful and some was not.

    I'm trying to get smoother acceleration and turning. I will be placing gears in the script to allow variable speeds.

     

    default {
        state_entry() {
            llPassCollisions(TRUE);
            llSetSitText("Drive");
            llSitTarget(<.6,0.3,0.2>,ZERO_ROTATION);
            llSetCameraEyeOffset(<-5,0,5>);
            llSetCameraAtOffset(<3,0,1>);
            
            llSetVehicleType(VEHICLE_TYPE_CAR);
            llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_EFFICIENCY, 0.80);
            llSetVehicleFloatParam(VEHICLE_LINEAR_DEFLECTION_TIMESCALE, 1.0);
            
            llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_EFFICIENCY, 0.2);
            llSetVehicleFloatParam(VEHICLE_ANGULAR_DEFLECTION_TIMESCALE, 0.1);
            
            llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_TIMESCALE, 1.0);
            llSetVehicleFloatParam(VEHICLE_LINEAR_MOTOR_DECAY_TIMESCALE, 0.1);
            
            llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_TIMESCALE, 0.3);
            llSetVehicleFloatParam(VEHICLE_ANGULAR_MOTOR_DECAY_TIMESCALE, 0.1);
            
            llSetVehicleVectorParam(VEHICLE_LINEAR_FRICTION_TIMESCALE, <100.0, 2.0, 1000.0> );
            llSetVehicleVectorParam(VEHICLE_ANGULAR_FRICTION_TIMESCALE, <1000.0, 1000.0, 1000.0> );
            
            llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_EFFICIENCY, 0.0);
            llSetVehicleFloatParam(VEHICLE_VERTICAL_ATTRACTION_TIMESCALE, 300.0);
            
            llSetVehicleFloatParam(VEHICLE_HOVER_HEIGHT, 0 );
            llSetVehicleFloatParam(VEHICLE_HOVER_EFFICIENCY, 0 );
            llSetVehicleFloatParam(VEHICLE_HOVER_TIMESCALE, 1000 );
            llSetVehicleFloatParam(VEHICLE_BUOYANCY, 0 );
            
            llRemoveVehicleFlags(VEHICLE_FLAG_HOVER_WATER_ONLY | VEHICLE_FLAG_HOVER_TERRAIN_ONLY | VEHICLE_FLAG_HOVER_GLOBAL_HEIGHT);
            
            llSetVehicleFlags(VEHICLE_FLAG_NO_DEFLECTION_UP | VEHICLE_FLAG_LIMIT_ROLL_ONLY | VEHICLE_FLAG_HOVER_UP_ONLY | VEHICLE_FLAG_LIMIT_MOTOR_UP);
            
            llCollisionSound("", 0.0);
        } changed(integer c) {
            if(c & CHANGED_LINK) {
                key a = llAvatarOnSitTarget();
                if(a) {
                    if(a == llGetOwner()) {
                        llSetStatus(STATUS_PHYSICS,TRUE);
                        llRequestPermissions(a,PERMISSION_TRIGGER_ANIMATION | PERMISSION_TAKE_CONTROLS);
                    } else {
                        llSay(0,"Get your own brick! >:O");
                        llUnSit(a);
                        llPushObject(a,<0,0,100>,ZERO_VECTOR,FALSE);
                    }
                } else {
                    llSetStatus(STATUS_PHYSICS,FALSE);
                    llReleaseControls();
                    //llStopAnimation("");
                }
            }
        } run_time_permissions(integer p) {
            if(p) {
                //llStartAnimation("sit");
                llTakeControls(CONTROL_FWD | CONTROL_BACK | CONTROL_RIGHT | CONTROL_LEFT | CONTROL_ROT_RIGHT | CONTROL_ROT_LEFT,TRUE,FALSE);
            }
        } control(key i, integer level, integer edge) {
            vector angular_motor;
            if(level & CONTROL_FWD)
                llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION,<10,0,0>);
            if(level & CONTROL_BACK)
                llSetVehicleVectorParam(VEHICLE_LINEAR_MOTOR_DIRECTION,<-3,0,0>);
            if(level & CONTROL_UP)
                angular_motor.y -= 10;
            if(level & (CONTROL_RIGHT | CONTROL_ROT_RIGHT)) {
                angular_motor.x += PI;
                angular_motor.z -= PI;
            } if(level & (CONTROL_LEFT | CONTROL_ROT_LEFT)) {
                angular_motor.x -= PI;
                angular_motor.z += PI;
            }
            llSetVehicleVectorParam(VEHICLE_ANGULAR_MOTOR_DIRECTION,angular_motor);
        }
    }

     Many thanks for the help. ;)

  9. I'm having some problems with a HUD that i've been working on, I'm trying to make a list of names (fetched via HTTP) that are to be displayed on a HUD. The hud uses llSetText to display the names and uses a pagination like scrolling to scroll through names and select what can be done with that name. Getting the names from the server is not hard for me all i have problems with is the text.


    The problem i am having is with the scrolling It will scroll down (forward) but not up (backward).

     

    This is just an example of how the selection will work.
    The hud

     

    The main script.

    list names = ["John Smith","Shymus Roffo","Some Person","Cool Kid","Second Life","Linden Lab"];
    list links4txt = [5,4,3,2]; 
    
    llSetLinkText(integer ln, string t, vector c) {
        // LinkNumber,Text,Color
        llSetLinkPrimitiveParamsFast(ln,[PRIM_TEXT,t,c,1]);
    }
    ffUpdateDisplay(integer pos,integer active)
    {
        end = index + 3;
        display = llList2List(names, index, end);
        //llOwnerSay(llDumpList2String(display, ","));
        llOwnerSay(llList2String(names,pos));
      //   llOwnerSay(" j is" + (string)pos);
        integer i;
        for(i=0; i< prims; i++) 
        {
          
            if(pos > 3 ){pos = 3;}
           //  if(pos < 2 ){pos = 2;}
            if(i == pos)
            {
                llSetLinkText(llList2Integer(links4txt,i),llList2String(display,i),<1,0.5,0.5>);
                echo = llList2String(display,i);
            }
            else
                llSetLinkText(llList2Integer(links4txt,i),llList2String(display,i),<1,1,1>);
        }
         llSetText("Index: " + (string)index + "\n Position: "+(string)pos,<1,1,1>,1);
    }
    integer len;
    integer index;
    integer end ;
    integer prims ;
    integer j;
    list display;
    string echo;
    default
    {
        state_entry()
        {
            end = index + 3;
            len = llGetListLength(names);
            prims =  llGetListLength(links4txt);
            display = llList2List(names, index, end);
        }
        
        touch_start(integer n)
        {
            //if(llDetectedKey(0) == llGetOwner()) 
            //{
                string name = llGetLinkName(llDetectedLinkNumber(0)); 
               
                if(name == "forward") 
                {
                    j++;
                    if(j == len ) { j = 0; index = 0;}
                    if(j > end ) ++index; 
                    ffUpdateDisplay(j,j);
                } 
                else if(name =="backward") 
                {
                    j--;
                    llWhisper(0,"J: "+(string)j+"\nIndex: "+(string)index);
                    if(j < 0) { 
                        j = 5; index = llGetListLength(names)/4;
                        llWhisper(0,"J: "+(string)j+"\nIndex: "+(string)index);
                    } if(j < index ) {
                        --index;  
                        llWhisper(0,"J: "+(string)j+"\nIndex: "+(string)index);
                    }
                    ffUpdateDisplay(j,j);
                }
                 else if(name =="Some Object") 
                {
                    llSay(0,"echoing : " + echo);
                }
            //}
        }
    }

     

  10. I'm having some problems with a HUD that i've been working on, I'm trying to make a list of names (fetched via HTTP) that are to be displayed on a HUD. The hud uses llSetText to display the names and uses a pagination like scrolling to scroll through names and select what can be done with that name. Getting the names from the server is not hard for me all i have problems with is the text.


    The problem i am having is with the scrolling It will scroll down (forward) but not up (backward).

     

    This is just an example of how the selection will work.
    The hud

     

    The main script.

    list names = ["John Smith","Shymus Roffo","Some Person","Cool Kid","Second Life","Linden Lab"];
    list links4txt = [5,4,3,2]; 
    
    llSetLinkText(integer ln, string t, vector c) {
        // LinkNumber,Text,Color
        llSetLinkPrimitiveParamsFast(ln,[PRIM_TEXT,t,c,1]);
    }
    ffUpdateDisplay(integer pos,integer active)
    {
        end = index + 3;
        display = llList2List(names, index, end);
        //llOwnerSay(llDumpList2String(display, ","));
        llOwnerSay(llList2String(names,pos));
      //   llOwnerSay(" j is" + (string)pos);
        integer i;
        for(i=0; i< prims; i++) 
        {
          
            if(pos > 3 ){pos = 3;}
           //  if(pos < 2 ){pos = 2;}
            if(i == pos)
            {
                llSetLinkText(llList2Integer(links4txt,i),llList2String(display,i),<1,0.5,0.5>);
                echo = llList2String(display,i);
            }
            else
                llSetLinkText(llList2Integer(links4txt,i),llList2String(display,i),<1,1,1>);
        }
         llSetText("Index: " + (string)index + "\n Position: "+(string)pos,<1,1,1>,1);
    }
    integer len;
    integer index;
    integer end ;
    integer prims ;
    integer j;
    list display;
    string echo;
    default
    {
        state_entry()
        {
            end = index + 3;
            len = llGetListLength(names);
            prims =  llGetListLength(links4txt);
            display = llList2List(names, index, end);
        }
        
        touch_start(integer n)
        {
            //if(llDetectedKey(0) == llGetOwner()) 
            //{
                string name = llGetLinkName(llDetectedLinkNumber(0)); 
               
                if(name == "forward") 
                {
                    j++;
                    if(j == len ) { j = 0; index = 0;}
                    if(j > end ) ++index; 
                    ffUpdateDisplay(j,j);
                } 
                else if(name =="backward") 
                {
                    j--;
                    llWhisper(0,"J: "+(string)j+"\nIndex: "+(string)index);
                    if(j < 0) { 
                        j = 5; index = llGetListLength(names)/4;
                        llWhisper(0,"J: "+(string)j+"\nIndex: "+(string)index);
                    } if(j < index ) {
                        --index;  
                        llWhisper(0,"J: "+(string)j+"\nIndex: "+(string)index);
                    }
                    ffUpdateDisplay(j,j);
                }
                 else if(name =="Some Object") 
                {
                    llSay(0,"echoing : " + echo);
                }
            //}
        }
    }

     

  11. That's not really close to what i'm looking for but here might be a good example as an image, it does not work though. 

    The image 

    I'm trying to make it so names come in from a database then go into a list ( which i can do :P ) then make it so that names display on the hud ( which is not made yet ), then when an arrow is pressed the list would advance then the current list option would be red and the rest would be white. Then if the green prim is pressed it would echo out the name or current active list choice.

    It's knid of hard to describe, so sorry if it is not good enough. 

  12. I'm trying to make a thing that interfaces with my database and to display names from it with floating text. I already know how to do the database part, i'm just having trouble with the list selector and menu for the hud.


    How it works:

    There is a list of names in the script. When the forward arrow is pressed, advanced down the list and set the current name selected to red and the rest to white. Same for the previous arrow.

    This is what i have... Yes i know it sucks.

    //The names to display, comes from an MySQL Database
    list names = ["John Smith","Shymus Roffo","Some Person","Cool Kid","Second Life","Linden Lab"];
    list links4txt = [5,4,3,2]; //The link numbers of the displays for the flaoting text
    //Simple function to set the link text
    llSetLinkText(integer ln, string t, vector c) {// LinkNumber,Text,Color
        llSetLinkPrimitiveParamsFast(ln,[PRIM_TEXT,t,c,1]);
    }
    ffUpdateDisplay(integer pos,integer active) {
        integer i;
        for(i=0;i<4;i++) {
            if(i == pos)
                llSetLinkText(llList2Integer(links4txt,i),llList2String(names,active),<1,0.5,0.5>);
            else
                llSetLinkText(llList2Integer(links4txt,i),llList2String(names,active),<1,1,1>);
        }
    }
    
    default {
        touch_start(integer n) {
            if(llDetectedKey(0) == llGetOwner()) {
                integer i;
                for(i=0;i<n;i++) {
                    string name = llGetLinkName(llDetectedLinkNumber(i));
                    integer position_in_list = 0;
                    integer j = 0;
                    if(name == "forward") {
                        if(j <= llGetListLength(links4txt))
                            j = 0;
                        else
                            j++;
                        ffUpdateDisplay(j,j);
                    } else if(name =="backward") {
                        if(j > llGetListLength(links4txt))
                            j = 0;
                        else
                            j--;
                        ffUpdateDisplay(j,j);
                    }
                    llOwnerSay("Pos:"+(string)j);
                }
            }
        }
    }

     All things i've tried have not been working. It is starting to get rather annoying... >.<

     

  13. If you are trying to call a file you made in localhost, chances of it working 0.1%. Localhost is the machine you are currently using with an apache or IIS server running. If you want to call a PHP script from Second Life you will have to get a domain and host it in order to call it.


    If your going to try and call it from your computer i would try to port forward. The disadvantages to doing this is that your computer is going to act as a server that needs to be on 99% of the time to accept requests. It will also be a good target for malicous activity.

    If you would like ot know more about port forwarding i would read this wiki page.

  14. i have been trying to figure out how to send requests with PHP into SL and it is starting to become a pain in the butt, i am not good with the function fsockopen. i have tried cURL and so far nothing is working. I do not like XML-RPC cause it needs updated every 10 minutes.

    the LSL scripts works when i submit a html form and open the url in my browser, but does not work when i try to send a cURL request.

    LSL script

    //I made this script simple just to see if i was able to get a request.
    key reqid;
    default {
        state_entry() {
            reqid = llRequestURL();
            llOwnerSay((string)reqid);
        } http_request(key id, string method, string body) {
            if(id == reqid) {
                if(method == URL_REQUEST_GRANTED)
                    llOwnerSay(body);
            }
            llOwnerSay(llGetHTTPHeader(id,"x-query-string"));
            llOwnerSay(llGetHTTPHeader(id,"x-script-url"));
            llHTTPResponse(id, 200, "Recieved");
            llOwnerSay(body);
        }
    }

     

    PHP Script:

    <?php
    
    $ch = curl_init("http://sim9058.agni.lindenlab.com:12046/cap/5d700359-60b8-ad8a-872f-a817da37cf2f/?hello=hello");
    
    $nvp = "&msg=hello";
    
    curl_setopt($ch,CURLOPT_POSTFIELDS,$nvp);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    
    echo curl_exec($ch);
    
    ?>

     

×
×
  • Create New...