This script will allow you to place a pet parrot on a Perch. Makes them invul and makes them frozen so they can not move. You can also release your pet as well or rename it but if you release it he will just be there forever LOL.
Add this to your items.dfn or your custom items.dfn
Code: Select all
[petparrot]
{
GET=base_item
NAME=pet parrot
ID=0x20EE
SCRIPT=5081
}function onUseChecked ( pUser, iUsed )
{
var socket = pUser.socket;
socket.tempObj = iUsed;
if( iUsed.container != null )
{
var targMsg = ( "Target the Parrot Perch you wish to place this Parrot upon." );
socket.CustomTarget(0, targMsg );
}
else
pUser.SysMessage( "That must be in your pack for you to use it." );
return false;
}
function onCallback0( socket, myTarget)
{
var pUser = socket.currentChar;
var iUsed = socket.tempObj;
if( !socket.GetWord( 1 ) && myTarget.isItem )
{
if( myTarget.id == 0x2FF4 || myTarget.id == 0x2FF5 || myTarget.id == 0x2FB6 )
{
if( pUser.InRange( myTarget, 4 ))
{
var nSpawned = SpawnNPC( "parrot", myTarget.x, myTarget.y, myTarget.z, myTarget.worldnumber );
if( nSpawned )
{
nSpawned.owner = pUser;
nSpawned.aitype = 0;
nSpawned.wandertype = 0;
nSpawned.frozen = 1;
nSpawned.vulnerable = 0;
nSpawned.z += 12;
iUsed.Delete();
}
}
else
pUser.SysMessage( "You must be closer to the Parrot Perch to place the Parrot upon it." );
}
else
pUser.SysMessage( "You must place the Parrot on a Parrot Perch." );
}
else
pUser.SysMessage( "You must place the Parrot on a Parrot Perch." );
}
{
var socket = pUser.socket;
socket.tempObj = iUsed;
if( iUsed.container != null )
{
var targMsg = ( "Target the Parrot Perch you wish to place this Parrot upon." );
socket.CustomTarget(0, targMsg );
}
else
pUser.SysMessage( "That must be in your pack for you to use it." );
return false;
}
function onCallback0( socket, myTarget)
{
var pUser = socket.currentChar;
var iUsed = socket.tempObj;
if( !socket.GetWord( 1 ) && myTarget.isItem )
{
if( myTarget.id == 0x2FF4 || myTarget.id == 0x2FF5 || myTarget.id == 0x2FB6 )
{
if( pUser.InRange( myTarget, 4 ))
{
var nSpawned = SpawnNPC( "parrot", myTarget.x, myTarget.y, myTarget.z, myTarget.worldnumber );
if( nSpawned )
{
nSpawned.owner = pUser;
nSpawned.aitype = 0;
nSpawned.wandertype = 0;
nSpawned.frozen = 1;
nSpawned.vulnerable = 0;
nSpawned.z += 12;
iUsed.Delete();
}
}
else
pUser.SysMessage( "You must be closer to the Parrot Perch to place the Parrot upon it." );
}
else
pUser.SysMessage( "You must place the Parrot on a Parrot Perch." );
}
else
pUser.SysMessage( "You must place the Parrot on a Parrot Perch." );
}
Code: Select all
[parrot]
{
NAME=a parrot
ID=0x011A
STR=41 71
DEX=47 77
INT=27 57
HPMAX=27 41
FAME=300
PARRYING=375
MAGICRESISTANCE=268 445
TACTICS=298 475
WRESTLING=298 475
DAMAGE=5 18
DEF=10
TOPROV=273
TOPEACE=273 5
TOTAME=591
TAMEDHUNGER=600 30
}