SonicSpot Rankings

  • 71 results
  • 1
  • 2
Avatar image for sonicphc
sonicphc

7779

Forum Posts

0

Wiki Points

0

Followers

Reviews: 9

User Lists: 0

#51 sonicphc
Member since 2005 • 7779 Posts
So is this just for Generations or do the classics get some respect too?demoman_chaos
They will once I have time to update the form with information for them. Today, just Generations. This Christmas, THE WORLD! a hA HAH HA HA HAAAAAAaaaaaa*cough hack*
Avatar image for demoman_chaos
demoman_chaos

13896

Forum Posts

0

Wiki Points

0

Followers

Reviews: 13

User Lists: 0

#52 demoman_chaos
Member since 2006 • 13896 Posts
And how would we do proof for the cIassic games?Cloud_765
Screenshots ma boi. I used an "e-word" on the runs I did today so I could save the screenshots (and I still have to get my controllers and games back from my brother). The only cheat I used was the level select so I could start from the level I wanted to run. I got less than 30 seconds on Emerald Hill 1, about 50 or so on act 2. Chemical Plant 1 I got 47 seconds. Death Egg I got 1:07 if I remember right. I'd got the screenshots I could post for proof.
Avatar image for SuperSmashBro1
SuperSmashBro1

14243

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#53 SuperSmashBro1
Member since 2008 • 14243 Posts

[QUOTE="demoman_chaos"]So is this just for Generations or do the classics get some respect too?sonicphc
They will once I have time to update the form with information for them. Today, just Generations. This Christmas, THE WORLD! a hA HAH HA HA HAAAAAAaaaaaa*cough hack*

You mean..

http://www.playimport.com/14747-46431-large/sonic-world-adventure.jpg

Avatar image for macrules_640
macrules_640

90033

Forum Posts

0

Wiki Points

0

Followers

Reviews: 35

User Lists: 0

#54 macrules_640
Member since 2004 • 90033 Posts
Time to make a few screen shots! Later that is. :P
Avatar image for SuperSmashBro1
SuperSmashBro1

14243

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#55 SuperSmashBro1
Member since 2008 • 14243 Posts
I submitted everything.
Avatar image for sonicphc
sonicphc

7779

Forum Posts

0

Wiki Points

0

Followers

Reviews: 9

User Lists: 0

#56 sonicphc
Member since 2005 • 7779 Posts
Heh. The competition is getting much tighter. I'm going to have to go work on my speed runs again now. :)
Avatar image for Cloud_765
Cloud_765

111406

Forum Posts

0

Wiki Points

0

Followers

Reviews: 46

User Lists: 0

#57 Cloud_765
Member since 2008 • 111406 Posts
I'm not going to bother. I don't even have the skill to make a 0-mistakes run of most of the levels in this game.
Avatar image for Cloud_765
Cloud_765

111406

Forum Posts

0

Wiki Points

0

Followers

Reviews: 46

User Lists: 0

#58 Cloud_765
Member since 2008 • 111406 Posts

*sigh* Well, submitted my times for all levels up to Planet Wisp Act 1. None of my times are anything special, though. I just submitted mine so the rankings felt more full.

I hope there's a form for Sonic Colors soon. I'd make it myself but my head was throbbing in pain figuring out how to the hell to make it work myself and I pretty much gave up. I'll continue to try and make the Colors Wii one though, so we have it.

Avatar image for sonicphc
sonicphc

7779

Forum Posts

0

Wiki Points

0

Followers

Reviews: 9

User Lists: 0

#59 sonicphc
Member since 2005 • 7779 Posts

*sigh* Well, submitted my times for all levels up to Planet Wisp Act 1. None of my times are anything special, though. I just submitted mine so the rankings felt more full.

I hope there's a form for Sonic Colors soon. I'd make it myself but my head was throbbing in pain figuring out how to the hell to make it work myself and I pretty much gave up. I'll continue to try and make the Colors Wii one though, so we have it.

Cloud_765
It's hiding on that form. I just haven't turned it on yet. There's a bug still in the code :) EDIT: That is, there's a bug in the code which autogenerates new ranking display sheets. The code for updating and posting rankings seems to be working as intended. :)
Avatar image for srbrans
srbrans

731

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#60 srbrans
Member since 2005 • 731 Posts
I just updated a few of my times. And my old proof pictures appear to not be working. Why, you ask? http://www.youtube.com/watch?v=t348e24vDyA
Avatar image for SuperSmashBro1
SuperSmashBro1

14243

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#61 SuperSmashBro1
Member since 2008 • 14243 Posts

*sigh* Well, submitted my times for all levels up to Planet Wisp Act 1. None of my times are anything special, though. I just submitted mine so the rankings felt more full.

I hope there's a form for Sonic Colors soon. I'd make it myself but my head was throbbing in pain figuring out how to the hell to make it work myself and I pretty much gave up. I'll continue to try and make the Colors Wii one though, so we have it.

