Sprog
Anvil · til brætbyggere8 min læsning

Byg et bræt, der tracker sig selv

Et felt er et løfte om, at nogen lægger mærke til noget. Her står, hvad hver type faktisk kan se, hvordan du skriver to hundrede af dem uden at bruge hele aftenen, og de få fejl der går galt i stilhed — feltet udløses bare aldrig, og ingen opdager det før dag fire.

15 typer én pr. felt, aldrig blandet1000 felter pr. bræt, via regnearkI stilhed er sådan et dårligt felt fejler
Denne oversættelse til Dansk er endnu ikke læst igennem af en, der har sproget som modersmål. Læser en sætning forkert, er den engelske side originalen — og at sige til er dét, der får den rettet.
Trin 1

Ét felt, én type

#

Hvert felt er præcis én type, og typen er hele spørgsmålet: den afgør, hvad pluginnet eller hiscores-sweepet holder øje med, og dermed om feltet overhovedet kan blive færdigt af sig selv. Blander du felter fra to typer, bliver det afvist ved døren i stedet for accepteret og efterladt i stykker.

Typerne falder i tre familier, og familien betyder mere end navnet:

Manuelet menneske kigger på et screenshot og siger ja. Altid muligt, virker altid, koster altid nogen deres aften. Brug den til det, software ikke kan se.
Hiscores-hentetskill-XP og boss-killcount, læst fra de officielle Hiscores i et sweep hvert 15. minut. Kræver intet plugin og virker for alle på medlemslisten — men ser kun det, Hiscores tæller, og først når spilleren logger ud.
Plugin-registreretalt andet: drops, NPC-kills, tider, diaries, combat tasks, omgange, lootværdi. Krediterer inden for sekunder og bager et bevis-screenshot — men kun for spillere, der faktisk kører pluginnet.

Hele listen, som typevælgeren tilbyder dem:

StandardManuelt felt — en kaptajn markerer det som gjort. Ingen automatisk tracking.
SkillBliver færdigt automatisk, når en skill når et XP-mål (hentet fra hiscores).
Boss-KCBliver færdigt automatisk, når en boss når et killcount-mål (hentet fra hiscores).
DropN drops af et item (eller hvilket som helst fra en pulje) — registreret af pluginnet, med indbagt screenshot.
ItemsætFlere items, hver med sit eget krævede antal — 1× af hver til et fuldt sæt.
KillcountN kills af en NPC — også dem der aldrig stod på hiscores (høns, køer). Registreret af pluginnet.
Agility-omgangeN omgange på en agility-bane, eller N etager / hele runs i Hallowed Sepulchre — talt live fra tælleren i spillet. Kun omgange løbet under eventet tæller.
PvP-killDræb spillere — hvem som helst, rivaliserende hold, eller en navngiven dusør — i Wilderness eller på PvP-verdener. Sikre minigames tæller aldrig.
Item-gevinstFang, tilbered eller saml N af et item — talt fra det, der lander i inventory. Registreret af pluginnet.
På tidGennemfør en aktivitet under et tidsloft (Inferno, raids, Colosseum). Pluginnet tager tid.
Uden dødsfaldGennemfør et raid med NUL dødsfald i holdet, N gange. Pluginnet tæller hvert dødsfald inde i instansen.
LMSBliv top-N i Last Man Standing (1 = sejr), M gange. Registreret af pluginnet, når spillet slutter.
LootværdiLoot for X gp — ét udbytte, eller flere der tilsammen når et mål. Pluginnet prissætter udbyttet.
DiaryGennemfør achievement diary-tiers under eventet. Registreret af pluginnet ud fra beskeden om gennemførelse.
Combat taskGennemfør Combat Achievement-opgaver under eventet. Registreret af pluginnet ud fra beskeden om gennemførelse.
Plugin-spørgsmålet, stillet én gang

Et plugin-registreret felt er usynligt for en spiller, der ikke kører pluginnet. Det er ikke en fejl, du kan konfigurere væk — der er ingen, der kigger. Spiller en del af din klan på mobil eller i den officielle klient, så hold enten den slags felter væk fra vejen til sejren, eller sæt et manuelt alternativ ved siden af og forvent at skulle godkende screenshots.

Trin 2

Vælg den type, der rent faktisk udløses

#

