fires before the task selection state is being changed (the task is being selected or unselected)
| id | string|number | the id of a task | 
| state | boolean | true if the task is going to be selected, false - if unselected | 
| e | Event|null | a native event object | 
gantt.attachEvent("onBeforeTaskMultiSelect", function(id, state, e){
    // some logic here
     return true;
});
This event is defined in the multiselect extension, so you need to activate the multiselect plugin. Read the details in the Multi-Task Selection article.
The event is called for each task of the range.
The event is blockable, returning false will cancel the change of the task selection state.