Cloud_765
Your time in Chemical Plant Zone act 1 is,like,the second best.
Avatar image for Cloud_765
Cloud_765

111406

Forum Posts

0

Wiki Points

0

Followers

Reviews: 46

User Lists: 0

#62 Cloud_765
Member since 2008 • 111406 Posts
[QUOTE="Cloud_765"]

*sigh* Well, submitted my times for all levels up to Planet Wisp Act 1. None of my times are anything special, though. I just submitted mine so the rankings felt more full.

I hope there's a form for Sonic Colors soon. I'd make it myself but my head was throbbing in pain figuring out how to the hell to make it work myself and I pretty much gave up. I'll continue to try and make the Colors Wii one though, so we have it.

sonicphc
It's hiding on that form. I just haven't turned it on yet. There's a bug still in the code :) EDIT: That is, there's a bug in the code which autogenerates new ranking display sheets. The code for updating and posting rankings seems to be working as intended. :)

Ah well alright. Good thing, I'd have no idea how all the submitted data gets turned into the spreadsheet at the end. XD
Avatar image for Cloud_765
Cloud_765

111406

Forum Posts

0

Wiki Points

0

Followers

Reviews: 46

User Lists: 0

#63 Cloud_765
Member since 2008 • 111406 Posts
[QUOTE="Cloud_765"]

*sigh* Well, submitted my times for all levels up to Planet Wisp Act 1. None of my times are anything special, though. I just submitted mine so the rankings felt more full.

I hope there's a form for Sonic Colors soon. I'd make it myself but my head was throbbing in pain figuring out how to the hell to make it work myself and I pretty much gave up. I'll continue to try and make the Colors Wii one though, so we have it.

SuperSmashBro1
Your time in Chemical Plant Zone act 1 is,like,the second best.

If I'm correct I still made a mistake or two which cut my time back a couple of seconds. I can never make a perfect run, I always mess up somehow.
Avatar image for sonicphc
sonicphc

7779

Forum Posts

0

Wiki Points

0

Followers

Reviews: 9

User Lists: 0

#64 sonicphc
Member since 2005 • 7779 Posts

Ah well alright. Good thing, I'd have no idea how all the submitted data gets turned into the spreadsheet at the end. XD Cloud_765

Like this: (replace (lt) and (gt) with less than and greater than signs... stupid HTML rules)

var submissionSpreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var configSheet = submissionSpreadsheet.getSheetByName("Configuration");
var submissionSheet = submissionSpreadsheet.getSheetByName("Ranking Submissions");
var processedRow = 2;
var processedCol = 2;

var rankingSpreadsheet = SpreadsheetApp.openById("0Ajmx6NrUBIJrdGlZVjRrMDdUTHBFeGd0ZE1tTHMzZ1E");

function updateRankings() {
  var lastSubmission = submissionSheet.getLastRow();
  var lastProcessed = configSheet.getRange(processedRow, processedCol).getValue();
  var newSubmissions = lastSubmission - lastProcessed;
 
  if (newSubmissions == 0) {
    return;
  }
 
  for (var i = 1; i (lt)= newSubmissions; i++) {
    updateRanking(lastProcessed + i);
  }
 
  configSheet.getRange(processedRow, processedCol).setValue(lastSubmission);
}

function updateRanking(rowNum) {
  if (rowNum === undefined) {
    rowNum = SpreadsheetApp.getActiveRange().getRow();
  }
 
  var ranking = getRanking_(rowNum);
  try {
    var gameSheet = rankingSpreadsheet.getSheetByName(ranking.game);
    var stageColumn = findStage_(gameSheet, ranking.stage + (ranking.act ? " " + ranking.act : ""));
    var validation = gameSheet.getRange(3, 1).getValue();
   
    if (validation) {
      ranking.valid = new RegExp(validation).test(ranking.value);
    }
   
    var sortAsc = gameSheet.getRange(7,1).getValue() == "Ascending";
    var existingCount = eval(gameSheet.getRange(1, stageColumn + 1).getValue());
    var existingUsers = eval(gameSheet.getRange(1, stageColumn + 2).getValue());
    var existingRow = existingUsers.indexOf(ranking.username) + 4;
    var newRow = existingCount + 4;
   
    if (existingRow (gt) 3) {
      if (!shouldReplace_(stageColumn, existingRow, gameSheet, ranking, sortAsc)) {
        submissionSheet.getRange(rowNum, 7).setValue("IGNORED");
        return;
      }
     
      newRow = existingRow;
    }
    else {
      existingCount++;
    }
   
    var newVals = [ranking.valid ? "" : "???", ranking.username, ranking.value];
    gameSheet.getRange(newRow, stageColumn, 1, 3).setValues([newVals]).setFontColor(ranking.valid ? 'black' : 'red');
    gameSheet.getRange(newRow, stageColumn + 2).setComment(ranking.proof);
    gameSheet.getRange(4, stageColumn, existingCount, 3).sort({column: stageColumn + 2, ascending: sortAsc});
   
    var rank = 1;
    var rankArray = [];
    for (var i = 0; i (lt) existingCount; i++) {
      var range = gameSheet.getRange(i + 4, stageColumn);
      if (range.getValue() != "???") {
        range.setValue(rank++);
      }
      rankArray.push(range.offset(0, 1).getValue());
    }
   
    gameSheet.getRange(1, stageColumn + 1).setValue(existingCount);
   
    var rankArrayString = "[";
    for (var i = 0; i (lt) rankArray.length; i++) {
      if (i != 0) {
        rankArrayString += ",";
      }
      rankArrayString += "\"" + rankArray + "\"";
    }
    rankArrayString += "]";
   
    gameSheet.getRange(1, stageColumn + 2).setValue(rankArrayString);
  } catch (e) {
    submissionSheet.getRange(rowNum, 7).setValue("REJECTED");
    submissionSheet.getRange(rowNum, 8).setValue(e);
    return;
  }
 
  submissionSheet.getRange(rowNum, 7).setValue(ranking.valid ? "COMMITTED" : "VALIDATION");
}

