Package TribeShare

Warre

Teamleden
Tribal Wars Team
Reactiescore
1.110
Auteur
Warre
Beschrijving
Deel allerhande informatie snel en overzichtelijk met je stamgenoten en vrienden.
Publiek of Privé
Publiek
Werkt op pagina
Zo goed als elke pagina.
Automatisch uitvoeren
ja
Snellijstcode
javascript: $.getScript('https://media.innogames.com/com_DS_NL/scripts/TribeShare_206804_anu64me9.js');
TribeShare
Na jaren van ontwikkeling en privé gebruik is TribeShare de laatste maanden eindelijk klaar gestoomd voor het grote publiek!

Zoals de naam al doet vermoeden helpt dit script om binnen een stam of met vrienden informatie te delen om het zo gemakkelijker te maken om samen aan te vallen, te verdedigen en zo veel meer. Het script bestaat uit 3 grote onderdelen:
  • shareReports = een verbeterde variant van het oude TBRmap (voor de mensen die dat script nog kennen)...
  • shareVillageInfo = een verbeterde variant van MarkEnemies...
  • shareCommands = kleine verbeteringen op het ingame delen van bevelen...
QuickStart
Geen tijd en zin om heel de uitleg te lezen? Volg deze korte tutorial om meteen aan de slag te gaan:
  1. Breng je stamgenoten en vrienden op de hoogte van dit script en laat ze deze stappen ook uitvoeren.
  2. Installeer het script in de snelschakellijst en zet het op automatisch uitvoeren.
  3. Klik op eender welke pagina onderaan op de link "TribeShare" om de instellingen te openen en voeg achter "Deel data met volgende accounts" je stamgenoten en vrienden toe.
  4. Wacht tot een stamgenoot of vriend jou ook toevoegt (je zal ingame een melding krijgen wanneer dat gebeurd) en bevestig dat je zijn data wilt zien via de instellingen (het vinkje achter dat account aanduiden).
  5. Ga naar "Berichten" en klik op de knop "Inlezen" om al je berichten in te lezen, wacht tot het script klaar is.
  6. Bezoek verschillende pagina's van TW om te zien wat het script toevoegt en enjoy!

Opgelet: Bovenstaande video toont het proces van data delen en enkele functies van het script, maar zeker niet allemaal. De overige functies kan je zelf ontdekken of vinden in het vervolg van deze post.

