How to make your own OpenSpades skin

Download my skin pack
weapons.zip (1.8 MB)

Create a model in Voxelshop of your weapon without a magazine or pump if you are making a shotgun and the magazine or pump and save them as WeaponNoMagazine.kv6, Magazine.kv6 and your weapon with magazine or pump Weapon.kv6 in Weapon.zip\Models \Weapons\Weapon\

Edit the images, save them with the same name and file type in Weapon.zip\Gfx
If you don’t want to change the default sight just delete sight.tga

Edit the audios, save them with the same name and file type in
Weaponzip\Sounds\Weapons\Weapon\

If you want to change anything about the weapon in first person edit the View.as text of Weapon.zip\Scripts\Skin\Weapon\View.as

The coordinates are ordered like this

  width   length     height
  (0.f,     0.f,      0.f);

If you want to change the position of the hands, change these numbers

        leftHand = mat * Vector3(0.f, 0.f, 0.f);
        rightHand = mat * Vector3(0.f, 0.f, 0.f);

If you want to change the position of the weapon while aiming, change these numbers

       mat = AdjustToAlignSight(mat, Vector3(0.f, 0.f, 0.f), AimDownSightStateSmooth)
    *CreateTranslateMatrix(Mix (Vector3(0.f, 0.f, 0.f), Vector3(0.f, 0.f, 0.f), AimDownSightStateSmooth));

If you want to add another model to the weapon add this text

Below private Model @magazineModel; add this

private Model @nameModel;

Below @magazineModel = renderer.RegisterModel("Models/… add this

        @nameModel = renderer.RegisterModel("Models/Weapons/Weapon/Name.kv6");

Below Magazine *= CreateEulerAnglesMatrix(Vector3(0.f, 0.f, 0.f)); add this

        Matrix4 NAME = eyeMatrix * mat;
        NAME *= CreateScaleMatrix(0.5f);
        NAME *= CreateTranslateMatrix(0.f, 0.f, 0.f);
        NAME *= CreateEulerAnglesMatrix(Vector3(0.f, 0.f, 0.f));

Below renderer.AddModel(magazineModel, param); add this

        param.matrix = NAME;
        renderer.AddModel(nameModel, param);

If you want to rotate, change the position and size of the models, change these numbers

        NAME *= CreateScaleMatrix(0.5f);
        NAME *= CreateTranslateMatrix(0.f, 0.f, 0.f);
        NAME *= CreateEulerAnglesMatrix(Vector3(0.f, 0.f, 0.f));

If you want to change the end of any reload animation, change these numbers or add a new reload animation (remember that the reload animation lasts 2.5 seconds)

    }else if(reload < 0.5f){
    float per = reload / 0.5f;

If you want to move the hand, move or rotate the model, cahnge these numbers
Or down float per = reload / 0.5f; add one or all of this below
(if you want to move or rotate all the models put mat instead of the model name)

        leftHand = mat * Mix(Vector3(0.f, 0.f, 0.f),Vector3(0.f, 0.f, 0.f), per);
        NAME *= CreateTranslateMatrix(Mix (Vector3(0.f, 0.f, 0.f), Vector3(0.f, 0.f, 0.f), per));
        NAME = CreateEulerAnglesMatrix(Mix(Vector3(0.f, 0.f, 0.f), Vector3(0.f, 0.f, 0.f), per));

If you want to rotate, change the position and size of the weapon in third person, change these numbers from Weapon.zip\Scripts\Skin\Weapon\ThirdPerson.as

        Matrix4 Weapon = originMatrix * mat;
        Weapon *= CreateScaleMatrix(1.0f);
        Weapon *= CreateTranslateMatrix(8.f, -20.f, 0.f);
        Weapon *= CreateEulerAnglesMatrix(Vector3(0.f, 0.f, 3.14f));
        param.matrix = Weapon;
        renderer.AddModel(gunModel, param);
5 Likes