function getRanking_(rowNum) {
  var data = submissionSheet.getRange(rowNum, 1, 1, 6).getValues()[0];
  return {
    username: data[0],
    game: data[1],
    stage: data[2],
    act: data[3],
    value: data[4],
    proof: data[5],
    valid: true
  }
}

var stageCache = {};

function findStage_(gameSheet, stageName) {
  if (stageCache[stageName]) {
    return stageCache[stageName];
  }
 
  var lastColumn = gameSheet.getLastColumn();
  for (var i = 2; i (lt) lastColumn; i += 3) {
    if (gameSheet.getRange(2, i).getValue() === stageName) {
      stageCache[stageName] = i;
      return i;
    }
  }
 
  throw "Cannot find act " + stageName;
}

function shouldReplace_(stageColumn, existingRowNum, gameSheet, ranking, sortAsc) {
  if (gameSheet.getRange(existingRowNum, stageColumn).getValue() === "???" && ranking.valid) {
    return true;
  }
 
  if (!(gameSheet.getRange(existingRowNum, stageColumn + 2).getComment()) && ranking.proof) {
    return true;
  }
 
  var oldValue = gameSheet.getRange(existingRowNum, stageColumn + 2).getValue();
  return ranking.value == oldValue || ((ranking.value (lt) oldValue) == sortAsc);
}

Avatar image for Cloud_765
Cloud_765

111406

Forum Posts

0

Wiki Points

0

Followers

Reviews: 46

User Lists: 0

#65 Cloud_765
Member since 2008 • 111406 Posts
You do know that I have no idea what any of that means, right?
Avatar image for sonicphc
sonicphc

7779

Forum Posts

0

Wiki Points

0

Followers

Reviews: 9

User Lists: 0

#66 sonicphc
Member since 2005 • 7779 Posts

You do know that I have no idea what any of that means, right?Cloud_765

Heh. I just copy pasted the code from the docs code project :)

Avatar image for macrules_640
macrules_640

90033

Forum Posts

0

Wiki Points

0

Followers

Reviews: 35

User Lists: 0

#67 macrules_640
Member since 2004 • 90033 Posts
Code is never that easy to understand. :P
Avatar image for deactivated-5c35826ea3913
deactivated-5c35826ea3913

5298

Forum Posts

0

Wiki Points

0

Followers

Reviews: 7

User Lists: 1

#68 deactivated-5c35826ea3913
Member since 2004 • 5298 Posts
spoken and written language is code. It's just that the syntax is different.
Avatar image for macrules_640
macrules_640

90033

Forum Posts

0

Wiki Points

0

Followers

Reviews: 35

User Lists: 0

#69 macrules_640
Member since 2004 • 90033 Posts
That too, but I'm pretty familiar with it since I'm studying it in college.
Avatar image for srbrans
srbrans

731

Forum Posts

0

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#70 srbrans
Member since 2005 • 731 Posts
We really need moar submissions here, don't we? At least don't let this go the same way as the Challenges...
Avatar image for sonicphc
sonicphc

7779

Forum Posts

0

Wiki Points

0

Followers

Reviews: 9

User Lists: 0

#71 sonicphc
Member since 2005 • 7779 Posts

We really need moar submissions here, don't we? At least don't let this go the same way as the Challenges...srbrans

I need some kind of incentive to go back and improve your time once somebody beat you (other than "look I'm winning"). Also, I need to fix these last two bugs and then send out a PM announcing this to the entire union, not just the forum browsers. That should, hopefully, increase the pool of data.