Bot-Babes/Boys

 

Creating A Flying Pet: Lesson 3 Chat log

Page history last edited by mariahartog@... 2 yrs ago

 

Creating A Flying Pet: Lesson 3 Chat log

 

Catfart Grayson: who had a go at creating a brain script?

Max Case: removed my attachwement

Max Case: but still sparkly

Alan Kiesler: I hope I'm not too late?

Gino Medici: yep

You: me me

Catfart Grayson: any problems?

You: imusing a largemouth bass for hair

Catfart Grayson: escuse the spam for a second

Brain 1.0 whispers: Received message on correct channel

Brain 1.0 whispers: received command to move to <243.546249, 80.173203, 174.496658>

Brain 1.0 whispers: At speed 1.000000

Brain 1.0 whispers: until this close 0.250000

Brain 1.0 whispers: Tum ti tum

Brain 1.0 whispers: *****

Brain 1.0 whispers: reached target, sending at target message

Brain 1.0 whispers: *****

Brain 1.0 whispers: Test harness: Waiting for next move message

Brain 1.0 whispers: Received message on correct channel

Brain 1.0 whispers: received command to move to <243.271637, 81.399071, 173.888107>

Brain 1.0 whispers: At speed 1.000000

Brain 1.0 whispers: until this close 0.250000

Brain 1.0 whispers: Tum ti tum

Brain 1.0 whispers: *****

Brain 1.0 whispers: reached target, sending at target message

Brain 1.0 whispers: *****

Brain 1.0 whispers: Test harness: Waiting for next move message

Brain 1.0 whispers: Received message on correct channel

Brain 1.0 whispers: received command to move to <242.684418, 84.771980, 173.606476>

Brain 1.0 whispers: At speed 1.000000

Brain 1.0 whispers: until this close 0.250000

Brain 1.0 whispers: Tum ti tum

Brain 1.0 whispers: *****

Brain 1.0 whispers: reached target, sending at target message

Brain 1.0 whispers: *****

Brain 1.0 whispers: Test harness: Waiting for next move message

Brain 1.0 whispers: Received message on correct channel

Brain 1.0 whispers: received command to move to <245.554718, 82.097916, 172.490311>

Brain 1.0 whispers: At speed 1.000000

Brain 1.0 whispers: until this close 0.250000

Brain 1.0 whispers: Tum ti tum

Brain 1.0 whispers: *****

Brain 1.0 whispers: reached target, sending at target message

Brain 1.0 whispers: *****

Brain 1.0 whispers: Test harness: Waiting for next move message

Brain 1.0 whispers: Received message on correct channel

Brain 1.0 whispers: received command to move to <243.634903, 85.119942, 173.844727>

Brain 1.0 whispers: At speed 1.000000

Brain 1.0 whispers: until this close 0.250000

Brain 1.0 whispers: Tum ti tum

Brain 1.0 whispers: *****

Brain 1.0 whispers: reached target, sending at target message

Brain 1.0 whispers: *****

Brain 1.0 whispers: Test harness: Waiting for next move message

Brain 1.0 whispers: Received message on correct channel

Brain 1.0 whispers: received command to move to <245.078751, 82.339279, 174.690338>

Brain 1.0 whispers: At speed 1.000000

Brain 1.0 whispers: until this close 0.250000

Brain 1.0 whispers: Tum ti tum

Brain 1.0 whispers: *****

Brain 1.0 whispers: reached target, sending at target message

Brain 1.0 whispers: *****

Brain 1.0 whispers: Test harness: Waiting for next move message

You: see thatt'll make these notes be more interestrting

Alan Kiesler: Yep, that looks what I had. :)

Catfart Grayson: lol racer

Catfart Grayson: OK, the box called brain 1.0 contains a working brain script, let me just check the permissions

You: please do they usally suk

Catfart Grayson: right you should be able to buy this box for 0 dollars

Catfart Grayson: inside you will find a working version of the brain script based on

You: like your cards arent allowed to be copied and stuff

Catfart Grayson: the work we did in previous sessions

