Jump to content

Pepite Roxan

  • Posts

  • Joined

  • Last visited

Everything posted by Pepite Roxan

  1. Thank you. Actually the livery I'm doing had, historically the swastica printed. If it is for historical purpose, is it allowed, so?
  2. Hello everyone :) I'm going to upload an aircraft. I have doubts about the swasticas. There is something in the SL TOS that forbids me to upload historical textures with swasticas printed on? The swastica will be to have it as close as possible the real thing was. Thank you very much, Pepite
  3. /builds any kind of Mesh stuff, from a simple board to a full rigged outfit or avatars. Contact me inworld if you need my help :) Pepite Roxan
  4. Ok, I found where the bug was: timer() { integer max = llGetListLength(gListeners)-1; //nb max is positive if (max) if listlenght is 0, as in this case (there are not listeners rezzed yet....) "max" becomes -1 at the first function of the timer event. The "if (max)" just checks if it is FALSE (aka 0). Since it is -1 now, LSL reads it as TRUE.... A "if (max >= 0)" should solve the issue. (PS Tested and works)
  5. Ok, now I fully understood what "(--max>-1)" does and how it works. Thank you very much. I will try if the "Valid Key" code lines resolve the problem. Please don't do other codes I want to try myself (even if the most you just did ) Im still reading the Wiki tutorials, I will soon "Fast-Read" every instruction of LSL to at least know what this language can do and what is the best commad to issue for any particular task. Thank you very much, I will test and modify for my needs the listener script too and I will let you know it it works as I wanted. For the knowledges I have now, I think this way is the best way to temporanely have a lot of objects in listning mode (Lets say I can have 50-100 objects doing it...). My Sim will be not "Fixed", it will rezz things (RP areas) at needs, for example i can rez in a part of it a city, llDie it all for rezzing a forest when I want it and things like this. Homesteads are poor in prims count, so this is the why I need such scripts (Telling you in the case you are wondering )
  6. Thank you very much for the answers. Kayaker: The Do While thing I did surely is a mistake, but I read in the LSL wiki that a sleeping script does, very very little, but still create a lag. llSleep, instead, has lag 0.00. Rolig: I saw the LSL links, very intresting the "Best Coding Pratices", thank you very much Innula, my Lady Teacher : I had not much time, I was able to rewrite just the "Speaking Object" script to fit my needs, here the code I did. I fullfilled it with a lots of comments to let you know my thoughts when I was doing it and my issues on some operators: PS: I used the "Insert Code" option, but it is all black.... sorry, this will make you all much more hard to read it. // ------------------------------------------------------------// --------------- Speaker Script -----------------------------// ------------------------------------------------------------integer gChannel; // Channel generated for objects comunicationsinteger gOffset= 99; // Offset for Comunication Channel genatorlist gListeners; // Holds UUIDs of listening objectsinteger gDebug = 1; // Setted to 1 when debugging the scriptdefault{ state_entry() { gChannel = gOffset + ((integer)("0x"+llGetSubString((string)llGetOwner(),-8,-1)) & 0x3FFFFFFF) ^ 0xBFFFFFFF; /* NOTE: I CHANGED THE llListen BELOW TO MAKE IT TO READ EVERY MESSAGE, I NEED IT TO DO THAT, THE OBJECT WILL LISTEN ITSELF SEVERAL ORDERS AND WILL SEND THEM TO THE LISTENER OBJECTS SIM WIDE */ llListen(gChannel,"","",""); llSetTimerEvent(30.0); // Timer to regularily update the Listener Object List } listen(integer channel, string name, key id, string message) { if (message == "i exist") { llRegionSayTo(id,gChannel,"Ok,kid"); // Answers to the Listener Object if(!~llListFindList(gListeners,[id])) // If the UUID of the object isn't in the list { // so gListeners +=[id]; // add it if (gDebug) // DEBUGGING { // DEBUGGING llOwnerSay("Adding an Listener Object that exists in the Sim"); // DEBUGGING } // DEBUGGING } } if (message == "order1") // I will add several "if" for the several instructions i need to send out { integer max = -llGetListLength(gListeners); //nb max is negative if(max) //if there any listening objects { if (gDebug) // DEBUGGING { // DEBUGGING llOwnerSay("Sending Order1 Sim Wide"); // DEBUGGING } // DEBUGGING do // loop through the list, saying something to them { llRegionSayTo(llList2Key(gListeners,max),gChannel,"order1"); } while (++max); // WHAT THIS OPERATORS MEANS? WHAT IT DOES? CAN YOU WRITE IT IN A SIMPLER WAY? } } } timer() { integer max = llGetListLength(gListeners)-1; //nb max is positive if (max) // SOMETHING BROKEN IN THE "if (max)" ABOVE, THE DEBUGGING KEEPS TO TELL ME ONCE PER SCAN THAT IT DELETES AN OBJECT // MAYBE SOMETHING WITH THE "while (--max>-1)"? I STILL DONT UNDERSTAND WHAT IT MEANS // TONIGHT I WILL TRY TO CHECK IT AND FIND OUT BY MYSELF { do { if (llGetObjectDetails(llList2Key(gListeners,max),[OBJECT_POS])==[]) //not there { gListeners = llDeleteSubList(gListeners,max,max); //remove it from the list if (gDebug) // DEBUGGING { // DEBUGGING llOwnerSay("Deletes a Listener Object from the list cause it is not anymore in the Sim"); // DEBUGGING } // DEBUGGING } } while (--max>-1); // WHAT THIS OPERATORS MEANS? WHAT IT DOES? CAN YOU WRITE IT IN A SIMPLER WAY? } }}
  7. Ok, thank you very much again. Not only the fact that you did the script is nice, even more useful is to see the better way to write them than my way of doing it. My background knowlegdes comes from in school learned Basic. I understood what the script in general is doing, I will have to study better it in depth, some grammars on it are stranger for me (my fault ) I will now elaborate it for the use I need, I will repost it when ready. Thank you very much to show me the way PS: Scripting is so fun
  8. Ok, thank you very much for the script and the link. The script as made by you looks much more elegant. Will not by MyAlt do give the messages, an objet will do it, but it is an easy fix. Since the script will be putted on severeal objects simwide, the llRegionsay will be my choice. I will try to find if in the LLlisten i can filter several chat strings, something like this: If you , please, can give me the correct syntax for doing it, i will appreciate a lot Finding out correct systaxs is hard for the beginners like me. I read that the -5 channel should be even better, since it will said by script. Thank you very much again, Pepite llListen(-5,"",object uuid,("msg1","msg2","msg3")); // listen to my alt on channel 5
  9. Hello :) I will have many objects on my sim that will have a listener into them. Since I read that having a lot of listeners cause lags i thought about to activate the listeners only when a my Alt (Created only for this purpose) enters the region. When she left the region, the listeners will close. Since I still didnt understood at 100% the llListen and the listen event, I write here the simple script I did for that purpose, and I need someone to tell me if it will work (If it will really remove the listeners when the Alt will leave. I don't know how to check if there are listeners that I didnt removed). Sorry for my english, I hope what I wrote makes some sense. Thank you very much for the help. integer Exit = 0; integer Listener; integer ListenerNotCreated = 1; default { state_entry() { do { llSleep (30); // Do the loop once every 30 seconds if (llGetAgentSize("my Alt agent key here")) { // - Sim Controller is in the Region if (ListenerNotCreated == 1) { llSay (0,"Creating Listener"); Listener = llListen(0, "", "", ""); ListenerNotCreated = 0; } } else { // - Sim Controller is not in the Region if (ListenerNotCreated == 0) { llSay (0,"Removing Listener"); llListenRemove(Listener); ListenerNotCreated = 1; } } } while (Exit == 0); } listen(integer chan, string name, key id, string msg) { if (msg == "Do the thing") { // Something happens here } } }
  10. Hello :) I done a simle script that rezzes inword an object from the contents of another object. I have Copy permission of the rezzing object (I can rex multiple from inventory), but when I rez it from the contents it disappears from there, so I can rez this way only once. There is a solution for that? There is a ll command so I can put the object back into the contens from inworld? So I will be able to rezz and derezz the same object several times. Hoping my post has soem sense (my english is not so good), Thank you, Pepite
  • Create New...