Closed GoogleCodeExporter closed 9 years ago
No, the person who maintained the module has left the OBBLM project.
You are very very welcome to either follow his footsteps (use his code) or
start over.
I removed the old code from the trunk because it was not in a working state,
and I'm
not sure if the branch code contains the "latest" cyanide code (don't think
so). This
deleted code is the latest though:
http://www.google.com/codesearch/p?hl=en#hwwqvfour7I/trunk/modules/cyanide/setti
ngs.php&q=cyanide%20package:http://obblm\.googlecode\.com&d=3
Original comment by Nimda...@gmail.com
on 30 Jan 2010 at 3:42
If you want repository access let me know - looking forward to seeing you
on-board ;-).
Original comment by Nimda...@gmail.com
on 30 Jan 2010 at 3:43
Thank for the quick response Nim, I'll take a look at what I have to work with,
but I
think it might be better to restart and reuse where posible.
For the team Import it may be better to just parse into an xml file and use the
current Team importer since it's a one time function. Seem like over kill to do
all
the table translation, what are your thoughts on that? Match report and team
export
is where the time needs to be spent I think.
Is there a forum some where to have developer banter rather than the issue log?
Anyway I'll have a look and get back to you. I might need someone basic info on
how
your using the module directory so I don't have to reverse engineer obblm just
to
implement properly.
Mastersage
Original comment by williams...@comcast.net
on 30 Jan 2010 at 6:56
Mastersage - Here is the flow that I discussed with someone else that may be
working
on a module as well.
First, the current automation is done using BOTOCS and consists of XML roster
output
and a match report uploader that parses an XML. The roster is then updated on
the
site with the results of the match. Not like a full roster import all over
again.
This way has close to 1000 matches at the OBBLM portal site.
So this is what me and the other discussed as a good flow to minimize changes
and
less maintenance in the future:
Creates a service that runs in the background.
Create a roster on OBBLM.
Use a shortcut key or something that will then download the roster as SQL
format to
the proper directory.
Play the game in Cyanide.
The service detects the match is done and either will upload the SQL to OBBLM or
convert it to match the BOTOCS XSD, which he said he can easily do.
Match is parsed basically the same way as BOTOCS and if in the BOTOCS format,
nothing
new to do really.
Team maintenance is done and a roster is re-downloaded.
As you see the most important part is just to convert to the existing format
that we
use for current match report uploading.
If you would like to chat, come to the portal page listed on Project home and
open
the IRC chat.
-Will
Original comment by funnyfin...@hotmail.com
on 30 Jan 2010 at 7:09
Per our chat, I would now actually like to agree that converting from the BOTOCS
roster to Cyanide is a good long term solution as well, since there are a lot of
checks going on in the roster to ensure it is legit to start a match.
Original comment by funnyfin...@hotmail.com
on 31 Jan 2010 at 12:53
I agree. Really no need to maintain two different code streams, just need to
reformat
the data not re-invent the obblm engine.
Original comment by williams...@comcast.net
on 31 Jan 2010 at 2:45
I actually have another easier idea for the roster output. My code is currently
written in a way where you can build your own roster within the class. For
example I
do this to print the roster:
if ( isset($_GET["teamid"]) && $_GET["teamid"] )
{
$team_id = $_GET["teamid"];
if ( isset($_GET["jm"]) ) $jm = $_GET["jm"];
else $jm = 0;
$roster = new XML_BOTOCS( $team_id, $jm );
Print $roster->roster;
}
All you would have to do is another get statement called maybe "cyteamid" and
you
would do Print $roster->cyroster;
Easiest is it will just create both rosters in the background and the get will
choose
which it actually prints. You'd also use a createcyroster method instead of the
createroster method I use.
Original comment by funnyfin...@hotmail.com
on 31 Jan 2010 at 4:45
Ok here is what I got for you. Check out the update I just did for the roster:
http://code.google.com/p/obblm/source/diff?spec=svn563&r=563&format=side&path=/t
runk/modules/leegmgr/class_xml_botocs.php&old_path=/trunk/modules/leegmgr/class_
xml_botocs.php&old=550
Now check out:
http://www.stuntyleeg.com/handler.php?type=botocsxml&teamid=102
and then:
http://www.stuntyleeg.com/handler.php?type=botocsxml&teamid=102&cy
As you see you will be able to write out the format of the entire cyanide roster
within the createCyRoster method.
Let me know what you think.
Original comment by funnyfin...@hotmail.com
on 31 Jan 2010 at 5:23
I'm sure some of that can be re-used, but the Cyanide team needs to be a
download.
All the team data needs to be written to a team.db (sqlite3) data base. This is
the
only format the game accepts. Beyond that things are different in the game.
Example a
MV of 7 is not expressed as int 7... it's a probability.. and would be
something like
54.669(not correct don't have the calculation in front of me).
Those people using Cyanide will want to down load a populated team database,
myself
included. I'm sure some of the code is usable though
Original comment by williams...@comcast.net
on 31 Jan 2010 at 5:50
did you get my question about where the match results are calculated? does
OBBLM
generate the cash roll,fan factor rolls, and the winner re-roll or is that done
on
the BOTOCs side?
Makes a difference on approach since Cyanide does not do this for anything but
single
player and internet games.
I noticed in the code that Nimda provided it was doing the rolls there, but
there
appeared to be no option for re-roll for the winner.
Mastersage
Original comment by williams...@comcast.net
on 31 Jan 2010 at 6:07
I am guessing team.db would hold all of the coach's teams? But with this flow
it
only needs to be 1 team at a time. So a coach using this would back that file
up
before using OBBLM. So the method I mention still works as you would right
click the
page you create and save it but I am uploading a change that would force it to
download with the team.db name.
Regarding match reporting, everything is including in the match report
including the
rerolled of winnings.
Original comment by funnyfin...@hotmail.com
on 1 Feb 2010 at 2:25
Also for the roster formatting, you can do all of that converting with the
createCyRoster method before or while building up the $cyroster property.
Original comment by funnyfin...@hotmail.com
on 1 Feb 2010 at 2:30
Coach only needs one team at a time, that's not the problem. the problem is the
content of the data base, much of the data has to be there or the game will
dump..
attached is one of me teams. It will help you understand the structure needs.
You can
simple save the data as .db you have to insert it into the correct tables, with
the
correct ID's for skills and player_types.
Original comment by williams...@comcast.net
on 1 Feb 2010 at 3:22
Attachments:
Here is an example match report, main issue here is that the cyanide game does
not do
the match results for Direct IP and Hot Seat Games.. only for Internet
games(pointless to use obblm for that ) and single player.
Attached is a sample match report.. I can't upload my main.db (which has the
needed
tables for player_types, skill id's and things..
Original comment by williams...@comcast.net
on 1 Feb 2010 at 3:28
Attachments:
Oh.. sorry which means we need to store the match report someone on the web so
the
winner can chose to re-roll or not, and then allow the upload of the match.
Extra
step involved. unless we just don't allow the winner to re-roll and force a
re-roll
on 1 or 2 or something
Original comment by williams...@comcast.net
on 1 Feb 2010 at 3:35
As far as I can tell, roster will still be very easy like I said.
As for match report, we can add any rerolling that needs to be done during the
upload
and parsing phase.
Original comment by funnyfin...@hotmail.com
on 1 Feb 2010 at 4:22
Be aware the data translations in the cyanide modules listed by Nimda a very
out of
date.. many versions have come out since the game was released, and they have
made
changes... .If you want to try and tackle the team down loads be my guest I
still
have a lot to look through. Still going through the obblm code. If you get a
working
down load I'll be happy to run it through the game and send you the results.
Don't
forget the AI or the game will crash.
Original comment by williams...@comcast.net
on 1 Feb 2010 at 4:33
Just so people know, Cyanide BB does not have all the races.. only the
following;
Human
Orc
Skaven
Lizardmen
Chaos
Dwarf
Goblins
Wood Elf
Dark Elf
That's all they have. They'll be adding more through Expansion and DLC at some
point.
Original comment by williams...@comcast.net
on 1 Feb 2010 at 6:05
When Cyanide came out I glanced at this as an alternative when our league
members
couldnt get away from home to play TT. Problem back then was to transfer team
from
OBBLM to Cyanide. Especially if you had played a tabletop game with the same
team in
between. Exporting from Cyanide to OBBLM didn't look that hard.
Importing a team into Cyanide is "cracked" now? (Which would be something like a
trainer-hack.)
/Daniel
Original comment by blodae@gmail.com
on 1 Feb 2010 at 4:09
Can you attach a parsed out file of Landsharks.db in a readable format? That
would
give me an idea of what it really contains. It seems like it has much more than
needed, like match specific information inside of the file. I would want to
export
it with as little information as needed in order to play a match.
Original comment by funnyfin...@hotmail.com
on 1 Feb 2010 at 5:08
Well, Grégory got it working without problems with the old cyanide module - he
must
have cracked it ;-).
Original comment by Nimda...@gmail.com
on 1 Feb 2010 at 5:18
I just don't see it as that hard. If that is in a mysqlite format, you can go
straight from the current roster module and format it directly to that sqlite
needed
and when they click the link it will prompt you as a download.
Original comment by funnyfin...@hotmail.com
on 3 Feb 2010 at 3:50
Hi Guys;
I don't remember ever stating that it would be hard. It's more time than
anything
else. I don't know how OBBLM is set up, I have to take sometime going through
it.
There is no "crack" invovled the db files have always been availiable in the
game,
you just have to know what data and where to put it in the file without
conflicting
with the "Main.db" file for the game. You also can't make up data for
somethings
because it will crash the game. There are lists out there of what you can and
can't
do.
I have not tried the cyinide module listed above for OBBLM yet. The only one I
have
installed is the "Branch" module-cyandie, But I can tell you all the
information
(Primary Skills, Secondary Skills, Player_types) for Dark Elves is not in the
module. I will try installing the Version that Nimb mentioned when I get the
time..Probably this weekend maybe sooner. Keep in mind that I work many many
hours.
So unless you want to pay me a rather large consulting fee, this has to come
second
well actually third more given family and tax season ;)
There are also quick ways and right ways of doing things. For example those
"much
more than needed" data you described may be usefull in the cyanide game, for
example
if you populate the season stats information then you can review it in game and
make
choices about who you want to play and who you want to sit on the bench.. Is it
needed no, but it's usefull.
The skills table does not take strings, it's int id, those id's do not map
directly
to OBLM id's, so you need a table, index, or array to do the data mapping. Most
has
been done in the code above, but given the changes made by cyanide in the last
few
versions, they should be checked.
People looking for Cyanide function for OBBLM are not looking, in most cases,
to
simply port thier teams and then play matchs live and with BOTOCS. They are
looking
for a league manager to use with the cyanide game. A leauge tool is not
provided by
cyanide for anything but single player, and Internet games.
You can also import your Cyanide Internet team to obblm, however you can not
upload
changes to cyanide server.. Launch the multi player, open the team management
screen. While that screen is open, there is a tmp.db file (can't remember the
location,, google for it) that is the same format as team.db so whatever
happens
here you should be able to upload your Internet teams to get the extra stats
and
thing in a nice web format off line from the PC game Currently you can only get
to
the data from within the game.
As I mentioned feel free to attempt something I can look over the db file and
even
try it in the game if you don't have it. Or wait ;0
Thanks
Original comment by williams...@comcast.net
on 4 Feb 2010 at 3:37
On A side note.. Nimda,, Can you give me access to the SVN repo?
Thanks
MasterSage
Original comment by williams...@comcast.net
on 4 Feb 2010 at 3:39
The goal here would not involve BOTOCS at all. The reason BOTOCS is mentioned,
is to
share the roster output mechanism and the match report uploading routines with
the
already created modules.
Also I don't think a cyanide server would be involved at all.
Join that chat if you have some time to talk.
Original comment by funnyfin...@hotmail.com
on 4 Feb 2010 at 3:41
You now have access.
Original comment by Nimda...@gmail.com
on 4 Feb 2010 at 12:26
Still getting mails about people wanting this feature - I hope you'll decide to
join
the project and write this module!
Original comment by Nimda...@gmail.com
on 4 Feb 2010 at 2:58
Thanks for the access
Funny and I talked for about 45 minutes in chat yesterday. I think we are on
the
same page.
We are going to go for a two phase approach all using the class he mentioned
above;
Phase 1 get team db export working, match upload working
Phase 2 will involve refine ment and feature enhancement.
No time line at this time..I'm working on a LOE estimate and will provide it
here.
I'm hopeing to get some work done this weekend.
Funny, I may just write a function module local on my lap top to get it
working..
Since you understand the class we are using, how do you feel about coverting
it?
Might speed things up a bit.
MasterSage
Original comment by williams...@comcast.net
on 5 Feb 2010 at 3:48
Just setting this one to roster output.
Original comment by funnyfin...@hotmail.com
on 5 Feb 2010 at 4:16
Original comment by funnyfin...@hotmail.com
on 5 Feb 2010 at 4:18
Here ia the Player_Type data with id's... Need someone to map the obblm data
(id and
Sting) add columns to the end..
I can then dump to xml, or build an array.. Note there are rows that look like
actuall names.. these are Star Players.. .I could even do a mysql dump if you
want
to put it in the database it self.. Note that Skaven Blitzer are listed as
Stormvermin.
******************************
"1";"Human";"1";"Lineman"
"1";"Human";"2";"Catcher"
"1";"Human";"3";"Thrower"
"1";"Human";"4";"Blitzer"
"1";"Human";"5";"Ogre"
"1";"Human";"37";"Griff Oberwald"
"2";"Dwarf";"38";"Grim Ironjaw"
"2";"Dwarf";"10";"Deathroller"
"2";"Dwarf";"9";"Troll Slayer"
"2";"Dwarf";"6";"Blocker"
"2";"Dwarf";"8";"Blitzer"
"2";"Dwarf";"7";"Runner"
"3";"Skaven";"20";"Rat Ogre"
"3";"Skaven";"19";"Stormvermin"
"3";"Skaven";"18";"Gutter Runner"
"3";"Skaven";"17";"Thrower"
"3";"Skaven";"16";"Lineman"
"3";"Skaven";"39";"Headsplitter"
"4";"Orc";"43";"Varag Ghoul-Chewer"
"4";"Orc";"26";"Troll"
"4";"Orc";"25";"Blitzer"
"4";"Orc";"24";"Black Orc"
"4";"Orc";"23";"Thrower"
"4";"Orc";"22";"Goblin"
"4";"Orc";"21";"Lineman"
"5";"Lizardman";"42";"Slibli"
"5";"Lizardman";"29";"Kroxigor"
"5";"Lizardman";"28";"Saurus"
"5";"Lizardman";"27";"Skink"
"6";"Goblin";"44";"Troll"
"6";"Goblin";"45";"Pogoer"
"6";"Goblin";"46";"Fanatic"
"6";"Goblin";"41";"Ripper"
"6";"Goblin";"31";"Looney"
"6";"Goblin";"30";"Goblin"
"7";"WoodElf";"11";"Lineman"
"7";"WoodElf";"12";"Catcher"
"7";"WoodElf";"13";"Thrower"
"7";"WoodElf";"40";"Jordell Freshbreeze"
"7";"WoodElf";"14";"Wardancer"
"7";"WoodElf";"15";"Treeman"
"8";"Chaos";"32";"Beastman"
"8";"Chaos";"33";"Chaos Warrior"
"8";"Chaos";"34";"Minotaur"
"8";"Chaos";"36";"Grashnak Blackhoof"
"9";"DarkElf";"48";"Runner"
"9";"DarkElf";"49";"Assassin"
"9";"DarkElf";"50";"Blitzer"
"9";"DarkElf";"51";"Witch Elf"
"9";"DarkElf";"52";"Horkon Heartripper"
"9";"DarkElf";"47";"Lineman"
Original comment by williams...@comcast.net
on 6 Feb 2010 at 7:13
Skill ID.. need to map these to obblm as well.
"1";"Strip Ball"
"2";"+ 1 in Strength"
"3";"+ 1 in Agility"
"4";"+ 1 Movement Allowance"
"5";"+ 1 in Armour"
"6";"Catch"
"7";"Dodge"
"8";"Sprint"
"9";"Pass Block"
"10";"Foul Appearance"
"11";"Leap"
"12";"Extra Arms"
"13";"Mighty Blow"
"14";"Leader"
"15";"Horns"
"16";"Two Heads"
"17";"Stand Firm"
"18";"Always Hungry"
"19";"Regeneration"
"20";"Take Root"
"21";"Accurate"
"22";"Break Tackle"
"23";"Sneaky Git"
"25";"Chainsaw"
"26";"Dauntless"
"27";"Dirty Player"
"28";"Diving Catch"
"29";"Dump-Off"
"30";"Block"
"31";"Bone-head"
"32";"Very Long Legs"
"33";"Disturbing Presence"
"34";"Diving Tackle"
"35";"Fend"
"36";"Frenzy"
"37";"Grab"
"38";"Guard"
"39";"Hail Mary Pass"
"40";"Juggernaut"
"41";"Jump Up"
"44";"Loner"
"45";"Nerves Of Steel"
"46";"No Hands"
"47";"Pass"
"48";"Piling On"
"49";"Prehensile Tail"
"50";"Pro"
"51";"Really Stupid"
"52";"Right Stuff"
"53";"Safe Throw"
"54";"Secret Weapon"
"55";"Shadowing"
"56";"Side Step"
"57";"Tackle"
"58";"Strong Arm"
"59";"Stunty"
"60";"Sure Feet"
"61";"Sure Hands"
"63";"Thick Skull"
"64";"Throw Team-Mate"
"67";"Wild Animal"
"68";"Wrestle"
"69";"Tentacles"
"70";"Multiple Block"
"71";"Kick"
"72";"Kick-Off Return"
"74";"Big Hand"
"75";"Claw"
"76";"Ball & Chain"
"77";"Stab"
Original comment by williams...@comcast.net
on 6 Feb 2010 at 7:17
Race map will be needed as well,
"1";"Human";
"2";"Dwarf";
"3";"Skaven"
"4";"Orc";
"5";"Lizardman";
"6";"Goblin";
"7";"WoodElf";
"8";"Chaos";
"9";"DarkElf";
Original comment by williams...@comcast.net
on 6 Feb 2010 at 7:20
Stinks of AWK scripting...
Original comment by Nimda...@gmail.com
on 7 Feb 2010 at 1:19
LUA I think.. that's just a CSV of the data from the tables data dumps would
not
display real well in here.
You know the easist way to handle this is to dump all the tables to mysql and
load
them obblm and create some link tables or views. Problem is I think that would
be
pressing the copyright a little to far... So I'm not sure what to do just yet
for
the team db..
Original comment by williams...@comcast.net
on 7 Feb 2010 at 5:03
UPDATE:
Class to create the team.db file is under way.. Really ugle code work but right
now
I'm just trying to get it working.. we can clean up either before we release
or, in
as part of phase 2.. just depends on how quick you want to get it out.
Got 5 tables created so far some with data..(some should or can be empty)
Will chunk away at it as I can.
Mastersage
Original comment by williams...@comcast.net
on 9 Feb 2010 at 9:04
0.8 is not going to include new stuff, sorry, we are merely bug fixing at this
point.
Actually once I get feedback from a couple of testers this week or the next I'm
going
to release 0.8.
Feel free to add the code anyway, just don't include it yet ;-).
Original comment by Nimda...@gmail.com
on 9 Feb 2010 at 12:02
We'll play it by ear for now then.. Right now the "Class" is not what I would
call a
class, just a collection of functions. Easier for me to think it through that
way.
once it's done I'll send funny the ugly code so he can play with it while I
clean up
the code and make it a "real" class.
Original comment by williams...@comcast.net
on 9 Feb 2010 at 11:33
If someone could map the table data above to obblm data it would help move
things
along. I'm getting close to needing it.
Original comment by williams...@comcast.net
on 10 Feb 2010 at 11:34
DB create is done.
Table creation is done.
Next data population 20%
Data translation --Not Started
Original comment by williams...@comcast.net
on 11 Feb 2010 at 3:39
Race map -- Done
Original comment by williams...@comcast.net
on 11 Feb 2010 at 5:15
Feel free to upload what you have. I'd like to upload it to the site and check
out
the out for the teams. I understand it is not done, but would still like to
try it:)
Original comment by funnyfin...@hotmail.com
on 11 Feb 2010 at 2:09
I can email it to you in a zip file, but it's not really in a useable state at
the
momment. you have to init the class,, then call the make_team_db function with
the
correct array() information for player and team. From there it execs some
private
functions, greates the db file with the tables and entries and saves it to the
location you specified.
Only have so much time to work on it.. should get a little more time tonight
and
over the long weekend I hope.
Original comment by williams...@comcast.net
on 12 Feb 2010 at 1:18
I hope too :-).
Keep up the good work!
Original comment by Nimda...@gmail.com
on 12 Feb 2010 at 2:35
The above csv tables are the Cy tables and data.. it would save me a lot of
time if
someone could map that data to the OBBLM equivilants ID and string. Race is
done,,
it's in an array.
$race_maps['Skaven']['cyid'] = 3;
$race_maps['Skaven']['obbid'] = 19;
Then you would call the function convert_race_id('Skaven','cyid'); do get the
cy id
or convert_race_id('Skaven','obbid'); to get the obblm id
convert_race_id is just
public function convert_race_id($str,$type) {
//race_maps is set on __construct
$this->race_id = $race_maps[$str][$type];
}
in some cases there are two elements for each string Wood Elf for example..
Cy = WoodElf
obblm = Wood Elf
Anyhow I'm at work.. I'll send you the zip tonight sometime you can upload it
if you
want. I don't like posting code that is not ready for "Unit Testing".
Lastly all of the sql is set seperate php files to keep it all clean and
seperate,
eventually I will create one (tables.php) and one (data.php) which will extend
the
cy class. It will make more sense when I send you the files :) run the
example.php
script.
Mastersage
Original comment by williams...@comcast.net
on 13 Feb 2010 at 12:17
Well all should be pretty easy then. Just put a routine to add a space before a
capital letter greater than the position of 1 and consult this array:
http://code.google.com/p/obblm/source/browse/trunk/lib/game_data.php
Note that there is also that game_data_lrb6.php includes game_data_lrb6x.php
which
includes game_date.php. So using your example you would do something like this:
$this->race_id = $DEA[$racewithspace]['other']['race_id'];
Original comment by funnyfin...@hotmail.com
on 13 Feb 2010 at 1:16
That's very helpfull.. it would be easier if I new the obblm classes ;)
Sent you what I have so far.
Original comment by williams...@comcast.net
on 13 Feb 2010 at 4:03
Team Listing --- Done
Team Rankings --- Done
Original comment by williams...@comcast.net
on 13 Feb 2010 at 4:31
Table create mehtods--done
The following insert methods are done;
$this->insert_data($_dat_ai_positions);
$this->insert_data($_dat_ai_tactics);
$this->insert_player_listings();
$this->insert_team_listings();
$this->insert_team_rankings();
$this->insert_stats_team();
$this->insert_stats_season_team();
$this->insert_races();
Original comment by williams...@comcast.net
on 13 Feb 2010 at 6:07
Completed a few more table....Game will now Identify the file.. When you open
for
edit the main screen loads, when you try to access the roster it crashes the
game..
Getting closer to a useable file... Now the player data which is by far the
most
data entry ... sigh.. might be awhile :)
Original comment by williams...@comcast.net
on 13 Feb 2010 at 6:37
Original issue reported on code.google.com by
williams...@comcast.net
on 30 Jan 2010 at 7:42