Dark Sorcerer's Blade: releasing controls

Catfart Grayson: Ok we will make a start

Catfart Grayson: So I've talked about the brains script, which

Catfart Grayson: will give us a location to move to

Catfart Grayson: and today we are going to start looking at the movement script itself

Catfart Grayson: on the screen you can see our basic requirements

Catfart Grayson: the movement script needs to read the link meessages coming from the brain script

Catfart Grayson: its need to send the brain script a message when it has reached the target

Catfart Grayson: and it needs to move our pet in a 'realistic manor

Catfart Grayson: and just for those that didnt see Tinker the first time

Catfart Grayson: Ill get her out and show you what Im talking about

Tink: Hello everyone

Bzzy Stonebender: hi tink

Candide LeMay: catfart you realize that tinker is python interface to TK do you? :-)

Catfart Grayson: as you can see Tink moves around smoothly

Catfart Grayson: candide no I didnt

Catfart Grayson: she stays upright

Catfart Grayson: and wanders around me randomly

Catfart Grayson: she is going high at the moment as her collsion detection tries to get around the objects in the way

Catfart Grayson: we will talk ablut the collsion detection in a later session

Catfart Grayson: so thats what we are aiming for, Ill just make her go away

PDA 0.6 whispers: Killing Tink

Catfart Grayson: ok lets take a look at the state-entry event

Catfart Grayson: as you can see first thing Im doing is setting up a couple of global variables

Catfart Grayson: an integer to hold the target id, Ill talk about that in a sec

Catfart Grayson: a vector to hold the location the object wil move to

Catfart Grayson: and a float holding a value which will be used in a timer event

Catfart Grayson: the heartbeat is one of those variables that you may want to play with to

Catfart Grayson: get the best looking movement

Catfart Grayson: so its best to put it at the top as a global variable

Catfart Grayson: then into the state-entry event itself

Catfart Grayson: everyone happy with the idea that state_entry occurs only once when the script first starts?

Candide LeMay: yup

Max Case: y

Catfart Grayson: or more accurately, when the script first moves into the defaultstate

Catfart Grayson: so in this event, we are going to set up all the status flags that we need

Catfart Grayson: the first is llSetBuoyancy()

Catfart Grayson: llSetBuoyancy takes a float as a parameter

Catfart Grayson: if the value is between 0 and less than 1

Catfart Grayson: then the object is subject to gravity and will sink

Catfart Grayson: (If it it is physical)

Catfart Grayson: set the vaule to 0.5 and the object will drop at about half the rate of normal

Catfart Grayson: set it to 1, and the object floats

Catfart Grayson: set it to above 1, and the object will rise against gravity

Catfart Grayson: I hanvt found a lot of use for setting it above one

Catfart Grayson: unless you want to see yu object rocket up into the sky

Candide LeMay: can't we use it instead of changing the Z position?

Catfart Grayson: candid we need to do both

Catfart Grayson: I suppose you could use it, but it wouldnt be veery accurate

Catfart Grayson: now the buoyancy is why our pet cant weigh more than 90 kg

Catfart Grayson: there is this thing called "energy"

Catfart Grayson: every physical object has "energy"

Catfart Grayson: when it moves, it losses energy, when it runs out it stops

Catfart Grayson: energy is replensihed slowly

Catfart Grayson: energy is one of those things that the Lindens are very cautious about giving

Catfart Grayson: information out on

Catfart Grayson: they wont give details of how it works

Max Case: why would that be?

Catfart Grayson: most of the time, you dont have to worry about it

Rhiannon Chatnoir: do you have theories on how it works

Catfart Grayson: Max, not sure perhaps they are worries we will find a way around the limits that its puts on objects

Candide LeMay: you can crash a sim with the physics engine

Catfart Grayson: Rhia no, to be honest all I know is that if your object wieghs over 90kg

Catfart Grayson: it doesnt replensih its energey fast enough

Max Case: which means itg cant move?

Catfart Grayson: and if you set the buoyancty to 1, your object will still sink

Rhiannon Chatnoir: ahh

