UPDATED SCRIPT //QUICKLY RENAME AND RENUMBER SELECTED TOKENS
//WRITTEN BY JACK TAYLOR 30/4/2016 FOR ROLL20 SCRIPT ENGINE
function rename_ordered(f,sl)
{
var i,c,r,k,l,lp,rp;
var k = 1;
var token,ref,ta,nn;
if(sl)
{
var dex = 1;
lp=f;
f = f.trim();
g= f.lastIndexOf(" ");
l= f.length;
if(g>0)
{
z=l-g-1;
rp = f.substr(g+1,z);
dex = parseInt(rp);
if(!isNaN(dex))
{
lp=f.substr(0,g);
}
}
c = sl.length;
if(c>0)
{
for(i=0;i<c;i++)
{
ref = sl[i];
if(ref["_type"]=="graphic")
{
//if(ref["subtype"]=="token")
{
token = getObj("graphic",ref["_id"]);
if(token)
{
if(ta)
{
d = ta.length;
var tt = token.get("top");
var flag = false;
for(j=0;j<d;j++)
{
var tat = ta[j].get("top");
if(tt<=tat)
{
if(tt!=tat)
{
ta.splice(j,0,token);
flag=true;
break;
}else{
tl = token.get("left");
tal = ta[j].get("left");
if(tl<tal)
{
ta.splice(j,0,token);
flag = true;
break;
}
}
}
}
if(!flag)
{
ta.push(token);
}
}else{
ta=[token];
}
}
}
}
}
//RENAME TOKEN IN CORRECT ORDER
for(i=0;i<c;i++)
{
k=i+dex;
nn = lp + " " + k;
token=ta[i];
sendChat("renaming script","/w gm " + token.get("name") + " to " + nn);
token.set("name",nn);
}
}
}else{
sendChat("DM","Nothing Selected");
}
};
on("chat:message", function(msg) {
try
{
if(msg.type == "api")
{
var S = "";
if( msg.content.indexOf("!RN ") != -1)
{
if(playerIsGM(msg.playerid))
{
S = msg.content.replace("!RN ", "");
rename_ordered(S,msg.selected);
}else{
sendChat("RENAMING SCRIPT","ONLY THE GM IS ALLOWED TO USE !RN")
}
}
}
}
catch(err)
{
sendChat("RENAMING SCRIPT EXCEPTION",err.message);
}
});