Arpajaiset

Osallistumalla killan arpajaisiin, voit voittaa rahaa ja samalla tuet kiltatraderin hankintaa! Arvonta on kerran viikossa lauantaisin n. klo 22.00.

Osallistuminen

  • Laita pelissä kiltapankkiin rahaa jonka jälkeen nimesi ja rahasummasi lisätään Arpajaiset-sheettiin.
  • Yksi arpa maksaa 500g ja arpoja voi ostaa niin monta kuin haluaa. Voit laittaa kerralla esim. 3000g. 
  • Voit myös erikseen lahjoittaa rahaa trader bideihin tai arpajaisiin osallistumatta itse arvontaan. (Ilmoita kiltajohdolle)
Miten kiltapankkiin laitetaan rahaa
  1. Mene minkä tahansa alueen pankkiin (pankkiiri-assistenttilla ei ole kiltapankkia)
  2. Avaa “Guild Bank”
  3. Varmista, että sinulla on oikean killan pankki auki (F-näppäimellä voit vaihtaa kiltaa)
  4. Valitse kiltapankin toinen tabi (Deposit)
  5. Paina R (Deposit Currency) ja kirjoita valitsemasi summa
  6. Paina E (Deposit)

Palkinnot

  1. sija 45%
  2. sija 25%
  3. sija 10%
  4. 20% kiltapankkiin traderin hankintaan varten

Kolmanteen sijaan scripti laskee kaikille osallistujille nimen mukaan yhden lipun, joten jokaisella on sama mahdollisuus voittaa. Yksi pelaaja voi voittaa vain yhden sijan.

Arpominen

  • Sheetti antaa sinulle arpanumerot
  • Arvonta suoritetaan lauantaisin noin. klo 22.00 killan Arpajaiset-sheetissä scriptillä joka arpoo voittajanumeron
  • Jos nimeäsi ei ole listassa ennen arvontaa, ota yhteyttä Kiltajohtoon

Arpajaisten scripti
// Draws one ticket to pick one winner
function drawOneWinner() {
  drawTicket('F8', 'F9');
}

// Draws tickets until three winners have been chosen
function drawThreeWinners() {
  let winnerNames = [];
  winnerNames.push(drawUntilNewWinner(winnerNames, 'F8', 'F9'));
  winnerNames.push(drawUntilNewWinner(winnerNames, 'G8', 'G9'));
  drawUntilNewWinner(winnerNames, 'H8', 'H9');
}

// Draws tickets until 2 winners have been chosen. Then draw a 3rd winner name ignoring ticket count.
function drawWinners() {
  let winnerNames = [];
  winnerNames.push(drawUntilNewWinner(winnerNames, 'F8', 'F9'));
  winnerNames.push(drawUntilNewWinner(winnerNames, 'G8', 'G9'));
  drawRandomName(winnerNames, 'H9');
}

function drawUntilNewWinner(winnerNames, winnerTicketCell, winnerNameCell) {
  let winnerName = '';
  while (!winnerName || isInArray(winnerNames, winnerName)) {
    winnerName = drawTicket(winnerTicketCell, winnerNameCell);
  }
  return winnerName;
}

function drawTicket(winnerTicketCell, winnerNameCell) {
  let sheet = SpreadsheetApp.getActiveSheet();
  let data = sheet.getDataRange().getValues();
  let tickets = 0;
  
  for (let i = 1; i < data.length; i++) {
    tickets += data[i][2];
  }
  
  let drawnTicket = Math.floor(Math.random() * tickets);
  
  tickets = 0;
  for (let i = 1; i < data.length; i++) {
    tickets += data[i][2];
    if (tickets > drawnTicket) {
      let winnerName = data[i][0];
      sheet.getRange(winnerNameCell).setValue(winnerName);
      sheet.getRange(winnerTicketCell).setValue(drawnTicket + 1);
      return winnerName;
    }
  }
}

function drawRandomName(ignoredNames, winnerNameCell) {
  let sheet = SpreadsheetApp.getActiveSheet();
  let data = sheet.getDataRange().getValues();
  let names = [];
  
  for (let i = 1; i < data.length; i++) {
    let name = data[i][0];
    if (name && !isInArray(names, name) && !isInArray(ignoredNames, name)) {
      names.push(name);
    }
  }
  if (!names.length) {
    return '';
  }
  let winnerName = names[Math.floor(Math.random() * names.length)]
  sheet.getRange(winnerNameCell).setValue(winnerName);
  return winnerName;
}

function isInArray(array, object) {
  return array.indexOf(object) + 1
}
Killan megalotto voittajat 19.4.2022

Seuraa meitä

Yhteystiedot

admin(at)dragonborninc.fi