Max Case: so its like an inertia thiing

Catfart Grayson: Max correct, but energy replenishes fairly fast

Catfart Grayson: Max yes

Max Case: kk.

Catfart Grayson: so, if buoancy is set to 1, and your object is under 90 kg , it floats

Catfart Grayson: the next line llSetStatus(STATUS_PHYSICS, TRUE)

Max Case: bu what if over 90 with higher boy?

Catfart Grayson: turns the object into a physical object

TxKatie Curie: how do you find the weight?

Catfart Grayson: Max, its sinks

Catfart Grayson: Tx, use the function llGetMass()

TxKatie Curie: ok

Catfart Grayson: setting the STATUS_PHYSICS to TRUE is the say as selecting the tick box in the object editing window

Catfart Grayson: so once that is set, out object can be pushed, is subject to the wind and all the other features

Catfart Grayson: of SL's physics engine

Catfart Grayson: now important note

Catfart Grayson: the next line on thise slide is wrong

Max Case: hehe

Max Case: i was wondering

Catfart Grayson: it should read llSetStatus(STATUS_ROTATE_X, FALSE)

Catfart Grayson: as you can see Im setting both the roatate x and y status to false

Catfart Grayson: this means that the object cannot pitch, put its nose down or up

Catfart Grayson: or roll

Catfart Grayson: it can only turn around the z axis

Catfart Grayson: this is what keeps it upright

Catfart Grayson: these are semi optional

Catfart Grayson: you dont have to set them, some objects do pitch up and down

Catfart Grayson: but for our purposes just allowing it to rotate around the z axis is good enough

Catfart Grayson: if we were using vehicle code, there are a lot more options that you can set around these functions

Catfart Grayson: now the next line I've commened out

Catfart Grayson: llVolumeDetect() is very tricky to use

Catfart Grayson: if you set it, you get a phantom object that still accpects collision commands

Catfart Grayson: which is very handy, but there are some disadvantages

Catfart Grayson: the main one being that it doesnt detect the ground!

Candide LeMay: hehe

Catfart Grayson: if the buoyancy is not set to 1, and you set VolumeDetect, your object will fall through the ground

Candide LeMay: any ground or just prim ground?

Catfart Grayson: Candide any ground

Catfart Grayson: which is a right pain

Max Case: but we will overcome that with follow command??

Catfart Grayson: far better to set the object to phantom using the line

Catfart Grayson: llSetStatus(STATUS_PHANTOM,TRUE)

Max Case: ahhh

Catfart Grayson: that way you object will be phantom, which is a lot easier on the sim

Catfart Grayson: but wont fall through the ground

Catfart Grayson: if you have a lot of flying objects, I reccommend you set them to phantom

Catfart Grayson: A couple of points here

Catfart Grayson: physics objects can do strange things

Catfart Grayson: especially when you are just learning

Catfart Grayson: take lots of copies, just in case you send you object zooming into space

Rhiannon Chatnoir: lol

Bzzy Stonebender: lol ok

Catfart Grayson: use the utility scripts I gave you in session one

Catfart Grayson: physics object bang into lots of thigns

Catfart Grayson: how my nieghbors cheered when I learnt how to turn the collision noise off

Rhiannon Chatnoir: lol

Catfart Grayson: how RacerX cheerd when I stooped them climbing over his land

Max Case: utility scripts?

Catfart Grayson: Max, in the session 2 slide show there was a small set of scripts that did things link turn the collision sond off

Max Case: the sames ones in good neighbour pack from usl?

Max Case: kk.

Catfart Grayson: please be a good scriptoer and keep you objects under control

Catfart Grayson: OK, the last thing we do in the state_entry event is set up a timer

Catfart Grayson: with a value of the heartbea from the top

Catfart Grayson: after that

Catfart Grayson: the script will stop and wait for the brain

Catfart Grayson: script to tell it where to go

Catfart Grayson: anyone got any problems with this bit before I move on to the linkmessage event?

Catfart Grayson: hehe, I cant see anyone typing so onto the next slide

