Jump to content

Gregory McLeod

Resident
  • Posts

    140
  • Joined

  • Last visited

Everything posted by Gregory McLeod

  1. OK I will try to send the object. Please be aware that there are some security elements within the scripts which may need explanation. Please just try the game before you explore the scripts within all the sub-objects. I also have some other objects related to the game - noticeboard, notecard etc I will include them. Please examine the object and if any problems send an IM to Gregory McLeod. I will not terminate my account until you are satisfied you understand the object and it's scripts.
  2. Congratulations MishkaKatyusha you have won the chance to receive the ChinChek - Chinese Checkers Game. Please contact me when you can be avaiable to meet in-world when i will give you all you need to develop this further.
  3. The OBJECT is a critical part of the Game and cannot be posted in script form. The scripts could be posted but would be meaningless, which is why I want someone to take ownership of the game.
  4. I am about to delete my account and take up other pastimes. I have spent too many hours scripting. What have I achieved, one Chinese Checker playing game. I would like to donate this to someone with the time and interest to take it and make use of it for gain or not as they will. The game is known as ChinChek and appeared in a few places but I never managed to make money out ot it. CAN YOU? Please apply to Gregory McLeod with a statement of what you might be able to do with the game. I will decide who gets it on the 31st December and provide a sample plus all the scripting at no charge.
  5. Thanks. I may come back to ask for more help once I have read/viewed those suggestions.
  6. I need to get to grips with MESH. I need a pointer to tutorials or other guides on what is required to understand what is possible with MESH and then how to 'make' them.
  7. I have just finished working for the LigafutbolVirtual soccer game. I am now suffering from LSL scripting withdrawal symptoms. If you have a good interesting project that needs a skilled scripter please let me know.
  8. Thanks I knew someone would tell me what I could find.
  9. I have just terminated my involvement with a large multi-player game and am suffering LSL withdrawal symptoms. I am looking fo a project to which I could bring my skills in LSL and Project development.
  10. I do not know if you have had any other replies but I am suffering from SL scripting withdrawal symptoms having just finished my involvement with what was a major multi player game in SL. I could help depending on waht level of help you require, Please send me an IM and we could meet and talk about it. I am in the UK so bear that in mind when you respond
  11. That has provided an answer which works, thank you. I was trying to use the examples in the link provided before and just could not get them to work. Now I have working lsl and php scripts I can expand on them to find out what is happening in my HUD.
  12. To try to resolve what I think may be a misunderstanding between us Darkie I show the whole of the PHP script that is being called and the method of calling. The method of calling <q> string SERVER_URL = "http://awebsite.com/folder1/folder2/manager.php?action=UPDATE"; key SERVER_REQ_ID; integer id; id = -1; request_server() { SERVER_REQ_ID = llHTTPRequest( SERVER_URL+"&id="+(string)id, [], "" ); } other lines of code </q> the receiving website manager.php <q> <?php include_once('bin/DBHandler.php'); $USE_APACHE_HEADERS = TRUE; // switch to false if you need cgi methods if ($USE_APACHE_HEADERS) { $headers = apache_request_headers(); $objectgrid = $headers["X-SecondLife-Shard"]; $objectname = $headers["X-SecondLife-Object-Name"]; $objectkey = $headers["X-SecondLife-Object-Key"]; $objectpos = $headers["X-SecondLife-Local-Position"]; $ownerkey = $headers["X-SecondLife-Owner-Key"]; $ownername = $headers["X-SecondLife-Owner-Name"]; $regiondata = $headers["X-SecondLife-Region"]; $regiontmp = explode ("(",$regiondata); // cut cords off $regionpos = explode (")",$regiontmp[1]); // $regionname = substr($regiontmp[0],0,-1); // cut last space from simname } else { $db = $GLOBALS; $headers = $db['HTTP_ENV_VARS']; $objectgrid = $headers["HTTP_X_SECONDLIFE_SHARD"]; $objectname = $headers["HTTP_X_SECONDLIFE_OBJECT_NAME"]; $objectkey = $headers["HTTP_X_SECONDLIFE_OBJECT_KEY"]; $ownerkey = $headers["HTTP_X_SECONDLIFE_OWNER_KEY"]; $objectpos = $headers["HTTP_X_SECONDLIFE_LOCAL_POSITION"]; $ownername = $headers["HTTP_X_SECONDLIFE_OWNER_NAME"]; $regiondata = $headers["HTTP_X_SECONDLIFE_REGION"]; $regiontmp = explode ("(",$regiondata); $regionpos = explode (")",$regiontmp[1]); $regionname = substr($regiontmp[0],0,-1); } if(!isset($ownerkey)) { print "INVALID_ACCESS";; } $db = new DBHandler(); function createSurl($reg, $p) { $p = str_replace ( "(" , "" , $p ); $p = str_replace ( ")" , "" , $p ); $c = split ( "," , $p); return "secondlife://$reg/$c[0]/$c[1]/$c[2]"; } $action = $_GET['action']; switch($action) { case "UPDATE": $id = $_GET['id']; if( is_numeric ($id) ) { if($id == -1) { $index = $db->getLastIndex() + 1; if($db->addField($index, $ownername, createSurl($regionname, $objectpos))) print "NEW,$index"; else print "Database Error"; } else if($id > 0) { if($db->isField($id)) { if($db->updateField($id, $ownername, createSurl($regionname, $objectpos))) { if($db->isFieldActive($id)) print "ENABLE"; else print "DISABLE"; } else { print "DISABLE"; } } else if($db->addField($id, $ownername, createSurl($regionname, $objectpos))) print "NEW,$index"; else print "Database Error"; } } else print "INVALID"; break; } </q> Note in this PHP script there is an incompatability between the code and the PHP version in the statement <q> function createSurl($reg, $p) { ... $c = split ( "," , $p); ... </q> which is what got me into this mess in the first place. I have fixed that by changing the split to a preg_split as in $c = preg_split( '[(,)]' , $p ); The result that the prim receives from the request is INVALID_ACCESSINVALID which suggest to me that the $ownerkey is not being set. Do you have any comments?
  13. I assume you mean in the PHP script. If so yes the setting $USE_APACHE_HEADERS = TRUE; but I am so much a beginner at this that I don't know what it means. Help please.
  14. I am using an HTTPRequest from a prim script SERVER_REQ_ID = llHTTPRequest( SERVER_URL+"&id="+(string)id, [], "" ); I naively thought that all httprequests were accompanied by the Second_life Headers. The one I am missing is X-SecondLife-Owner-Key this results in an php script error and the returned data is invalid. Do you have to use one of the GET or POST methods to get SL to send the full headers? If so I wonder how this used to work, as it did.
  15. OK we seem to be on the same wavelength now. In a hud script there is the following line gkRequestID = llHTTPRequest(gsUpdateURL,[HTTP_METHOD,"POST",HTTP_MIMETYPE,"application/x-www-form-urlencoded"],lsOptions+"&au="+llMD5String(lsOptions+"#"+gsGameKey,giGameNonce)); In the lines that precede that are lines that set the values for the gsUpdateURL, and the lsOptions. In the quoted line is a standard way of obscuring and authenticating the content should it be intercepted (the portion startng with &au=). the gsGameKey and giGameNonce are also set as fixed values although in the real HUD they are dynamically set. I want to use a browser to verify the actions by the gsUpdateURL which is a PHP script which interprets the various parts of the value/pairs OP=??? and au=??? which are detected from the $_POST array variables in the PHP script.. So if I type in the browser url field http://gsUpdateURL.php?op="somevalueofactionoperand"&au="somevalueofoperand" I get a 404 page not found when I expected a response from the server and that is what is bugging me. Any ideas? NB I now know that what I thought was a UUID is infact the url of the receiving HUD in a SL region !
  16. Thanks for the reply. I am sorry if I was not clear in my aims. To enable me to check that the correct response is coming from the PHP script in the server I wanted to be able to test it using a simple browser. Entering http://a.b.c/d.php followed by parameters which emulate or simulate what the llHTTPRequest assembles from a request such as gkRequestid = llHTTPRequest(gsUpdateURL,[HTTP_METHOD,"POST",HTTP_MIMETYPE,"application/x-www-form-urlencoded"],lsOptions..... where the lsOptions contains op="validate&ui="+llEscapeURL((string)gkPlayer)+"&ve="+llEscapeURL(gsHUDVersion); I am making it clearer?
  17. @Darkie That is what I believe is the correct process. The problem is that I am the only user of the test website I have setup and the saved information as you suggest gets saved with a serialize and save data to file. I think I have spotted my mistake in the analysis of the error. It raises an interesting question if the httprequest is gkRequestID = llHTTPRequest(gsUpdateURL,[HTTP_METHOD,"POST",HTTP_MIMETYPE,"application/x-www-form-urlencoded"],lsOptions+"&au="+llMD5String(lsOptions+"#"+gsGameKey,giGameNonce)); Can this be generated from a browser so I can check the effect of the different parts http://website/a../b../c../d...php?op=hudcheck&ui=c337c075%2D0527%2D4684%2Db65b%2D94b6ddeaa0e6&ve=0%2E9%2E9%2E6&au=b21a99479bdccf6f27e8cbed01eab4dd Does not work I think because the & after the d..php is not the correct format. What is?
  18. I have never heard of sloodle.org and don't click on strange links.
  19. Thanks again, I have tackled this problem from a different angle. From other LSL scripts I have detected that one of the functions obtains a URL for use by external sources. This is communicated to the webserver PHP script which is supposed to update the data file with the URL and which includes the port number so that the PHP script can send a request for the LSL script on ereceipt can give inventory to the requesting avatar. Something seems to be going wrong with that updating so I am trying to find out what. Back to the depths of PHP.
  20. Thanks for the reply. Yes it does and I have tried to decipher the PHP script that is invoked by the LSL script in the HUD. It Opens a file in the public_html folder on the server and that does contain a string which could be the problem. That string reads http://sim10156.agni.lindenlab.com:12046/cap/54604be4-4538-c807-80b7-3a26b11c7140/ which possibly identifies the cap portion of the error message I quoted. The error seems to be a file or folder not found. I am still looking for a method of identifying the unknown UUID.
  21. I am debugging a complex HUD script which communicates with a website. The script sends a POST to the web page correctly and gets a response. The status returned is 200. The body however does not contain the expected "*OK" or "*UPD" so it sends a message to the owner, me, which says HUD Server Error: cap not found: '4baaf270-e135-eff9-da91-a2d5a422620a' This latter part would seem to be a UUID but I cannot identify it. I have looked for anything named 'cap' but not found anything. Is there a way of identifying whatever was not found using the UUID? If I can identify that I can then check what is missing and supply what is missing.
  22. To all who replied, thank you very much for reassuring me. I can now start work on rejigging the system confident that I would not be exposed to suits. I have taken the best advice available!
  23. Hi Rolig, I am sure I have heard of one of the environments (no names to protect my sanity) into which if you copied a Prim with scripts the scripts would if executed then become available. They are after all assets without which there aouwld be no purpose copying. My memory is not clear of exactly when this was possible but since my birth in SL. I accept your comments as of now. I will have to confirm this before I jump as losing the scripts for this system could be expensive (for me).
  24. I am developing a system which currently requires a password to be loaded by the script and is used for all communications between prims and between the prims and a a website. Setting up a new instance of the system requires someone in authority to be present when the prims are "built" and load the password into the objects. This is obviously time consuming and prevents a distribution of a copy of the system to a new owner. So my question/s If all the prims can only be edited by a pre-named avatar and the scripts within the prims are all locked (permissions) can I assume that noone can get at the script content? I am aware that dumping the prims to another environment has in the past meant that the content is n ot secure. Is this still the case? TIA
×
×
  • Create New...