Help understing locking tokens

Hi, I have just deployed a token for a project and it currently says I have 40% of the total supply after i burned the 60%. I need to to hold 5% of the total supply for marketing and lock the rest of the token.

should i use dexsale?
when do that do I add the liquidity first or after?
will people still be able to buy if I lock most of the token?

Could you please share your source code?

I want to deploy exact contract source
but every time this error appears that tells “This contract may be abstract, not implement an abstract parent’s methods completely or not invoke an inherited contract’s constructor correctly”
and by changing contract to address-contract…sol, I can deploy it but at bscscan does not show token name and supply. can u please guide me.