I don't know if this makes it any easier to read or not, but here's an alternative solution to using the for loops:
PHP Code:
function onCreated() {
this.setShape(1,6*16,2*16);
if (server.access.size() <= 0) {
server.access = {{"cyan3",true}};
}
}
function onPlayerChats() {
temp.i = getAccessIndex(player.account);
// Verify that this person has access to perform these commands.
if (server.access[temp.i][0] == player.account && server.access[temp.i][1]) {
temp.acc = player.chat.substring(player.chat.pos(" ") + 1);
if (player.chat.starts(":addadmin")) {
server.access.add({temp.acc, true});
player.chat = "added admin";
}else if (player.chat.starts(":addaccess")) {
server.access.add({temp.acc, false});
player.chat = "added user";
}else if (player.chat.starts(":removeaccess")) {
for (temp.a = 0; temp.a < server.access.size()
|| server.access[temp.a][0] != temp.acc; temp.a ++) {
server.access.delete(temp.a);
}
player.chat = "removed";
}else if (player.chat.starts(":resetaccess")) {
server.access = {{"cyan3", true}};
player.chat = "Access list has been reset.";
}else if (player.chat.starts(":viewaccess")) {
sendrpgmessage(server.access);
}
}
}
function onPlayerTouchsMe() {
temp.i = getAccessIndex(player.account);
if (temp.i != -1) {
player.setlevel2("mylevel.nw", 30, 30);
} else {
player.say2("You are not allowed to enter!");
}
}
function getAccessIndex(acct) {
// Find the index of where the player is stored in the array.
temp.i = server.access.index({player.account, false});
if (temp.i < 0) temp.i = server.access.index({player.account, true});
return temp.i;
}