pawn Код:
enum WTOOBJ {
    Weaponid,
    Objectid
}
new WeaponIdToObject[][WTOOBJ] = {
    { 1, 331},
    { 2, 333},
    { 3, 334},
    { 4, 335},
    { 5, 336},
    { 6, 337},
    { 7, 338},
    { 8, 339},
    { 9, 341},
    { 10, 321},
    { 11, 322},
    { 12, 323},
    { 13, 324},
    { 14, 325},
    { 15, 326},
    { 16, 342},
    { 17, 343},
    { 18, 344},
    { 22, 346},
    { 23, 347},
    { 24, 348},
    { 25, 349},
    { 26, 350},
    { 27, 351},
    { 28, 352},
    { 29, 353},
    { 30, 355},
    { 31, 356},
    { 32, 372},
    { 33, 357},
    { 34, 358},
    { 35, 359},
    { 36, 360},
    { 37, 361},
    { 38, 362},
    { 39, 363},
    { 40, 364},
    { 41, 365},
    { 42, 366},
    { 43, 367},
    { 44, 368},
    { 45, 369},
    { 46, 371}
};
stock OnPlayerChangeWeapon(playerid, oldweapon, newweapon)
{
    for(new w = 0; w != sizeof(WeaponIdToObject); w++) {
        if(newweapon ==  WeaponIdToObject[w][Weaponid]) {
            //Attach the oject where you want wit the modelid = WeaponIdToObject[w][Objectid]
            //then set some timers for disappear and a queue variable :D
        }
    }
}
 
This make the weapon appear on weapon change but are you sure in the video when player take damage?