#Comma separated, whitespace ignored. #List of all weapons added by this script $$weaponsAdded:"" #List of custom attributes those weapons should have on initialization #Custom attributes in an "other" field are always included. This only matters for script input vars. $$customAttributes:"" #List stat vars here. Format as weaponAttributeName. weaponOther is supported. :Once @SetHiddenAttributes @InitializeWeapons #Necessary if any new effects are added RegisterForMsg("WeaponEffect" "DoCustomEffects") #Make the weapon visually different from others RegisterForMsg("CrosshairUpdated" "CrosshairAppearance") :SetHiddenAttributes #Hidden Stats (Affect visuals, not balance) #Options are Color, Trail, FireSound, FireVolume, HitSound, HitVolume, #EffectName, EffectScale, Path <-value ->weaponColor #etc :DoCustomEffects #Put data into more readable vars <-_DATA[0] ->weapon <-_DATA[1] ->effectPosition #Read whatever attributes are needed for this effect #Repeat if necessary <-*weaponAttributes {<-weapon} {"SomeAttribute"} ->someAttribute #Then create the effect. #Make a visual indicator by either modifying the existing crosshair's attributes #Or by hiding it and making your own. :CrosshairAppearance <-_DATA ->crosshair #============== #Required for the weapon pack to work. :InitializeWeapons Split(RemoveWhiteSpace(<-weaponsAdded) ",") ->weaponsAdded RegisterScript(<-weaponsAdded[0]) SendMsg("Initialize" <-weaponsAdded[0])