Пример #1
0
static cell_t sm_ResetConVar(IPluginContext *pContext, const cell_t *params)
{
	Handle_t hndl = static_cast<Handle_t>(params[1]);
	HandleError err;
	ConVar *pConVar;

	if ((err=g_ConVarManager.ReadConVarHandle(hndl, &pConVar))
		!= HandleError_None)
	{
		return pContext->ThrowNativeError("Invalid convar handle %x (error %d)", hndl, err);
	}

	pConVar->Revert();
	
#if SOURCE_ENGINE < SE_ORANGEBOX
	/* Should we replicate it? */
	if (params[3] && IsFlagSet(pConVar, FCVAR_REPLICATED))
	{
		ReplicateConVar(pConVar);
	}

	/* Should we notify clients? */
	if (params[4] && IsFlagSet(pConVar, FCVAR_NOTIFY))
	{
		NotifyConVar(pConVar);
	}
#endif

	return 1;
}
Пример #2
0
void ConsoleVariableType::SetBool(bool value, bool replicate, bool notify) {
	ConVarInstance->SetValue(value ? 1 : 0);

#if SOURCE_ENGINE < SE_ORANGEBOX
	if(replicate && IsFlagSet(ConVarInstance, FCVAR_REPLICATED)) {
		ReplicateConVar(ConVarInstance);
	}

	if(notify && IsFlagSet(ConVarInstance, FCVAR_NOTIFY)) {
		NotifyConVar(ConVarInstance);
	}
#endif
}
Пример #3
0
void ConsoleVariableType::Reset(bool replicate, bool notify) {
	ConVarInstance->Revert();

#if SOURCE_ENGINE < SE_ORANGEBOX
	if(replicate && IsFlagSet(ConVarInstance, FCVAR_REPLICATED)) {
		ReplicateConVar(ConVarInstance);
	}

	if(notify && IsFlagSet(ConVarInstance, FCVAR_NOTIFY)) {
		NotifyConVar(ConVarInstance);
	}
#endif
}