Quote:
Originally Posted by Deas_Voice
don't say people when you are talking about yourself 
|
I'm pretty confused.
Just because you get it as well as other programmers does not mean everyone without knowledge in the field will.
There is no reason to put him down.
I won't ask here however, eventually I'll find a tutorial that is helpful.
PHP Code:
function onCreated() {
GmapGenerator.createGmap("nalik_caverns", {4, 4});
this.template = "levels/nalik_caves.nw"; // "levels/template_default.nw";
this.savepath = "levels/nalik_caverns/"; // "levels/";
/* DON'T EDIT ANYTHING BELOW HERE =) */
this.ALPHABET = {
"a", "b", "c", "d", "e",
"f", "g", "h", "i", "j",
"k", "l", "m", "n", "o",
"p", "q", "r", "s", "t",
"u", "v", "w", "x", "y", "z"
};
}
public function createGmap(prefix, dimension) {
temp.type = dimension.type();
if (type != 3) {
if (type == 1) {
if (dimension.starts("sqrt")) {
temp.n = float(dimension.substring(4));
n = int(n^0.5);
dimension = {n,n};
}
else return false;
}
else if (type == 0) {
dimension = {int(dimension), int(dimension)};
}
}
else {
dimension = {int(dimension[0]), int(dimension[1])};
}
temp.gmap = {
"GRMAP001",
"WIDTH "@ dimension[0],
"HEIGHT "@ dimension[1],
"LEVELNAMES"
};
this.numbers = dimension[1].length();
this.letters = int(dimension[0]/26);
temp.levels = 0;
for(temp.i = 0; i < dimension[1]; i ++) {
temp.line = "";
for(temp.j = 0; j < dimension[0]; j ++) {
temp.data = {getletter(j), getnumber(i+1)};
line @= stringify(prefix @ "_" @ data[0] @ data[1] @ ".nw") @",";
levels.add({(data[0]@data[1]), j, i});
}
gmap.add(line.substring(0, line.length()-1));
}
gmap.add("LEVELNAMESEND");
gmap.savelines(this.savepath@prefix@".gmap", 0);
// lets generate the levels for the gmap
temp._template.loadlines(this.template);
this.maxlooplimit = 0x7fffffff; // =) we do want bigger gmaps then 100x100
for(temp.lvl : levels) {
temp.links = findlinks(prefix, lvl, dimension);
for(temp.l : links) {
_template.add(l);
}
_template.savelines(this.savepath@prefix@"_"@lvl[0]@".nw", 0);
_template = _template.subarray(0, _template.size()-links.size());
}
}
function getletter(n) {
temp.l = this.letters;
temp.times = 0;
while(l > 0) { times ++; l --; }
temp.out = "";
n = int(n);
for(temp.i = times; i > 0; i --) {
temp.index = n;
for(temp.j = 0; j < i; j ++) {
index /= 26;
}
index = int(index);
out @= this.ALPHABET[index];
}
out @= this.ALPHABET[n%26];
return out;
}
function getnumber(n) {
temp.i = n;
while(i.length() < this.numbers) {
i = "0"@i;
}
return i;
}
function stringify(foo) {
return "\"" @ foo @ "\"";
}
function findlinks(prefix, matrix, dimension) {
temp.lvl = matrix;
temp.out = 0;
if (lvl[1] == 0) {
if (lvl[2]+1 == 1) {
out.add("LINK "@prefix@"_"@getletter(lvl[1]+1)@getnumber(lvl[2]+1)@".nw 63 0 1 64 0 playery");
out.add("LINK "@prefix@"_"@getletter(lvl[1])@getnumber(lvl[2]+2)@".nw 0 63 64 1 playerx 0");
}
else if (lvl[2]+1 == dimension[1]) {
out.add("LINK "@prefix@"_"@getletter(lvl[1]+1)@getnumber(lvl[2]+1)@".nw 63 0 1 64 0 playery");
out.add("LINK "@prefix@"_"@getletter(lvl[1])@getnumber(lvl[2])@".nw 0 0 64 1 playerx 61");
}
else {
out.add("LINK "@prefix@"_"@getletter(lvl[1]+1)@getnumber(lvl[2]+1)@".nw 63 0 1 64 0 playery");
out.add("LINK "@prefix@"_"@getletter(lvl[1])@getnumber(lvl[2])@".nw 0 0 64 1 playerx 61");
out.add("LINK "@prefix@"_"@getletter(lvl[1])@getnumber(lvl[2]+2)@".nw 0 63 64 1 playerx 0");
}
}
else if (lvl[1] == dimension[0]-1) {
if (lvl[2]+1 == 1) {
out.add("LINK "@prefix@"_"@getletter(lvl[1]-1)@getnumber(lvl[2]+1)@".nw 0 0 1 64 61 playery");
out.add("LINK "@prefix@"_"@getletter(lvl[1])@getnumber(lvl[2]+2)@".nw 0 63 64 1 playerx 0");
}
else if (lvl[2]+1 == dimension[1]) {
out.add("LINK "@prefix@"_"@getletter(lvl[1]-1)@getnumber(lvl[2]+1)@".nw 0 0 1 64 61 playery");
out.add("LINK "@prefix@"_"@getletter(lvl[1])@getnumber(lvl[2])@".nw 0 0 64 1 playerx 61");
}
else {
out.add("LINK "@prefix@"_"@getletter(lvl[1]-1)@getnumber(lvl[2]+1)@".nw 0 0 1 64 61 playery");
out.add("LINK "@prefix@"_"@getletter(lvl[1])@getnumber(lvl[2])@".nw 0 0 64 1 playerx 61");
out.add("LINK "@prefix@"_"@getletter(lvl[1])@getnumber(lvl[2]+2)@".nw 0 63 64 1 playerx 0");
}
}
else {
if (lvl[2]+1 == 1) {
out.add("LINK "@prefix@"_"@getletter(lvl[1]-1)@getnumber(lvl[2]+1)@".nw 0 0 1 64 61 playery");
out.add("LINK "@prefix@"_"@getletter(lvl[1]+1)@getnumber(lvl[2]+1)@".nw 63 0 1 64 0 playery");
out.add("LINK "@prefix@"_"@getletter(lvl[1])@getnumber(lvl[2]+2)@".nw 0 63 64 1 playerx 0");
}
else if (lvl[2]+1 == dimension[1]) {
out.add("LINK "@prefix@"_"@getletter(lvl[1]-1)@getnumber(lvl[2]+1)@".nw 0 0 1 64 61 playery");
out.add("LINK "@prefix@"_"@getletter(lvl[1]+1)@getnumber(lvl[2]+1)@".nw 63 0 1 64 0 playery");
out.add("LINK "@prefix@"_"@getletter(lvl[1])@getnumber(lvl[2])@".nw 0 0 64 1 playerx 61");
}
else {
out.add("LINK "@prefix@"_"@getletter(lvl[1]-1)@getnumber(lvl[2]+1)@".nw 0 0 1 64 61 playery");
out.add("LINK "@prefix@"_"@getletter(lvl[1]+1)@getnumber(lvl[2]+1)@".nw 63 0 1 64 0 playery");
out.add("LINK "@prefix@"_"@getletter(lvl[1])@getnumber(lvl[2])@".nw 0 0 64 1 playerx 61");
out.add("LINK "@prefix@"_"@getletter(lvl[1])@getnumber(lvl[2]+2)@".nw 0 63 64 1 playerx 0");
}
}
return out;
}
Three year bump? Yes I did, negative rep me. ;D
-EDIT-
Actually it doesn't seem possible for a Mac user to do this...
.exes... youtube videos talking about the level editor.. its all a bunch of voodoo
witchcraft us cool cats can't use or something. :[