Graal Forums  

Go Back   Graal Forums > Development Forums > NPC Scripting > Code Gallery
FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply
 
Thread Tools Search this Thread Display Modes
  #31  
Old 07-25-2011, 11:15 AM
Crow Crow is offline
ǝɔɐɹq ʎןɹnɔ
Crow's Avatar
Join Date: Dec 2006
Location: Germany
Posts: 5,153
Crow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond repute
Quote:
Originally Posted by fatcat123 View Post
How do I give GraalControl focus?
It has focus by default. You know that it has focus when you can walk around using your arrow keys (or whatever you use to move).
__________________
Reply With Quote
  #32  
Old 08-03-2011, 05:01 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
It has focus by default. You know that it has focus when you can walk around using your arrow keys (or whatever you use to move).
The tool runs just fine, but when you activate it, you cannot scroll. It'll only stay on exit. When you create another staff tool, it'll scroll to the first and second one, but not the third. Also, the second one will keep on lighting up as if it's chosen.
Reply With Quote
  #33  
Old 08-03-2011, 05:08 PM
Crow Crow is offline
ǝɔɐɹq ʎןɹnɔ
Crow's Avatar
Join Date: Dec 2006
Location: Germany
Posts: 5,153
Crow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond repute
Quote:
Originally Posted by fatcat123 View Post
The tool runs just fine, but when you activate it, you cannot scroll. It'll only stay on exit. When you create another staff tool, it'll scroll to the first and second one, but not the third. Also, the second one will keep on lighting up as if it's chosen.


Edit: Only thing I can think of is a broken toolEntries array. What does yours look like?
__________________

Last edited by Crow; 08-03-2011 at 06:52 PM..
Reply With Quote
  #34  
Old 08-03-2011, 06:35 PM
ff7chocoboknight ff7chocoboknight is offline
Skyzer Zolderon
ff7chocoboknight's Avatar
Join Date: Dec 2006
Location: New Hampshire, United States
Posts: 725
ff7chocoboknight is a glorious beacon of lightff7chocoboknight is a glorious beacon of lightff7chocoboknight is a glorious beacon of light
Send a message via AIM to ff7chocoboknight Send a message via MSN to ff7chocoboknight
So it works, but it doesn't work?
__________________
Reply With Quote
  #35  
Old 08-04-2011, 03:44 AM
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
Log onto the server "Dev iKiDD". I added you it so you can see it for yourself.
Reply With Quote
  #36  
Old 08-04-2011, 11:35 AM
Crow Crow is offline
ǝɔɐɹq ʎןɹnɔ
Crow's Avatar
Join Date: Dec 2006
Location: Germany
Posts: 5,153
Crow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond repute
Quote:
Originally Posted by fatcat123 View Post
Log onto the server "Dev iKiDD". I added you it so you can see it for yourself.
Again, I suspect a broken array:

Quote:
Originally Posted by Crow View Post
Edit: Only thing I can think of is a broken toolEntries array. What does yours look like?
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.
__________________

Last edited by Crow; 08-04-2011 at 11:46 AM..
Reply With Quote
  #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
  #38  
Old 08-04-2011, 05:29 PM
cbk1994 cbk1994 is offline
the fake one
cbk1994's Avatar
Join Date: Mar 2003
Location: San Francisco
Posts: 10,718
cbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond reputecbk1994 has a reputation beyond repute
Send a message via AIM to cbk1994
Quote:
Originally Posted by fatcat123 View Post
The tool won't even work now =S
Never mind. You forgot to remove the space by //@CLIENTSIDE
No he didn't. The forums add spaces after every line in scripts.
__________________
Reply With Quote
  #39  
Old 08-04-2011, 05:39 PM
Crow Crow is offline
ǝɔɐɹq ʎןɹnɔ
Crow's Avatar
Join Date: Dec 2006
Location: Germany
Posts: 5,153
Crow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond repute
Quote:
Originally Posted by cbk1994 View Post
No he didn't. The forums add spaces after every line in scripts.
Aye.
__________________
Reply With Quote
  #40  
