MCPcopy Create free account
hub / github.com/alliedmodders/sourcemod / UpdateAdminCmdFlags

Method UpdateAdminCmdFlags

core/ConCmdManager.cpp:446–484  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

444}
445
446void ConCmdManager::UpdateAdminCmdFlags(const char *cmd, OverrideType type, FlagBits bits, bool remove)
447{
448 if (type == Override_Command)
449 {
450 ConCmdInfo *pInfo;
451 if (!m_Cmds.retrieve(cmd, &pInfo))
452 return;
453
454 for (CmdHookList::iterator iter = pInfo->hooks.begin(); iter != pInfo->hooks.end(); iter++)
455 {
456 if (!iter->admin)
457 continue;
458
459 if (!remove)
460 iter->admin->eflags = bits;
461 else
462 iter->admin->eflags = iter->admin->flags;
463 pInfo->eflags = iter->admin->eflags;
464 }
465 }
466 else if (type == Override_CommandGroup)
467 {
468 GroupMap::Result r = m_CmdGrps.find(cmd);
469 if (!r.found())
470 return;
471
472 RefPtr<CommandGroup> group(r->value);
473
474 for (PluginHookList::iterator iter = group->hooks.begin(); iter != group->hooks.end(); iter++)
475 {
476 CmdHook *hook = *iter;
477 if (!remove)
478 hook->admin->eflags = bits;
479 else
480 hook->admin->eflags = hook->admin->flags;
481 hook->info->eflags = hook->admin->eflags;
482 }
483 }
484}
485
486void ConCmdManager::RemoveConCmd(ConCmdInfo *info, const char *name, bool untrack)
487{

Callers 4

update_admin_cmd_flagsFunction · 0.80
AddCommandOverrideMethod · 0.80
_UnsetCommandOverrideMethod · 0.80

Calls 4

retrieveMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
findMethod · 0.45

Tested by

no test coverage detected