Projectos de utilizador
Tu poderás utilizar o TrashSim no teu próprio projecto. TrashSim permite o carregamento automático dos dados de jogador, que serão utilizados para simular uma batalha.
Utiliza a chave API
Para carregar automáticamente o defensor, poderás recorrer á seguinte URL, incluindo 1 parâmetro e uma linguagem opcional:
- https://trashsim.universeview.be/?SR_KEY={KEY}
- https://trashsim.universeview.be/{LANG}?SR_KEY={KEY}
Parâmetros:
{KEY} (necessário) - deverá ser substituído pela chave-SR que poderás encontrar atras do botão API nos relatórios de espionagem.
{LANG} (opcional) - pode ser substituído pela linguagem suportada pelo TrashSim, isto poderá ser uma vantagem para os teus utilizadores internacionais. (linguagens suportadas)
Exemplo:
https://trashsim.universeview.be/en?SR_KEY=sr-en-680-fc3b242fb73e700f3da54748844d90506a0cd705
Utiliza a função de pré-preenchimento
Ié também possível carregar múltiplos jogadores via codificador base64 chave JSON. Para isso utiliza o seguinte URL, por favor nota que usamos um hash (#) aqui e não um ponto de interrogação, este método assegura o nosso sistema de cache:
- https://trashsim.universeview.be/#prefill={BASE64JSON}
- https://trashsim.universeview.be/{LANG}#prefill={BASE64JSON}
Parâmetros:
{BASE64JSON} (necessário) - deverá ser substituido pela chave JSON codificada pelo base64, o formato será discutido abaixo.
{LANG} (opcional) - pode ser substituído pela linguagem suportada pelo TrashSim, isto poderá ser uma vantagem para os teus utilizadores internacionais. (linguagens suportadas)
formato JSON:
O JSON é bastante auto explicativo, a raíz pode conter 3 propriedades:
- 0 -> Contém o grupo atacante, uma matriz dos jogadores atacantes.
- 1 -> Contém o grupo defensor, uma matriz dos jogadores defensores.
- settings -> Contém as definições do servidor.
O elemento do jogador tem as seguintes propriedades, que são todas opcionais, recursos, pesquisas, naves, defesa & planeta. O nome da pesquisa, naves e propriedades da defesa é definido pelo ID da tecnologia.
Um grupo pode contar quantos jogadores pretenderes, claro que tendo em conta que só podes enviar um maximo de 16 frotas, por isso não é necessário adicionar mais. No grupo defensor o primeiro jogador na matriz será o principal defensor, que poderá ter defesa e recursos. Abaixo encontrarás 2 tabelas, as primeiras tabelas explicam as propriedades dos jogadores e a segunda tabela é para as definições.
Propriedade principal | Sub propriedades | Valor | Exemplo |
---|---|---|---|
class * | 0 ... 3 | 0 | |
resources | metal | integer | 100 |
crystal | integer | 50 | |
deuterium | integer | 10 | |
research | 106 | {"level": integer} | {"level": 10} |
... | |||
199 | {"level": integer} | {"level": 4} | |
ships | 202 | {"count": integer} | {"count": 1347} |
... | |||
219 | {"count": integer} | {"count": 453} | |
defence | 401 | {"count": integer} | {"count": 2794} |
... | |||
503 | {"count": integer} | {"count": 20} | |
planet | galaxy | integer | 3 |
system | integer | 287 | |
position | integer | 11 | |
speed | integer | 80 |
* The class property supports 4 values: 0, 1, 2, 3. Being: 0: no class, 1: Collector, 2: General, 3: Discoverer.
Claro que só necessitas de adicionar propriedades onde faça sentido. Por exemplo: um atacante não precisará da propriedade de recursos e defesa e o defensor principal não precisará da propriedade de velocidade e tecnologia de motores. Tal como nas pesquisas, apenas as tecnologias de combate e motores funcionarão.
A propriedade das definições tem as seguintes propriedades que são todas necessárias excepto para destroços & simulações.
Propriedade | Valor | Exemplo |
---|---|---|
speed_fleet | integer | 2 |
galaxies | integer | 7 |
systems | integer | 499 |
rapid_fire | integer | 1 |
def_to_tF | 0 or 1 | 0 |
debris_factor | 0.0 to 1.0 | 0.3 |
repair_factor | 0.0 to 1.0 | 0.7 |
donut_galaxy | 0 or 1 | 1 |
donut_system | 0 or 1 | 1 |
plunder | 50, 75 or 100 | 75 |
simulations | 1 to ... | 15 |
characterClassesEnabled | 0 or 1 | 1 |
minerBonusFasterTradingShips | integer (%) | 100 |
minerBonusIncreasedCargoCapacityForTradingShips | integer (%) | 25 |
warriorBonusFasterCombatShips | integer (%) | 100 |
warriorBonusFasterRecyclers | integer (%) | 100 |
warriorBonusRecyclerFuelConsumption | integer (%) | 25 |
combatDebrisFieldLimit | integer (%) | 25 |
Exemplo JSON:
{"0":[{"research":{"109":{"level":17},"110":{"level":17},"111":{"level":19},"115":{"level":17},"117":{"level":14},"118":{"level":13}},"ships":{"203":{"count":124},"204":{"count":5342},"206":{"count":1943}},"planet":{"galaxy":1,"system":124,"position":8},"speed":80}],"1":[{"resources":{"metal":5932712,"crystal":3742953,"deuterium":1284233},"research":{"109":{"level":15},"110":{"level":14},"111":{"level":16},"115":{"level":16},"117":{"level":13},"118":{"level":11}},"ships":{"202":{"count":2353},"203":{"count":438}},"defence":{"401":{"count":3842},"402":{"count":1438},"407":{"count":1},"502":{"count":10}},"planet":{"galaxy":2,"system":235,"position":11}}],"settings":{"speed_fleet":"2","galaxies":"7","systems":"499","rapid_fire":"1","def_to_tF":"0","debris_factor":"0.5","donut_galaxy":"1","donut_system":"1","plunder":50,"simulations":15}}
Valor Base64 do JSON abaixo:
eyIwIjpbeyJyZXNlYXJjaCI6eyIxMDkiOnsibGV2ZWwiOjE3fSwiMTEwIjp7ImxldmVsIjoxN30sIjExMSI6eyJsZXZlbCI6MTl9LCIxMTUiOnsibGV2ZWwiOjE3fSwiMTE3Ijp7ImxldmVsIjoxNH0sIjExOCI6eyJsZXZlbCI6MTN9fSwic2hpcHMiOnsiMjAzIjp7ImNvdW50IjoxMjR9LCIyMDQiOnsiY291bnQiOjUzNDJ9LCIyMDYiOnsiY291bnQiOjE5NDN9fSwicGxhbmV0Ijp7ImdhbGF4eSI6MSwic3lzdGVtIjoxMjQsInBvc2l0aW9uIjo4fSwic3BlZWQiOjgwfV0sIjEiOlt7InJlc291cmNlcyI6eyJtZXRhbCI6NTkzMjcxMiwiY3J5c3RhbCI6Mzc0Mjk1MywiZGV1dGVyaXVtIjoxMjg0MjMzfSwicmVzZWFyY2giOnsiMTA5Ijp7ImxldmVsIjoxNX0sIjExMCI6eyJsZXZlbCI6MTR9LCIxMTEiOnsibGV2ZWwiOjE2fSwiMTE1Ijp7ImxldmVsIjoxNn0sIjExNyI6eyJsZXZlbCI6MTN9LCIxMTgiOnsibGV2ZWwiOjExfX0sInNoaXBzIjp7IjIwMiI6eyJjb3VudCI6MjM1M30sIjIwMyI6eyJjb3VudCI6NDM4fX0sImRlZmVuY2UiOnsiNDAxIjp7ImNvdW50IjozODQyfSwiNDAyIjp7ImNvdW50IjoxNDM4fSwiNDA3Ijp7ImNvdW50IjoxfSwiNTAyIjp7ImNvdW50IjoxMH19LCJwbGFuZXQiOnsiZ2FsYXh5IjoyLCJzeXN0ZW0iOjIzNSwicG9zaXRpb24iOjExfX1dLCJzZXR0aW5ncyI6eyJzcGVlZF9mbGVldCI6IjIiLCJnYWxheGllcyI6IjciLCJzeXN0ZW1zIjoiNDk5IiwicmFwaWRfZmlyZSI6IjEiLCJkZWZfdG9fdEYiOiIwIiwiZGVicmlzX2ZhY3RvciI6IjAuNSIsImRvbnV0X2dhbGF4eSI6IjEiLCJkb251dF9zeXN0ZW0iOiIxIiwicGx1bmRlciI6NTAsInNpbXVsYXRpb25zIjoxNX19
Exemplo completo:
O exemplo abaixo irá adicionar 124 Cargueiros Grandes á frota do primeiro atacante e irá também definir a velocidade de frota para 2.
https://trashsim.universeview.be/en#prefill=eyIwIjpbeyJzaGlwcyI6eyIyMDMiOnsiY291bnQiOjEyNH19fV0sInNldHRpbmdzIjp7InNwZWVkX2ZsZWV0IjoiMiJ9fQ==
JSON utilizado: {"0":[{"ships":{"203":{"count":124}}}],"settings":{"speed_fleet":"2"}}
Abaixo poderás encontrar uma lista de linguagens suportadas (o valor padrão é en)::