Bzzy Stonebender: I have a few Q's But will wait till the end

Catfart Grayson: kk bzy

Catfart Grayson: Ok, if youve been to the previous sessions you will recognise some of this event

Catfart Grayson: the onlink mesage event waits for a link message, which will come from the brain script

Catfart Grayson: once we get one, we convert the data in the string variable into a list

Catfart Grayson: using the same code as we used in the brain script

Catfart Grayson: like before, we check to see what the channel is and if its the correct value

Catfart Grayson: we check the first item in the list

Catfart Grayson: if its equal to MOVE

Catfart Grayson: we know that it is a move order

Catfart Grayson: and the rest of the data contains inforamtion on were to move to

Catfart Grayson: and there is a mistake here as well,

Catfart Grayson: there should be a vector before the word position

Catfart Grayson: so we know the order the information is coming in from from the brain script

Catfart Grayson: so we put the position, where we want to move to into a vector

Catfart Grayson: then slipped into another variable and the target range into a third

Catfart Grayson: the next two positions are to do with positional targets

Catfart Grayson: need to jump a few slides here

Catfart Grayson: OK we are going to set a positional target, to know when the object

Catfart Grayson: has reached its destination

Catfart Grayson: there are a couple fo diferent "targets"

Catfart Grayson: there are rotational targets, sit targets and positonal targets

Catfart Grayson: we are going to use a positional target in this project

Catfart Grayson: there are two functions and two events assocaited with positional targets

Catfart Grayson: llTarget() sets a new target and llTargetRemove() detes it

Catfart Grayson: llTarget() takes two parameters

Catfart Grayson: the first is the target postion itself, a vector

Catfart Grayson: the second is how near to the target the object needs to get before it reports that it is there

Catfart Grayson: if the object is not within range of the target, the not_at_target event is triggered

Catfart Grayson: when it gets close enough, the at_target event is triggered

Catfart Grayson: so if we set up a target here

Gino Medici: Cat, how often is the not_at_target event called?

Catfart Grayson: while the object is outside the range, the not_at_target event is triggered, CONSTANTLY

Catfart Grayson: Gino, Im not sure exactly how fast it is triggered, but it continues to go off

Catfart Grayson: until either the object moves into range of the target

Catfart Grayson: or you delete the target

Catfart Grayson: does that make sense?

Gino Medici: yep

Catfart Grayson: everyone happy with that?

neand Fleming: sure

Catfart Grayson: ok, lets go back a few slide

Catfart Grayson: Ill just let that rezz

Catfart Grayson: So, first thing we do is remove any old targets that might have been set

Catfart Grayson: using the llTarget remove function

Catfart Grayson: and then we create a new one

Catfart Grayson: using the target and range that the brain scripot sent in the link message

Catfart Grayson: llTarget returns an integer which holds a unique id

Catfart Grayson: we store that in the global variable we set earleir cos we need it so we can delete the target

Catfart Grayson: now the scrip knows where it is going

Catfart Grayson: we then use the llSetForce() function to actualy push the object along

Gino Medici: How come we're using llSetForce and not llMoveToTarget?

Catfart Grayson: Gino, LLmovetoTarget is a damped motion

Catfart Grayson: which means it will start slowly gather speed and then slow again

Catfart Grayson: which is not the sort of motion we want

Gino Medici: oh ok - thankx

Catfart Grayson: plus, move to target will move the object straight towards the target

Catfart Grayson: which we dont want either

Catfart Grayson: our pet is going to turn smoothly towards the target, if it misses, it will turn and try again

Catfart Grayson: as you can see, llSetTarget takes two parameters, the first is a vector which is which direction the object is going to move in

Catfart Grayson: and the second is flag which tells the function whether or not the force is in the direction the object is pointing in

Catfart Grayson: or the global direction of the sim

Catfart Grayson: this is why it is important that the object has its x axis as the forward direction

Catfart Grayson: the first parameter is vector made up of the speed, as the x motion and 0's (zeros)  in the y and z motions

Catfart Grayson: the net effect is that the object is pushed in whatever is its forward direction

