EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Bots (https://www.eqemulator.org/forums/forumdisplay.php?f=676)
-   -   Working SQL Bot file (https://www.eqemulator.org/forums/showthread.php?t=39200)

werebat 01-24-2015 09:38 PM

5.1 not 5.5. At least in windows, 5.5 will not work supposedly, not sure about Linux. I would try 5.1 as the guide says.

fault 01-25-2015 11:36 AM

it didnt work on 5.1 either

Tamian 06-12-2015 12:31 PM

Latest repo pull has a 'incomlpete' load_bots.sql. Once created, you can alter the following table to look as follows/use the following to modify create statement in load_bots.sql.

CREATE TABLE `botbuffs` (
`BotBuffId` int(10) unsigned NOT NULL AUTO_INCREMENT,
`BotId` int(10) unsigned NOT NULL DEFAULT '0',
`SpellId` int(10) unsigned NOT NULL DEFAULT '0',
`CasterLevel` int(10) unsigned NOT NULL DEFAULT '0',
`DurationFormula` int(10) unsigned NOT NULL DEFAULT '0',
`TicsRemaining` int(11) unsigned NOT NULL DEFAULT '0',
`PoisonCounters` int(11) unsigned NOT NULL DEFAULT '0',
`DiseaseCounters` int(11) unsigned NOT NULL DEFAULT '0',
`CurseCounters` int(11) unsigned NOT NULL DEFAULT '0',
`CorruptionCounters` int(11) unsigned NOT NULL DEFAULT '0',
`HitCount` int(10) unsigned NOT NULL DEFAULT '0',
`MeleeRune` int(10) unsigned NOT NULL DEFAULT '0',
`MagicRune` int(10) unsigned NOT NULL DEFAULT '0',
`Dot_Rune` int(10) unsigned NOT NULL DEFAULT '0',
`DeathSaveSuccessChance` int(10) unsigned NOT NULL DEFAULT '0',
`CasterAARank` int(10) unsigned NOT NULL DEFAULT '0',
`caston_x` int(10) NOT NULL DEFAULT '0',
`Persistent` tinyint(1) NOT NULL DEFAULT '0',
`caston_y` int(10) NOT NULL DEFAULT '0',
`caston_z` int(10) NOT NULL DEFAULT '0',
`ExtraDIChance` int(10) NOT NULL DEFAULT '0',
PRIMARY KEY (`BotBuffId`),
KEY `FK_botbuff_1` (`BotId`),
CONSTRAINT `FK_botbuff_1` FOREIGN KEY (`BotId`) REFERENCES `bots` (`BotID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

In addition, a find/replace may have occurred ... as character_data was truncated a few times to just character_ .... so you should check that as well.

CodyF86 06-15-2015 12:13 AM

In a previous thread there were some variables that were missing from the current PEQ database someone mentioned a fix for. There were also 3 others I found from the error message I received in-game.

I have added them and have bots 100% working now with the latest PEQ database.

Here is link to a zip file with a working load and drop bots.sql and also a complete .sql files of the 2 items that needed missing variables added.

Working Bots

Specifically listed below. caston_x, caston_y, and caston_z were missing along with ExtraDIChance.

for vwbotcharactermobs the syntac was bit jumbled on the PEQ database, below is correct, just plug it in.

Code:

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `vwbotcharactermobs` AS select 'C' AS `mobtype`,`c`.`id` AS `id`,`c`.`name` AS `name`,`c`.`class` AS `class`,`c`.`level` AS `level`,`c`.`last_login` AS `timelaston`,`c`.`zone_id` AS `zoneid` from `character_data` `c` union all select 'B' AS `mobtype`,`b`.`BotID` AS `id`,`b`.`Name` AS `name`,`b`.`Class` AS `class`,`b`.`BotLevel` AS `level`,0 AS `timelaston`,0 AS `zoneid` from `bots` `b`;
Code:

CREATE TABLE IF NOT EXISTS `botbuffs` (
  `BotBuffId` int(10) unsigned NOT NULL,
  `BotId` int(10) unsigned NOT NULL DEFAULT '0',
  `SpellId` int(10) unsigned NOT NULL DEFAULT '0',
  `CasterLevel` int(10) unsigned NOT NULL DEFAULT '0',
  `DurationFormula` int(10) unsigned NOT NULL DEFAULT '0',
  `TicsRemaining` int(11) unsigned NOT NULL DEFAULT '0',
  `PoisonCounters` int(11) unsigned NOT NULL DEFAULT '0',
  `DiseaseCounters` int(11) unsigned NOT NULL DEFAULT '0',
  `CurseCounters` int(11) unsigned NOT NULL DEFAULT '0',
  `CorruptionCounters` int(11) unsigned NOT NULL DEFAULT '0',
  `HitCount` int(10) unsigned NOT NULL DEFAULT '0',
  `MeleeRune` int(10) unsigned NOT NULL DEFAULT '0',
  `MagicRune` int(10) unsigned NOT NULL DEFAULT '0',
  `dot_rune` int(10) unsigned NOT NULL DEFAULT '0',
  `caston_x` int(10) unsigned NOT NULL DEFAULT '0',
  `DeathSaveSuccessChance` int(10) unsigned NOT NULL DEFAULT '0',
  `CasterAARank` int(10) unsigned NOT NULL DEFAULT '0',
  `Persistent` tinyint(1) NOT NULL DEFAULT '0',
  `caston_y` int(10) unsigned NOT NULL DEFAULT '0',
  `caston_z` int(10) unsigned NOT NULL DEFAULT '0',
  `ExtraDIChance` int(10) unsigned NOT NULL DEFAULT '0'
) ENGINE=InnoDB AUTO_INCREMENT=231 DEFAULT CHARSET=latin1;


jpyou127 06-15-2015 11:37 AM

It will be a few days before I can make your bot update, but issue I am having is if it's a PC and 1 bot in the group and the bot dies it crashes the zone. Are you having this issue after your bot fixes?

Peyton

kimura 06-15-2015 11:57 AM

Quote:

Originally Posted by jpyou127 (Post 241010)
It will be a few days before I can make your bot update, but issue I am having is if it's a PC and 1 bot in the group and the bot dies it crashes the zone. Are you having this issue after your bot fixes?

Peyton

Sounds like you have old source, that has been fixed, pull the latest source

CodyF86 06-15-2015 12:04 PM

I followed the windows server setup guide to a T. It says the latest source is at: http://peqtgc.com/releases ...

and compiled the source myself straight from github.

Apparently it isn't, where can I find it?

edit: er sorry couldn't tell if you were talking to me or the poster above.

kimura 06-15-2015 12:10 PM

Quote:

Originally Posted by CodyF86 (Post 241013)
I followed the windows server setup guide to a T. It says the latest source is at: http://peqtgc.com/releases ...

and compiled the source myself straight from github.

Apparently it isn't, where can I find it?

that is a link to the database

kimura 06-15-2015 12:15 PM

the source is from github, which you probably have a recent one if you recently did it

Tamian 06-18-2015 11:32 AM

The only issue I am having with Bots now is the run speed -- what variable/setting defines how BOT's adjust their run speed to the PC? Or is there a means to get them to cast SOW on themselves?

What I am seeing is that bots are not keeping up to me even without me being sow'd.

CodyF86 06-19-2015 07:03 PM

That's interesting. With GMspeed on they following me at warp speed like their run speed is related to your characters.

I did notice they do tend to walk without gmspeed on though. I'll go play with it some more.

Tamian 06-20-2015 03:42 AM

Thank you Cody!

If you would not mind as well, it seems that #bot resurrectme signals a response from the Bot Cleric, and the Bot response via say that they are trying, but the spell is never cast.

Kingly_Krab 06-20-2015 04:15 AM

#bot resurrectme works correctly, do you have a target when you're doing it?
Code:

if(!strcasecmp(sep->arg[1], "resurrectme"))    {
    Mob *target = c->GetTarget();
    if(target == nullptr || !target->IsCorpse()) {
        c->Message(15, "You must select a corpse!");
        return;
    }

    if(c->IsGrouped()) {
        bool hasrezzer = false;
        Group *g = c->GetGroup();
        for(int i = 0; i < MAX_GROUP_MEMBERS; i++) {
            if(g && g->members[i] && g->members[i]->IsBot() && (g->members[i]->GetClass() == CLERIC)) {
                hasrezzer = true;
                Mob *rezzer = g->members[i];
                rezzer->CastToBot()->BotGroupSay(rezzer->CastToBot(), "Trying to resurrect %s.", target->GetCleanName());
                rezzer->CastToBot()->Bot_Command_RezzTarget(target);
                break;
            }
        }
       
        if(!hasrezzer)
            c->Message(15, "You must have a Cleric in your group!");
    } else
        c->Message(15, "You must have a Cleric in your group!");
   
    return;
}

Side note, bots inherit their runspeed from the mob they're following (you usually):
Code:

if(AImovement_timer->Check()) {
    if(GetFollowID()) {
        Mob* follow = entity_list.GetMob(GetFollowID());
        if(follow) {
            float dist = DistanceSquared(m_Position, follow->GetPosition());
            int speed = follow->GetRunspeed();
            if(dist < GetFollowDistance() + 1000)
                speed = follow->GetWalkspeed();

            if(dist > GetFollowDistance()) {
                CalculateNewPosition2(follow->GetX(), follow->GetY(), follow->GetZ(), speed);
                if(rest_timer.Enabled())
                    rest_timer.Disable();
                return;
            } else {
                if(moved) {
                    moved = false;
                    SetCurrentSpeed(0);
                }
            }
        }
    }
}


Tamian 06-20-2015 05:42 AM

I do have the corpse targeted, and I am seeing the "trying to rez" message -- just the rez never comes.


All times are GMT -4. The time now is 08:45 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.