Old 08-10-2011, 11:56 AM
Emera Emera is offline
Delterian Hybrid
Emera's Avatar
Join Date: Mar 2011
Location: Newcastle Upon-Tyne
Posts: 1,704
Emera is a jewel in the roughEmera is a jewel in the rough
I fixed that problem where is misses out the last staff tool and also added a functional description system in there too. I thought it was a nice touch. Here is is.
PHP Code:
//#CLIENTSIDE
function onCreated() {
  
// staff tool stuff 
  
this.toolOn false;
  
this.toolIdx 0;
  
// add new items here 
  
this.toolEntries = {
    {
"Update Level""bush.png""Updates the current level."},
  };
}
// 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 119this.toolEntries.size() * 4089);
    
with(findImg(200)) {
      
polygon temp.p;
      
red green blue 1;
      
alpha 0.75;
      
mode 1;
      
border true;
      
layer 5;
    }
    
// text 
    
with(findImg(201)) {
      
temp.8;
      
GraalControl.height 58;
      
text thiso.toolEntries[thiso.toolIdx][2];
      
font "Arial";
      
zoom 0.5;
      
red green blue 0;
      
layer 6;
      
style "b";
    }
    
//desc
    
with(findImg(212)) {
      
temp.8;
      
GraalControl.height 48;
      
text thiso.toolEntries[thiso.toolIdx][3];
      
font "Arial";
      
zoom 0.5;
      
red green blue 0;
      
layer 6;
      
style "b";
    }
    
//title
    
with(findImg(213)) {
      
temp.70;
      
GraalControl.height 115;
      
text "Staff Panel - " servername;
      
font "Arial";
      
zoom 0.5;
      
red green blue 0;
      
layer 6;
      
style "b";
      if (
mouseover) {
        
say2 lol;
      }
    }
    
// 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.5;
        
mode 1;
        
layer 6;
      }
    }
  }
  
// update text & alpha 
  
findImg(201).text this.toolEntries[this.toolIdx][0];
  
findimg(212).text this.toolEntries[this.toolIdx][2];
  
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 == 219) { // [
    
if (!this.toolOn) {
      
this.toolOn true;
      
this.toolIdx 0;
      
DrawTool(true);
    } else {
      
this.toolIdx++;
      
this.toolIdx %= this.toolEntries.size();
      
DrawTool(false);
    }
  }
  elseif(
code == 221) { // ]
    
if (!this.toolOn) return;
    
temp.ReplaceText(this.toolEntries[this.toolIdx][0].upper(), " ""_");
    (
"StaffTool" temp.f)();
  }
}
// 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 {
  
xywywhxh
};
  function 
onPlayerDies() { 
  if (
this.toolOn
    
DrawTool(true); 

__________________
Reply With Quote
  #41  
Old 08-10-2011, 12:20 PM
Crow Crow is offline
ǝɔɐɹq ʎןɹnɔ
Crow's Avatar
Join Date: Dec 2006
Location: Germany
Posts: 5,153
Crow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond repute
Quote:
Originally Posted by Emera View Post
I fixed that problem where is misses out the last staff tool and also added a functional description system in there too. I thought it was a nice touch. Here is is.
I already did that a while ago a couple posts above, and you removed the exit entry, which makes this whole tool a bit stupid.
__________________

Last edited by Crow; 08-10-2011 at 12:34 PM..
Reply With Quote
  #42  
Old 09-07-2011, 02:30 PM
irock1 irock1 is offline
Registered User
Join Date: Aug 2011
Posts: 20
irock1 can only hope to improve
Not working d:
__________________
YOUR A
Reply With Quote
  #43  
Old 09-07-2011, 02:37 PM
Crow Crow is offline
ǝɔɐɹq ʎןɹnɔ
Crow's Avatar
Join Date: Dec 2006
Location: Germany
Posts: 5,153
Crow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond repute
Quote:
Originally Posted by irock1 View Post
Not working d:
Did you use this code snippet?
__________________
Reply With Quote
  #44  
Old 07-18-2015, 01:00 PM
iGraalian iGraalian is offline
Registered User
Join Date: Jul 2015
Posts: 12
iGraalian is on a distinguished road
Does this staff panel still work?
I tried it on my server and it seems to not be functional.
Reply With Quote
  #45  
Old 07-18-2015, 01:45 PM
Crow Crow is offline
ǝɔɐɹq ʎןɹnɔ
Crow's Avatar
Join Date: Dec 2006
Location: Germany
Posts: 5,153
Crow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond reputeCrow has a reputation beyond repute
Pretty sure it still does, yup.
__________________
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 08:31 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.