BeBot - An Anarchy Online and Age Of Conan chat automaton
Development => Module Requests => Topic started by: Arawacian on May 01, 2009, 02:39:24 pm
-
Description:
The ladder system: there is a virtual ladder and players are arranged on that ladder (1st time needs to be setup). The 1 ladder decides both general and class specific loot.
When loot drops the person who is on top of the ladder, will get (verbally) the option to need the loot or pass on it. When he passes the person below him will get the same option. If a player needs the loot he falls down the ladder to the ground, and all other players take a step up the ladder.
When one player is not present at the raid he will be frozen, and all other players will move around him. This will need a date tag since if a person does not participate in a raid for 3 weeks he will be removed from the ladder.
New Raiders will be added on the bottom of the ladder.
I know there is already a nice Raid system out there, and it would be nice to integrate this feature in there.
Commands:
!ladder list (anyone in gc or tells)
shows the entire ladder which will look something like this:
|Step| | |Name| | |Class| | |Frozen + #days| |
1 |
2 |
3 |
total number of active (not frozen) players
!ladder class (anyone in gc or tells)
Will show a part of the ladder with only players of the class, same layout as the list and with the same step #
possible values for class (SIN,NEC,DEM,TOS,GUA,CON,DT,POM,BS,BAR,RAN) or (the ones that are already in the db somewhere :)) important here is the added class General for general loot which could be any class.
!ladder admin (only in tells to the bot by superadmins)
Same layout as the list but now with additional options behind each player:
Grill delete freeze/unfreeze
Grill = some one gets loot, falls to the bottom of the ladder and all others (below him) move a spot up
delete = delete someone from the ladder
freeze/unfreeze = takes part in the raid or does not (also triggers a date tag that enables tracking how long a player does not partake in raids)
additionally an option:
add a new raider to the ladder = new step would be created on the bottom...
-
Been working on the logic a bit, my programming is very rusty ;)
and there is probably much better ways to this, need some help to get started.
I thought lets start at the thingy that seems "difficult"
Event; number 3 Piet the POM gets loot, he gets grilled
outcome should be every one below need to move up one spot except for those that are frozen.
START
place Name Class Frozen (y/n)
1 Jan Barb n
2 Kees Tos n
3 Piet POM n
4 John Conq n
5 klaas Barb y
6 Jim Gua n
7 Pim Demo y
8 Tim Necro y
9 Tina BS n
10 Greg DT n
END
place Name Class Frozen (y/n)
1 Jan Barb n
2 Kees Tos n
3 John Conq n
4 Jim Gua n
5 klaas Barb y
6 Tina BS n
7 Pim Demo y
8 Tim Necro y
9 Greg DT n
10 Piet POM n
starting at the person that gets grilled
++++++++++++++++++++
grilled = place of the person grilled
free = grilled
checkspot = grilled+1
timescheck= max(place) - grilled
//If the person at checkspot is not frozen he will get spot free
// if he is frozen then the next person will be checked
//Grilling routine
temporary place person grilled = 999999
// that means grilled is temp out of the ladder
for no = 1 to timescheck
If frozen (where place = checkspot) = n then
place = free and
free=checkspot and
checkspot=checkspot+1
else checkspot = checkspot + 1
next no
// grilled person will get last free spot
new place for grilled = free
++++++++++++++++++++++
-
Some more info:
Table Ladder
Name Class Frozen FrozenDate Place
Overview (for the !ladder list command)
Select Place,Name,Class,Frozen, numberofDays(current date - FrozenDate) From ladder sort by Place.
totals:
select count distinct (name) where frozen = n
ClassOverview (for the !ladder class command)
Select Place,Name,Class,Frozen, numberofDays(current date - FrozenDate) from ladder sort by Place where class = input
-
Well,this would be really an awesome feature,lets hope the devs take it in consideration.
-
Just found an old proggy that can maybe be ported ?
http://thefire.us/archives/22
It is called Suicide Kings and it is in fact a ladder system.
-
Well,this would be really an awesome feature,lets hope the devs take it in consideration.
The problem is less consideration by us, it's more a question of which changes we think are most important. Always limited by how much time we got.
Personally I think your best bet is finding someone with php knowledge who will write the module for you. Integrating it into bebot shouldn't be that hard, and we devs are always willing to answer specific implementation questions, or at least point in the right direction.
-
Anyone ??? ???
-
This would be very helpfull with this new token system.
With this ladder system we could share 7-10 T2 tokens to first on the list and so on. Need/greed for tokens is stupid :(
I took the code from above to see if i can make something out from it.