Hello i have a skill



deed script (it increase a skill by X amount),

im able to add a skilldeed in game: .add skilldeed 7 1


skilldeed.png

that creates a skilldeed blacksmithy +1



how can i create a skilldeed blacksmithy +1 inside a script? ive tried:


Code:
case 0: from.AddToBackpack(new skillDeed (7), Utility.RandomMinMax(1, 1 )); break;



CS1502: Line 97: The best overloaded method match for 'Server.Mobile.AddToBa
kpack(Server.Item, bool)' has some invalid arguments
CS1503: Line 97: Argument '2': cannot convert from 'int' to 'bool'


Also tried:

Code:
case 0: from.AddToBackpack(new skillDeed ,7, Utility.RandomMinMax(1, 1 )); break;


CS1526: Line 97: A new expression requires (), [], or {} after type

This is the skilldeed.cs



Code:
using System;
using Server;
using Server.Mobiles;
using Server.Network;
using Server.Multis;

namespace Server.Items
{
    public class skillDeed : Item
    {
          private String          nameSkill = "null";
          private SkillName       skillType = (SkillName)0;
          private double          gainAmt   =  5.0;

        public override string DefaultName
        {
           get { return nameSkill;}
        }//END METHOD

     
        [Constructable]
        //public skillDeed(int wSkill,int wPower) : base( 0x14F0 )
        public skillDeed(int wSkill,int wPower) : base( 7986 )
        {
                  SkillInfo[] sTable = SkillInfo.Table;
                  if (wSkill < 0 || wSkill > 48)
                  wSkill = skillDeedInfo.allSkill[Utility.RandomMinMax(0,skillDeedInfo.allSkill.Length-1)];
                  skillType = (SkillName)wSkill;
                  if (wPower < 1 || wPower > 10)     
                  wPower  = Utility.RandomMinMax(1,10);
                  gainAmt = (double)wPower;
             //     nameSkill =" " + sTable[wSkill].Name.ToLower() + " Scroll +" + gainAmt;
               
            nameSkill ="Powerscroll +" + gainAmt + " " + sTable[wSkill].Name.ToLower();
            Weight = 1.0;
            Hue = 0x481;
            LootType = LootType.Regular;
        }//END CONSTRUC

        public skillDeed( Serial serial ) : base( serial )
        {
        }//END CONSTRUC

        public override void Serialize( GenericWriter writer )
        {
            base.Serialize( writer );
            writer.Write(nameSkill);
                  writer.Write((int)skillType);
                  writer.Write((int)gainAmt);

            writer.Write( (int)0 ); //version
        }//END METHOD

        public override void Deserialize( GenericReader reader )
        {
            base.Deserialize( reader );
                  nameSkill = reader.ReadString();
                  skillType = (SkillName)reader.ReadInt();         
                  gainAmt   = reader.ReadInt();

            int version = reader.ReadInt();
        }//END METHOD

        public override void OnDoubleClick( Mobile from )
        {
            if ( !IsChildOf( from.Backpack ) )
            {
                 from.SendMessage( "Debe estar en tu mochila" ); // That must be in your pack for you to use it.
            }else{
                     double totalSP  = from.Skills[skillType].Base;
                     double capSP    = from.Skills[skillType].Cap;
                     bool   canGain  = true;
                     double tempGain = gainAmt;
                       
                     if (totalSP >= capSP || from.Skills[skillType].Lock == SkillLock.Locked || from.Skills[skillType].Lock == SkillLock.Down){
                       
                         return;
                      }//END IF STATEMENT

                     if ( (totalSP + tempGain) > capSP)
                       tempGain = capSP - totalSP;


                  
                     if ( (from.SkillsTotal + tempGain*10) > from.SkillsCap){
                          canGain = false;
                    for ( int i = 0; i <= 48; i++ )
                    {
                        if (from.Skills[i].Lock == SkillLock.Down && from.Skills[i].Base >= tempGain )
                        {
                            from.Skills[i].Base = from.Skills[i].Base - tempGain;
                                          canGain = true;
                            break;
                        }//END IF STATEMENT
                    }//END FOR LOOP

                      if (!canGain){
                                         
                         return;
                      }//END IF STATEMENT


                     }//END IF STATEMENT
                  

                  
                     if (totalSP + tempGain > capSP){
                       from.Skills[skillType].Base = capSP;
                     }else{
                       from.Skills[skillType].Base = totalSP + tempGain;
                     }//END IF/ELSE STATEMENT
                  
                    from.FixedParticles( 0x376A, 1, 62, 9923, 3, 3, EffectLayer.Waist );
                    from.FixedParticles( 0x3779, 1, 46, 9502, 5, 3, EffectLayer.Waist );
                  from.SendAsciiMessage(2548, "You raise your skill." );
                  from.PlaySound( 488 );
                     this.Delete();
                  }//END IF/ELSE STATEMENT


        }//END METHOD

         }//END CLASS
          }//END NAMESPACE

Thanks! and sorry for my noob questions
 
Back