*aight guys, sry about not being more specific, but i haven't been on SL for more than a week, so i'm very new to this... so here's the code:
integer Define=0;
integer Doing=0;
float Hunger=100;
integer GoingForFood=0;
default
{
state_entry()
{
llSetStatus(STATUS_ROTATE_X | STATUS_ROTATE_Y, FALSE);
llSetStatus(STATUS_PHYSICS, TRUE);
llSensorRepeat("",llGetOwner(),AGENT,1000,PI,0.15);
llListen(3,"",llGetOwner(),""

;
llSetTimerEvent(2);
}
timer()
{
Hunger-=1;
}
touch(integer Toucher)
{
llSay(0,"I'm "+(string)Hunger+" hungry..."

;
}
sensor(integer Number)
{
Doing+=1;
if (Doing!=0 & GoingForFood==0)
{
vector position=llDetectedPos(0);
vector Offset=<-1,0,-3>;
position+=Offset;
llSetStatus(STATUS_PHYSICS, TRUE);
llMoveToTarget(position,0.4);
vector MyPos=llGetPos();
vector OwnPos=llDetectedPos(0);
float A=llAbs((integer)MyPos.x-(integer)OwnPos.x);
float B=llAbs((integer)MyPos.y-(integer)OwnPos.y);
float C=A*A+B*B;
if (B==0)
B=0.01;
if (C==0)
C=0.01;
float Dir=llSin(B/C);
llRotLookAt(<0,0,50,0>,0.5,0.5);
}
else
{
if (llDetectedOwner(0)==llGetOwner())
{
vector position=llDetectedPos(0);
llMoveToTarget(position,0.4);
GoingForFood=1;
}
}
if (Doing==5)
{
llSensorRepeat("Simple Pet Food","",PASSIVE,1000,PI,0.15);
}
else
llSensorRepeat("",llGetOwner(),AGENT,1000,PI,0.15);
}
listen(integer Channel, string Name, key Key, string Mess)
{
if (Define==0)
{
if (Mess=="PetSetMetallic On"

{
llSetPrimitiveParams([PRIM_BUMP_SHINY,ALL_SIDES,PRIM_SHINY_HIGH,PRIM_BUMP_NONE]);
}
if (Mess=="PetSetMetallic Off"

{
llSetPrimitiveParams([PRIM_BUMP_SHINY,ALL_SIDES,PRIM_SHINY_NONE,PRIM_BUMP_NONE]);
}
if (Mess=="PetSetGender Boy"

{
llMessageLinked(LINK_ALL_OTHERS,45,"",""

;
}
if (Mess=="PetSetGender Girl"

{
llMessageLinked(LINK_ALL_OTHERS,46,"",""

;
}
if (Mess=="PetSetColorR"

{
Define=1;
}
if (Mess=="PetSetColorG"

{
Define=2;
}
if (Mess=="PetSetColorB"

{
Define=3;
}
if (Mess=="PetSetColor Red"

{
llSetColor(<1,0,0>,ALL_SIDES);
}
if (Mess=="PetSetColor Red"

{
llSetColor(<1,0,0>,ALL_SIDES);
}
if (Mess=="PetSetColor Blue"

{
llSetColor(<0,0,1>,ALL_SIDES);
}
if (Mess=="PetSetColor Green"

{
llSetColor(<0,1,0>,ALL_SIDES);
}
if (Mess=="PetSetColor Black"

{
llSetColor(<0,0,0>,ALL_SIDES);
}
if (Mess=="PetSetColor White"

{
llSetColor(<1,1,1>,ALL_SIDES);
}
if (Mess=="PetSetColor Yellow"

{
llSetColor(<1,1,0>,ALL_SIDES);
}
if (Mess=="PetSetColor Orange"

{
llSetColor(<1,0.5,0>,ALL_SIDES);
}
if (Mess=="PetSetColor LightBlue"

{
llSetColor(<0.5,1,1>,ALL_SIDES);
}
if (Mess=="PetSetColor Purple"

{
llSetColor(<0.56862745098039215686274509803922,0,1>,ALL_SIDES);
}
if (Mess=="PetSetColor Brown"

{
llSetColor(<1,0.25,0>,ALL_SIDES);
}
if (Mess=="PetSetColor Pink"

{
llSetColor(<1,0.35294117647058823529411764705882,1>,ALL_SIDES);
}
if (Mess=="PetSetColor LightGreen"

{
llSetColor(<0,1,0.5>,ALL_SIDES);
}
if (Mess=="PetSetColor Gray"

{
llSetColor(<0.74901960784313725490196078431373,0.74901960784313725490196078431373,0.74901960784313725490196078431373>,ALL_SIDES);
}
if (Mess=="PetSetColor Crimson"

{
llSetColor(<0.5,0,0>,ALL_SIDES);
}
if (Mess=="PetSetColor Navy"

{
llSetColor(<0,0.5,0.5>,ALL_SIDES);
}
}
else
{
vector Color=llGetColor(ALL_SIDES);
float RR=Color.x;
float BB=Color.z;
float GG=Color.y;
if (Define==1)
{
llSetColor(<

float)Mess,GG,BB>,ALL_SIDES);
Define=0;
}
if (Define==2)
{
llSetColor(<RR,(float)Mess,BB>,ALL_SIDES);
Define=0;
}
if (Define==3)
{
llSetColor(<RR,GG,(float)Mess>,ALL_SIDES);
Define=0;
}
}
if (Channel==3)
{
llSay(0,Mess);
}
}
}
ps. i haven't tried the script that was kindly provided to me, since it is late, i will do it first thing in the morning though
