Jump to content

Zeaig Zabelin

Resident
  • Content Count

    27
  • Joined

  • Last visited

Community Reputation

0 Neutral

About Zeaig Zabelin

  • Rank
    Member
  1. I am looking to basically take this script or a similar one, But incorporate a sub-menu system so i can change the texture of multiple faces instead of just a single face. So like i would have [ Face 1 Button] [Face 2 Button] [Face 3 Button] - and each button would bring me into a sub menu that now lets me select a texture and change the texture of the corresponding face via UUID. This is the script i am working with, I am not super script savvy when it comes to creating menus. Most of my scripting knowledge basically and comes from hacking together scripts and a bit of luck and occasional help. //Texture Change Menu Script. string msg = "Select your frame color."; string msgTimeout = "Sorry. Menu has timed out. Please try again."; float Timeout= 60; //Texture names list TEXTURE_LIST = ["Dark Brown", "Black", "Ash", "White", "Light Brown"]; //Texture uuid's list TEXTURE_VALUE = ["8127e3eb-ffd5-d91f-c0c4-e2ebe415a667", "04e462bf-9e65-f206-9247-ec5951b20d63", "4d847e65-2bdd-798d-ee2c-9e43599020d1", "06050eec-8f20-26a5-e31c-b8be51bacdbd", "55afaa32-9f6e-934b-2ec2-f82e0805b319"]; integer channel_dialog; integer listen_id; key ToucherID; integer N_DIALOG_CHOICES; integer MAX_DIALOG_CHOICES_PER_PG = 9; string PREV_PG_DIALOG_PREFIX = "< Page "; string NEXT_PG_DIALOG_PREFIX = "> Page "; string SlideShowCurrent; integer pageNum; giveDialog(key ID, integer pageNum) { list buttons; integer firstChoice; integer lastChoice; integer prevPage; integer nextPage; string OnePage; N_DIALOG_CHOICES = llGetListLength(TEXTURE_LIST); if (N_DIALOG_CHOICES <= 10) { buttons = TEXTURE_LIST; OnePage = "Yes"; } else { integer nPages = (N_DIALOG_CHOICES+MAX_DIALOG_CHOICES_PER_PG-1)/MAX_DIALOG_CHOICES_PER_PG; if (pageNum < 1 || pageNum > nPages) { pageNum = 1; } integer firstChoice = (pageNum-1)*MAX_DIALOG_CHOICES_PER_PG; integer lastChoice = firstChoice+MAX_DIALOG_CHOICES_PER_PG-1; if (lastChoice >= N_DIALOG_CHOICES) { lastChoice = N_DIALOG_CHOICES; } if (pageNum <= 1) { prevPage = nPages; nextPage = 2; } else if (pageNum >= nPages) { prevPage = nPages-1; nextPage = 1; } else { prevPage = pageNum-1; nextPage = pageNum+1; } buttons = llList2List(TEXTURE_LIST, firstChoice, lastChoice); } // FYI, this puts the navigation button row first, so it is always at the bottom of the dialog list buttons01 = llList2List(buttons, 0, 2); list buttons02 = llList2List(buttons, 3, 5); list buttons03 = llList2List(buttons, 6, 8); list buttons04; if (OnePage == "Yes") { buttons04 = llList2List(buttons, 9, 11); } buttons = buttons04 + buttons03 + buttons02 + buttons01; if (OnePage == "Yes") { buttons = []+ buttons; } else { buttons = (buttons=[])+ [ PREV_PG_DIALOG_PREFIX+(string)prevPage, NEXT_PG_DIALOG_PREFIX+(string)nextPage]+buttons; } llDialog(ID, "Page "+(string)pageNum+"\nSelect your frame color:", buttons, channel_dialog); } CancelListen() { llListenRemove(listen_id); llSetTimerEvent(0); } default{ state_entry() { channel_dialog = ( -1 * (integer)("0x"+llGetSubString((string)llGetKey(),-5,-1)) ); } touch_start(integer total_number) { ToucherID = llDetectedKey(0); listen_id = llListen( channel_dialog, "", ToucherID, ""); llSetTimerEvent(Timeout); pageNum = 1; if (llDetectedKey(0) == llGetOwner()) { giveDialog(ToucherID, pageNum); } else { llListenRemove(listen_id); llSetTimerEvent(0.0); } } listen(integer channel, string name, key id, string choice) { if (choice == "-") { giveDialog(ToucherID, pageNum); } else if (llSubStringIndex(choice, PREV_PG_DIALOG_PREFIX) == 0){ pageNum = (integer)llGetSubString(choice, llStringLength(PREV_PG_DIALOG_PREFIX), -1); giveDialog(ToucherID, pageNum); } else if (llSubStringIndex(choice, NEXT_PG_DIALOG_PREFIX) == 0) { pageNum = (integer)llGetSubString(choice, llStringLength(NEXT_PG_DIALOG_PREFIX), -1); giveDialog(ToucherID, pageNum); } else { integer i = llListFindList(TEXTURE_LIST, [choice]); string texture = llList2String(TEXTURE_VALUE, i); llSetTexture(texture,1); llListenRemove(listen_id); llSetTimerEvent(0.0); } } timer() { llListenRemove(listen_id); llOwnerSay(msgTimeout); llSetTimerEvent(0.0); } } Anyone willing to help or tips is greatly appreciated, Keep in mind if you get too minimal with your explanation it could possibly go over my head, that being said i am not completely incapable of understanding. Thanks Ahead!
  2. I just want you to know that you are a hero, i really appreciate everything you have helped me with. You saved me from hours more of headaches than i was already experiencing.
  3. Thank you so much, this did the trick! i had another quick question though for anyone who might know. i am trying to use this command below, llRegionSay(1555523,"embersmokeon" ); In a separate script to control this particle script, but it clearly cant communicate as an owner command so it will not activate the particle script. Any idea what i need to change in order to make the two scripts communicate correctly as owner only?
  4. Hello there, i have been fooling with this script for what seems like hours and i just cant seem to get this to do ANYTHING the way i want it. I am trying to make a simple cigarette smoke puff that comes out when a script in my cigarette sends out a command to this particle script inside a separate object. The problem is i am HORRIBLE with particles and i am getting nowhere, would anyone be kind enough to change these perimeters around for me so the particles come out in a small subtle puff of smoke, versus the giant fog cloud it is by default settings? I am just going to post out the original script i started with because what i wound up with wasn't even close to what i wanted. integer chan=1555523; list particles; init(){ particles = [ PSYS_PART_FLAGS,( 0 |PSYS_PART_INTERP_COLOR_MASK |PSYS_PART_INTERP_SCALE_MASK |PSYS_PART_FOLLOW_SRC_MASK |PSYS_PART_FOLLOW_VELOCITY_MASK |PSYS_PART_EMISSIVE_MASK ), PSYS_SRC_PATTERN, PSYS_SRC_PATTERN_ANGLE_CONE , PSYS_PART_START_ALPHA,1, PSYS_PART_END_ALPHA,0.0117647, PSYS_PART_START_COLOR,<1,1,1> , PSYS_PART_END_COLOR,<0.8,0.8,0.8> , PSYS_PART_START_SCALE,<3,3,0>, PSYS_PART_END_SCALE,<1.5,1.5,0>, PSYS_PART_MAX_AGE,10, PSYS_SRC_MAX_AGE,0, PSYS_SRC_ACCEL,<0,0,0>, PSYS_SRC_BURST_PART_COUNT,12, PSYS_SRC_BURST_RADIUS,0, PSYS_SRC_BURST_RATE,0.046875, PSYS_SRC_BURST_SPEED_MIN,1, PSYS_SRC_BURST_SPEED_MAX,1.29688, PSYS_SRC_ANGLE_BEGIN,1.5625, PSYS_SRC_ANGLE_END,1.5625, PSYS_SRC_OMEGA,<0,0,0>, PSYS_SRC_TEXTURE, (key)"701acd60-bd3b-e029-5769-d0f1f7ad4c5a", PSYS_SRC_TARGET_KEY, (key)"00000000-0000-0000-0000-000000000000" ]; } default { state_entry() { llParticleSystem([]); // make sure particles are turned off init(); llListen(chan,"",llGetOwner(),""); //only the owner to turn it on and off //llListen(chan,"","","");//anyone to turn on and off //comment and uncomment as preferred } on_rez(integer start_param) { llResetScript(); } listen(integer channel, string name, key id, string message) { message = llStringTrim(llToLower(message),STRING_TRIM);//trim leading and trailing space //and convert to LC, so typos are less of an issue if ("embersmokeon"==message){ llParticleSystem(particles); } else if ("embersmokeoff"==message){ llParticleSystem([]); } } } Thanks for your time!
  5. So, i seem to be completely stumped I need to find the 100% exact center prim scale perimeters for a texture that has the grid size of 17 Horizontal Length and 5 Vertical Length. Is there an easy way to figure this out? Maybe via script or a website that does the math or something? Thanks in advance. P.S When i mean exact, like it cant be close it has to be perfect for what i'm doing. I got it close but i cant get it exact is my issue.
  6. I honestly am not sure how complicated a script this seemingly simple is actually to do in practice, Nor do i know if its even something that can be reliably done without some technical issues or bugs. But if anyone thinks they can possibly help me with this it would be appreciated. I am trying to make a script that will change a texture via UUID on a specific date and time and then change back to another texture when the said time is over so for example. On Monday, at 730pm SL time it will change to texture 1 and at 9pm SLT it will change the texture, to texture 2 and stay as texture 2 until next monday and the whole process repeats indefinitely. How complicated is something like this, If its not and anyone would be willing to assist me i would be eternally greatful.
  7. Wow, thanks. I really really appreciate this it actually makes a ton of sense now i was just half asleep the other night and i think between that and the frustration i was having with the math behind it i was just sorta getting mad and thus making it even harder for me to figure it out. I really appreciate this tho, you even went out of your way to solve it for me instead of telling me some arbritrary way of how to do it my self. Much credit for you! thanks again.
  8. I am having a total brain fart right now, this is turning out to be way more complicated for me than it rightfully should I have a single 4x4 gridded texture, and a 4x4 grid of seperate objects. Is there a website, script or what have you for easily calculating what i need the stretch/offset of the texture to be on each object in order to make it fit the grid correctly? http://i.imgur.com/hJ2YdHX.png I cant figure this out for the life of me, and i know it should be simple to do.
  9. Well as i said in my post, My draw distance " View range" is set to 256 which is basically the default setting if im not mistaken. Tho that being said i used to be able to crank that up to pretty much any number i wanted even up inte 600 range and still barely feel the effects.
  10. Does anyone have any idea why i am getting such low FPS? i get on average 20-30 fps. In a fairly empty sim. But when i go to a new sim it jumps down to almost 11 FPS untill it fully loads everything and then goes back up to a low 20-30fps again. I would assume this should NOT be happening considering my hardware. I have the graphics set to max, But shadows are off and view range is only 256. Water Reflections are also set to minimum. I have a EVGA Nvidia GTX 980 Classified Edition graphics card. Ram - 24gb DDR3 Processor- I7 CPU 920 2.67GHz [ This is obviously my weakest link in my pc ] HD - 512gb Samsung SSD OS - Windows 8.1 Pro To put this into perspective, I can run crysis 3 on max graphics at nearly 60+fps the whole time. Why cant i run SL at a reasonable rate? I have a laptop with a mobile graphics card that seems to run second life better lol. Any suggestions on this?
  11. As much as i really really appreciate you responding to this question, The script you provided seems to give a Syntax Error. And im honestly unable to spot what the problem is.
  12. Hello there, I am having the hardest time trying to figure something out. I am trying to figure out if it is possible to make a script that will Play an initial sound lets say sound 1. A single time when you first start typing. And then Loop a second sound while you continue to type. And afterwards when you completely stop typing to play a 3rd final sound a single time again. This is what i tried to do and i obviously have no idea what im doing as you can tell but you can get a rough idea of my thought process behind it. default { state_entry() { llSetTimerEvent(1); } timer() { if (llGetAgentInfo(llGetOwner()) & AGENT_TYPING) { llPlaySound("fab88740-f506-45e1-93f9-46a8ac77303b",1.0); llSleep(9.9); llLoopSound("5ebbd45b-8625-60f7-cdd9-a7f5393758d8", 1.0); } else { llStopSound(); llPlaySound("fab88740-f506-45e1-93f9-46a8ac77303b",1.0); } } }Does anyone know how to correctly make the script im trying to do? Thanks ahead so much.
  13. I took at look at the Grid Status page, It says there was maintenence today and that it was resolved some time ago. I was having issues with the asset/inventory server a few moments getting errors " Item can not be attached due to some error " Tried to relog and cant connect to the server. Anyone else having issues at the moment?
  14. I havent really done a whole lot of research on this matter but i couldnt really find any info on this. Is there a bug currently where if you wear normal/specular mapped objects on your avatar that it will cause your client to crash over and over ? at least untill you log onto a veiwer without material mapping and remove it that is. I currently have a rigged mesh avatar, and i wanted to add mateiral mapping to it, But it appears im out of luck until i solve this issue. " I can veiw material mapping just fine, I have it all over my sim. Its just when i wear it that it messes me up "
  15. So recently i decided to go through and update a lot of my sim textures with specular and normal maps, and much to my surprise sometimes the object im mapping will go all wonkey and take up an obserd amount of prims if i add mapping to it. So like il do a wall somewhere, Its all good, takes up the same amount of prims as before. Then il do another wall add specular and normal mapping and all the sudden it uses up 300 prims. When it should only be no more than 3. Whats the deal with this. I thought it was just a glitch once but it happens somewhat frequently. I actually had a section of my sim get auto returned because of this problem from literally capping out my prim limit. Ive noticed from what it seems, If a prim has been cut or hollowed out this seems to effect how many prims its worth by skyrocketing the count up.
×
×
  • Create New...