[Update] Valve Developer Community | wiki dota 2 – Vietnamnhanvan

wiki dota 2: คุณกำลังดูกระทู้

Panorama is a new Valve-developed UI framework. It is heavily influenced by and closely resembles modern web authoring (HTML5/CSS/JS). It enables rapid development, high quality, and high performance interfaces as well as seamless integration with game content (3D models, particles, etc.)

Panorama is completely replacing Scaleform for UI development in Dota. For the Workshop Tools Beta, the front-end dashboard UI and new in-game Custom Game UIs are implemented using Panorama. The Dota HUD still uses Scaleform, but will eventually also be converted to Panorama. The Source 2 engine tools have a very different set of requirements and so are still implemented in C++ and Qt – they will not be migrated to Panorama.

Panorama Concepts

Panels

See: Dota 2 Workshop Tools/Panorama/Panels

Panels are the building blocks of any Panorama UI. (In web terms, a Panel is basically an HTML element.) Everything you see in a Panorama UI – labels, images, buttons – is a Panel.

.XML (Layout Files)

XML files are the skeleton of your data: they describe what panels are in your UI and their hierarchical layout. They can be found here:

content/dota_addons/ADDON_NAME/panorama/layout/custom_game/*.xml

A complex Panorama UI is usually authored as multiple XML files for simplicity and clarity. (This also allows repeated elements in the UI to be authored in a single place.) For example, a scoreboard may consist of a “root” XML file for the main scoreboard layout, a second “team” XML file that describes how each team is represented, and a third “player” XML file that describes how each player on each team is represented.

.CSS (Style Sheets)

CSS files describe how the elements from your XML are presented. They can be found here:

content/dota_addons/ADDON_NAME/panorama/styles/custom_game/*.css

There are three sources for documentation about the supported CSS properties:

  • The CSS Properties page
  • The properties panel inside of the Panorama Debugger
  • The “dump_panorama_css_properties” console command, which will always print out the most up-to-date documentation
  • The Panorama Layout page is also a good resource for getting an overview about how the Panorama layout system works.

    .JS (Javascript)

    See: Dota 2 Workshop Tools/Panorama/Javascript

    JS files are Javascript code that allows your UI to respond to user input or changing game state. They can be found here:

    content/dota_addons/ADDON_NAME/panorama/scripts/custom_game/*.js
    

    Events

    See: Dota 2 Workshop Tools/Panorama/Events

    Panorama events are a way to communicate between different Panels. They are similar to javascript functions, but have different rules around routing and handling. Events are useful to simplify many common tasks when creating custom UI with Panorama.

    Similarity to the Web

    If you are familiar with web development, a Panorama XML file closely resembles an HTML5 document, a CSS file is nearly identical to its web counterpart (without the complexity of browser compatibility), and JS files are the same JavaScript you’re familiar with. (With a slightly different library of functionality.)

    If you’re not familiar with web development, you can still benefit from the similarity. Most Panorama features are sufficiently similar to their web counterparts that searching online for documentation can be very helpful. If you want to learn more about web development, a good place to start is: https://www.javascript.com

    Differences from the Web

    • Some parts of CSS have been tweaked to make them simpler or easier to use
    • In javascript, the JQuery-style ‘$’ panel selector is very limited. It can currently only match a single panel by ID. If there is no matching panel it will return null instead of a empty selector, which can result in unexpected JS errors.
    • Some web features are simply missing, due to lack of need or their complexity/cost

    Scaleform in Custom Games

    We will be deprecating the use of Scaleform for Dota Custom Games.

    Scaleform will initially remain functional during the Beta, but Custom Games that use Scaleform or ActionScript will eventually stop working. We’re excited about Panorama and think it will allow more people to author higher quality UI, but it’s very different from Scaleform. If you run into missing features while converting your UI features to Panorama, please let us know on the Dev Forums.

    Authoring Panorama UI

    Getting Started

    The root of any custom game Panorama UI is the Custom UI Manifest:

    content/dota_addons/ADDON_NAME/panorama/layout/custom_game/custom_ui_manifest.xml
    

    Workflow

    When running the Dota tools, XML, CSS, and JS files in the content/ folder are monitored like any other content files and auto-recompiled and reloaded when you make changes. (This will only happen when the UI is active – an unused XML will only be compiled once it’s actually used.)

    Panorama generally does a good job updating the UI to take into account these dynamic changes, but some changes are too drastic for it to correctly update the UI. If you are seeing unexpected results, you may need to reload your map (dota_launch_custom_game ADDON_NAME MAP_NAME) to ensure the UI is fully refreshed.

    Panorama Debugger

    The Panorama Debugger is an extremely useful tool for debugging your UI and learning how existing UI is put together.

    Tips

    • Inline style is not good practice but good for prototyping: <Panel style="border: 1px solid red;" /> (remember your closing ‘;’ in the style!)
    • If you’re having a hard time finding your panel, it can be very helpful to add a temporary ‘border: 1px solid red;’ or explicit width/height.
    • $.Msg( "In function foo():", some_data ); is your friend!
    • You can use the ‘dota_custom_ui_debug_panel <element_type>’ debug command to force a type of UI to be visible when it otherwise wouldn’t be. The element_type is a numeric value from DotaCustomUIType (eg. for end screen: ‘dota_custom_ui_debug_panel 5’)

    Localization

    Multi-language support in Panorama is described here: Dota 2 Workshop Tools/Panorama/Localization

    Valve-Provided Panorama UI

    As part of our example game mode “Overthrow” we created several new UI components that can be used directly for your custom game, or as a starting point to create your own unique UI. These are primarily designed to handle a wide range of team and player arrangements beyond normal Dota 5v5.

    See Valve Provided UI for more information.

    Additional Topics

    Custom Loading Screens

    Custom loading screens are separate from the normal UI manifest because they are loaded earlier.

    The loading screen is a normal Panorama XML and will be loaded from: content/dota_addons/ADDON_NAME/panorama/layout/custom_game/custom_loading_screen.xml

     Note: 

    Loading screens should be as lightweight as possible, since they have to be loaded too! They should also avoid being computationally-heavy, as that can slow down the loading process.

     Note: 

    You should not reference game content (3D models, particle systems, etc.) in a loading screen, as this can interfere with the normal loading process.

    Custom Hud Elements

    A simpler but less powerful API to display XMLs on clients directly from server Lua code.

    Function

    Signature

    Description

    CustomUI.DynamicHud_Create

    void DynamicHud_Create(int, string, string, handle)

    Create a new custom UI HUD element for the specified player(s). ( int PlayerID /*-1 means everyone*/, string ElementID /* should be unique */, string LayoutFileName, table DialogVariables /* can be nil */ )

    CustomUI.DynamicHud_Destroy

    void DynamicHud_Destroy(int, string)

    Destroy a custom hud element ( int PlayerID /*-1 means everyone*/, string ElementID )

    CustomUI.DynamicHud_SetDialogVariables

    void DynamicHud_SetDialogVariables(int, string, handle)

    Add or modify dialog variables for an existing custom hud element ( int PlayerID /*-1 means everyone*/, string ElementID, table DialogVariables )

    CustomUI.DynamicHud_SetVisible

    void DynamicHud_SetVisible(int, string, bool)

    Toggle the visibility of an existing custom hud element ( int PlayerID /*-1 means everyone*/, string ElementID, bool Visible )

    GameUI.SetMouseCallback

    The GameUI.SetMouseCallback API can be used to register a function that is called before the main gameplay code processes the mouse. Dota_2_Workshop_Tools/Panorama/GameUI_SetMouseCallback_Example This page contains an example of how to use this functionality.

    Common Mistakes

    You may encounter these mistakes when writing XML, CSS and Javascript in Panorama:

    Relevant Area

    Error

    Solution

    hud.xml

    Compile error “Found duplicate panel description”

    There must only be one panel without an ID in the <root> element

    game_info.xml

    Compile error “Found duplicate panel description”

    There must only be one panel without an ID in the <root> element

    Panorama Examples

    [Update] I am retiring from Dota 2 Wiki. Here’s what that means for the community. : DotA2 | wiki dota 2 – Vietnamnhanvan

    I’m Lemon, head admin of Dota 2 Wiki. For the last 9 years, I’ve been keeping the wiki updated (with much help from /u/Bu3nyy and others). But I haven’t played Dota for many years now, and simply don’t have time to keep doing this. So I’m retiring.

    Luckily, over the last few years Buny has taken over game mechanics updates, while I still update the hats, events, lore, TI, and generally anything that’s not gameplay mechanics. So after I leave, the cosmetics database will stop being updated. Pages for events like Aghanim’s Labyrinth will no longer be made, at least not by me.

    Buny has said he will keep updating game mechanics for the time being, so don’t worry if you only care about hero balance changes. But if anyone wants to help with the other stuff, read on:

    The Cosmetics Database

    The cosmetics database is currently 100% up to date (12,294 articles). I’ve made a page for every single hat and HUD item in the game, except for a few temporary event items. All hats have previews in the form of videos, gifs, or screenshots. All significant customizations (effects, animations, icons, sounds, styles) have been checked and listed on the wiki.

    This has taken well over 1000 hours over the years, even with a Python script. Arcanas and complicated treasures can take 3~4 hours, even with my familiar routine/setup. Each summer’s TI cosmetics take up to 100 hours. Because of the time needed, I don’t really expect anyone to keep updating the hat database. And tbh, no one else has really shown an interest in doing it since the game came out.

    If you want to try and update it, just look at any similar page and copy the templates, then fill in each parameter. General information on every item is found in items_game.txt (the schema). To find the full customizations list for making tables, check the schema & the file in Dota Workshop Tools (the in-game displays are sometimes incomplete or incorrect). Icons and sounds are extracted from .pak files. Basic knowledge of Mediawiki markup is nice. Exact spelling of everything is required or things will break. Use the source editor, visual edits suck.

    Programs I use:

    • ValveResourceViewer to extract game files (schema, icons, etc)

    • Dota Workshop Tools to check custom animations lists & capture some effects/models

    • Notepad++ to parse patch notes/mass find & replace

    • OBS Studio to record videos

    • Adobe After Effects & Premiere to edit/crop videos

    • Photoshop for animated gifs/screenies

    Event Pages

    Event pages like The International, Diretide or The Underhollow are not hard to make, they just require time and good organization of information. I try to use as many tables as possible, new headings whenever necessary, and short sentences in point form so things are understandable at a glance.

    If you make a page for a future event, don’t write long rambling paragraphs that nobody will read. Extract icons from game files so it doesn’t look like a wall of plain text, then arrange as much info in tables as you can.

    The Lore Database

    The lore database has about 650 articles, and represents maybe 10% of Dota 2’s lore. The idea was to make a wiki page for every character, god, place, species, artifact, concept — every tiny little thing that’s mentioned even once in hero biographies, hat flavor text, comics, trailers, event lore, Underlords, Artifact, etc. This was a HUGE fantasy project and I basically gave up after a few hundred hours.

    I’ve gone over most of the older hero bios/voice lines/item flavor texts, but never started on the comics, Underlords cards, let alone the upcoming anime. Adding references after every sentence and writing the same info on multiple related pages turned to be super tedious, so I don’t expect people to do it that seriously (but it would be nice).

    If you want to help complete it, try to look at the way the existing pages are done, and just copy the page & fill in the blanks. The templates are simple and easy to use. Reference tags are strongly recommended and work just like the ones on Wikipedia.

    Others

    Miscellaneous work on articles like Patches, Versions, Dota Plus, Shards, Chat Wheel, Medals, Trophies, Emoticons, etc. List here. Most of these don’t require big frequent updates and should be easy for anyone to do, just change or add a few things to the existing tables.

    Goodbye

    It’s been a great 9 years with the Dota 2 community, and I’ve had many tense 90-min matches where I really had to go pee but couldn’t let down my team so I just used an old yogurt bucket under my bed while waiting to respawn. There was also much in-game flaming over my unorthodox jungle Sniper strategy (uwu). But that’s okay, I forgive you all <3

    /u/Bu3nyy is now the head admin in charge of Dota 2 Wiki. I’ve transferred everything over to him. Please direct all future complaints to the Bunbun.

    Thanks everybody. Goodbye.

    Edit: Thanks for the appreciation everyone! If anyone wants to donate a few bucks to me, there’s a link on the wiki’s Twitter profile. I am really poor and will use it for dental work ;_;

    Edit 2: Wow, thanks for all the recognition & gold & donations everybody! It’s really gonna help me out. I’m going to bed now, so goodnight and thanks again to all, and I hope the best for the future of the Dota 2 community.


    OG.ANA SMURF MORPHLING WITH BUTTERFLY-DAEDALUS – DOTA 2 7.30E GAMEPLAY


    Welcome to Kardel Dota 2! Dota Dota2 Gameplay
    We upload the best Dota 2 gameplays on youtube. If you’re looking to learn from the best dota 2 players in the world through their perspective, then you’re on the right track.
    Here is the playlist you should watch: https://www.youtube.com/playlist?list=PLKJ2kg9FdH3rPQesQ1nep6sEPvkuYEnR
    Patch: Dota 2 7.30
    https://www.dota2.com/patches/7.30

    Player on this video: OG.Ana
    Who is Ana? According to https://liquipedia.net/dota2/Ana, Anathan Phan is an Australian professional Dota 2 player. He is the first australian to have won a Valvesponsored event. On August 25, 2019, he becaume the first two time TIwinner, after consecutively winning TI8 \u0026 TI9. He achieved it with Notail, Ceb, Topson \u0026 Jerax. He also popularized Io as a position 1 hero and made an unbeatable record of 60 in \”The International\”.
    OG.Ana Dotabuff: https://www.dotabuff.com/players/311360822
    Hero on this videos : Morphling
    According to https://dota2.fandom.com/wiki/Morphling , Morphling is a ranged agility hero that has many flexible abilities, item builds and is leveled as a very strong hard carry. He relies strongly on his attributes, and is an effective ganker. Unlike other agility carries that rely on physical attacks, he relies on his powerful abilities to initiate and shift into a state from which he can make a kill. Waveform lets him surge directly forward to a location, damaging enemies on his path, working both as a nuke or an escape. Adaptive Strike is a scaling twopart ability that blasts enemies with a jet of water, either stunning and knocking back or dealing damage. Its power is based on either agility or strength. Attribute Shift allows him to edit his physical being, switching it from Agility or Strength, transforming him into a strong damage dealer or a tank. His ultimate, Morph, transforms him into a copy of an enemy using their stats and basic abilities.
    Match ID: https://www.dotabuff.com/matches/6285685285
    Learn about https://en.wikipedia.org/wiki/Dota_2:
    According to wikipedia.org, \”Dota 2 is a multiplayer online battle arena (MOBA) video game developed and published by Valve. The game is a sequel to Defense of the Ancients (DotA), which was a communitycreated mod for Blizzard Entertainment’s Warcraft III: Reign of Chaos and its expansion pack, The Frozen Throne. Dota 2 is played in matches between two teams of five players, with each team occupying and defending their own separate base on the map. Each of the ten players independently controls a powerful character, known as a \”hero\”, who all have unique abilities and differing styles of play. During a match, players collect experience points and items for their heroes to successfully defeat the opposing team’s heroes in player versus player combat. A team wins by being the first to destroy the other team’s \”Ancient\”, a large structure located within their base.\”

    นอกจากการดูบทความนี้แล้ว คุณยังสามารถดูข้อมูลที่เป็นประโยชน์อื่นๆ อีกมากมายที่เราให้ไว้ที่นี่: ดูเพิ่มเติม

    OG.ANA SMURF MORPHLING WITH BUTTERFLY-DAEDALUS - DOTA 2 7.30E GAMEPLAY

    OG.ANA MONKEY KING WITH DIFFUSAL-ECHO SABRE – DOTA 2 7.30 GAMEPLAY


    Welcome to Kardel Dota 2! Dota Dota2 Gameplay
    We upload the best Dota 2 gameplays on youtube. If you’re looking to learn from the best dota 2 players in the world through their perspective, then you’re on the right track.
    Here is the playlist you should watch: https://www.youtube.com/playlist?list=PLKJ2kg9FdH3rPQesQ1nep6sEPvkuYEnR
    Patch: Dota 2 7.30
    https://www.dota2.com/patches/7.30

    Player on this video: OG.Ana
    Who is Ana? According to https://liquipedia.net/dota2/Ana, Anathan Phan is an Australian professional Dota 2 player. He is the first australian to have won a Valvesponsored event. On August 25, 2019, he becaume the first two time TIwinner, after consecutively winning TI8 \u0026 TI9. He achieved it with Notail, Ceb, Topson \u0026 Jerax. He also popularized Io as a position 1 hero and made an unbeatable record of 60 in \”The International\”.
    OG.Ana Dotabuff: https://www.dotabuff.com/players/311360822
    Hero on this videos : Monkey King
    According to https://dota2.fandom.com/wiki/Monkey_King , Sun Wukong, the Monkey King, is a melee agility hero, best known for his slippery nature and his ability to do Mischief, deceiving his enemies by turning into trees and other objects. Armed with his magic extending staff, the Monkey King slams the ground with Boundless Strikes, and leaps to the treetops to have advantage over his foes with Tree Dance. Perched on a tree, he gains a clear view of his surroundings, allowing him to jump down on unsuspecting targets, dealing heavy damage and slowing their escape with Primal Spring. As a carry, the Monkey King is granted extra damage and lifesteal from Jingu Mastery after landing consecutive attacks on his opponents. In a teamfight, at Wukong’s Command an army of clones is sent out across the battlefield to fight for him, while he himself has his armor increased. Together with the help of his clones and his team, the Monkey King is a force to be reckoned with.
    Match ID: https://www.dotabuff.com/matches/6272650387
    Learn about https://en.wikipedia.org/wiki/Dota_2:
    According to wikipedia.org, \”Dota 2 is a multiplayer online battle arena (MOBA) video game developed and published by Valve. The game is a sequel to Defense of the Ancients (DotA), which was a communitycreated mod for Blizzard Entertainment’s Warcraft III: Reign of Chaos and its expansion pack, The Frozen Throne. Dota 2 is played in matches between two teams of five players, with each team occupying and defending their own separate base on the map. Each of the ten players independently controls a powerful character, known as a \”hero\”, who all have unique abilities and differing styles of play. During a match, players collect experience points and items for their heroes to successfully defeat the opposing team’s heroes in player versus player combat. A team wins by being the first to destroy the other team’s \”Ancient\”, a large structure located within their base.\”

    OG.ANA MONKEY KING WITH DIFFUSAL-ECHO SABRE - DOTA 2 7.30 GAMEPLAY

    🔥 YATORO NEW STYLE — Juggernaut Prism -18% CD + Mjollnir Swift Blink Strongest Carry Dota 2 Pro


    💜THANK YOU FOR ALWAY SUPPORTING US 💜
    💜LIKE SHARE \u0026 SUBSCRIBE TO JOIN THE DIVINE FAMILY💜
    💜 GIVEAWAY RESULT EVERY 10 DAYS 💜
    1. COMMENTA
    2. LIKE AND SHARE
    3. SUBSCRIBE
    💜 OUR WINNER 💜
    10/10: Honventures (33rd)
    15/10: Wang Yi Bin (34th)
    20/10: Coil Mechanics (35th)
    25/10: Manuel Saavedra (36th)
    31/10: I’m Young (37th)
    5/11: Rafa ARG (38th)
    10/11: EL DIABLO (39th)
    20/11: Sinless Demon (40th)
    30/11: Chen Yi Liew (41st)
    10/12: Waiting …..
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    We work very hard every day more than 15 hours. Our job is to find the best replay from millions of replay from all Dota 2 players with our own system, then we spend tons of resource to record hundred hours of footage at the highest quality, then from those, we find out the best plays and put them together, our work is extremely stressful but we maintain publishing the best Dota 2 highlight for the community. We are grateful because of what we doing every day. Thank you the Dota 2 community for always being around.
    If you have any idea or questions, please send us an email at [email protected]
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    🔥 YATORO NEW STYLE — Juggernaut Prism 18% CD + Mjollnir Swift Blink Strongest Carry Dota 2 Pro
    👉 Watch now: https://youtu.be/Jyb1sRmGss
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    👉Player Yatoro
    Illya \”Yatoro\” Mulyarchuk is a Ukrainian professional Dota 2 player who is currently playing for Team Spirit.
    https://liquipedia.net/dota2/Yatoro
    👉Hero Juggernaut
    Inai, the Void Spirit, is a melee intelligence hero that relies on the element of surprise to blast apart foes with the power of the void. Juggernaut plays like no other hero, relying on a wide variety of skills that allow him to put Juggernaut enemies out of position while quickly jumping in and out of combat.
    https://dota2.fandom.com/wiki/Juggernaut
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    💚Submit Your Replay: https://goo.gl/u792D7
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    ⏩Social Media:
    🔸Youtube: https://www.youtube.com/c/dota2divine
    🔹Facebook: https://www.facebook.com/DotaIIDivine
    ►Google Plus: https://plus.google.com/u/0/+DOTA2Divine
    ►Twitter: https://twitter.com/dota2divine
    ►Reddit: https://www.reddit.com/user/Dota2Divine/
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    Dota 2 is a freetoplay multiplayer online battle arena (MOBA) video game developed and published by Valve Corporation. The game is the standalone sequel to Defense of the Ancients (DotA).
    http://store.steampowered.com/app/570/
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    ⏩CREDIT

    🎧MUSIC:
    ►Epidemicsound.com
    ►Others: Warcraft 3 OST, Dota 2 Within Music Pack, Crysis Warhead OST

    🌲ART
    ►Outro by sheron1030: http://sheron1030.deviantart.com/gallery/
    Dota2Divine Yatoro Juggernaut

    🔥 YATORO NEW STYLE — Juggernaut Prism -18% CD + Mjollnir Swift Blink Strongest Carry Dota 2 Pro

    [DOTA 2] Ceb the TREANT PROTECTOR [OFFLANE] [7.30e]


    Dota 2 Ceb play Treant Protector Full Gameplay
    Dota 2 is a multiplayer online battle arena (MOBA) video game developed and published by Valve. The game is a sequel to Defense of the Ancients (DotA), which was a communitycreated mod for Blizzard Entertainment’s Warcraft III: Reign of Chaos and its expansion pack, The Frozen Throne. Dota 2 is played in matches between two teams of five players, with each team occupying and defending their own separate base on the map. Each of the ten players independently controls a powerful character, known as a \”hero\”, who all have unique abilities and differing styles of play. During a match, players collect experience points and items for their heroes to successfully defeat the opposing team’s heroes in player versus player combat. A team wins by being the first to destroy the other team’s \”Ancient\”, a large structure located within their base.
    match: 6299779567
    Sébastien Debs (born 11 May 1992), better known as Ceb, is a French former professional Dota 2 player for OG. He was a member of the team that won the multimillion dollar International 2018 and 2019 tournaments, as well as the coach when OG won four Dota Major Championships. (wikipedia) https://en.wikipedia.org/wiki/Ceb_(gamer)
    follow Ceb Stream : https://www.twitch.tv/7ckngmad
    Steam Video Policy : https://store.steampowered.com/video_policy
    Thanks for watching this video and enjoy this video 🙂
    Please support me by your like, comment, share, and subscribe
    dota2 ceb dota2gameplay og offlane treantprotector

    [DOTA 2] Ceb the TREANT PROTECTOR [OFFLANE] [7.30e]

    Die faszinierendsten Geschichten von Vlad und Nikita!


    Bitte abonnieren!\r
    Unser onlinetorg https://vladandniki.com/
    \r
    Google PlayAnwendung:
    https://play.google.com/store/apps/details?id=me.apptivise.vladnikita
    App StoreAnwendung:
    https://apps.apple.com/us/app/vladniki/id1497525407
    \r
    Instagram VLAD https://www.instagram.com/Vlad.super.Vlad/\r
    NIKITA Instagram https://www.instagram.com/nikitoys_official/

    Die faszinierendsten Geschichten von Vlad und Nikita!

    นอกจากการดูบทความนี้แล้ว คุณยังสามารถดูข้อมูลที่เป็นประโยชน์อื่นๆ อีกมากมายที่เราให้ไว้ที่นี่: ดูบทความเพิ่มเติมในหมวดหมู่Wiki

    ขอบคุณที่รับชมกระทู้ครับ wiki dota 2

    See also  [NEW] KL7 là ai? Tiểu sử, sự nghiệp và chuyện tình yêu của Killer7 | archie dota - Vietnamnhanvan

    Leave a Comment