| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- // :CATEGORY:XS Pet
- // :NAME:XS Pet Robot
- // :AUTHOR:Ferd Frederix
- // :KEYWORDS: Pet,XS,breed,breedable,companion,Ozimal,Meeroo,Amaretto,critter,Fennux,Pets
- // :CREATED:2013-09-06
- // :EDITED:2014-03-22
- // :ID:988
- // :NUM:1604
- // :REV:0.50
- // :WORLD:Second Life, OpenSim
- // :DESCRIPTION:
- // XS Pet re-animator
- // :CODE:
- // add this script ( and modify it) to add custom animatons based on pre-exisitng animal effects.
- integer LINK_ANIMATE = 1; // messages on num 1 are assumed to be directed at the prim animator.
- /// This is a list of pre-defined pet functions that can be used to re-animate a pet
- integer DECREASE_FOOD = 100; // used in the food bowl.
- integer LINK_AGE_START = 800; // when pet is rezzed and secret_number is sent by brain to breeder, eater and infomatic get booted up
- integer LINK_TEXTURE = 801; // ask for a new texture, or paint a color
- integer LINK_BREEDNAME = 802; // the name of the pet texture from the texture server notecard
- integer LINK_FOOD_CONSUME = 900; // from movement to brain when close to food, brain then consumes a random amount up to 10000
- integer LINK_FOODMINUS = 901; // xs_brain receives FOOD_CONSUME, decrement hunger (eat)
- integer LINK_HUNGRY = 903; // sent by eater (string)hunger_amount, checks each hour
- integer LINK_HAMOUNT = 904; // hunger_amount = (integer)str,m updates the hunger amount in scripts
- integer LINK_SET_HOME = 910; // loc ^ dist
- integer LINK_MOVER = 911; // tell mover to rest for str seconds
- integer LINK_FOODIE_CLR = 920; // clear all food_bowl_keys and contents
- integer LINK_FOODIE = 921; // send FOOD_LOCATION coordinates to movement
- integer LINK_COLOR1 = 930; // colour1
- integer LINK_COLOR2 = 931; // colour2
- integer LINK_SEX = 932; // sex
- integer LINK_SHINE = 933; // shine
- integer LINK_GLOW = 934; // glow
- integer LINK_GEN = 935; // generation
- integer LINK_RESET_SIZE = 936; // reset size to 1
- integer LINK_MAGE = 940; // xs_brain sends, xs_ager consumes, adds str to age, if older than 7 days, will grow the animal
- integer LINK_DAYTIME = 941; // xs_ager consumes, starts a timer of 86,400 seconds in xs_ager
- integer LINK_GET_AGE = 942; // get age from xs_ager and sent it on channel 943
- integer LINK_PUT_AGE = 943; // print age from xs_ager
- integer LINK_PACKAGE = 950; // look for a cryo_crate
- integer LINK_SEEK_FEMALE = 960; // MALE_BREED_CALL
- integer LINK_MALE_BREED_CALL = 961; // triggered by LINK_SEEK_FEMALE
- integer LINK_SIGNAL_ELIGIBLE = 962; // sent by female when hears LINK_MALE_BREED_CALL
- integer LINK_FEMALE_ELIGIBLE = 963; // sent when it hears in chat FEMALE_ELIGIBLE
- integer LINK_CALL_MALE = 964; // if LINK_FEMALE_ELIGIBLE && looking_for_female
- integer LINK_MALE_ON_THE_WAY = 965; // triggered by LINK_CALL_MALE
- integer LINK_FEMALE_LOCATION = 966; // female location, sends coordinates of a female
- integer LINK_RQST_BREED = 967; // sent when close enough to male/female
- integer LINK_CALL_MALE_INFO = 968; // sent by xs_breeding, this line of code was in error in v.24 of xs_breeding see line 557 and 636 of xs_brain which make calls and also xs_breeding which receives LINK_MALE_INFO.
- integer LINK_MALE_INFO = 969; // Breeding failed, sent info
- integer LINK_LAY_EGG = 970; // Rez Object(Egg...
- integer LINK_BREED_FAIL = 971; // key = father, failed, timed out
- integer LINK_PREGNANT = 972; // chick is preggers
- integer LINK_SOUND_OFF= 974; // sound is off
- integer LINK_SOUND_ON= 973; // sound is on
- integer LINK_SLEEPING = 990; // close eyes
- integer LINK_UNSLEEPING = 991; // open eyes
- integer LINK_SOUND = 1001; // plays a sound if enabled
- integer LINK_SPECIAL = 1010; // xs_special, if str = "Normal", removes script
- integer LINK_EFFECTS_ON = 2000; // particle effects in the packager
- integer LINK_PREGNANCY_TIME = 5000; // in seconds as str
- integer LINK_SLEEP = 7999; // disable sleep by parameter
- integer LINK_TIMER = 8000; // scan for food bowl about every 1800 seconds
- integer LINK_DIE = 9999; // death
- string Copyright = " (c)2014 by Ferd Frederix"; // You cannot change this line, but you can change the code that prints it!
- // See License agreements above.
- // Attribution is required, as these files are copyrighted.
- animate(string str)
- {
- llMessageLinked(LINK_SET,LINK_ANIMATE, str, "");
- }
- default
- {
- link_message(integer sender_number, integer number, string message, key id)
- {
- if (number == LINK_ANIMATE)
- return; // ignore animations that are already in the pet code
- if (number == LINK_LAY_EGG)
- animate("givebirth"); // this plays the animation named "givebirth" when a pet lays an egg
- else if (number == LINK_FOODMINUS)
- animate("eatfood"); // this plays the animation named "eatfood" when a pet eats the food
- else if (number == LINK_PREGNANT)
- animate("havesex"); // this plays the animation named "havesex" when a female gets laid
-
- // and so on and on
-
-
- }
- }
|