Catfart Grayson: did that make sense to ppl?

Devin Huber: no

Gino Medici: I think so - might have to try this out after class to see how it works

Catfart Grayson: Devin,whcih bit dont you understand?

Devin Huber: i just got here, i think i may have to come to another class

Catfart Grayson: Devin, Ill give you the previous chat logs after this session

Devin Huber: ok great

Catfart Grayson: can anyone tell me why I'm multiplying the speed by the objects mass?

Olympia Rebus: f=ma?

Catfart Grayson: Olmpia correct

Gino Medici: Although - I'm not sure I understand why the speed is the x part of the vector in the llSetForce command

Olympia Rebus: lucky guess

Catfart Grayson: going back to physics at school the force is equal to the mass of the object times its acceleration

Catfart Grayson: swapping that around a bit you get a = F * M

Catfart Grayson: now you could leave the mass bit out

Catfart Grayson: but if you then put the script in a different object

Catfart Grayson: with a different mass, it wont move with the same speed

Catfart Grayson: by multiplying the force by the mass

Catfart Grayson: whatever object you put this script into, it will move the same

Catfart Grayson: makes it more re usable

Catfart Grayson: one more thing about set force

Catfart Grayson: it is a constant force

Catfart Grayson: that force will now be applied every FPS

Catfart Grayson: so in the next time slice the object will move faster

Catfart Grayson: and faster and faster

Catfart Grayson: so we need to do someting about that later

Coreno Wolfe: we almost done here?

Max Case: do we? THis is good weapons technology. guided missle

Max Case: hhaahh

Catfart Grayson: Coreno, not quite, say onther ten minutes

Catfart Grayson: as this event stands, the object will just keep accelerating, into the distance

You: can we get futer classes and skip ahead a bit if were like pretty clever

Catfart Grayson: the last line uses the function llRotlookAt

Max Case: racerx - you should be able to skip ahead then with what you now have

Max Case: :-)

Catfart Grayson: Racerx, if you want to skip a class, your risk :)

Catfart Grayson: RoLookAt turns the object in a direction

You: oh good my brain was disapointing and me moving it just sent it to its death

Catfart Grayson: as we have limited the object to only turning in the z axis, it wil just spin

Catfart Grayson: BUT

Catfart Grayson: llRotLookAt tries to point the z axis at the target, we want the x axis to point that way

Catfart Grayson: so on the Wiki again, I found a bit of code that converts llRotLookAt to point what ever axis you want

Catfart Grayson: getRottopointaxisat will allow llRotLookAt to use the x axis not the z axis

Catfart Grayson: llRotLookAt has two parameters at the end that effect how fast the object turns

Catfart Grayson: rot_str and rot_damp

Catfart Grayson: these effect the rate of turn of the object

Catfart Grayson: these can be tricky parameters

Catfart Grayson: and you may have to play around with them before you get the effect you want

Catfart Grayson: in general rot_dmp should be about 1/10 of rot_str

Catfart Grayson: So, in the link message event

Catfart Grayson: we set up the target

Catfart Grayson: start a force pushing against the object

Catfart Grayson: and start a turning force to turn the object towards the target

Catfart Grayson: everyone vagulay happy with that?

Rhiannon Chatnoir: yes

Catfart Grayson: I didnt realise how late it is

Catfart Grayson: I can continue for another 15 minutes?

Alan Kiesler: Sure.

Candide LeMay: yeah

Bzzy Stonebender: yes plz

Olympia Rebus: please do

Catfart Grayson: OK, so when our object is not within range of the target, the not_at_target event

Catfart Grayson: is going to be triggered

Catfart Grayson: so we know we are not there yet

Catfart Grayson: what do we want to do. Well we need to turn some more, perhaps

Catfart Grayson: so we put llRotLookAt in there

Catfart Grayson: same as in the link message event

Catfart Grayson: so the object isnt at the target turn towards the target again

Catfart Grayson: now, because we have stopped the object rotating in the x and y axis

Catfart Grayson: and the force is in the direction of the x axis

Catfart Grayson: it cant go up or down

