Moderator: MacroQuest Developers
At one time the heal subs would place the current target's id in a variable before targeting the person that needed to be healed and re-target using the id (if the id still exsisted) at the end of the sub. It's a simple solution but it works.Vexix wrote:Fez,
The cleric thing is prolly because he's attacking current target, and has no memory of what he was fighting before.
--Vexix
My last release was 8.8. Lasher took over after that from what I can find. After that I didn't pay much attention for a while.Vexix wrote: Version 0-? Created and developed by Grimjack
Version ?-? Other people did things.
Version 10? Lord Giddeon maintained the code and did. . .?
Version 11? Fez_Ajer worked on the code for a while?
Version 12 Lord Giddeon maintained genbot and did some other stuff.
Version 12.35 - Current Vexix Updated the code and introduced generalized shortcuts.
Chatout was originaly conceived by LordG and sent to me in a PM of some changes he had made. I liked it so I made a few tweaks and put it in place so here is what I remember. ChatOut calls that where less than the current verbosity setting(a variable in the INI and something that could be set on the fly) would be ignored. This would allow a user to make the bot more or less chatty on the fly. Lower the verbosity, less messages get through. Raise the verbosity more messages get through. That's about as good as I can explain it.Other things I'd love some assistance on:
Grim, Fez, or anyone else -- Can you tell me what the intent was behind the ChatOut priority levels? At this point, I'm not even sure if big numbers are high priority, or low numbers. Some kind of a guide to what kind of ChatOut statements should be given what priority would be very helpful.
Hehe good luck with this one. This was a constant battle I had with myself when I did this. It always seems like somehow it gets all jumbled with time(probably due to my lack of consistant orginisational skills).Anyone want to help sort out the code so it's a bit easier to find things? In particular, I'd like to have this kind of order for all the botxxxx.inc files:
Init code
xxxxmain loop.
Do-command code, like Do-Sit
Code called by do-command code, such as Target, Loot, or SpellSub
Events
--VexixGenbot Credits and History:
Version 0-8.8 Genbot created and developed by Grimjack
Version 8.8-? Lasher took over the code.
Version ?-12.34 Lord Giddeon maintained the code. Fez_Ajer did some trouble-shooting and code fixes.
Version 12.35 - Current Vexix Updated the code and introduced generalized shortcuts.
At one time there was 2 commands for looting, lootup and lootall. Lootup would loot the target named or the target of the master, lootall would attempt to loot all npc corpses in a radius.Vexix wrote:The lootup command worked a little differently than described. Genbot has no memory of "last target," so it actually loots the named target or your target if no corpse name given.
Code: Select all
Sub SpellSub(string SpellName)
/if ((${Me.Casting.ID} || ${CTimer}>0) && !${IsBard}) /return 1
/if (${SpellName.Equal[NA]}) /return 1
/varset SpellFail 0
/if (${SitAfterCast}) /varset SitTimer ${DelayBeforeSit}
/If (${Target.Distance}>${Spell[${SpellName}].Range} && ${Spell[${SpellName}].Range}>0) {
/varset SpellFail 1
/call ChatOut 7 ${MasterName} "Too far away. "
/varset CTimer 0
/return 1
}
/if (${Me.Sitting}) /stand
[color=red] /varset Remem 0 [/color]
Code: Select all
.
.
#Event IRCMsg "[#1#(msg)] #2#"
.
.
.
Sub Event_IRCMsg(string IRCText,string IRCSender)
/if (${MasterList.Find[|${IRCSender}|]}) {
/declare NameLength int local ${IRCSender.Length}
/varcalc NameLength ${NameLength}+7
/varset IRCText ${IRCText.Right[-${NameLength}]}
/call ExecCommand "${IRCText}"
/return
I'm already having fps issues running genbot. Whenever I start it my fps drops in half and the screen seems to granulate. This is not a crap machine (XP Pro, 1gigRAM, 2100+, GeForce 4600). Is anyone else having this? Not sure if switching to the 5 sec countdown wille exagerate that problem.Vexix wrote:Could one of you let me know the rationale behind SelfBuffInt array? It seems to basically create a countdown for the buffs to be checked? I'm thinking replacing it with the 5 second timer, and then checking all buffs each time, since I don't think the processor time to check all buffs will be that high.
--Vexix