View Single Post
  #37  
Old 08-04-2011, 05:05 PM
fatcat123 fatcat123 is offline
Levels Artist
fatcat123's Avatar
Join Date: Aug 2010
Location: Wisconsin
Posts: 70
fatcat123 is an unknown quantity at this point
Quote:
Originally Posted by Crow View Post
Again, I suspect a broken array:



Show me yours, please.

Edit: Nevermind. I ****ed up one of the lines, not even sure how I managed to do that. Line 79:
PHP Code:
this.toolIdx %= this.toolEntries.size() - 1
Needs to be replaced with this instead:
PHP Code:
this.toolIdx %= this.toolEntries.size(); 


Editē: Full code, fixed:
PHP Code:
//#CLIENTSIDE
function onCreated() {
  
// staff tool stuff
  
this.toolOn false;
  
this.toolIdx 0;
  
  
// add new items here
  
this.toolEntries = {
    { 
"Exit""block.png" },
    { 
"Update Level""block.png" }
  };
}

// draw the staff tool
function DrawTool(create) {
  
// create image objects
  
if (create) {
    
// background
    
temp.GraalControl.width this.toolEntries.size() * 20;
    
temp.GetPolyRect(temp.xGraalControl.height 104this.toolEntries.size() * 4064);
    
with (findImg(200)) {
      
polygon temp.p;
      
red green blue 0;
      
alpha 0.75mode 1;
      
layer 5;
    }
    
    
// text
    
with (findImg(201)) {
      
temp.8;
      
GraalControl.height 58;
      
text thiso.toolEntries[thiso.toolIdx][0];
      
font "Arial"zoom 0.5;
      
red green blue 1;
      
layer 6;
    }
    
    
// icons
    
for (temp.0this.toolEntries.size(); i++) {
      
with (findImg(202 i)) {
        
temp.40;
        
GraalControl.height 96;
        
image thiso.toolEntries[i][1];
        
partx party 0;
        
partw parth 32;
        
alpha 0.5mode 1;
        
layer 6;
      }
    }
  }
  
  
// update text & alpha
  
findImg(201).text this.toolEntries[this.toolIdx][0];
  
  
temp.ci this.toolIdx// current tool
  
temp.li = (ci ci this.toolEntries.size() - 1); // last tool
  
findImg(202 ci).alpha 1;
  
findImg(202 li).alpha 0.5;
}

// reposition the staff tool when resizing Graal
function GraalControl.onResize(nwnh) {
  if (!
this.toolOn)
    return;
  
  
DrawTool(true);
}

// keyboard stuff
function GraalControl.onKeyDown(code) {
  if (
code == 69) { // E
    
if (!this.toolOn) {
      
this.toolOn  true;
      
this.toolIdx 0;
      
      
DrawTool(true);
    } else {
      
this.toolIdx++;
      
this.toolIdx %= this.toolEntries.size();

      
DrawTool(false);
    }
  } elseif (
code == 87) { // W
    
if (!this.toolOn)
      return;
    
    
temp.ReplaceText(this.toolEntries[this.toolIdx][0].upper(), " ""_");
    (
"StaffTool" temp.f)();
  }
}


// close staff tool
function StaffToolEXIT() {
  
this.toolOn false;
  
hideImgs(200201 this.toolEntries.size());
}

// update level
function StaffToolUPDATE_LEVEL() {
  
shared.chat("");
  
sleep(0.05);
  
shared.chat("update level");
}


// Dusty's, restyled
function ReplaceText(txtab) {
  if (
txt.pos(a) < 0)
    return 
txt;
  
  
temp.len a.length();
  
temp.txtpos txt.positions(a);
  
temp.newtxt txt.substring(0txtpos[0]);
  
  for (
temp.itemp.txtpos) {
    
temp.txt.substring(temp.len).pos(a);
    
temp.newtxt @= b;
    
temp.newtxt @= txt.substring(temp.lentemp.p);
  }
  
  return 
temp.newtxt;
}

// Crow's :3
function GetPolyRect(xywh)
  return { 
xywywhx}; 
If a mod would be so kind and edit the first post with this.
The tool won't even work now =S
Never mind. You forgot to remove the space by //@CLIENTSIDE

Last edited by fatcat123; 08-04-2011 at 05:06 PM.. Reason: Ohhh CLIENTSIDE
Reply With Quote