Catfart Grayson: one second

Catfart Grayson: sorry about that

Catfart Grayson: OK so we need to push our object up or down

Catfart Grayson: depending on whether it is above or below the targets z element

Catfart Grayson: First thing is to fnd out where the object is now

Catfart Grayson: putting the result in a local varialbe

Catfart Grayson: then we compare the z component against the z component of the target

Catfart Grayson: if the object is below, we use llApplyImpluse to give a little kick upwards

Catfart Grayson: if the object is to high give it a kick down

Catfart Grayson: notice the difference between llSetForce and llApplyImpulse

Catfart Grayson: llSetForce sets a constant force on the object that doesnt stop until you change it

Catfart Grayson: llApplyImpluse applies a one off push

Catfart Grayson: I havnt shown here the fact that you need to set a global variable up for the force your going to apply, z_force

Catfart Grayson: So if our object is not at the target, we turn towards the target again

Catfart Grayson: if we are too high, knock it down a bit

Catfart Grayson: too low, give it a kick upwards

Catfart Grayson: eveyone happy with that?

neand Fleming: yes

Candide LeMay: yup

Rhiannon Chatnoir: :)

Olympia Rebus: /nod

Catfart Grayson: in theory, eventuialy we actually get within range of the target

Catfart Grayson: and then the at_target event is triggered

Catfart Grayson: when we have reached the target, we want to stop

Catfart Grayson: and then tell the brain script with a link message

Catfart Grayson: that we have reached the target

Catfart Grayson: Ive put a last llrotLookAt() in here just to finally turn the object to look at the target

Catfart Grayson: all_stop is a use defined function

Catfart Grayson: firsthing we do is to turn off all forces

Catfart Grayson: llSetForceAndTorque() does that

Catfart Grayson: that stops all the forces, but doesnt actually stop the object

Catfart Grayson: its stops the acceleration but if the object is moveing(which it will be)

Catfart Grayson: it will just keep going

Catfart Grayson: so we use llApplyImpules to push the object in the opposite direction from waht its going in

Catfart Grayson: -llgetVel() * llGetMass() will give you exaclty the correct force to do that

Catfart Grayson: llApplyRotationalImpulse does the same for any rotational speed the object might have

Catfart Grayson: the result of all_stop is the object will come to a dead halt

Catfart Grayson: this is a very useful function

Catfart Grayson: I reccomend you add this to all your physical scripts

Catfart Grayson: Ladies and gentlemen, Im afraid I must leave it here

Max Case: couldn you just turn off physics to come to dead stop?

Catfart Grayson: next session we will talk about the timer event

Catfart Grayson: Max, yes but it wont look so good :)

Candide LeMay: can we copy the slides or next time

Rhiannon Chatnoir: yes

Catfart Grayson: next time for the slide candie, I want to finsh off the motecard inside

Candide LeMay: 'k

Catfart Grayson: I only got to the state_entry event in my notes :)

Catfart Grayson: OK, Ill put our session 1 and 2 if you need them

Max Case: tahnks

Olympia Rebus: thanks Cat

Catfart Grayson: and if you want a working copy of the brain script there is one in the box in front of the screen

Catfart Grayson: thank you all for coming

Gino Medici: Thanks Cat

neand Fleming: tyvm

Catfart Grayson: OK, same time same day same palce for the next session

Catfart Grayson: thank you again for ateendign

Candide LeMay: it's a great class catfart

Candide LeMay: well done

Catfart Grayson: now, Im going for a quick comfort break back a min aor five

Bzzy Stonebender: yes this is cool

Max Case Claps

Olympia Rebus: /clap

Bzzy Stonebender: how do I get the cards ?

Catfart Grayson: bzzy, buy them for 0 dollars

Olympia Rebus: no buy menu?

Bzzy Stonebender: it is not alowwing me

Catfart Grayson: try now

Olympia Rebus: ah, much better :D

Bzzy Stonebender: ok is now thanks

Olympia Rebus: way cool!

Catfart Grayson: loolsorry must dash, need a weeeee

