NikomStat

Exempel på topplista skapad med NikomStat

Det utvecklas fortfarande kommandon för Nikom. I alla fall har jag skrivit ett kommando som används för att generera topplistor över de mest aktiva användarna.

Ladda ner det här!

Här är manualen:

NikomStat
=========

Version 1.1 – Släppt 2019-07-17
Skapat av Erik Zalitis på The ERICADE Network BBS.
Supportas på https://the.ericade.net/?p=938

Versionshistoria
============

Version 1.1 – Släppt 2019-07-17
————————-

(Buggfix) Första parametern lästes aldrig in.

(Ny funktion) – Parametern n som sätter poäng för antalet veckor användaren varit inaktiv. Sätts normalt till ett negativt värde för att ”straffa” inaktiva användare, så att de åker ner från topplistan.

Version 1.0 – Släppt 2019-07-14
————————-

Första versionen.

Kontakt
=======

Jag kan nås på epostadressen erik@zalitis.se.

Finns också på BBSen The ERICADE Network på:

– SSH, the.ericade.net:22. Inloggning:bbs med lösen bbs.
– Telnet, the.ericade.net:23.

Följ min berättelse om en BBS någonstans i Stockholm under 90-talet:
https://the.ericade.net

Förbehåll
=======

Jag tar inget ansvar för eventuella problem som kan uppstå med detta program. Läs denna manual innan du installerar programmet. Dvs, läs den nu!

Vad är NikomStat?
==============

Tidigare har det funnits en del skript som använt NikomUS för att generera topplistor i Nikom. NikomUS fungerar inte med versioner av Nikom nyare än version 1.61. Då ingen verkar ha kunnit hitta orsaken till detta, valde jag att bygga en ersättare i Arexx.

NikomStat ersätter den vildvuxna flora med skript som tillsammans med NikomUS användes för att generera topplistorna. NikomStat genererar direkt färdiga listor som kan användas i basen utan att man måste ha några skript som formatterar datat. Resultatet ser i princip likadant ut som de listor som du är van vid.

Fördelar med NikomStat

– Två filer behövs för att generera alla listor att så de blir helt uniforma.

– Installationen är extremt enkel och tar bara några minuter.

– Det är extremt enkelt för den som kan Arexx att lägga till funktioner
eller ändra hur rapporterna ser ut.

– Skripten använder standardfunktioner i AmigaOS/Arexx/Nikom och borde vara
hyffsat framtidssäkra.

– Varje ny lista du vill ha skrivs in i maketoplist.rexx som en ny rad.
Detta gör det trivialt att skapa alla listor du någonsin skulle kunna drömma
om.

Installation
==========

1. Packa upp arkivet.

2. Se till att filerna nikomstat.rexx och maketoplist.rexx hamnar i nikom:rexx

3. Öppna nikomstat.rexx i en bra editor (inte ed!) och ändra namnet på din BBS i variabeln bbs.

4. Öppna maketoplist.rexx i valfri editor och kolla om du vill ändra någonting. Detta är generellt sett inte nödvändigt. Men du kanske har andra åsikter om hur poängen ska beräknas. Vad vet jag? 🙂

5. Lägg in ”rx nikom:rexx/maketoplist.rexx” i din crontab-fil. Detta förutsatt att du kör cronjob och har en cronprogramvara installerad. Annars får du köra skripten manuellt.

För att generera listorna, kör du ”rx nikom:rexx/maketoplist.rexx”. Då kommer den att köra några minuter och bygga alla listor som definierats.

Exempel
=======

rx nikom:rexx/nikomstat.rexx i1 r0 w10 u20 d-20 fnikom:texter/svenska/g.txt

Denna kommandorad gör att en fil som heter g.txt skapas i nikom:texter/svenska/. Poängen beräknas som 1 poäng för varje inloggning, 0 poäng för varje läst text, 10 poäng för varje skriven text, 20 poäng för varje uppladdad fil och avdrag på 20 poäng för varje nedladdad fil.


Att notera
========

– Avsaknade funktioner

Parametern ”p” är inte implementerad. Denna parameter ska normalt göra att NikomStat visar vad den gör. Kommer troligen i nästa version.

– Förvalda poäng

Om du inte anger några parametrar, kommer poäng ges enligt:

i=inloggningar=1 poäng
r=last=0 poäng
w=skrivet=5 poäng
d=nedladdat=-20 poäng
u=uppladdat=20 poäng
t=inloggadisekunder=0 poäng

– Parametrar

Parametrarna följer NikomUS standard enligt:

i – Poäng för inloggningar. Sätter du parametern i10 ger du 10 poäng för varje inloggning. Detta format gäller alla parametrar som ger poäng. Notera att det INTE är något mellanslag mellan i och poängsiffran.

w – Poäng för skrivna texter.

r – Poäng för lästa texter.

t – Poäng för antal inloggade sekunder.

u – Poäng för antal uploads.

d – Poäng för antal downloads. Man sätter normalt minuspoäng för detta. ex.vis d-10.

n – Poäng för antalet inaktiva veckor. Man sätter normalt minuspoäng för
detta. ex.vis n-2.

f – Filnamn. fram:katt.txt lägger den färdiga rapporten i ram: som katt.txt. Som standard blir filnamnet ram:temp.dat om man inte sätter parametern.

h – Generera huvud. Utan huvud blir det bara en lista. Som standard genereras  ett huvud.

l – Namn på listan. Skriver du lInloggnings, kommer rapporthuvudet skriva ”Inloggningslistan”. Suffixet ”listan” kan ändras i nikomstat.rexx.

q – Vänd listan upp och ner. Dvs, den som får lägst poäng hamnar högst upp i rankningen. q0 slår från och q1 slår till värdet. Som standard är det högst poäng som kommer högst upp i listan. Alltså q0.

Om man inte anger en parameter, används ett standardvärde. Det är därför viktigt att allt ange alla parametrar även om de ger 0 poäng för att se till att poängen blir korrekt. Så om du vill garantera att inloggningar t.ex. ger noll poäng, sätter du i0, annars kommer inloggningar tilldelas 1 poäng per inloggning om du inte anger i-parametern.

Exempel:
rx nikom:rexx/nikomstat.rexx i1 w1 u10 d-20 n-2 fram:lista.txt

– Minnesanvändning

NikomStat genererar två filer i ram:. Dessa finns bara medan skriptet körs och tas sedan bort. Däremot läser skriptet in alla användare i minnet medan den kör. Varje användare tar upp runt 80 bytes i minnet.

Så har du 4500 användare i basen, kommer NikomStat behöva drygt 350 kb för att hålla dem i minnet. Så fort skriptet körts klart, lämnas minnet tillbaka.

Men om du har många användare och ont om minne, bör du inte använda NikomStat.

Lämna en kommentar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.