De fleste felter, der opfører sig dårligt, er den rigtige idé udtrykt som den forkerte type. De fire, der fanger folk:

Et boss-KC-måler ikke et kill-felt. Kill-felter holder øje med NPC-dødsfald gennem pluginnet; et KC-mål er et hiscores-tal og skal bruge trackedStat + statType=boss + statGoal. Brug et kill-felt til det, Hiscores aldrig har talt — køer, høns, en bestemt slayer-mob.
En collection log-pladser et drop-felt. Oplåsningen af log-feltet krediterer det, så feltet udløses også på en dublet, spilleren allerede havde — hvilket som regel er det, du mente.
“Få én af hver”er et drop-felt med en itemliste og uden requiredAmount. Tilføjer du et requiredAmount, bliver det i stilhed til “få hvilke som helst N af disse” — samme række, et helt andet felt.
En diary eller combat taskkrediterer kun ud fra beskeden i spillet, som kun kommer i det øjeblik, tieren eller opgaven bliver færdig. Noget en spiller allerede ejer, kan ikke udløses igen — undtagen en combat task, hvor Settings → Combat Achievements → Repeat completion lader dem udløse den forfra.
Sammensatte boss-felter

Et boss-felts trackede stat må rumme flere hiscores-nøgler adskilt af komma, og fremgangen lægges sammen på tværs af dem. chambersOfXeric,chambersOfXericChallengeMode er ét felt, der tæller CoX og CM sammen — hvilket næsten altid er, hvad et raid-felt betyder.

Trin 3

Skriv dem i bulk, ikke i browseren

#

At klikke sig gennem et 25-felters gitter er fint. At klikke sig gennem et Leagues-bræt med 200 opgaver er det ikke — og at læse korrektur bagefter er værre. Tiles-fanen har en tur-retur bygget til præcis det.

  1. Download spreadsheet på eventets Tiles-fane. Du får en .xlsx af brættet, som det ser ud nu, med dropdowns, itemlisten og kolonnevejledningen på hver sit ark.
  2. Ret i det. Én række pr. felt; rækkefølgen af rækker er rækkefølgen af felter.
  3. Upload CSV / Excel på samme fane. Kun Tiles-arket bliver læst.
Turen frem og tilbage taber intethent ned og læg op igen uden ændringer, og der sker ingenting — rækker, der matcher, rapporteres som uændrede og bliver ikke engang tidsstemplet. Det gør eksporten sikker at bruge som backup før en stor omgang rettelser.
Rækker følger positionerrække 1 er felt 1. Eksisterende felter opdateres på stedet, og en kolonne, du udelader, bliver ladt i fred i stedet for tømt — så du kan sende et ark med to kolonner, der kun retter point.
Kun dynamiske brætter vokserekstra rækker opretter nye felter på et Leagues-bræt eller et feltræs, før eventet starter, op til 1000. Et klassisk N×N-gitter har en fast form og ignorerer dem. Skal du generere hundredvis af opgaver, så lav det som et Leagues-event.
Alt eller intetalle rækker valideres først. Ét itemnavn, der ikke kan slås op, får hele importen til at fejle, nævner synderne og ændrer ingenting — du ender aldrig med et halvt bræt.
Nogle felter låser ved startnavn, type, krævet antal og itemopsætning bliver kun anvendt, før eventet starter. Beskrivelse, point, kategori og valgfri-flaget kan redigeres hele vejen, så du kan rette en tastefejl midt i eventet uden at åbne brættet igen.
Trin 4

De fejl, der går galt i stilhed

#

Hver eneste af dem importerer uden problemer, står på brættet og ser rigtig ud, og udløses aldrig. De er værd at læse igennem før uploaden frem for efter.

