encratite / LibOfLegends

This is a C# networking library that pretends to be the League of Legends Air client. It was developed for the purpose of stats tracking. It depends on a modified version of the FluorineFX library available in the FluorineFXMods repository. It also depends on NilSharp, a random general purpose library. Released under the terms of the GPLv3.
GNU General Public License v3.0
84 stars 22 forks source link

[Not an Issue] How to get Rune Page Name/List and/or Master Page Name/List? #11

Open Apothems opened 12 years ago

Apothems commented 12 years ago

How do I check a summoner's rune page list and the names of each rune page?

and/or

How do I check a summoner's mastery page list and the names of each master page?

encratite commented 12 years ago

Check out the RiotControl repository to see examples of how the rune page data is retrieved and stored in nice objects. I'm afraid I've never looked into the masteries. You would probably want to use a TLS MITM proxy approach to log what the regular client does. I haven't done that in a while.

Apothems commented 12 years ago

Can you point me to specific files?

encratite commented 12 years ago

RiotControl/RiotGear/Worker/UpdateRunes.cs is probably related. Ultimately that data comes from the RPC.GetAllPublicSummonerDataByAccountAsync(AccountId, new Responder(GetPublicSummonerData, Error)); call, I think.

So ultimately the rune data is from getAllPublicSummonerDataByAccount as described in RPCService.cs in LibOfLegends.

Apothems commented 12 years ago

Thanks! I'll look into those!

Apothems commented 12 years ago

Well I'm looking at the RPC stuff and I've come to a block: Call(SummonerService, "getAllSummonerDataByAccount", responder, arguments);

Which I also want to make sure, "by account" really means "by summoner" right?

encratite commented 12 years ago

That's the wrong one, you want:

public AllPublicSummonerDataDTO GetAllPublicSummonerDataByAccount(int accountID)

(or its asynchronous brother)

Look at the signature, it says account ID.

Apothems commented 12 years ago

Yes I think that method led me to that one:

return (new InternalCallContext(GetAllPublicSummonerDataByAccountInternal, new object[] { accountID })).Execute();

So I thought "Must need to look at GetAllPlublicSummonerDataByAccountInternal: Call(SummonerService, "getAllPublicSummonerDataByAccount", responder, arguments);

Which I thought "I'm stuck!"

Uhhhh is it possible for you to write pseudocode for me for the process of getting their rune page? Since I've never programmed in C# (I think that's the language you're using).

encratite commented 12 years ago

You probably want to browse the definitions of all the structures inside AllPublicSummonerDataDTO in the C# code for that. I can't be arsed to write additional code just to show you. I don't remember any of this stuff anyways. The code in UpdateRunes.cs already demonstrates how to iterate over the rune pages and how to retrive their names etc.

That component is responsible for converting the AMF data to SQL, basically.