Chicken laying eggs

Got any custom JavaScript additions/tweaks you think other people would like to see? Post 'em here!
Post Reply
dragon slayer
UOX3 Guru
Posts: 776
Joined: Thu Dec 21, 2006 7:37 am
Has thanked: 4 times
Been thanked: 26 times

Chicken laying eggs

Post by dragon slayer »

Fixed doLay thanks to xuri for pointing that out.
Yep nother greta npc effect :)
var searchAmount = 5;
var searchInterval = 2500;
var searchRange = 8;
var searchTimer = 7500;
var startSearchEmote = "*cluck cluck*";
var endSearchEmote = "*cluck*";

function inRange( pCharacter, objInRange)
{
   if( objInRange.isChar )
   {
      var iTime = GetCurrentClock();
      var initSearchTime = pCharacter.GetTag( "initSearchTime" );
      if(( initSearchTime != null && initSearchTime != 0 ) && ((( iTime - initSearchTime ) < searchTimer ) && !( initSearchTime > iTime )))
         return;
      else if((( iTime - initSearchTime ) > searchTimer ) || initSearchTime > iTime )
      {
         pCharacter.SetTag( "initSearchTime", iTime );
         if( startSearchEmote )
            pCharacter.EmoteMessage( startSearchEmote );
         pCharacter.StartTimer( searchInterval, 1, true );
      }
   }
}

function doLay( mChar, npcChicken )
{
   var dice;
   dice = RollDice(1,20,0);

   if (dice < 6)
   {
     var itemMade = CreateDFNItem( npcChicken.socket, npcChicken, "0x09b5", 1, "ITEM", false );  
     return;
   }
   if (dice < 11)
   {
     var itemMade = CreateDFNItem( npcHorse.socket, npcChicken, "0x09b5", 1, "ITEM", false );  
     return;
   }
   if (dice < 16)
   {
     var itemMade = CreateDFNItem( npcChicken.socket, npcChicken, "0x09b5", 1, "ITEM", false );  
     return;
   }
     var itemMade = CreateDFNItem( npcChicken.socket, npcChicken, "0x09b5", 1, "ITEM", false );  
}

function onTimer( srcChar, timerID )
{
   if( timerID == 1 )
   {
      if( i < searchAmount )
      {
         AreaCharacterFunction( "searchForPeople", srcChar, searchRange );
         srcChar.StartTimer( searchInterval, 1, true );
         i++;
      }
      else
      {
         i = 0;
         if( endSearchEmote )
            srcChar.EmoteMessage( endSearchEmote );
      }
   }
}

function searchForPeople( srcChar, trgChar, pSock )
{
   if( trgChar.serial != srcChar.serial )
   {
         doLay( trgChar, srcChar );
   }
}
Last edited by dragon slayer on Tue Dec 27, 2011 9:56 pm, edited 2 times in total.
User avatar
Xuri
Site Admin
Posts: 3704
Joined: Mon Jun 02, 2003 9:11 am
Location: Norway
Has thanked: 48 times
Been thanked: 8 times
Contact:

Post by Xuri »

Hehe nice one :)

Though I think maybe your CreateDFNItem lines will fail, as there is no pUser defined in the doLay() function. Same with the doPoop() function in your horse-version :P
-= Ho Eyo He Hum =-
dragon slayer
UOX3 Guru
Posts: 776
Joined: Thu Dec 21, 2006 7:37 am
Has thanked: 4 times
Been thanked: 26 times

Post by dragon slayer »

haha good catch. it didnt even send me a error or nothing when it failed
Post Reply