Sorry bout that, you can use this method that keeps everything but just adds a rule:
in zone/bot.cpp
Code:
AT
void Bot::ProcessBotCommands(Client *c, const Seperator *sep) {
// All bot command processing occurs here now instead of in command.cpp
// TODO: Log any possible error messages as most of these will be MySQL error messages.
std::string TempErrorMessage;
if(sep->arg[1][0] == '\0') {
c->Message(13, "Bad argument, type #bot help");
ADD
void Bot::ProcessBotCommands(Client *c, const Seperator *sep) {
// All bot command processing occurs here now instead of in command.cpp
// TODO: Log any possible error messages as most of these will be MySQL error messages.
std::string TempErrorMessage;
int16 BotMinStatus = (RuleI(Bots, BotMinStatus)); // min status to do various bot commands
if(sep->arg[1][0] == '\0') {
c->Message(13, "Bad argument, type #bot help");
Then at whatever commands you want to be subject to new custom rule add"
Code:
if(c->Admin() < BotMinStatus) {
c->Message(0, "Sorry, your status is to low to use this command");
return;
}
and be sure to make the if you inserted in front of an else if. Example
in zone/bot.cpp
Code:
if(!strcasecmp(sep->arg[1], "create")) {
if(sep->arg[2][0] == '\0' || sep->arg[3][0] == '\0' || sep->arg[4][0] == '\0' || sep->arg[5][0] == '\0' || sep->arg[6][0] != '\0') {
c->Message(0, "Usage: #bot create [name] [class(id)] [race(id)] [gender (male/female)]");
return;
}
CHANGE TO --
if(!strcasecmp(sep->arg[1], "create")) {
if(c->Admin() < BotMinStatus) {
c->Message(0, "Sorry, your status is to low to use this command");
return;
}
else if(sep->arg[2][0] == '\0' || sep->arg[3][0] == '\0' || sep->arg[4][0] == '\0' || sep->arg[5][0] == '\0' || sep->arg[6][0] != '\0') {
c->Message(0, "Usage: #bot create [name] [class(id)] [race(id)] [gender (male/female)]");
return;
}
common/ruletypes.h
Code:
AT--
#ifdef BOTS
RULE_CATEGORY ( Bots )
RULE_REAL ( Bots, BotManaRegen, 2.0 ) // Adjust mana regen for bots, 1 is fast and higher numbers slow it down 3 is about the same as players.
RULE_BOOL ( Bots, BotFinishBuffing, false ) // Allow for buffs to complete even if the bot caster is out of mana. Only affects buffing out of combat.
RULE_INT ( Bots, CreateBotCount, 150 ) // Number of bots that each account can create
RULE_INT ( Bots, SpawnBotCount, 71 ) // Number of bots a character can have spawned at one time, You + 71 bots is a 12 group raid
RULE_BOOL ( Bots, BotQuest, false ) // Optional quest method to manage bot spawn limits using the quest_globals name bot_spawn_limit, see: /bazaar/Aediles_Thrall.pl
RULE_BOOL ( Bots, BotGroupBuffing, false ) // Bots will cast single target buffs as group buffs, default is false for single. Does not make single target buffs work for MGB.
RULE_BOOL ( Bots, BotSpellQuest, false ) // Anita Thrall's (Anita_Thrall.pl) Bot Spell Scriber quests.
RULE_INT ( Bots, BotAAExpansion, 8 ) // Bots get AAs through this expansion
RULE_BOOL ( Bots, BotGroupXP, false ) // Determines whether client gets xp for bots outside their group.
RULE_BOOL ( Bots, BotBardUseOutOfCombatSongs, true) // Determines whether bard bots use additional out of combat songs.
RULE_CATEGORY_END()
#endif
CHANGE TO --
#ifdef BOTS
RULE_CATEGORY ( Bots )
RULE_REAL ( Bots, BotManaRegen, 2.0 ) // Adjust mana regen for bots, 1 is fast and higher numbers slow it down 3 is about the same as players.
RULE_BOOL ( Bots, BotFinishBuffing, false ) // Allow for buffs to complete even if the bot caster is out of mana. Only affects buffing out of combat.
RULE_INT ( Bots, CreateBotCount, 150 ) // Number of bots that each account can create
RULE_INT ( Bots, SpawnBotCount, 71 ) // Number of bots a character can have spawned at one time, You + 71 bots is a 12 group raid
RULE_BOOL ( Bots, BotQuest, false ) // Optional quest method to manage bot spawn limits using the quest_globals name bot_spawn_limit, see: /bazaar/Aediles_Thrall.pl
RULE_BOOL ( Bots, BotGroupBuffing, false ) // Bots will cast single target buffs as group buffs, default is false for single. Does not make single target buffs work for MGB.
RULE_BOOL ( Bots, BotSpellQuest, false ) // Anita Thrall's (Anita_Thrall.pl) Bot Spell Scriber quests.
RULE_INT ( Bots, BotAAExpansion, 8 ) // Bots get AAs through this expansion
RULE_BOOL ( Bots, BotGroupXP, false ) // Determines whether client gets xp for bots outside their group.
RULE_BOOL ( Bots, BotBardUseOutOfCombatSongs, true ) // Determines whether bard bots use additional out of combat songs.
RULE_INT ( Bots, BotMinStatus, 0 ) // add custom rules to various bot commands to limit via status level
RULE_CATEGORY_END()
#endif
Note I simply added a space to the previous BotBardUseOutOfCombatSongs to keep everything looking similar at the end..
Then just create your sql rule:
Code:
INSERT INTO rule_values VALUES ('1', 'Bots:BotMinStatus', '255', 'Min status to access various customized bot commands.');
And the quest still work on status 0 characters..