Jesrad Seraph is offline

Dane Zander is offline

Max Case: bye bye

Rhiannon Chatnoir: so then notes and slide from this week we will get next time.. right

Vapxk Lament is online

Alan Kiesler: As far as I understood, yes.

Aaron Hadlee is online

Alan Kiesler: I found the seession 2 notes on his land for sale. I was there while getting some fish.

Rhiannon Chatnoir: ahhh

Rhiannon Chatnoir: i am set now with that.. thanks...

Alan Kiesler: Its 'not safe' though, so makes me nervous sometimes. :)

Candide LeMay: what's not safe?

Alan Kiesler: Land set to 'not safe,' similar to Jesse or Rousch.

Candide LeMay: aha

Rhiannon Chatnoir: his land

Alan Kiesler: Yep. I have no issue with that actually.

Rhiannon Chatnoir: ahh.. ok.. well bye for all now... see you next week

Candide LeMay: well yeah, Tink only looks cute but she can beat you to bloody pulp ;-)

Alan Kiesler: No thats on another plot of land.

Bzzy Stonebender: brb

You: he has little men there that shoot you

Alan Kiesler: The AI store is on safe land.

Catfart Grayson: ahhh, thats better :)

You: but if oyou have rubber bulletds you can kill them

You: avoide there little buildibg

Alan Kiesler: Catfart, a note about the fish you're selling...

Catfart Grayson: yes Alan?

You: and they dont come out

Alan Kiesler: Well, it may want to be sold with the instruction card separate...

Alan Kiesler: By the time I rezzed it, opened it and read card, and got back to it, it auto-killed.

You: yes if its not modify able you cant pull card out ver y easy

Catfart Grayson: yes, they are an early design, Ive learnt a lot since then, including the best way to sell them

Catfart Grayson: I looked at the code for them the other day, horrible

Alan Kiesler: I don't mind as much, its only L50, I'll go and get another.

Catfart Grayson: Alan what is it your after the instruction card?

Alan Kiesler: Yes, I was, so to get the fish set right. But apparently it auto-dies after some time of not having a marker point.

Alan Kiesler: Auto-die will not goto your folders. Lost forever.

Catfart Grayson: Alan, yes I had to many complaints about them wandering aorund when they couldnt find the target object

Catfart Grayson: let me give you one of the genreators instead

Max Case: bye bye all

Alan Kiesler: I bought the generator as well, thats ok

Catfart Grayson: bye max

Catfart Grayson: I may stop selling the individual fish, they are just oo much trouble to set up :)

Catfart Grayson: thats why I created the generator

Alan Kiesler: *chuckle* Understandable. Though the generator acts funny on my land too.

You: catfart give me the textures ill set them up

Catfart Grayson: racer ok

Rubiks Neva is offline

The Sojourner is offline

Catfart Grayson: Alan, yes I occationally see a fish stomping along over ground trying to get back to water

Alan Kiesler: Actually the problem in my case is fish embedding themselves into the rock wall. :)

Alan Kiesler: Lots of them.

Bzzy Stonebender: well thank you for the class Catfart

You: like i did the sharks ioi dont put all the bells and whistles in but can get it to keep a few fish around and then have them die as more are ressed

Catfart Grayson: lol

Bzzy Stonebender: will see you next wekk

Catfart Grayson: bye for now

Bzzy Stonebender: Aloha everyone

TxKatie Curie: can I get this week's notes?

Catfart Grayson: I must go , see you next week ppl

TxKatie Curie: it's not set to buy

Candide LeMay: good night catfart

Acerus Manray is offline

Alan Kiesler: Night sir, have a good weekend.

Catfart Grayson is offline

You: ok cpould you set pfull pernnmisions on some of this stuff or are you afriad youll loose control of your lessos?

You: ah hes gone busy guy

Candide LeMay: he's gone racer

Candide LeMay: well folks, see ya next week

Candide LeMay: bye

 

Back To The Create A Flying Pet Home Page

Back To The Script Library

 

 

Comments (0)

You don't have permission to comment on this page.