Page 1 of 1

Interior Decorator v4.0

Posted: Sat Dec 31, 2011 12:54 am
by dragon slayer
Version 4.0
Added in triggerevent to call a nother js script for the turn method.
Moved gump into its own function so it can be recalled back up so you don't have to keep clicking tool.
Added in a better way to raise up and down the z of a item

do not forget to grab the ondrop.js


Then don't forget to add this lines to your jse_fileassociations
5071=custom/interiordecorator.js
5089=custom/ondrop.js

have a good day :)


Version 3.0
Changed the hight a item can set to per osi.
Combined some lines of code to shrink it down some.

version 2.0
1 Added 1000 weight check if its 100 stones wont move up or down or turn
2 Changed the lockdown tag to be like OSI if the item isnt locked down you can't do anything to it.
3 Added clico numbers to the gump instead of html. :)

Only thing missing is turning House Addons

I know uox doesn't have this yet i figured would be nice to have so we could let our players move items in there house without having to help them :)

interiordecorator.js
function onUseChecked ( pUser, iUsed )
{
     if( iUsed.container != null )
     {  
    var persMulti = FindMulti( pUser.x, pUser.y, pUser.z, pUser.worldnumber );
    var itemMulti = FindMulti( iUsed.x, iUsed.y, iUsed.z, iUsed.worldnumber );

    if( persMulti != itemMulti )
    {
          var ret=displaygump( iUsed, pUser );
    }
        else
         pUser.SysMessage( "You must be in your house to do this." );
     return false;
     }
     else
        pUser.SysMessage( "That must be in your pack for you to use it." );
         return false;
}

function displaygump(socket, pUser)
{
    var myGump = new Gump;
    myGump.AddPage(0);
    myGump.AddBackground( 0, 0, 200, 200, 2600 );
    myGump.AddButton( 50, 45, 0x868, 1, 0, 1 );
    myGump.AddXMFHTMLGump( 90, 50, 70, 40, 1018323, false, false );//turn
    myGump.AddButton( 50, 95, 0x868, 1, 0, 2 );
    myGump.AddXMFHTMLGump( 90, 100, 70, 40, 1018324, false, false );//up
    myGump.AddButton( 50, 145, 0x868, 1, 0, 3 );
    myGump.AddXMFHTMLGump( 90, 150, 70, 40, 1018325, false, false );//down
    myGump.Send( pUser );
    myGump.Free();
    return false;
}

function onGumpPress( pSock, pButton, gumpData )
{
    var pUser = pSock.currentChar;
    switch(pButton)
    {
        case 0:
                       break;//close
        case 1:
                   pSock.CustomTarget( 3);
                       var ret=displaygump( pSock, pUser );
                       break;//turn
        case 2:
                   pSock.CustomTarget( 2);
                       var ret=displaygump( pSock, pUser );
                       break;//Up
                case 3:                
                   pSock.CustomTarget(1);
                       var ret=displaygump( pSock, pUser );
                       break;//down
    }
}

function onCallback1( socket, ourObj )
{
    var tChar = socket.currentChar;
    if( !ValidateObject( ourObj ) || ourObj.movable == 2 )
    {
        socket.SysMessage( "You cannot use the house decorator on that object." );
        return;
    }
    if( !ourObj.isItem )
        return;

        if( ourObj.z == 7 || ourObj.z == 27 )
        {
      socket.SysMessage( "You cannot lower it down any further." );
      return false;
        }
        if( ourObj.weight ==10000 )
        {
      socket.SysMessage( "That is too heavy." );
      return false;
        }
        if( ourObj.movable !== 3 )
        {
       socket.SysMessage( "That is not locked down." );
       return false;
        }
        socket.CustomTarget(1);
    if( !socket.GetWord( 1 ) )
        ourObj.z -= 1;
}

function onCallback2( socket, ourObj )
{
        var tChar = socket.currentChar;
    if( !ValidateObject( ourObj )  || ourObj.movable == 2  )
    {
        socket.SysMessage( "You cannot use the house decorator on that object." );
        return;
    }
    if( !ourObj.isItem )
        return;

        if( ourObj.z == 22 || ourObj.z == 42)
        {
      socket.SysMessage( "You cannot raise it up any higher." );
      return false;
        }
        if( ourObj.weight ==10000 )
        {
      socket.SysMessage( "That is too heavy." );
      return false;
        }
        if( ourObj.movable !== 3 )
        {
       socket.SysMessage( "That is not locked down." );
       return false;
        }
        socket.CustomTarget(2);
    if( !socket.GetWord( 1 ) )
        ourObj.z += 1;
}

