void CConsole::ConToggleStroke(IConsole::IResult *pResult, void *pUser) { CConsole* pConsole = static_cast<CConsole *>(pUser); char aBuf[128] = {0}; CCommand *pCommand = pConsole->FindCommand(pResult->GetString(1), pConsole->m_FlagMask); if(pCommand) { FCommandCallback pfnCallback = pCommand->m_pfnCallback; // check for chain if(pCommand->m_pfnCallback == Con_Chain) { CChain *pChainInfo = static_cast<CChain *>(pCommand->m_pUserData); pfnCallback = pChainInfo->m_pfnCallback; } if(pfnCallback == IntVariableCommand) { int Val = pResult->GetInteger(0)==0 ? pResult->GetInteger(3) : pResult->GetInteger(2); str_format(aBuf, sizeof(aBuf), "%s %i", pResult->GetString(1), Val); pConsole->ExecuteLine(aBuf); aBuf[0] = 0; } else str_format(aBuf, sizeof(aBuf), "Invalid command: '%s'.", pResult->GetString(1)); } else str_format(aBuf, sizeof(aBuf), "No such command: '%s'.", pResult->GetString(1)); if(aBuf[0] != 0) pConsole->Print(OUTPUT_LEVEL_STANDARD, "Console", aBuf); }
void CConsole::ConCommandAccess(IResult *pResult, void *pUser) { CConsole* pConsole = static_cast<CConsole *>(pUser); char aBuf[128]; CCommand *pCommand = pConsole->FindCommand(pResult->GetString(0), CFGFLAG_SERVER); if(pCommand) { if(pResult->NumArguments() == 2) { pCommand->SetAccessLevel(pResult->GetInteger(1)); str_format(aBuf, sizeof(aBuf), "moderator access for '%s' is now %s", pResult->GetString(0), pCommand->GetAccessLevel() ? "enabled" : "disabled"); pConsole->Print(OUTPUT_LEVEL_STANDARD, "console", aBuf); str_format(aBuf, sizeof(aBuf), "helper access for '%s' is now %s", pResult->GetString(0), pCommand->GetAccessLevel() >= ACCESS_LEVEL_HELPER ? "enabled" : "disabled"); pConsole->Print(OUTPUT_LEVEL_STANDARD, "console", aBuf); str_format(aBuf, sizeof(aBuf), "user access for '%s' is now %s", pResult->GetString(0), pCommand->GetAccessLevel() >= ACCESS_LEVEL_USER ? "enabled" : "disabled"); } else { str_format(aBuf, sizeof(aBuf), "moderator access for '%s' is %s", pResult->GetString(0), pCommand->GetAccessLevel() ? "enabled" : "disabled"); pConsole->Print(OUTPUT_LEVEL_STANDARD, "console", aBuf); str_format(aBuf, sizeof(aBuf), "helper access for '%s' is %s", pResult->GetString(0), pCommand->GetAccessLevel() >= ACCESS_LEVEL_HELPER ? "enabled" : "disabled"); pConsole->Print(OUTPUT_LEVEL_STANDARD, "console", aBuf); str_format(aBuf, sizeof(aBuf), "user access for '%s' is %s", pResult->GetString(0), pCommand->GetAccessLevel() >= ACCESS_LEVEL_USER ? "enabled" : "disabled"); } } else str_format(aBuf, sizeof(aBuf), "No such command: '%s'.", pResult->GetString(0)); pConsole->Print(OUTPUT_LEVEL_STANDARD, "console", aBuf); }
void CConsole::ConModCommandAccess(IResult *pResult, void *pUser) { CConsole* pConsole = static_cast<CConsole *>(pUser); char aBuf[128]; CCommand *pCommand = pConsole->FindCommand(pResult->GetString(0), CFGFLAG_SERVER); if(pCommand) { if(pResult->NumArguments() == 2) { pCommand->m_AccessLevel = clamp(pResult->GetInteger(1), (int)(ACCESS_LEVEL_ADMIN), (int)(ACCESS_LEVEL_MOD)); str_format(aBuf, sizeof(aBuf), "moderator access for '%s' is now %s", pResult->GetString(0), pCommand->m_AccessLevel ? "enabled" : "disabled"); } else str_format(aBuf, sizeof(aBuf), "moderator access for '%s' is %s", pResult->GetString(0), pCommand->m_AccessLevel ? "enabled" : "disabled"); } else str_format(aBuf, sizeof(aBuf), "No such command: '%s'.", pResult->GetString(0)); pConsole->Print(OUTPUT_LEVEL_STANDARD, "Console", aBuf); }
bool CConsole::ConToggle(IConsole::IResult *pResult, void *pUser) { CConsole* pConsole = static_cast<CConsole *>(pUser); char aBuf[128] = {0}; CCommand *pCommand = pConsole->FindCommand(pResult->GetString(0), pConsole->m_FlagMask); if(pCommand) { FCommandCallback pfnCallback = pCommand->m_pfnCallback; void *pUserData = pCommand->m_pUserData; // check for chain if(pCommand->m_pfnCallback == Con_Chain) { CChain *pChainInfo = static_cast<CChain *>(pCommand->m_pUserData); pfnCallback = pChainInfo->m_pfnCallback; pUserData = pChainInfo->m_pCallbackUserData; } if(pfnCallback == IntVariableCommand) { CIntVariableData *pData = static_cast<CIntVariableData *>(pUserData); int Val = *(pData->m_pVariable)==pResult->GetInteger(1) ? pResult->GetInteger(2) : pResult->GetInteger(1); str_format(aBuf, sizeof(aBuf), "%s %i", pResult->GetString(0), Val); pConsole->ExecuteLine(aBuf, -1, false); aBuf[0] = 0; } else str_format(aBuf, sizeof(aBuf), "Invalid command: '%s'.", pResult->GetString(0)); } else str_format(aBuf, sizeof(aBuf), "No such command: '%s'.", pResult->GetString(0)); if(aBuf[0] != 0) pConsole->Print(OUTPUT_LEVEL_STANDARD, "Console", aBuf); return true; }