-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SCHEMA] Petri Reborn #72
Comments
Updated names to be a bit shorter, is it okay? |
Great. I would recommend a player value for whether they are hunter or prey (don't remember the name you gave the two teams). I also recommend a game value for whichever team won, and a game value for duration (round or floor it). If you need an example or are happy with this schema as it is let me know. Make sure to update your library. A lot of small changes have been made in the last few months. |
Ok thanks for answer. |
You can do it this way:
GetPetriWinners will return a table with the playerID indexes of those that won
How you define PlayerIsWinner is up to you |
You may also just be able to extend your existing winners functions. Let me look for a bit longer. Line 595 and 616 of http://hastebin.com/jomedupapi.lua |
@MNoya so i have to make stat-collection round-based to use this? |
No! Can you just clarify exactly who wins? I might not be understanding correctly. To me, it looks like you are setting either DOTA_TEAM_GOODGUYS or DOTA_TEAM_BADGUYS to win. |
@jimmydorry there are kvns and there are petrosyans. if one of the kvns dies - he turns into mini-actor and moves to petrosyans team. however if petrosyans win - these mini-actors should lose anyway because they started as kvns |
Can you come up with a function that can tell you if the passed player has won or not? i.e. isPlayerWinner(player) I don't think your current PetrosyanWin() and KVNWin() functions do what you just described. If you can make that function, then it's rather straightforward to get the arbitrary teams working correctly. |
@jimmydorry they dont because i don't need such functionality without stat-collection. but i want to submit correct winners to stats. |
Try this as your schema. http://pastebin.com/5tzddTTg The important part is line 30, 122, 135. You will want to review it, as I have likely made a mistake or two. |
@jimmydorry ah, that's it. http://hastebin.com/evedemapag.lua here is new schema, it should work alright |
What does ConvertTime() do? |
@jimmydorry return string.format("%.2d:%.2d", time/60%60, time%60) |
You definitely don't want to format those strings. Send them as an integer math.floor(GAMEMode.FIRST_BAG), so they can be properly grouped to give ranges of time. The other two suggestions stem back to before. You should have a team value for players (Petri or KVN), and a winning team value in the game array (Petri or KVN). |
For the player team, something like:
The game value for winning team, will require a bit more work. |
Also, I would make the ks and ps a default of ''. That way the stats for people that don't make a score on one of the teams won't drag the average down. I would also make a player value to show if they got converted, unless you make the team string for three teams: KVN, Petri, mini-petri And one more player value for if they ended the game dead. |
@jimmydorry http://hastebin.com/ekoqopixob.lua updaed it. GameRules.Winner is set just before GameRules:SetGameWinner |
Alright looking good now. I would recommend considering the other three suggestions above... but this schema is ready to be approved if you are ready. |
@jimmydorry you mean combine score? ok. also added BMA (became mini actor). and i dont think we need player value for dead players. http://hastebin.com/qatiyevoni.lua here is final version. |
Not combined. I meant blank. Lots of 0 values would pull down the average for all of the legitimate scores.
|
Your schema has been approved (with the two score fields). Please double check I didn't make any mistakes in field names or display names. https://getdotastats.com/#s2__mod_schema?mid=99 Your schemaID is here: https://getdotastats.com/#s2__my__mods |
@jimmydorry Please change First Money to First 100k Networth. Other things seems alright. Can i upload my game now? I set new schema ID and testing to false. |
Yes, good to go. You should share post your settings file here (with XXXXXXX for modID and schemaID). |
http://hastebin.com/sufomozama.vhdl here it is |
Are you sure you want MIN_PLAYERS of 3? Looks good. Let's hope you get some good data. The graphs will start updating again on the weekend, but all of your data will be collecting in the meantime. |
@jimmydorry well what does MIN_PLAYERS count? if game started as 12 players then 9 leave will it count as 12players lobby? or as 3players? |
12 players. The min_players just means no stats get sent at all if it starts with less than 3 players. |
@jimmydorry good to know ! then i will make it 8 |
That will drastically reduce your number of games! Until you get heaps of games a week, you probably want to set it at 2, and increase it as the number of fuller games increases. |
@jimmydorry we do get nice amount of games. petri constantly get 8-12 place in top so its ok. you know there were times when petri was top3 custom game with 4k online. Now it barely gets 1k on weekends but still lives. Well i set it to 6 so.. dunno |
Good luck! |
@jimmydorry Thanks for help! Have fun! |
@jimmydorry What request I need to send to "getdotastats.com" to get top players info in Panorama? Where are listed full amount of possible requests? |
There currently is no public API to get information back from GetDotaStats |
Make an issue on what you want here: https://github.com/GetDotaStats/site/issues I have a big backlog of features to implement. Making an issue means I won't forget it. |
@jimmydorry GetDotaStats/site#184 |
Current priority is getting all functionality back online. I migrated the site to a beefier machine, as it is now proccessing upwards of 500 queries a second, but I had to temporarily disable the long running crons. Keep an eye on GetDotaStats/site#254 and GetDotaStats/site#244 After those two is the API for leaver and player summary. And then is highscores. That makes highscores soon, but later than originally planned. Performance stats that made the cron changes necessary: https://getdotastats.com/#site__service_stats |
sendStage2 ERROR |
You need to look up further in the log. It means you didn't sendStage1, and as the match is not registered (to get its matchID), you can't have stats for it. |
Well i set "OVERRIDE_AUTOMATIC_SEND_STAGE_2" to "true" and added statCollection:sendStage2() in GameMode:OnGameInProgress(). Is it enough or i need to do something else? |
No, don't do that! You just needed to look further up in the log, to see what Stage1 was saying. Either way, we had a small outage due to upgrades. You probably won't get the error any more. |
The Stage2 Override doesn't make stage2 magically work, it just makes it not automatically be called. sendStage2() itself checks if stage1 has been sent and received. |
I started to use it a day ago because i really do need to start game only after GameSetup process. Otherway games that crash during gamesetup will count as yellow (game started). So how should i deal with OVERRIDE_AUTOMATIC_SEND_STAGE_2 ? I already have statCollection:sendStage2() in GameMode:OnGameInProgress(). |
Phase2 / Stage2 is sent only when PRE_GAME is hit by default, and the only time you ever need to change when its sent, is if you have bad design and need to set flags after hero selection |
The only time you want to I doubt you are doing that, so put everything back to default. |
Well then i will get rid of that override and check "game ended" ratio next day with my new updates to win condition checking. Currently i have 10% of games ended because of my shitcode so i want to fix this as soon as possible. Thanks. |
Link to your console log
http://hastebin.com/kifefitoco.vhdl
Link to your settings.kv
http://hastebin.com/kebikozovi.vhdl
Link to your schema.lua
http://hastebin.com/ihopenesaz.lua
Link to your Lua files that defines the functions you pull stats from
http://hastebin.com/hesabavoqi.coffee
http://hastebin.com/jomedupapi.lua
The text was updated successfully, but these errors were encountered: