Apr 28, 2007 19:29 IRCbot
Currently im working on making my own version of WBB. So far here is what i got:

Killing:
-Can only be done by mapper, ops and bot owner
Unlocking:
-By anyone
Locking:
-By anyone
Mapping:
-can map a random map example "Harlbot mapo"
-add prefixs to the word map, to edit game settings example "Harlbot mapmsnp4 chew toy 3.map" maps chew toy 3, strict, hidden mines, no password, 4 playes. The prefixs can be in any order
-if you type "Harlbot Map Chew" it will randomly choose a map starting with "Chew"
-games are automaticaly killed when the last player leaves.
-you can map classified maps randomly. Do this by typing "Harlbot map 2v2" and you will get a random classified 2v2 map with a player limit of 4.
-logging can be enabled
Classifing
-To classify something as a 1v1, 2v2, or 3v3 type "Harlbot class 2v2 (map here)

Uploading Maps:
-You can DCC upload maps
-You can get the bot to fetch, by doing something like "harlbot fetch http://www.winbolo.net/mapcollectiondownload.php?id=7111 x brawl 5"
-On upload, the bot checks if WBr has the map. If it doesn't, then it is sent
-On upload to WBr, checks if the bots have the map. If they dont, its sent
-If a map is not on a bot, it checks with WBr to see if it has it. If it does, its sent and then mapped.
-I have yet to write this ;)

Ban Lists:
Im also still working on this one. Whenever someone is banned, it is uploaded to WBr. From there before a game is mapped, it bans the ips on the ban list from joining.

Autospawning:
-Can be set up in the config menu when you right click

My question for you!:

What would you guys like to see in the bot?
Last edited: May 06, 2007 04:22 (edited 2 times)
Apr 28, 2007 21:22
Looks good.

Map uploading will work 2 ways: a user can upload a map to wbr and have it sent to each bot as it gets mapped, or a user can upload a map to a specific bot and have the bot upload it to wbr itself.

Either way there will be a central list of all maps based on collective data from each bot, should the bot owner choose to enable that feature. Same with bans, which will be passed through a simple firewall.
Apr 28, 2007 23:20
Take a look at Min's and SJ's autospawners. They worked better for me than wonka's. Maybe you can pull some features from all of them w/permission.
Apr 29, 2007 03:26
<02CaptainPlanet> harl, you should make a script where your bot maps a random strict map designed for a specific # of players

this is a good idea, its kind of like what katbot could do.
what JR meens, is you can classify maps, like 2v2, 1v1, 3v3, ffa, ect
when someone types "harlbot map 2v2" harlbot would map a random map that is classifyied as a 2v2, with a player limit of 4 players.
Apr 29, 2007 10:47 Re: IRCbot
harl91 wrote:

-logging can be enabled


Change to:

-nolog (logging can be disabled)
Apr 29, 2007 17:34
by default when this thing is released, logging will be disabled. You can easily turn it on in the config menu
Apr 29, 2007 19:51
One suggestion I have is for adding variety, most bots are "harlbot map chew" and you get chew toy 3 every damn time. On mine if it returned more then one map in the query it picked one at random. There are some very good chew maps and if they want chew toy 3 they can damn well type the whole thing out. same with things like slug worked very well for the slugfest maps.

Also with the map things, maybe you can talk elvis into writing you a simple php script that allows you to query the map collection and it returns results in a simple xml format with name and a direct download link. or you can parse the page it returns now. That would be a pain in the ass though
May 02, 2007 00:09
Im not sure weither i should put alias's into the bot... If i dont then you have to type out the whole map name (.map at the end is optional)

Just an update, I have finished with the classing section of the bot. So far, you can class maps as 1v1, 2v2, 3v3, and map them randomly.

For example, i could type "Harlbot class 2v2 chew toy 3" and "Harlbot class 2v2 fitzhu.map". This is put into a variable. From there, if someone types "harlbot map 2v2" then harlbot will map a random map classed as a 2v2, player limit 4. Optional: game type, mines, and no password.

Jhood also mentioned to me making the mapping command so you can do it in plain english. Example: "harlbot map chew toy 3.map no mines no password with a player limit of 4"
Would anyone use that?

Anyone else have a suggestion?
May 02, 2007 00:44
don't go with aliases. its been awhile BUT

[code:1:e9bed89604]/bolotest {
var %mapcount = $findfile(E:\north2\Maps,* $+ $1- $+ *.map,0)
if (%mapcount >= 1) { echo -a $findfile(E:\north2\Maps,* $+ $1- $+ *.map,$rand(1,%mapcount)) }
else { echo -a no maps found }
}

