returns the def name of the weapon the player is currently holding ("atdm:weapon_blackjack" or "atdm:weapon_shortsword" in your case).
void $player1.selectWeapon(string weaponname);
switches to a weapon of your choice. The string weaponname is NOT the defname but the name defined under "inv_weapon_name" (unarmed, shortsword etc...). (At least I think so )
So if you want a player to not be able to draw a certain weapon, you can make a check whether the player currently selected that weapon and then switch back to the previously hold one. You can do this every frame or in the weapon scriptobjects, preferably in Lower() as this gets called when the player attempts to switch the weapon. Also Idle() runs every frame so you would have to alter that either, and you would have to do this for all weapon scriptobjects available in your mission. So even though the latter would be the more "clean" solution, having an infinite loop checking the status every frame is probably the easier way to go.
Hope that helps