function onCallback3( socket, ourObj )
{
    var tChar = socket.currentChar;
    if( !ValidateObject( ourObj )  || ourObj.movable == 2  )
    {
        socket.SysMessage( "You cannot use the house decorator on that object." );
        return;
    }
    if( !ourObj.isItem )
        return;

        if( ourObj.weight ==10000 )
        {
      socket.SysMessage( "That is too heavy." );
      return false;
        }
        if( ourObj.movable !== 3 )
        {
       socket.SysMessage( "That is not locked down." );
       return false;
        }
        socket.CustomTarget(3);
        TriggerEvent( 5089, "onDrop", ourObj, tChar);
}
ondrop.js
function onDrop( iDropped, pDropper )
{      
      switch( iDropped.id )
      {
      case 0x0B5A: iDropped.id++; break;
      case 0x0B5B: iDropped.id++; break;
      case 0x0B5C: iDropped.id++; break;
      case 0x0B5D: iDropped.id = 0x0B5A; break;
      case 0x0b56: iDropped.id++; break;
      case 0x0b57: iDropped.id++; break;
      case 0x0b58: iDropped.id++; break;
      case 0x0b59: iDropped.id = 0x0b56; break;
      case 0x0b56: iDropped.id++; break;
      case 0x0b57: iDropped.id++; break;
      case 0x0b58: iDropped.id++; break;
      case 0x0b59: iDropped.id = 0x0b56; break;
      case 0x0b52: iDropped.id++; break;
      case 0x0b53: iDropped.id++; break;
      case 0x0b54: iDropped.id++; break;
      case 0x0b55: iDropped.id = 0x0b52; break;
      case 0x0b4e: iDropped.id++; break;
      case 0x0b4f: iDropped.id++; break;
      case 0x0b50: iDropped.id++; break;
      case 0x0b51: iDropped.id = 0x0b4e; break;
      case 0x0b32: iDropped.id++; break;
      case 0x0b33: iDropped.id = 0x0b32; break;
      case 0x0b2e: iDropped.id++; break;
      case 0x0b2f: iDropped.id++; break;
      case 0x0b30: iDropped.id++; break;
      case 0x0b31: iDropped.id = 0x0b2e; break;
      case 0x0b2c: iDropped.id++; break;
      case 0x0b2d: iDropped.id = 0x0b2c; break;
      case 0x1218: iDropped.id++; break;
      case 0x1219: iDropped.id++; break;
      case 0x121a: iDropped.id++; break;
      case 0x121b: iDropped.id = 0x1218; break;
      case 0x3dff: iDropped.id++; break;
      case 0x3e00: iDropped.id = 0x3dff; break;
      case 0x0e40: iDropped.id++; break;
      case 0x0e41: iDropped.id = 0x0e40; break;
      case 0x09ab: iDropped.id = 0x0e7c; break;
      case 0x0e7c: iDropped.id = 0x09ab; break;
      case 0x09a8: iDropped.id = 0x0e80; break;
      case 0x0e80: iDropped.id = 0x09a8; break;
      case 0x09a9: iDropped.id = 0x0e7e; break;
      case 0x0e7e: iDropped.id = 0x09a9; break;
      case 0x09aa: iDropped.id = 0x0e7d; break;
      case 0x0e7d: iDropped.id = 0x09aa; break;
      case 0x0a2c: iDropped.id = 0x0a34; break;
      case 0x0a34: iDropped.id = 0x0a2c; break;
      case 0x0a30: iDropped.id = 0x0a38; break;
      case 0x0a38: iDropped.id = 0x0a30; break;
      case 0x0a4f: iDropped.id = 0x0a53; break;
      case 0x0a53: iDropped.id = 0x0a4f; break;
      case 0x0a4d: iDropped.id = 0x0a51; break;
      case 0x0a51: iDropped.id = 0x0a4d; break;
      case 0x0a9d: iDropped.id = 0x0a9e; break;
      case 0x0a9e: iDropped.id = 0x0a9d; break;
      case 0x0e3c: iDropped.id = 0x0e3d; break;
      case 0x0e3d: iDropped.id = 0x0e3c; break;
      case 0x0e3e: iDropped.id = 0x0e3f; break;
      case 0x0e3f: iDropped.id = 0x0e3e; break;
      case 0x0e42: iDropped.id = 0x0e43; break;
      case 0x0e43: iDropped.id = 0x0e42; break;
      case 0x0b90: iDropped.id = 0x0b7d; break;
      case 0x0b7d: iDropped.id = 0x0b90; break;
      case 0x0b8f: iDropped.id = 0x0b7c; break;
      case 0x0b7c: iDropped.id = 0x0b8f; break;
      case 0x0b49: iDropped.id++; break;
      case 0x0b4a: iDropped.id++; break;
      case 0x0b4b: iDropped.id++; break;
      case 0x0b4c: iDropped.id = 0x0b49; break;
      }
}

Re: Interior Decorator v4.0

Posted: Wed Mar 28, 2012 4:39 am
by dragon slayer
Updated read first post Bump