/bolotest2 {
var %mapcount = $findfile(E:\north2\Maps,* $+ $1- $+ *.map,0)
if (%mapcount >= 1) { echo -a $findfile(E:\north2\Maps,* $+ $1- $+ *.map,1) }
else { echo -a no maps found }
}[/code:1:e9bed89604]

First one searches your map directory finds everything close returns a random one.

Second one searches the directory returns the first one (stupid ass way)

put them in your aliases change the map path and try
Usage /bolotest chew or /bolotest2 palps etc
May 02, 2007 01:08
ok sweet, ill try to incorerpate that

But what I ment by alias's, was a command similar to katbot "katbot alias chew chew toy 3". The third was the alias, the 4th on was the map, so when somone typed "Katbot map chew" it would map chew toy 3. I like the idea of randomly choosing one.

How ill put it in, is I have a msg $chan thing that msg's the channel when the map is spelled wrong. Instead of just the message, it will do your script SJ, and if it doesn't return anything, THEN it will msg $chan blah blah blah
May 02, 2007 23:04
here sj, it worked fine thanks

[code:1:6838966d7f] if ($exists(c:/winbolo/maps/ $+ %map $+ ) == $false) {
set %mapcount $findfile(c:/winbolo/maps/,* $+ $3- $+ *.map ,0)
if (%mapcount >= 1) {
[/code:1:6838966d7f]
the parts missing are the mapping codes, they are top secret :twisted:
May 04, 2007 19:04
Problem solved, look a couple posts below to fetch script.
Last edited: May 04, 2007 23:52 (edited 1 time)
May 04, 2007 23:01
Why not just use Katbots code if it's available? I understand the whole wanting to build it from scratch but sometimes you don't need to rebuild the wheel; you only need to know how it works.

But kudos on your good work so far. Always good to have a active mIRC scripter among the players.
May 04, 2007 23:33
Katbot was written in VB, so its just alittle hard to transfur that to mIRC script.

As for why im doing this, I realy have no idea. I felt like making my own version of it, and then hood told me there is some stuff he would like in it so Im giving it a try.

HOLY SHIT EDIT: the only reason i responded to this is becuase i just happened to need to test out the fetch command with a map. Now it works, yay!

Here is the code for you guys interested.

[code:1:8037cca4b1]
;;Fetch Maps

on *:text:$($me fetch * * ):*:{
var %f = $4- $+ $iif(*.map !iswm $4-,.map)
if ($file(c:/winbolo/maps/ $+ %f)) { msg # I already have that map. | return }
if ($sock(fetch)) { msg # Socket busy, try again. | return }
set -e %map.address $remove($3,http://)
set -e %map.name %f
set -e %map.chan #
sockopen fetch $gettok(%map.address,1,47) 80
}
on *:sockopen:fetch:{
if ($sockerr) return
sockwrite -n $sockname GET / $+ $gettok(%map.address,2-,47) HTTP/1.1
sockwrite -n $sockname Host: $sock($sockname).addr
sockwrite -n $sockname Connection: Close
sockwrite -n $sockname
msg %map.chan Downloading %map.name ....
}
on *:sockread:fetch:{
if ($sock($sockname).mark) {
sockread -f &a
bwrite $qt(c:/winbolo/maps/ $+ %map.name) -1 -1 &a
}
else {
var %a | sockread %a
if (!%a) { sockmark $sockname 1 }
}
}
on *:sockclose:fetch:{
msg %map.chan Download of %map.name $iif($file(c:/winbolo/maps/ $+ %map.name),Complete!,Failed!)
unset %map.*
}
[/code:1:8037cca4b1]
May 05, 2007 04:52
ugh more problems...
anyone know how to excute the commands to the wonka autospawner?
May 06, 2007 02:35
Ive got autospawning to work. I was trying to startups wonkaspawn.exe throught start>run>cmd but it didn't work. I didn't think about just purly trying it in mirc. When I did, it worked :)

Im still looking for ideas.
May 07, 2007 21:42
I haven't upgrade my spawner in some time. With the release of 1.15, Elvis changed several things that I had to work around previously. With the spawner that min and sj have, using one of those might be a better option.

Or, I could just modify it to take advantage of the 1.15 features.

Let me know what you think.
May 07, 2007 22:29
I think that you hosting utilities and autospawner are perfect. The only issue I had with it was figuring out how to use it (I was trying to excute through cmd). When I /run in mIRC, it worked fine.

edit:
wonka wrote:
Or, I could just modify it to take advantage of the 1.15 features.


What are these features?