Varulv [BH II] - R1

Anthrox

Kulturvetaringenjör
Joined
8 Jun 2017
Messages
5,460
Såg att Sidd med hade en rolig röst, som min hjärna envist vill läsa som "Vad har de andra på sig".
 

damogn

Hero
Joined
4 Feb 2018
Messages
958
Ok, en sista version (om ni inte säger att den är fel på något vis):

1) Skapa bokmärke
2) Editera det. Sätt namn till vad som helst
3) I URL tar du bort allt som står och klistrar in allt detta:
Code:
javascript:(async function(){const threadUrl='https://www.rollspel.nu/threads/bh-ii-r1.85315/';const voteRegex=/Röst:\s*@?([A-Za-z0-9_åäöÅÄÖ\- ]+)/i;const votes=[];for(let page=1;page<=50;page++){const url=page===1?threadUrl:`${threadUrl}page-${page}`;try{const response=await fetch(url);if(!response.ok)throw new Error(`Misslyckades att hämta sida ${page}`);const html=await response.text();const parser=new DOMParser();const doc=parser.parseFromString(html,%27text/html%27);const posts=doc.querySelectorAll(%27article[data-author]%27);posts.forEach(post=>{const username=post.getAttribute(%27data-author%27);post.querySelectorAll(%27blockquote%27).forEach(bq=>bq.remove());const content=post.querySelector(%27.message-content%27)?.innerHTML;const postId=post.id?.replace(%27js-post-%27,%27%27);if(content){const tempDiv=document.createElement(%27div%27);tempDiv.innerHTML=content;const cleanContent=tempDiv.textContent||tempDiv.innerText;cleanContent.split(%27\n%27).forEach(line=>{const match=line.match(voteRegex);if(match&&postId){votes.push({from:username,to:match[1],postId});}});}});const nextPage=doc.querySelector(%27.pageNav-jump--next%27);if(!nextPage)break;}catch(err){console.error(err);break;}}const latestVotes={};const latestLinks={};votes.forEach(v=>{if(!latestVotes[v.from]){latestVotes[v.from]=[];}latestVotes[v.from].push(v.to);latestLinks[v.from]=v.postId;});const voteCounts={};Object.values(latestVotes).forEach(toList=>{toList.forEach(to=>{voteCounts[to]=(voteCounts[to]||0)+1;});});let mostVoted=null;let mostVotes=-1;for(const[person,count]of Object.entries(voteCounts)){if(count>mostVotes){mostVotes=count;mostVoted=person;}}const table=document.createElement(%27table%27);table.style.borderCollapse=%27collapse%27;table.style.marginTop=%2720px%27;table.style.fontFamily=%27Arial, sans-serif%27;table.style.width=%27100%%27;table.style.maxWidth=%27800px%27;table.style.marginLeft=%27auto%27;table.style.marginRight=%27auto%27;table.style.border=%272px solid #333';table.style.backgroundColor='#f4f4f9';table.innerHTML=%60<thead><tr><th style="border: 1px solid #333; background-color: #3c8dbc; color: white; padding: 8px; text-align: center; font-size: 18px;">Röstgivare</th><th style="border: 1px solid #333; background-color: #3c8dbc; color: white; padding: 8px; text-align: center; font-size: 18px;">Röster</th><th style="border: 1px solid #333; background-color: #3c8dbc; color: white; padding: 8px; text-align: center; font-size: 18px;">Länk</th></tr></thead>%60;const tbody=document.createElement('tbody');Object.entries(latestVotes).forEach(([from,toList])=>{const postId=latestLinks[from];const link=%60https://www.rollspel.nu/threads/bh-ii-r1.85315/post-${postId}%60;const tr=document.createElement('tr');tr.style.backgroundColor='#ffffff';tr.style.borderBottom='1px solid #ddd';tr.innerHTML=%60<td style="border: 1px solid #333; padding: 8px; text-align: center; font-size: 16px;">${from}</td><td style="border: 1px solid #333; padding: 8px; text-align: center; font-size: 16px;">${toList.join(', ')}</td><td style="border: 1px solid #333; padding: 8px; text-align: center; font-size: 16px;"><a href="${link}" target="_blank" style="color: #007bff;">#${postId}</a></td>%60;tbody.appendChild(tr);});table.appendChild(tbody);document.body.appendChild(table);const hr=document.createElement('hr');hr.style.margin='20px 0';hr.style.borderTop='3px solid #333';document.body.appendChild(hr);const dangerText=document.createElement('div');dangerText.textContent=%60Risk för utröstning: ${mostVoted} (${mostVotes})%60;dangerText.style.fontSize='22px';dangerText.style.fontWeight='bold';dangerText.style.color='#d9534f';dangerText.style.textAlign='center';document.body.appendChild(dangerText);})();
Nu får du en tabell med alla röster i rad, länk till senaste rösten och en rad med vem som riskerar att åka ut längst ner.

OBS! Den fångar alla gånger någon skriver "Röst:" och resten av raden, så den fångar lite för mycket, men den sparar endast det senaste, så om ni skrev för mycket i någon post för att ni nämnde något annat är det bara att rösta igen.
 
Last edited:

fjodorsenuba

Krigarpoet
Joined
2 Nov 2020
Messages
1,436
Kontorsdagat här som wlöar ner mitt deltagande en del...
Kånner att jag inte har mycket att gå på...
Planen med att inte röstA på någon känns tråkig...eå blir det väl i princip inget spel alls?...men ör det så ni vill ha det så...
Nej det är inte så vi vill ha det. Vi vill ha action! Kom in och föreslå nått annat än kudde-strategin så rommarna inte vinnner på walk-over.
 

Anthrox

Kulturvetaringenjör
Joined
8 Jun 2017
Messages
5,460
Kontorsdagat här som wlöar ner mitt deltagande en del...
Kånner att jag inte har mycket att gå på...
Planen med att inte röstA på någon känns tråkig...eå blir det väl i princip inget spel alls?...men ör det så ni vill ha det så...
Det här känns som en konstig slutsats att dra, med tanke på att debatten om strategin är öppen och knappast över, och det mestadels är jag som driver den tesen.
Det här känns mer som en "aj fan, jag måste nog synas lite i tråden också"-post från en ulv, än en bybo som faktiskt försökt hjälpa byn med spelet.
 

Vimes

Gallerix
Joined
15 Jun 2000
Messages
12,923
Siande av Octagonal är rimligt tycker jag, så röstar vi ut en av BM och Sidd.

(Jag stör mig lite på att mekaniken inte är öppen utan att det här med att avisera sieri via SL och öppet redovisande var dolt när spelet startade, men ska inte gnälla om det mer.)
 

Anthrox

Kulturvetaringenjör
Joined
8 Jun 2017
Messages
5,460
Ok, en sista version (om ni inte säger att den är fel på något vis):

1) Skapa bokmärke
2) Editera det. Sätt namn till vad som helst
3) I URL tar du bort allt som står och klistrar in allt detta:
Code:
javascript:(async function(){const threadUrl='https://www.rollspel.nu/threads/bh-ii-r1.85315/';const voteRegex=/Röst:\s*@?([A-Za-z0-9_åäöÅÄÖ\- ]+)/i;const votes=[];for(let page=1;page<=50;page++){const url=page===1?threadUrl:`${threadUrl}page-${page}`;try{const response=await fetch(url);if(!response.ok)throw new Error(`Misslyckades att hämta sida ${page}`);const html=await response.text();const parser=new DOMParser();const doc=parser.parseFromString(html,%27text/html%27);const posts=doc.querySelectorAll(%27article[data-author]%27);posts.forEach(post=>{const username=post.getAttribute(%27data-author%27);post.querySelectorAll(%27blockquote%27).forEach(bq=>bq.remove());const content=post.querySelector(%27.message-content%27)?.innerHTML;const postId=post.id?.replace(%27js-post-%27,%27%27);if(content){const tempDiv=document.createElement(%27div%27);tempDiv.innerHTML=content;const cleanContent=tempDiv.textContent||tempDiv.innerText;cleanContent.split(%27\n%27).forEach(line=>{const match=line.match(voteRegex);if(match&&postId){votes.push({from:username,to:match[1],postId});}});}});const nextPage=doc.querySelector(%27.pageNav-jump--next%27);if(!nextPage)break;}catch(err){console.error(err);break;}}const latestVotes={};const latestLinks={};votes.forEach(v=>{if(!latestVotes[v.from]){latestVotes[v.from]=[];}latestVotes[v.from].push(v.to);latestLinks[v.from]=v.postId;});const voteCounts={};Object.values(latestVotes).forEach(toList=>{toList.forEach(to=>{voteCounts[to]=(voteCounts[to]||0)+1;});});let mostVoted=null;let mostVotes=-1;for(const[person,count]of Object.entries(voteCounts)){if(count>mostVotes){mostVotes=count;mostVoted=person;}}const table=document.createElement(%27table%27);table.style.borderCollapse=%27collapse%27;table.style.marginTop=%2720px%27;table.style.fontFamily=%27Arial, sans-serif%27;table.style.width=%27100%%27;table.style.maxWidth=%27800px%27;table.style.marginLeft=%27auto%27;table.style.marginRight=%27auto%27;table.style.border=%272px solid #333';table.style.backgroundColor='#f4f4f9';table.innerHTML=%60<thead><tr><th style="border: 1px solid #333; background-color: #3c8dbc; color: white; padding: 8px; text-align: center; font-size: 18px;">Röstgivare</th><th style="border: 1px solid #333; background-color: #3c8dbc; color: white; padding: 8px; text-align: center; font-size: 18px;">Röster</th><th style="border: 1px solid #333; background-color: #3c8dbc; color: white; padding: 8px; text-align: center; font-size: 18px;">Länk</th></tr></thead>%60;const tbody=document.createElement('tbody');Object.entries(latestVotes).forEach(([from,toList])=>{const postId=latestLinks[from];const link=%60https://www.rollspel.nu/threads/bh-ii-r1.85315/post-${postId}%60;const tr=document.createElement('tr');tr.style.backgroundColor='#ffffff';tr.style.borderBottom='1px solid #ddd';tr.innerHTML=%60<td style="border: 1px solid #333; padding: 8px; text-align: center; font-size: 16px;">${from}</td><td style="border: 1px solid #333; padding: 8px; text-align: center; font-size: 16px;">${toList.join(', ')}</td><td style="border: 1px solid #333; padding: 8px; text-align: center; font-size: 16px;"><a href="${link}" target="_blank" style="color: #007bff;">#${postId}</a></td>%60;tbody.appendChild(tr);});table.appendChild(tbody);document.body.appendChild(table);const hr=document.createElement('hr');hr.style.margin='20px 0';hr.style.borderTop='3px solid #333';document.body.appendChild(hr);const dangerText=document.createElement('div');dangerText.textContent=%60Risk för utröstning: ${mostVoted} (${mostVotes})%60;dangerText.style.fontSize='22px';dangerText.style.fontWeight='bold';dangerText.style.color='#d9534f';dangerText.style.textAlign='center';document.body.appendChild(dangerText);})();
Nu får du en tabell med alla röster i rad, länk till senaste rösten och en rad med vem som riskerar att åka ut längst ner.

OBS! Den fångar alla gånger någon skriver "Röst:" och resten av raden, så den fångar lite för mycket, men den sparar endast det senaste, så om ni skrev för mycket i någon post för att ni nämnde något annat är det bara att rösta igen.
Den plockar fortfarande röst med litet r, så exv Sidds post kommer med.
Inte för att utöka din arbetsbörda eller så (fantastiskt jobb!), men det går inte att få så alla röstningar blir länkade och inte bara den senaste?
 

damogn

Hero
Joined
4 Feb 2018
Messages
958
Den plockar fortfarande röst med litet r, så exv Sidds post kommer med.
Inte för att utöka din arbetsbörda eller så (fantastiskt jobb!), men det går inte att få så alla röstningar blir länkade och inte bara den senaste?
Ok. Denna version tar bara ut Röst med stort R och har länkar till varje röst:

Code:
javascript:(async function(){const threadUrl='https://www.rollspel.nu/threads/bh-ii-r1.85315/';const voteRegex=/Röst:\s*@?([A-Za-z0-9_åäöÅÄÖ\- ]+)/;const votes=[];for(let page=1;page<=50;page++){const url=page===1?threadUrl:`${threadUrl}page-${page}`;try{const response=await fetch(url);if(!response.ok)throw new Error(`Misslyckades att hämta sida ${page}`);const html=await response.text();const parser=new DOMParser();const doc=parser.parseFromString(html,%27text/html%27);const posts=doc.querySelectorAll(%27article[data-author]%27);posts.forEach(post=>{const username=post.getAttribute(%27data-author%27);post.querySelectorAll(%27blockquote%27).forEach(bq=>bq.remove());const content=post.querySelector(%27.message-content%27)?.innerHTML;const postId=post.id?.replace(%27js-post-%27,%27%27);if(content){const tempDiv=document.createElement(%27div%27);tempDiv.innerHTML=content;const cleanContent=tempDiv.textContent||tempDiv.innerText;cleanContent.split(%27\n%27).forEach(line=>{const match=line.match(voteRegex);if(match&&postId){votes.push({from:username,to:match[1],postId});}});}});const nextPage=doc.querySelector(%27.pageNav-jump--next%27);if(!nextPage)break;}catch(err){console.error(err);break;}}const votesByUser={};votes.forEach(v=>{if(!votesByUser[v.from])votesByUser[v.from]=[];votesByUser[v.from].push(v);});const voteCounts={};Object.values(votesByUser).forEach(voteList=>{voteList.forEach(v=>{voteCounts[v.to]=(voteCounts[v.to]||0)+1;});});let mostVoted=null;let mostVotes=-1;for(const[person,count]of Object.entries(voteCounts)){if(count>mostVotes){mostVotes=count;mostVoted=person;}}const table=document.createElement(%27table%27);table.style.borderCollapse=%27collapse%27;table.style.marginTop=%2720px%27;table.style.fontFamily=%27Arial, sans-serif%27;table.style.width=%27100%%27;table.style.maxWidth=%27800px%27;table.style.margin=%2720px auto%27;table.style.border=%272px solid #333';table.style.backgroundColor='#f4f4f9';table.innerHTML=%60<thead><tr><th style="border: 1px solid #333; background-color: #3c8dbc; color: white; padding: 8px; font-size: 18px;">Röstgivare</th><th style="border: 1px solid #333; background-color: #3c8dbc; color: white; padding: 8px; font-size: 18px;">Röster</th></tr></thead>%60;const tbody=document.createElement('tbody');Object.entries(votesByUser).forEach(([from,voteList])=>{const tr=document.createElement('tr');tr.style.backgroundColor='#ffffff';tr.style.borderBottom='1px solid #ddd';const voteLinks=voteList.map(v=>%60<a href="https://www.rollspel.nu/threads/bh-ii-r1.85315/post-${v.postId}" target="_blank" style="color: #007bff;">${v.to}</a>%60);tr.innerHTML=%60<td style="border: 1px solid #333; padding: 8px; text-align: center; font-size: 16px;">${from}</td><td style="border: 1px solid #333; padding: 8px; text-align: center; font-size: 16px;">${voteLinks.join(', ')}</td>%60;tbody.appendChild(tr);});table.appendChild(tbody);document.body.appendChild(table);const hr=document.createElement('hr');hr.style.margin='20px 0';hr.style.borderTop='3px solid #333';document.body.appendChild(hr);const dangerText=document.createElement('div');dangerText.textContent=%60Risk för utröstning: ${mostVoted} (${mostVotes})%60;dangerText.style.fontSize='22px';dangerText.style.fontWeight='bold';dangerText.style.color='#d9534f';dangerText.style.textAlign='center';document.body.appendChild(dangerText);})();
Exempel:
C3.PNG
 

BiobunkerVII

Kaoskardinal
Joined
19 Sep 2013
Messages
2,116
Ok. Denna version tar bara ut Röst med stort R och har länkar till varje röst:

Code:
javascript:(async function(){const threadUrl='https://www.rollspel.nu/threads/bh-ii-r1.85315/';const voteRegex=/Röst:\s*@?([A-Za-z0-9_åäöÅÄÖ\- ]+)/;const votes=[];for(let page=1;page<=50;page++){const url=page===1?threadUrl:`${threadUrl}page-${page}`;try{const response=await fetch(url);if(!response.ok)throw new Error(`Misslyckades att hämta sida ${page}`);const html=await response.text();const parser=new DOMParser();const doc=parser.parseFromString(html,%27text/html%27);const posts=doc.querySelectorAll(%27article[data-author]%27);posts.forEach(post=>{const username=post.getAttribute(%27data-author%27);post.querySelectorAll(%27blockquote%27).forEach(bq=>bq.remove());const content=post.querySelector(%27.message-content%27)?.innerHTML;const postId=post.id?.replace(%27js-post-%27,%27%27);if(content){const tempDiv=document.createElement(%27div%27);tempDiv.innerHTML=content;const cleanContent=tempDiv.textContent||tempDiv.innerText;cleanContent.split(%27\n%27).forEach(line=>{const match=line.match(voteRegex);if(match&&postId){votes.push({from:username,to:match[1],postId});}});}});const nextPage=doc.querySelector(%27.pageNav-jump--next%27);if(!nextPage)break;}catch(err){console.error(err);break;}}const votesByUser={};votes.forEach(v=>{if(!votesByUser[v.from])votesByUser[v.from]=[];votesByUser[v.from].push(v);});const voteCounts={};Object.values(votesByUser).forEach(voteList=>{voteList.forEach(v=>{voteCounts[v.to]=(voteCounts[v.to]||0)+1;});});let mostVoted=null;let mostVotes=-1;for(const[person,count]of Object.entries(voteCounts)){if(count>mostVotes){mostVotes=count;mostVoted=person;}}const table=document.createElement(%27table%27);table.style.borderCollapse=%27collapse%27;table.style.marginTop=%2720px%27;table.style.fontFamily=%27Arial, sans-serif%27;table.style.width=%27100%%27;table.style.maxWidth=%27800px%27;table.style.margin=%2720px auto%27;table.style.border=%272px solid #333';table.style.backgroundColor='#f4f4f9';table.innerHTML=%60<thead><tr><th style="border: 1px solid #333; background-color: #3c8dbc; color: white; padding: 8px; font-size: 18px;">Röstgivare</th><th style="border: 1px solid #333; background-color: #3c8dbc; color: white; padding: 8px; font-size: 18px;">Röster</th></tr></thead>%60;const tbody=document.createElement('tbody');Object.entries(votesByUser).forEach(([from,voteList])=>{const tr=document.createElement('tr');tr.style.backgroundColor='#ffffff';tr.style.borderBottom='1px solid #ddd';const voteLinks=voteList.map(v=>%60<a href="https://www.rollspel.nu/threads/bh-ii-r1.85315/post-${v.postId}" target="_blank" style="color: #007bff;">${v.to}</a>%60);tr.innerHTML=%60<td style="border: 1px solid #333; padding: 8px; text-align: center; font-size: 16px;">${from}</td><td style="border: 1px solid #333; padding: 8px; text-align: center; font-size: 16px;">${voteLinks.join(', ')}</td>%60;tbody.appendChild(tr);});table.appendChild(tbody);document.body.appendChild(table);const hr=document.createElement('hr');hr.style.margin='20px 0';hr.style.borderTop='3px solid #333';document.body.appendChild(hr);const dangerText=document.createElement('div');dangerText.textContent=%60Risk för utröstning: ${mostVoted} (${mostVotes})%60;dangerText.style.fontSize='22px';dangerText.style.fontWeight='bold';dangerText.style.color='#d9534f';dangerText.style.textAlign='center';document.body.appendChild(dangerText);})();
Exempel:
View attachment 23768
Min röst på Impe verkar inte finnas med, är det handhavande fel månne?
 

Hägerstrand

Ballofix
Joined
2 Dec 2022
Messages
2,057
Kontorsdagat här som wlöar ner mitt deltagande en del...
Kånner att jag inte har mycket att gå på...
Planen med att inte röstA på någon känns tråkig...eå blir det väl i princip inget spel alls?...men ör det så ni vill ha det så...
Vad kan man säga om det här då? Precis innan det här inlägget diskuterades det att köra på med VJVS med outad siare. Flera ändå ganska intressanta misstankespår varit uppe för diskussion.

Jag tycker varken att invändningen mot planen eller påståendet att det inte finns så mycket att gå på stämmer. Det låter i så fall mer som att Stradh inte alls följer spelet. Eftersom han vaknar när han får lite röster på sig så tycker jag det verkar som att han ändå följer spelet, så då antar jag att han bara låtsas som att han inte följer spelet?
 
Top