Skill- og boss-felter er type=standardder findes ikke noget type=skill. Typen kommer fra trackedStat + statType + statGoal på en ellers helt almindelig standard-række. At skrive type=boss bliver afvist; at skrive type=standard og glemme stat-kolonnerne bliver det ikke — så har du et manuelt felt, ingen nogensinde godkender.
Separatorerne er forskellige fra kolonne til kolonneitems bruger semikolon (komma er CSV-separatoren). targetNpcs bruger lodrette streger. På en combat task-række er lodret streg den eneste mulighed, fordi rigtige opgavenavne indeholder komma — Nylocas, On the Rocks er én opgave.
Raid-navne matches ord for ordet deathless- eller tidsfelt bærer tilstanden præcis som den staves i spillet: Chambers of Xeric: Challenge Mode, Theatre of Blood: Hard Mode, Tombs of Amascut: Expert Mode. En stavemåde, der er tæt på, er et felt, der aldrig bliver færdigt. Entry Mode-runs krediterer aldrig et almindeligt raid-felt; sværere tilstande gør.
Itemnavne skal være præcisestavemåden fra spillet, ellers fejler importen og lister det, den ikke kunne slå op. Er et navn flertydigt, så lås det fast som Name#id og hold op med at gætte.
timeThresholdSeconds betyder fire tinget tidsloft på et tidsfelt, en placeringsgrænse på et LMS-felt (1 = sejr), en præcis holdstørrelse på et deathless-felt, og en præcis raid-holdstørrelse på et drop-felt. Samme kolonne, fire betydninger — tjek at du udfylder den, din type rent faktisk læser.
Et krævet antal på den forkerte typedet hører hjemme på drop-, kill-, gain-, lap-, PvP-, deathless- og LMS-rækker. På en stat- eller tidsrække gør det ingenting, og på en drop-række laver det et itemsæt om til en “hvilke som helst N”-pulje.
Test ét, før du skriver to hundrede

Lav ét enkelt felt af den type, du er i tvivl om, afslør det på et testevent, og gå ud og gør det. Fem minutter dér slår at opdage på klanens bingoaften, at en hel kategori var død.

Trin 5

Point, sværhedsgrader og om det er fair

#

På et pointbaseret bræt har hvert felt sin egen værdi, og de værdier oversættes til navngivne sværhedsbånd — easy til elite — som du kan redigere under Advanced settings, hvis din klan graduerer anderledes. Båndet er det, spillerne læser; tallet er det, der giver point.

Markér et felt som optional, og det holder op med at tælle med i brættets total. Sådan tilføjer du strækmål uden at gøre en blackout umulig.

Når brættet er fyldt, så kør balance-revisoren fra Tiles-fanen. Den tjekker strukturen og fordelingen af arbejde og fortæller dig, hvor brættet er skævt — en kategori ingen kan gøre færdig, et bånd der er langt mere værd i timen end naboerne — før spillerne finder de ting for dig og styrer uden om dem.

Trin 6

Ingen ser det, før du siger til

#

Nye brætter starter skjulte. Staben ser dem altid; spillerne ser overhovedet ingenting, før du afslører — så et bræt kan bygges i åbenhed, over flere dage, i en kanal dine medlemmer kan læse, uden at noget bliver spoleret.

Den hovedkontakt er gulvet under alt andet. På et bræt med en afsløringspolitik — planlagt, interval, dusør eller roterende — begynder motoren først at vende de enkelte felter, når selve brættet er afsløret, så det er altid en bevidst handling at gøre et bræt skarpt. Hvilken politik du skal vælge, har sin egen side: Formater, og hvordan felter åbner.

Missioner er den undtagelse, der er værd at kende: felter skrevet på forhånd, men holdt tilbage og annonceret midt i eventet fra deres egen pulje, mens resten af brættet bliver stående synligt.

Trin 7

Før du afslører

#

Værd at gå igennem én gang pr. bræt. Det meste tager fem minutter.

  • hvert felt har den type, du mente — ikke den type, der importerede pænt
  • raid-tilstande, itemnavne og opgavenavne matcher stavemåden i spillet tegn for tegn
  • de plugin-registrerede felter er ikke den eneste vej til sejr, hvis en del af klanen spiller uden
  • point er sat, og balance-revisoren er tilfreds — eller du er uenig med den med vilje
  • valgfrie felter er markeret som valgfrie
  • du har hentet regnearket ned én gang som en backup, du kan lægge op igen
Hvem må det her

Brætopsætning er det ene adminjob, der har sin egen rolle. En editor kan oprette felter og intet andet, og kan afgrænses til bestemte brætter — så en gæstebrætbygger fra en anden klan får præcis det event, du har givet dem, og ingen adgang til noget andet, du kører.

Regnearksformatet er beskrevet fuldt ud i docs/tile-authoring.md, som er skrevet til den (eller det), der genererer rækkerne. Denne side er den menneskelige halvdel: hvilken type du skal gribe fat i, og hvad der går galt.