Easiest way is to create a function that works when both called on a client or server. The code needs to always run on the server to work but we can modify the function to detect if it's called on a client, and if so, re-execute it on the server.
Spyder_fnc_setForcepoolByFaction = {
if (!isServer) exitWith {_this remoteExecCall ["Spyder_fnc_setForcepoolByFaction",2]};
params ["_faction","_forcepool"];
[ALiVE_globalForcePool,_faction, _forcepool] call ALIVE_fnc_hashSet;
};
This function can be called on a client or on the server and will always automatically re-execute on the server if needed.
Ex. call: ["OPF_F",0] call Spyder_fnc_setForcepoolByFaction; // Will set the forcepool of faction OPF_F to 0
Then you can either display a hint however you want, or just modify the script to do it for you (although I would recommend keeping it for you.
Ex. of implementing hint directly into the function
Spyder_fnc_setForcepoolByFaction = {
if (!isServer) exitWith {_this remoteExecCall ["Spyder_fnc_setForcepoolByFaction",2]};
params ["_faction","_forcepool"];
[ALiVE_globalForcePool,_faction, _forcepool] call ALIVE_fnc_hashSet;
"OPF_F forcepool set to zero" remoteExecCall ["hint", -2]; // only called on clients
};