FullTutorial
  • Instellingen
    Onderaan elke pagina staat er onderaan een link "TribeShare" waarmee de instellingen pagina geopend kan worden. Op deze pagina staan alle opties om het script te personaliseren. Wanneer je met je muis boven een instelling gaat staan krijg je extra informatie.
    1650116598522.png
  • Berichten inlezen
    Het inlezen van berichten kan op 3 manieren: door een bericht te openen, massaal door op "Inlezen" te klikken of door met de muis boven een bericht te gaan staan.

    Bij het massaal inlezen heb je de keuze tussen "Alle" en "Nieuw", wanneer er wordt gekozen voor "nieuw" zullen enkel berichten waar "(Nieuw)" achter staat ingelezen worden. Dit bespaard tijd bij het inlezen maar als jij of je co's ook wel eens berichten openen via mobiel of zonder het script aan kan dit er voor zorgen dat bepaalde berichten niet ingelezen worden. Aan het einde van het massaal inlezen verschijnt er een informatief overzicht van de ingelezen berichten.

    Volgende soorten berochtenzijn nuttig om in te lezen:
    • Verkenningen en verslagen maar verkend (voor troepen info van het dorp, voor gebouwen, indien er troepen buiten het dorp staan worden ze automatisch gemarkeerd als OFF/DEF)
    • Volledige overwinningen of aanvallen met verliezen (voor troepen info van het dorp, voor gebouwen, indien er troepen buiten het dorp staan worden ze automatisch gemarkeerd als OFF/DEF)
    • Verslagen maar gebouw beschadigd (voor de meest recente gebouw informatie)
    • Berichten van incommings (vooral die van clear inc, voor het automatisch bepalen van OFF/DEF en up-to-date houden van hoe groot de clear is)
    • Berichten van ondersteuningen door vijanden indien dit actief is op de wereld (voor het automatisch detecteren als DEF dorp)

    Het script zal binnen de maten van het mogelijke berichten die niet nuttig zijn of al ingelezen zijn negeren, wanneer je meermaals achter elkaar berichten inleest is het mogelijk dat het aantal nog in te lezen berichten daalt maar het daalt niet per definitie tot 0. Het is dus mogelijk dat dezelfde berichten meermaals ingelezen worden, dit kan geen kwaad maar het is ook niet nodig.
    1650116629527.png


    1650116642282.png
  • ShareReports
    Zoals de naam doet vermoeden bied deze functie het delen van rapporten (berichten) en informatie uit die rapporten met stamgenoten en vrienden aan. Vergelijkbaar met de functies van het oude TBRmap maar dan verder en beter uitgewerkt.

    Volgende zaken worden door deze functie mogelijk gemaakt:
    • Op de kaart wordt rapport informatie getoond aan de hand van gekleurde kaders en afhankelijk van je kaart instellingen een getal dat de populatie weergeeft (wit), een getal dat de muur weer geeft (rood) en een getal dat de huidige toestemming weergeeft (geel).
    • Onder de kleine kaart staan er een aantal instellingen om je kaart te personaliseren.
    • Wanneer je op de kaart over een dorp beweegt met je muis krijg je kort en bondig meer informatie over dat dorp.
    • Op de dorpsinfo pagina krijg je alle berichten te zien van het dorp, je kan dmv de pijltjes ook oudere berichten bekijken.
    • Onder de TribeShare instellingen kan je kaarten opvragen voor de hele wereld of per speler en hier informatie zien met betrekking tot troepen in de dorpen, kerken en torens.
    1650116774909.png

    1650116787885.png

    1650116796989.png

    1650116805494.png
  • shareVillageInfo
    Deze functie maakt het mogelijk om informatie over een dorp te delen. In eerste instantie gaat dit over of een dorp OFF of DEF is (soort MarkEnemies). Maar ook informatie over kerken en torens kunnen gedeeld worden.

    Volgende zaken worden door deze functie mogelijk gemaakt:
    • Buiten de automatische detectie van OFF/DEF dorpen uit berichten kan je ook handmatig een dorp tot OFF/DEF toewijzen. Dit kan in een bericht of van op de dorpsinfo pagina door op OFF/DEF icoontje te klikken.
    • Buiten de automatische detectie van kerken/uitkijktorens uit berichten is het via de dorpsinfo pagina ook mogelijk om handmatig kerken/torens toe te voegen of het level aan te passen. Dit kan door op het kerk/toren icoontje te klikken.
    • Op de kaart wordt er naast elk bekend dorp een klein rood/wit icoontje gezet, respectievelijk voor OFF/DEF, wanneer je met je muis boven een dorp gaat staan krijg je een groter icoontje en meer info te zien.
    • Onder de kleine kaart heb je de mogelijkheid om bekende kerken en torens van vijandige spelers op de kaart te tekenen.
    • Op de dorps info pagina krijg je bovenaan meteen te zien of het een OFF/DEF dorp is (indien bekend).
    • Onder de TribeShare intellingen kan je kaarten opvragen voor de hele wereld of per speler en hier informatie zien met betrekking tot OFF/DEF dorpen alsook kerken/torens.
    • Op elke pagina achter elke coord komt er een OFF/DEF icoontje te staan indien er info bekend is.
    • Op de incommings pagina heb je de mogelijkheid om de incs te filteren op basis van of ze uit OFF/DEF dorpen komen en met de "TribeShare Tagger" onderaan de pagina worden inc getagt met daar in OFF of DEF en ook een % die aangeeft hoe groot de clear op dat moment kan zijn.
    1650116823981.png

    1650116829209.png

    + zie screenshots ShareReports
  • ShareCommands
    Een kleinere functie die er voor zorgt dat je in 1 oogopslag kan zien welke troepen er in een bevel zitten. Elk bevel dat je verstuurd zal automatisch hernoemt worden en vervolgens worden de bevel namen op elke pagina omgezet in icoontjes.
    1650116857362.png

DataStorage
Om het script te kunnen laten werken is er een backend en database nodig, beiden bevinden zich op mijn persoonlijke server. Enkel de nodige data voor de werking van het script wordt bijgehouden, buiten mijzelf is er niemand met toegang tot de server/data en de data zal nooit misbruikt worden of doorgegeven worden aan 3den.

Om er voor te zorgen dat er door andere spelers/scripters geen data verwijderd of toegevoegd kan worden aan jouw data heeft het script een ingebouwde "external authentication" (= en manier om na te gaan of jij wel degelijk speelt op het account). Deze controle gebeurt op de achtergrond en merk je als gebruiker zo goed als niks van, het is mogelijk dat je hier door af en toe de melding "Jouw profiel is bijgewerkt" ziet verschijnen.

Development
Dit script is ontwikkeld door de jaren heen, afgelopen periode heb ik erg veel tijd gestoken in het klaar maken voor publiek gebruik en heb ik enkele bugs weg gewerkt, maar ik ben er nog niet uit in hoe verre ik de ontwikkeling van dit script in de toekomst nog verder zal zetten.

Bugs zal ik de komende tijd sowieso nog blijven oplossen, deze kunnen dus altijd gemeld worden via dit topic of privé. Nieuwe ideeën / toevoegingen zijn natuurlijk ook welkom voor in de toekomst.

Enjoy!
 
Laatst bewerkt:
Reactiescore
8
1650146586279.png
Snellijst toegevoegd --> Automatisch uitvoeren aangevinkt --> in de Footer op TribeShare geklikt en dan kom ik op leeg scherm met deze melding @Warre
 
Reactiescore
48
Holy shit wat is dit gaaf!

Met name hier word ik enthousiast van:
DataStorage
Om het script te kunnen laten werken is er een backend en database nodig, beiden bevinden zich op mijn persoonlijke server. Enkel de nodige data voor de werking van het script wordt bijgehouden, buiten mijzelf is er niemand met toegang tot de server/data en de data zal nooit misbruikt worden of doorgegeven worden aan 3den.

Om er voor te zorgen dat er door andere spelers/scripters geen data verwijderd of toegevoegd kan worden aan jouw data heeft het script een ingebouwde "external authentication" (= en manier om na te gaan of jij wel degelijk speelt op het account). Deze controle gebeurt op de achtergrond en merk je als gebruiker zo goed als niks van, het is mogelijk dat je hier door af en toe de melding "Jouw profiel is bijgewerkt" ziet verschijnen.

Ik ging dus gelijk script downloaden om te kijken of de storage endpoint enigs configureerbaar gemaakt zou kunnen worden. Maar toen zag ik dat ik naar een minified versie van het script keek. Niet geheel onlogisch, want dit is niet een enkel script, dit is een heel project.

Nu vroeg ik me dus af of de source code misschien ook gedeeld zou kunnen worden? En ik realiseer me dat dit best een brutale vraag is, uiteraard alle respect voor een simpele nee, maar mijn nieuwsgierigheid naar de implementatie van deze features is erg brandend :)
 
Reactiescore
97
Waarom is dit pas na 7 maanden publiek geworden ipv 6? Niet om te mierenneuken, maar gewoon benieuwd waarom er anders gehandeld is dan in de regels beschreven.
 
Laatst bewerkt:

Duckje

Teamleden
Tribal Wars Team
Community Manager
Reactiescore
2.427
Waarom is dit pas na 7 maanden publiek geworden ipv 6? Niet om te mierenneuken, maar gewoon benieuwd waarom er anders gehandeld is dan in de regels beschreven.
Er was wat meer tijd nodig om een aantal backend zaken te regelen. (Gegeven de complexe backend en data bescherming die nodig is hiervoor)

Dit is tijdig aangevraagd en goedgekeurd.
 
Reactiescore
940
Is van dit script binnen deze ene maand dan alsnog gebruik gemaakt?
De wereld waar het script rond ging is al meer dan 2maand gedaan dus neen zeker niet actief gebruikt. ^^


Want zoals bij alle andere scripts waarbij de dienstverlening (lees backend etc.) niet voorzien kan worden moet deze worden verwijderd/code publiek gesteld zodat andere scripters er mee aan de slag kunnen. Ik denk dat je wel begrijpt wat voor een probleem het vormt als dit gebeurt met scripts van juist een lid van het TW team en wat voor oneerlijk gevoel dit kan geven bij sommige leden van de community.

Ik vind het persoonlijk echt belachelijk dat mensen dit blijven aanhalen. :p
Mensen steken hun tijd en energie in dingen te maken zodat het voor iedereen openbaar gebruikt kan worden zonder safety issues en toch blijven mensen klagen en commentaar geven.
 

Warre

Teamleden
Tribal Wars Team
Reactiescore
1.110
Holy shit wat is dit gaaf!

Met name hier word ik enthousiast van:


Ik ging dus gelijk script downloaden om te kijken of de storage endpoint enigs configureerbaar gemaakt zou kunnen worden. Maar toen zag ik dat ik naar een minified versie van het script keek. Niet geheel onlogisch, want dit is niet een enkel script, dit is een heel project.

Nu vroeg ik me dus af of de source code misschien ook gedeeld zou kunnen worden? En ik realiseer me dat dit best een brutale vraag is, uiteraard alle respect voor een simpele nee, maar mijn nieuwsgierigheid naar de implementatie van deze features is erg brandend :)
Ik heb normaal niet de gewoonte om mijn publieke scripts te obfuscaten omdat ik van mening ben dat andere scripters zouden moeten kunnen leren van anderen hun code. In dit geval heb ik wel voor obfuscatie gekozen om de reden die ik eigenlijk al benoemd heb, dat ik niet weet of ik nog veel / lang verder zal werken aan dit script en dan wil ik wanneer ik er officieel mee stop de keuze hebben aan wie ik het script over geef. Beetje voorkomen dus dat er verschillende afgeleide versies gemaakt worden op basis van mijn originele code... (ook naar andere servers toe).

Er zijn echter maar een handvol scripters op tw.nl, dus als die personen uit de interesse om er uit te leren de code graag zouden krijgen kunnen ze me prive aanspreken en zit de kans er zeker in dat ik hen (delen van) de code bezorg :)
 
Reactiescore
0
Ik heb normaal niet de gewoonte om mijn publieke scripts te obfuscaten omdat ik van mening ben dat andere scripters zouden moeten kunnen leren van anderen hun code. In dit geval heb ik wel voor obfuscatie gekozen om de reden die ik eigenlijk al benoemd heb, dat ik niet weet of ik nog veel / lang verder zal werken aan dit script en dan wil ik wanneer ik er officieel mee stop de keuze hebben aan wie ik het script over geef. Beetje voorkomen dus dat er verschillende afgeleide versies gemaakt worden op basis van mijn originele code... (ook naar andere servers toe).

Er zijn echter maar een handvol scripters op tw.nl, dus als die personen uit de interesse om er uit te leren de code graag zouden krijgen kunnen ze me prive aanspreken en zit de kans er zeker in dat ik hen (delen van) de code bezorg :)

Dat is dezelfde reden waarom ik de broncode van mijn scripts niet versluier.

Is er een mogelijkheid dat ik hier naar kan kijken?

Aangezien ik geen Nederlands ken, vertaal ik dit op Google Translate ... dus er kunnen fouten in zitten.
 

Warre

Teamleden
Tribal Wars Team
Reactiescore
1.110
Ook ik krijg deze melding helaas.
Eerst een groene melding met "jouw profiel is bijgewerkt" en daarna deze rode.
Scherm toont vervolgens helemaal niets.
Deze error komt voor wanneer het script meer dan 1 keer geladen wordt... Kijk even na of je het niet per ongeluk 2 keer in je snellijst hebt staan.
In het geval van little kitten echter stond het niet meermaals in de snellijst maar het werd wel meermaals geladen, om 1 of andere reden laad haar browser ELK script meermaals. Dat probleem ligt dan echter bij de browser en ik heb zelf geen idee hoe dat komt / gefixt kan worden.
 

Warre

Teamleden
Tribal Wars Team
Reactiescore
1.110
Sinds de release heb ik met jullie hulp een aantal bugfixes doorgevoerd:
  • Op kerkwerelden liep het inlezen van berichten soms vast, dit probleem is opgelost.
  • Er waren meerdere problemen op vv accounts, al deze problemen zouden opgelost moeten zijn.
  • Er zijn enkele wijzigingen gebeurd waardoor de TribeShare key niet meer op het profiel zou mogen blijven staan, iets dat voorheen soms wel gebeurde. Excuses aan de mensen die hun profieltekst er door kwijt zijn, moest er nog een key in je profiel staan verwijder die dan even handmatig zodat je later kan controleren of het nog voor komt.
  • In een poging om het probleem dat zich voordoet bij @little kitten en @Blow Me Up op te lossen heb ik code ingebouwd die er voor zou moeten zogen dat het script niet meermaals uitgevoerd wordt. Al ben ik niet zeker of dit gaat helpen, aangezien me dat echt een vreemd browser probleem lijkt.
 
Reactiescore
89
Bug: Bij het inlezen van rapporten gaat het script kapot als het dorp niet meer bestaat.

1651271877416.png
JavaScript:
Uncaught TypeError: Cannot read properties of null (reading 'toCoord')
    at String.<anonymous> (TribeShare_206804_anu64me9.js?_=1651271743878:4:63122)
    at Function.each (game.js:8:2971)
    at ShareReports.parseReport (TribeShare_206804_anu64me9.js?_=1651271743878:4:62191)
    at TribeShare_206804_anu64me9.js?_=1651271743878:4:54427
    at u (game.js:8:28184)
    at Object.fireWith [as resolveWith] (game.js:8:28928)
    at o.<computed> (game.js:8:30827)
    at Object.<anonymous> (<anonymous>:34:38)
    at u (game.js:8:28184)
    at Object.fireWith [as resolveWith] (game.js:8:28928)
 

Warre

Teamleden
Tribal Wars Team
Reactiescore
1.110
Bug: Bij het inlezen van rapporten gaat het script kapot als het dorp niet meer bestaat.

Bekijk bijlage 32617
JavaScript:
Uncaught TypeError: Cannot read properties of null (reading 'toCoord')
    at String.<anonymous> (TribeShare_206804_anu64me9.js?_=1651271743878:4:63122)
    at Function.each (game.js:8:2971)
    at ShareReports.parseReport (TribeShare_206804_anu64me9.js?_=1651271743878:4:62191)
    at TribeShare_206804_anu64me9.js?_=1651271743878:4:54427
    at u (game.js:8:28184)
    at Object.fireWith [as resolveWith] (game.js:8:28928)
    at o.<computed> (game.js:8:30827)
    at Object.<anonymous> (<anonymous>:34:38)
    at u (game.js:8:28184)
    at Object.fireWith [as resolveWith] (game.js:8:28928)
Onder welke omstandigheden bestaat een dorp niet meer?
 
Bovenaan