Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //====================================
- // ed. 2019.08.28
- // Lighting (spec and norm) options from menu.
- //
- // edited 20190809.15
- // Collar and Muzzle options
- //
- // edited 190209.15
- //====================================
- integer menu_chan;
- integer lh;
- integer isSound=TRUE;
- integer range=5;
- key OWNER;
- list colors_= ["Red_","Green_","Blue_","Yellow_","Orange_","Pink_","Purple_","Cyan_","White_","Grey_", "Black_"];
- list colors_vect=[<1,0,0>,<0,1,0>,<0,0,1>,<1,1,0>, <1,.5,0>, <1,0,1>,<.5,0,1>,<0,1,1>,<1,1,1>,<.5,.5,.5>,<0,0,0>];
- string pet_name="Dog";
- vector color_vector=<.5,.5,.5>;
- integer isNameOn=FALSE;
- integer collar_state=TRUE;
- string collar_texture;
- integer muzzle_state=FALSE;
- string muzzle_texture1;
- string muzzle_texture2;
- list statics=["Static_1","Static_2","Static_3","Static_4","Static_5","Static_6","Static_7"];
- DisplayName()
- {
- if (isNameOn) llSetLinkPrimitiveParamsFast(2,[PRIM_TEXT,pet_name,color_vector,1]);
- else llSetLinkPrimitiveParamsFast(2,[PRIM_TEXT,"", color_vector,0]);
- }
- ///////////////////////////////////////////////////////
- OwnerSay(string aText) {
- }
- /*// Face map
- integer FUR_FACE=0;
- integer HEAD_FACE=2;
- integer LEG_FACE=4;
- integer EYE_FACE=1;
- integer MUZZLE_FACE=6;
- integer MUZZLE_FACE2=7;
- integer COLLAR_FACE=1;*/
- // Face map
- integer FUR_FACE=0;
- integer HEAD_FACE=3;
- integer LEG_FACE=5;
- integer EYE_FACE=2;
- integer MUZZLE_FACE=6;
- integer MUZZLE_FACE2=7;
- integer COLLAR_FACE=1;
- ///////////////////////////////////////////////////////
- // UUID of texture HERE:
- string FurCream ="ea8bf2cf-21e0-db31-a87d-5bd88397e705";
- string FurBlack ="eafc3dc6-4d60-5d4f-0f26-1b4e2803f918";
- string FurWhite ="bd07ae55-1f55-971e-c102-baa283637bb1";
- string HeadCream ="17759ab0-9256-2f1e-2b46-5191172cc290";
- string HeadBlack ="6af4c532-a849-7776-366b-7110f43f358c";
- string HeadWhite ="acd6f4f1-dfba-84bd-a43b-2e78f12d5b51";
- string LegCream ="5424db70-f50e-a8b9-3a73-69773ca58ec5";
- string LegBlack ="47138c8b-7ca0-0a51-bed8-1f49d2421536";
- string LegWhite ="4836c2d5-b51b-e801-99f1-b08fd3bb917b";
- //eyes
- string EyeSmall ="f23a1b50-b680-3428-d6ff-65e0eeac49a3";
- string EyeMedium ="1f076e68-d550-facc-c838-48ce134000ce";
- string EyeBig ="ec471d0c-69c5-f0b0-3650-4be3f7d84856";
- //Muzzle
- string MuzzleText_1 ="0243aade-1617-dc1c-c6e4-5b66c5f5cfba";
- string MuzzleText_2 ="8ed72ac0-4ab3-daee-2014-f71f3162f1c6";
- string MuzzleText_3 ="ce3a2e57-7e22-f22f-dc63-323875f1c179";
- string MuzzleText_4 ="9960c7da-df9d-149b-2b9e-5cf368824de6";
- string MuzzleText_5 ="01da3b37-7390-a0ca-fb1b-7a4fefb427f4";
- string MuzzleText_6 ="6d2850be-6615-2b38-52d1-c1992aaec9d4";
- string MuzzleText_7 ="911327bd-7b8e-a96e-248e-086d341aa4d0";
- string MuzzleText2_1 ="e3c6ab43-b0a3-1eb8-0dce-efc2d7113de2";
- string MuzzleText2_2 ="5efbe52d-ec62-3327-87c5-3cdf1ef6b253";
- string MuzzleText2_3 ="938512e4-4bc8-a6ac-26d5-ee6f63ba997f";
- string MuzzleText2_4 ="02bbdc6d-4816-feec-e766-a2c6e4d45bd5";
- string MuzzleText2_5 ="0759cf88-9186-1021-1304-4ad0493dfacd";
- string MuzzleText2_6 ="d41c1a2a-61fe-c0c2-c291-389076d4a25f";
- string MuzzleText2_7 ="ab0f79d3-0941-85d5-6bbe-7c65085bb380";
- //Muzzle
- string CollarText_1 ="e3c6ab43-b0a3-1eb8-0dce-efc2d7113de2";
- string CollarText_2 ="5efbe52d-ec62-3327-87c5-3cdf1ef6b253";
- string CollarText_3 ="938512e4-4bc8-a6ac-26d5-ee6f63ba997f";
- string CollarText_4 ="02bbdc6d-4816-feec-e766-a2c6e4d45bd5";
- string CollarText_5 ="0759cf88-9186-1021-1304-4ad0493dfacd";
- string CollarText_6 ="d41c1a2a-61fe-c0c2-c291-389076d4a25f";
- string CollarText_7 ="ab0f79d3-0941-85d5-6bbe-7c65085bb380";
- Particules()
- {
- integer effectFlags=0;
- // Color Secelection Variables
- ///////////////////////////////////////////////////////
- integer colorInterpolation = TRUE;
- vector startColor = <0.8,0.8,1.0>;
- vector endColor = <.8,0.0,0.0>;
- float startAlpha = 1.;
- float endAlpha = 1.;
- integer glowEffect = TRUE;
- // Size & Shape Selection Variables
- ///////////////////////////////////////////////////////
- integer sizeInterpolation = TRUE;
- vector startSize = <0.1, 0.1, 0.0>;
- vector endSize = <0.1, 0.1, 0.0>;
- // Timing & Creation Variables Variables
- ///////////////////////////////////////////////////////
- float particleLife = 1.;// Lifetime of one particle (seconds)
- float SystemLife = .0;// Lifetime of the system 0.0 for no time out (seconds)
- float emissionRate = 0.03;// Number of seconds between particle emissions
- integer partPerEmission = 15;// Number of seconds between particle emissions
- // Angular Variables
- ///////////////////////////////////////////////////////
- float radius = (float)range;
- float angleBegin = PI_BY_TWO;
- float angleEnd = PI_BY_TWO;
- vector omega = <0.0, 0.0, 3>;
- ///////////////////////////////////////////////////////
- // Movement & Speed Variables
- ///////////////////////////////////////////////////////
- // The minimum speed a particle will be moving on creation
- float minSpeed =0.;
- // The maximum speed a particle will be moving on creation
- float maxSpeed = 0.;
- // Global acceleration applied to all particles
- vector acceleration = <0.0,0.0, 0.0>;
- // Pattern Selection
- integer pattern = PSYS_SRC_PATTERN_ANGLE_CONE ;
- // The following block of if statements is used to construct the mask
- if (colorInterpolation) effectFlags = effectFlags|PSYS_PART_INTERP_COLOR_MASK;
- if (sizeInterpolation) effectFlags = effectFlags|PSYS_PART_INTERP_SCALE_MASK;
- if (glowEffect) effectFlags = effectFlags|PSYS_PART_EMISSIVE_MASK;
- llParticleSystem([
- PSYS_PART_FLAGS, effectFlags,
- PSYS_SRC_PATTERN, pattern,
- PSYS_PART_START_COLOR, startColor,
- PSYS_PART_END_COLOR, endColor,
- PSYS_PART_START_ALPHA, startAlpha,
- PSYS_PART_END_ALPHA, endAlpha,
- PSYS_PART_START_SCALE, startSize,
- PSYS_PART_END_SCALE, endSize,
- PSYS_PART_MAX_AGE, particleLife,
- PSYS_SRC_ACCEL, acceleration,
- // PSYS_SRC_TEXTURE, texture,
- PSYS_SRC_BURST_RATE, emissionRate,
- PSYS_SRC_ANGLE_BEGIN, angleBegin,
- PSYS_SRC_ANGLE_END, angleEnd,
- PSYS_SRC_BURST_PART_COUNT, partPerEmission,
- PSYS_SRC_BURST_RADIUS, radius,
- PSYS_SRC_BURST_SPEED_MIN, minSpeed,
- PSYS_SRC_BURST_SPEED_MAX, maxSpeed,
- PSYS_SRC_MAX_AGE, SystemLife,
- // PSYS_SRC_TARGET_KEY, target,
- PSYS_SRC_OMEGA, omega ]);
- }
- string print_son()
- {
- if (isSound) return "\n✔ sound";
- return "\n✗ sound";
- }
- integer mode=0;
- integer prev_mode=0;//return after static mode
- integer MODE_IDLE=0;
- integer MODE_WANDER=1;
- integer MODE_FOLLOW=2;
- integer MODE_STATIC=3;
- string print_mode()
- {
- if (mode ==MODE_IDLE) return "\n ✔ idle";
- if (mode ==MODE_WANDER) return "\n ✔ wandering around";
- if (mode ==MODE_FOLLOW) return "\n ✔ following owner";
- if (mode ==MODE_STATIC) return "\n ✔ static";
- return "\n??? mode";
- }
- string static_state()
- {
- if (mode ==MODE_STATIC) return "\n ✔ static";
- return "";
- }
- // MENUS ----------------------------------------------------------------
- integer menu_i=0;
- integer MENU_MAIN=0;
- string BTN_STATIC="Static poses";
- string BTN_NORMSPEC="Normal Map";
- Menu()
- {
- menu_i=MENU_MAIN;
- list buttons;
- string msg="\Menu Dog"+print_son();
- if (llGetAttached())
- {
- buttons=["Collar","Muzzle","Sound","Name",BTN_STATIC];
- msg+=static_state();
- }
- else
- {
- buttons=["Collar","Muzzle","Name","Sound","Range","Activity",BTN_STATIC];
- msg+=print_mode();
- }
- llDialog(llGetOwner(),msg,buttons,menu_chan);
- llSetTimerEvent(200);
- llParticleSystem([]);
- MenuBranch=0;
- }
- integer MENU_NAME=1;
- MenuName()
- {
- menu_i=MENU_NAME;
- list buttons=["Set Name","Name Color","Main","Back"];
- if (isNameOn) buttons+=["Name OFF"];
- else buttons+=["Name ON"];
- llDialog(llGetOwner(),"\nMenu Name",buttons,menu_chan);
- llSetTimerEvent(200);
- }
- integer MENU_NAMECOLOR=2;
- MenuNameColor()
- {
- menu_i=MENU_NAMECOLOR;
- list buttons=["Main"]+colors_;
- llDialog(llGetOwner(),"\nMenu Name Color",buttons,menu_chan);
- llSetTimerEvent(200);
- }
- integer MENU_COLOR=3;
- MenuColor()
- {
- menu_i=MENU_COLOR;
- list buttons=["Eye","Main"];
- llDialog(llGetOwner(),"\nMenu Color",buttons,menu_chan);
- llSetTimerEvent(200);
- }
- string btnFurCream ="Cream";
- string btnFurWhite ="White";
- string btnFurBlack ="Black";
- integer MENU_FUR=4;
- MenuFur()
- {
- list buttons=[btnFurCream, btnFurWhite, btnFurBlack,"Main"];
- llDialog(llGetOwner(),"\nChoose color of FUR",buttons,menu_chan);
- llSetTimerEvent(200);
- }
- string btnEyeSmall ="Small";
- string btnEyeMedium ="Medium";
- string btnEyeBig ="Big";
- integer MENU_EYE=5;
- MenuEye()
- {
- list buttons=[btnEyeSmall,btnEyeMedium, btnEyeBig,"Main"];
- llDialog(llGetOwner(),"\nChoose the shape of Pupil",buttons,menu_chan);
- llSetTimerEvent(200);
- }
- integer MenuBranch=0;
- integer COLLAR_BRANCH=1;
- integer MUZZLE_BRANCH=2;
- integer NORMSPEC_BRANCH=3;
- string item(integer branch)
- {
- if (branch==COLLAR_BRANCH)return "COLLAR";
- if (branch==MUZZLE_BRANCH)return "MUZZLE";
- return"???";
- }
- integer MENU_COLMUZ=6;
- MenuCollarMuzzle()
- {
- menu_i=MENU_COLMUZ;
- llDialog(llGetOwner(),"\n"+item(MenuBranch),["Activate","Style","Main"],menu_chan);
- llSetTimerEvent(200);
- }
- integer MENU_ACTIVATE=7;
- MenuActivate()
- {
- menu_i=MENU_ACTIVATE;
- llDialog(llGetOwner(),"\nDo you want to display "+item(MenuBranch)+" ?",["ON","OFF","Main","Back"],menu_chan);
- llSetTimerEvent(200);
- }
- //string btnCollar_None="No_collar";
- string btnCollar_1="Red";
- string btnCollar_2="Purple";
- string btnCollar_3="Pink";
- string btnCollar_4="Orange";
- string btnCollar_5="Green";
- string btnCollar_6="Blue";
- string btnCollar_7="Black";
- integer MENU_COLLARSTYLE=8;
- MenuCollarStyle()
- {
- menu_i=MENU_COLLARSTYLE;
- list buttons=[btnCollar_1,btnCollar_2,btnCollar_3,btnCollar_4,btnCollar_5,btnCollar_6,btnCollar_7,"Main","Back"];
- llDialog(llGetOwner(),"\nChoose the collar",buttons,menu_chan);
- llSetTimerEvent(200);
- }
- //string btnMuzzle_None="No_muzzle";
- string btnMuzzle_1="Red.";
- string btnMuzzle_2="Purple.";
- string btnMuzzle_3="Pink.";
- string btnMuzzle_4="Orange.";
- string btnMuzzle_5="Green.";
- string btnMuzzle_6="Blue.";
- string btnMuzzle_7="Black.";
- integer MENU_MUZZLESTYLE=9;
- MenuMuzzleStyle()
- {
- menu_i=MENU_MUZZLESTYLE;
- list buttons=[btnMuzzle_1,btnMuzzle_2,btnMuzzle_3,btnMuzzle_4,btnMuzzle_5,btnMuzzle_6,btnMuzzle_7,"Main","Back"];
- llDialog(llGetOwner(),"\nChoose the muzzle",buttons,menu_chan);
- llSetTimerEvent(200);
- }
- SetTexture(string aTexture, integer face)
- {
- if (aTexture==TEXTURE_TRANSPARENT) llSetLinkPrimitiveParamsFast(1,[
- PRIM_COLOR,face,<1.,1.,1.>,0.,
- PRIM_TEXTURE, face, aTexture, <1.0, 1.0, 1.0>, <0.0, 0.0, 0.0>, 0.0]);
- else llSetLinkPrimitiveParamsFast(1,[
- PRIM_TEXTURE, face, aTexture, <1.0, 1.0, 1.0>, <0.0, 0.0, 0.0>, 0.0,
- PRIM_COLOR,face,<1.,1.,1.>,1. ] );
- //llSetLinkPrimitiveParamsFast(1,[PRIM_COLOR, face, <1,1,1>,1.0]);
- }
- integer MENU_RANGE=10;
- MenuRange()
- {
- menu_i=MENU_RANGE;
- list buttons=["-","--","---","+","++","+++","Main"];
- if (range<1)range=1;
- if (range>100)range=100;
- llMessageLinked(LINK_THIS,range,"range","");
- Particules();
- llDialog(llGetOwner(),"\nRange (meters) "+(string)range,buttons,menu_chan);
- llSetTimerEvent(60);
- }
- integer MENU_ACTIVITY=11;
- MenuActivity()
- {
- list buttons=["Idle","Wander","Follow","Main"];
- llDialog(llGetOwner(),"\nSet a behaviour."+print_mode(),
- buttons,menu_chan);
- llSetTimerEvent(200);
- }
- integer MENU_STATIC=12;
- string BTN_STATIC_STOP="Stop";
- MenuStatic()
- {
- list buttons=statics;
- if (mode==MODE_STATIC) buttons+=[BTN_STATIC_STOP];
- buttons+=["Main"];
- if (llGetAttached()) llDialog(llGetOwner(),
- "\nSet a pose.\n"+static_state(),
- buttons,menu_chan);
- else llDialog(llGetOwner(),
- "\nSet a pose.\n"+print_mode(),
- buttons,menu_chan);
- llSetTimerEvent(200);
- }
- integer MENU_NORMSPEC=13;
- MenuNormSpec()
- {
- menu_i=MENU_NORMSPEC;
- string txt="\nDo you want to use normal and specular lighting features ?";
- if (normSpec_state) txt+="\n ✔ enhanced lighting features";
- llDialog(llGetOwner(),txt,["ON","OFF","Main"],menu_chan);
- llSetTimerEvent(200);
- }
- // TEXTURES
- /*
- integer FUR_FACE=0;
- integer HEAD_FACE=3;
- integer LEG_FACE=5;
- integer EYE_FACE=2;
- integer MUZZLE_FACE=6;
- integer MUZZLE_FACE2=7;
- integer COLLAR_FACE=1;*/
- integer normSpec_state=FALSE;
- UpdateNormSpec()
- {
- if (normSpec_state)
- {
- llSetLinkPrimitiveParamsFast(LINK_ROOT,[
- //PRIM_NORMAL, integer face, string texture, vector repeats, vector offsets, float rotation_in_radians
- PRIM_NORMAL, FUR_FACE,"eb7dd071-7414-c6dc-21a8-d24c5ef2ba1e",<1,1,0>,ZERO_VECTOR,0.,
- PRIM_NORMAL, HEAD_FACE,"b7d5a251-5e49-43bb-2b40-cee6d36548e0",<1,1,0>,ZERO_VECTOR,0.,
- PRIM_NORMAL, LEG_FACE,"4a41dd02-3c39-7214-24b4-20c9446582ee",<1,1,0>,ZERO_VECTOR,0.,
- PRIM_NORMAL, COLLAR_FACE,"67284ef3-08c6-1e7f-5985-6c809a21333c",<1,1,0>,ZERO_VECTOR,0.,
- //[ PRIM_SPECULAR, integer face, string texture, vector repeats, vector offsets, float rotation_in_radians, vector color, integer glossiness, integer environment ]
- PRIM_SPECULAR, FUR_FACE,"d8d0d358-ce00-cac7-8f43-98ed7b21e764",<1,1,0>,ZERO_VECTOR,0.,<1,1,1>,56,6,
- PRIM_SPECULAR, HEAD_FACE,"d8d0d358-ce00-cac7-8f43-98ed7b21e764",<1,1,0>,ZERO_VECTOR,0.,<1,1,1>,56,6,
- PRIM_SPECULAR, LEG_FACE,"d8d0d358-ce00-cac7-8f43-98ed7b21e764",<1,1,0>,ZERO_VECTOR,0.,<1,1,1>,56,6,
- PRIM_SPECULAR, COLLAR_FACE,"982b5c5f-e766-c751-2f33-9142a7246c09",<1,1,0>,ZERO_VECTOR,0.,<1,1,1>,56,6
- ]);
- if (collar_state) llSetLinkPrimitiveParamsFast(LINK_ROOT,[
- PRIM_NORMAL, COLLAR_FACE,"67284ef3-08c6-1e7f-5985-6c809a21333c",<1,1,0>,ZERO_VECTOR,0.,
- PRIM_SPECULAR, COLLAR_FACE,"982b5c5f-e766-c751-2f33-9142a7246c09",<1,1,0>,ZERO_VECTOR,0.,<1,1,1>,56,6
- ]);
- else llSetLinkPrimitiveParamsFast(LINK_ROOT,[
- PRIM_NORMAL, COLLAR_FACE,NULL_KEY,<1,1,0>,ZERO_VECTOR,0.,
- PRIM_SPECULAR, COLLAR_FACE,NULL_KEY,<1,1,0>,ZERO_VECTOR,0.,<1,1,1>,51,0
- ]);
- if (muzzle_state) llSetLinkPrimitiveParamsFast(LINK_ROOT,[
- PRIM_NORMAL, MUZZLE_FACE,"21914e9b-c12d-491c-43a8-5cd799b2343f",<1,1,0>,ZERO_VECTOR,0.,
- PRIM_NORMAL, MUZZLE_FACE2,"11e49ebd-e724-e348-5203-5487d5891e46",<1,1,0>,ZERO_VECTOR,0.,
- PRIM_SPECULAR, MUZZLE_FACE,"60a3954f-f956-bc85-9933-fbffc257c6ad",<1,1,0>,ZERO_VECTOR,0.,<1,1,1>,56,6,
- PRIM_SPECULAR, MUZZLE_FACE2,"f34dfd4b-eb0a-9282-5231-abfde8bdd379",<1,1,0>,ZERO_VECTOR,0.,<1,1,1>,56,6
- ]);
- else llSetLinkPrimitiveParamsFast(LINK_ROOT,[
- PRIM_NORMAL, MUZZLE_FACE,NULL_KEY,<1,1,0>,ZERO_VECTOR,0.,
- PRIM_NORMAL, MUZZLE_FACE2,NULL_KEY,<1,1,0>,ZERO_VECTOR,0.,
- PRIM_SPECULAR, MUZZLE_FACE,NULL_KEY,<1,1,0>,ZERO_VECTOR,0.,<1,1,1>,51,0,
- PRIM_SPECULAR, MUZZLE_FACE2,NULL_KEY,<1,1,0>,ZERO_VECTOR,0.,<1,1,1>,51,0
- ]);
- }
- else llSetLinkPrimitiveParamsFast(LINK_ROOT,[
- PRIM_NORMAL,ALL_SIDES,NULL_KEY,<1,1,0>,ZERO_VECTOR,0.,
- PRIM_ALPHA_MODE, ALL_SIDES, PRIM_ALPHA_MODE_BLEND, 0,
- PRIM_SPECULAR,ALL_SIDES,NULL_KEY,<1,1,0>,ZERO_VECTOR,0.,<1,1,1>,51,0
- //PRIM_ALPHA_MODE, ALL_SIDES, PRIM_ALPHA_MODE_MASK, 130
- ]);
- }
- /*
- ClearNormSpec()
- {
- llSetLinkPrimitiveParamsFast(LINK_ROOT,[
- PRIM_NORMAL,ALL_SIDES,NULL_KEY,<1,1,0>,ZERO_VECTOR,0.,
- PRIM_SPECULAR,ALL_SIDES,NULL_KEY,<1,1,0>,ZERO_VECTOR,0.,<1,1,1>,51,0]);
- }
- NormSpec()
- {
- llSetLinkPrimitiveParamsFast(LINK_ROOT,[
- //PRIM_NORMAL, integer face, string texture, vector repeats, vector offsets, float rotation_in_radians
- PRIM_NORMAL, FUR_FACE,"ff75be55-a0cf-b251-9f82-b9feceafebb2",<1,1,0>,ZERO_VECTOR,0.,
- PRIM_NORMAL, HEAD_FACE,"224e793b-88c8-f94f-0621-8b9065790dc9",<1,1,0>,ZERO_VECTOR,0.,
- PRIM_NORMAL, LEG_FACE,"1259ca63-168a-b586-6318-f7bcce3a3bf2",<1,1,0>,ZERO_VECTOR,0.,
- PRIM_NORMAL, MUZZLE_FACE,"21914e9b-c12d-491c-43a8-5cd799b2343f",<1,1,0>,ZERO_VECTOR,0.,
- PRIM_NORMAL, MUZZLE_FACE2,"11e49ebd-e724-e348-5203-5487d5891e46",<1,1,0>,ZERO_VECTOR,0.,
- PRIM_NORMAL, COLLAR_FACE,"67284ef3-08c6-1e7f-5985-6c809a21333c",<1,1,0>,ZERO_VECTOR,0.,
- //[ PRIM_SPECULAR, integer face, string texture, vector repeats, vector offsets, float rotation_in_radians, vector color, integer glossiness, integer environment ]
- PRIM_SPECULAR, FUR_FACE,"d8d0d358-ce00-cac7-8f43-98ed7b21e764",<1,1,0>,ZERO_VECTOR,0.,<1,1,1>,56,6,
- PRIM_SPECULAR, HEAD_FACE,"d8d0d358-ce00-cac7-8f43-98ed7b21e764",<1,1,0>,ZERO_VECTOR,0.,<1,1,1>,56,6,
- PRIM_SPECULAR, LEG_FACE,"d8d0d358-ce00-cac7-8f43-98ed7b21e764",<1,1,0>,ZERO_VECTOR,0.,<1,1,1>,56,6,
- PRIM_SPECULAR, MUZZLE_FACE,"60a3954f-f956-bc85-9933-fbffc257c6ad",<1,1,0>,ZERO_VECTOR,0.,<1,1,1>,56,6,
- PRIM_SPECULAR, MUZZLE_FACE2,"f34dfd4b-eb0a-9282-5231-abfde8bdd379",<1,1,0>,ZERO_VECTOR,0.,<1,1,1>,56,6,
- PRIM_SPECULAR, COLLAR_FACE,"982b5c5f-e766-c751-2f33-9142a7246c09",<1,1,0>,ZERO_VECTOR,0.,<1,1,1>,56,6
- ]);
- }
- */
- default
- {
- state_entry()
- {
- OWNER=llGetOwner();
- DisplayName();
- collar_texture=CollarText_1;
- SetTexture(collar_texture, COLLAR_FACE);
- muzzle_texture1=MuzzleText_1;
- muzzle_texture2=MuzzleText2_1;
- muzzle_state=FALSE;
- SetTexture(TEXTURE_TRANSPARENT, MUZZLE_FACE);
- SetTexture(TEXTURE_TRANSPARENT, MUZZLE_FACE2);
- UpdateNormSpec();
- }
- on_rez(integer sp)
- {
- if (OWNER!=llGetOwner()) llResetScript();
- else
- {
- if ( llGetAttached() == 0 )//If I am not attached
- {
- mode=MODE_IDLE;
- }
- llSleep(1.5);//Pour laisser du temps à l'autre script de démarrer
- llMessageLinked(LINK_THIS,isSound,"sound","");
- llMessageLinked(LINK_THIS,range,"range","");
- llMessageLinked(LINK_THIS,muzzle_state,"muzzle","");
- llSleep(2.);//Pour être sûr en cas de lag
- llMessageLinked(LINK_THIS,isSound,"sound","");
- llMessageLinked(LINK_THIS,range,"range","");
- llMessageLinked(LINK_THIS,muzzle_state,"muzzle","");
- }
- //Menu();
- }
- touch_start(integer total_number)
- {
- if (llDetectedKey(0)!=llGetOwner())return;
- //OwnerSay( "Touched.");
- llListenRemove(lh);
- menu_chan=-99-(integer)llFrand(999999.);
- lh=llListen(menu_chan, "",llGetOwner(),"");
- Menu();
- }
- listen(integer chan, string name, key id, string msg)
- {
- if (msg=="Main")
- {
- Menu();
- }
- else if (msg=="Back")
- {
- if (menu_i==MENU_ACTIVATE) MenuCollarMuzzle();
- else if (menu_i==MENU_MUZZLESTYLE) MenuCollarMuzzle();
- else if (menu_i==MENU_COLLARSTYLE) MenuCollarMuzzle();
- }
- else if (msg=="Sound")
- {
- isSound=!isSound;
- llMessageLinked(LINK_THIS,isSound,"sound","");
- Menu();
- }
- else if (msg=="Color")
- {
- MenuColor();
- }
- else if (msg=="Fur")
- {
- MenuFur();
- }
- else if (msg=="Eye")
- {
- MenuEye();
- }
- else if (msg=="Collar")
- {
- MenuBranch=COLLAR_BRANCH;
- MenuCollarMuzzle();
- }
- else if (msg=="Muzzle")
- {
- MenuBranch=MUZZLE_BRANCH;
- MenuCollarMuzzle();
- }
- else if (msg==BTN_NORMSPEC)
- {
- MenuBranch=NORMSPEC_BRANCH;
- MenuNormSpec();
- }
- /*
- // furs
- else if (msg==btnFurCream)
- {
- OwnerSay(msg);
- SetTexture(FurCream, FUR_FACE);
- SetTexture(HeadCream, HEAD_FACE);
- SetTexture(LegCream, LEG_FACE);
- MenuFur();
- }
- else if (msg==btnFurBlack)
- {
- SetTexture(FurBlack, FUR_FACE);
- SetTexture(HeadBlack, HEAD_FACE);
- SetTexture(LegBlack, LEG_FACE);
- OwnerSay(msg);
- MenuFur();
- }
- else if (msg==btnFurWhite)
- {
- SetTexture(FurWhite, FUR_FACE);
- SetTexture(HeadWhite, HEAD_FACE);
- SetTexture(LegWhite, LEG_FACE);
- OwnerSay(msg);
- MenuFur();
- }
- */
- // eyes
- else if (msg==btnEyeSmall)
- {
- SetTexture(EyeSmall, EYE_FACE);
- OwnerSay(msg);
- MenuEye();
- }
- else if (msg==btnEyeMedium)
- {
- SetTexture(EyeMedium, EYE_FACE);
- OwnerSay(msg);
- MenuEye();
- }
- else if (msg==btnEyeBig)
- {
- SetTexture(EyeBig, EYE_FACE);
- OwnerSay(msg);
- MenuEye();
- }
- //Collar Muzzle
- else if (msg=="Activate")
- {
- MenuActivate();
- llSetTimerEvent(200);
- }
- else if (msg=="ON")
- {
- if (MenuBranch==COLLAR_BRANCH)
- {
- collar_state=TRUE;
- SetTexture(collar_texture, COLLAR_FACE);
- MenuActivate();
- }
- else if (MenuBranch==MUZZLE_BRANCH)
- {
- muzzle_state=TRUE;
- llMessageLinked(LINK_THIS,muzzle_state,"muzzle","");
- SetTexture(muzzle_texture1, MUZZLE_FACE);
- SetTexture(muzzle_texture2, MUZZLE_FACE2);
- MenuActivate();
- }
- else if (MenuBranch==NORMSPEC_BRANCH)
- {
- normSpec_state=TRUE;
- MenuNormSpec();
- }
- UpdateNormSpec();
- }
- else if (msg=="OFF")
- {
- if (MenuBranch==COLLAR_BRANCH)
- {
- collar_state=FALSE;
- SetTexture(TEXTURE_TRANSPARENT, COLLAR_FACE);
- MenuActivate();
- }
- else if (MenuBranch==MUZZLE_BRANCH)
- {
- muzzle_state=FALSE;
- llMessageLinked(LINK_THIS,muzzle_state,"muzzle","");
- SetTexture(TEXTURE_TRANSPARENT, MUZZLE_FACE);
- SetTexture(TEXTURE_TRANSPARENT, MUZZLE_FACE2);
- MenuActivate();
- }
- else if (MenuBranch==NORMSPEC_BRANCH)
- {
- normSpec_state=FALSE;
- MenuNormSpec();
- }
- UpdateNormSpec();
- }
- else if (msg=="Style")
- {
- if (MenuBranch==COLLAR_BRANCH) MenuCollarStyle();
- else if (MenuBranch==MUZZLE_BRANCH) MenuMuzzleStyle();
- }
- // collar
- else if (msg==btnCollar_1)
- {
- collar_texture=CollarText_1;
- SetTexture(CollarText_1, COLLAR_FACE);
- OwnerSay(msg);
- MenuCollarStyle();
- }
- else if (msg==btnCollar_2)
- {
- collar_texture=CollarText_2;
- SetTexture(CollarText_2, COLLAR_FACE);
- OwnerSay(msg);
- MenuCollarStyle();
- }
- else if (msg==btnCollar_3)
- {
- collar_texture=CollarText_3;
- SetTexture(CollarText_3, COLLAR_FACE);
- OwnerSay(msg);
- MenuCollarStyle();
- }
- else if (msg==btnCollar_4)
- {
- collar_texture=CollarText_4;
- SetTexture(CollarText_4, COLLAR_FACE);
- OwnerSay(msg);
- MenuCollarStyle();
- }
- // muzzle
- /*
- else if (msg==btnMuzzle_None)
- {
- muzzle_state=FALSE;
- llMessageLinked(LINK_THIS,muzzle_state,"muzzle","");
- SetTexture(TEXTURE_TRANSPARENT, MUZZLE_FACE);
- SetTexture(TEXTURE_TRANSPARENT, MUZZLE_FACE2);
- OwnerSay(msg);
- MenuMuzzleStyle();
- }
- */
- else if (msg==btnMuzzle_1)
- {
- muzzle_state=TRUE;
- muzzle_texture1=MuzzleText_1;
- muzzle_texture2=MuzzleText2_1;
- llMessageLinked(LINK_THIS,muzzle_state,"muzzle","");
- SetTexture(MuzzleText_1, MUZZLE_FACE);
- SetTexture(MuzzleText2_1, MUZZLE_FACE2);
- OwnerSay(msg);
- MenuMuzzleStyle();
- }
- else if (msg==btnMuzzle_2)
- {
- muzzle_state=TRUE;
- muzzle_texture1=MuzzleText_2;
- muzzle_texture2=MuzzleText2_2;
- llMessageLinked(LINK_THIS,muzzle_state,"muzzle","");
- SetTexture(MuzzleText_2, MUZZLE_FACE);
- SetTexture(MuzzleText2_2, MUZZLE_FACE2);
- OwnerSay(msg);
- MenuMuzzleStyle();
- }
- else if (msg==btnMuzzle_3)
- {
- muzzle_state=TRUE;
- muzzle_texture1=MuzzleText_3;
- muzzle_texture2=MuzzleText2_3;
- llMessageLinked(LINK_THIS,muzzle_state,"muzzle","");
- SetTexture(MuzzleText_3, MUZZLE_FACE);
- SetTexture(MuzzleText2_3, MUZZLE_FACE2);
- OwnerSay(msg);
- MenuMuzzleStyle();
- }
- else if (msg==btnMuzzle_4)
- {
- muzzle_state=TRUE;
- muzzle_texture1=MuzzleText_4;
- muzzle_texture2=MuzzleText2_4;
- llMessageLinked(LINK_THIS,muzzle_state,"muzzle","");
- SetTexture(MuzzleText_4, MUZZLE_FACE);
- SetTexture(MuzzleText2_4, MUZZLE_FACE2);
- OwnerSay(msg);
- MenuMuzzleStyle();
- }
- // range
- else if (msg=="Range")
- {
- MenuRange();
- }
- else if (msg=="+")
- {
- range++;
- MenuRange();
- }
- else if (msg=="++")
- {
- range=llRound(range*1.5);
- MenuRange();
- }
- else if (msg=="+++")
- {
- range=llRound(range*2);
- MenuRange();
- }
- else if (msg=="-")
- {
- range--;
- MenuRange();
- }
- else if (msg=="--")
- {
- range=llRound(range/1.5);
- MenuRange();
- }
- else if (msg=="---")
- {
- range=llRound(range/2);
- MenuRange();
- }
- else if (msg==BTN_STATIC)
- {
- MenuStatic();
- }
- else if (msg==BTN_STATIC_STOP)
- {
- mode=prev_mode;
- llMessageLinked(LINK_THIS,mode,"mode","");
- MenuStatic();
- }
- else if (llListFindList (statics,[msg])!=-1)
- {
- if (mode!=MODE_STATIC) prev_mode=mode;
- mode=MODE_STATIC;
- llMessageLinked(LINK_THIS,mode,"mode","");
- llMessageLinked(LINK_THIS,llListFindList (statics,[msg]),"static","");
- MenuStatic();
- }
- else if (msg=="Activity")
- {
- MenuActivity();
- }
- else if (msg=="Idle")
- {
- mode=MODE_IDLE;
- llMessageLinked(LINK_THIS,mode,"mode","");
- MenuActivity();
- }
- else if (msg=="Wander")
- {
- mode=MODE_WANDER;
- llMessageLinked(LINK_THIS,mode,"mode","");
- MenuActivity();
- }
- else if (msg=="Follow")
- {
- mode=MODE_FOLLOW;
- llMessageLinked(LINK_THIS,mode,"mode","");
- MenuActivity();
- }
- //NAME
- else if (msg=="Name")
- {MenuName();}
- else if (msg=="Set Name")
- {
- llTextBox(llGetOwner(),"\nChoose a name for your pet.\nUse . or _ to delete name\nLeave blank or press <ignore> to leave it as it is.",menu_chan);
- llSetTimerEvent(200);
- }
- else if (msg=="Name Color")
- {
- MenuNameColor();
- }
- else if (msg=="Name ON")
- {
- isNameOn=TRUE;
- DisplayName();
- MenuName();
- }
- else if (msg=="Name OFF")
- {
- isNameOn=FALSE;
- DisplayName();
- MenuName();
- }
- else if (llListFindList(colors_,[msg])!=-1)
- {
- //llSetText("",<0,0,0>,0);
- color_vector=llList2Vector(colors_vect,llListFindList(colors_,[msg]));
- DisplayName();
- MenuNameColor();
- }
- else if (msg!="")
- {
- pet_name=msg;
- isNameOn=TRUE;
- DisplayName();
- MenuName();
- }
- }
- timer()
- {
- llListenRemove(lh);
- llSetTimerEvent(0);
- llParticleSystem([]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement