Now, this might not work, but I don't see why it wouldn't right now in my sleepy state.
This script will be attached to the ring. You will need to create a global variable first or you will get errors since the script will look for it.
begin rockringshort OnPCEquipshort hasrockif ( OnPCEquip == 1 ) ;player has equipped ring Player->AddItem, "your rock's ID" 1 set hasrock to 1 set OnPCEquip to 0 ;resets variable for next equipendifif ( Player->GetItemCount "your rock's ID" == 0 ) if ( hasrock == 1 ) MessageBox, "You cannot drop this rock as long as the ring is equipped." set dropped to 1 Player->AddItem "your rock's ID" 1 endifendifif ( Player->HasItemEquipped "your ring's ID" == 0 ) if ( Player->GetItemCount, "your rock's ID" == 1 ) Player->RemoveItem, "your rock's ID" 1 set hasrock to 0 endifendifend
This one will be attached to the rock.
begin delete;delete must be before disabling in the script so that it;doesn't get deleted in the same frame, otherwise it;would crash.if ( GetDisabled == 1 ) SetDelete 1endifif ( dropped == 1 ) disableendifend
Name the scripts and variables whatever you want, just make them unique. Tweak the message if you want to keep it, but make sure it's all on the same line. Remove the comments if you wish. Not sure how much they affect performance, but making the script smaller in size is better in my opinion. Commented scripts can be put in a readme, but that is just my method. This would be much easier if you set the rock up as a light that you can't carry, but I don't think you can make it show up in the inventory. Someone correct me if I'm wrong, but I can't get it to.