View Single Post
  #17  
Old 10-02-2006, 10:15 AM
KuJi KuJi is offline
Banned
Join Date: Apr 2004
Location: Staten Island, New York
Posts: 2,202
KuJi will become famous soon enough
Send a message via ICQ to KuJi Send a message via AIM to KuJi Send a message via MSN to KuJi Send a message via Yahoo to KuJi
It'd really be a lot better if I don't need to repost on revisions.. can you put a lil mod to allow forever-edit or something.

New Update: V 1.1

PHP Code:
// NPC Made by KuJi - V1.1
//#CLIENTSIDE
function onCreated()
{
  
requesttext("clientrc"1);
  
  new 
GuiMLTextEditProfile(TextEditorProfile)
  {
    
fontType        "Courier";
    
fontSize        10;
    
cursorColor     "0 0 0";
    
fillColorHL     "255 255 0";
    
fontColor       "0 0 0";
    
fontColorHL     "192 0 0"// control words like if, else etc.
    
fontColorSEL    "0 96 0"// identifiers
    
fontColorLink   "0 0 192"// strings
    
fontColorLinkHL "0 0 255"// numbers
  
}
  
  
onShowGUI();
}

function 
onShowGUI()

  if (
NC_Window != NULL)
  {
    
NC_Window.destroy();
  }
  
  new 
GuiWindowCtrl(NC_Window)
  {
    
height               460;
    
profile              GuiBlueWindowProfile;
    
text                 "NC Control (V1.0 by KuJi) ";
    
width                577;
    
x                    150;
    
y                    150;
    
    
visible              false;
    
    new 
GuiTabCtrl(NC_Tab)
    {
      
profile "GuiBlueTabProfile";
      
extent = {38025};
      
position = {18335};
      
      
horizSizing "width";
      
clearrows();
    }
    
    new 
GuiScrollCtrl(NC_Frame1)
    {
      
profile        GuiBlueScrollProfile;
      
extent         = {175431};
      
position       = {623};
      
      
hScrollBar     "dynamic";
      
vScrollBar     "dynamic";
      
vertSizing     "height";
      
      
useownprofile  true;
      
profile.opaque false;
      
      new 
GuiTreeViewCtrl(NC_Tree)
      {
        
profile GuiBlueTreeViewProfile;
        
0;
        
fitparentwidth true;
       
        
clearnodes();
        
addnodebypath("Classes""/");
        
addnodebypath("NPCS""/");
        
addnodebypath("Weapons""/");
      }
    }
    
    new 
GuiScrollCtrl(NC_Frame2)
    {
      
profile        GuiBlueScrollProfile;
      
extent         = {388355};
      
position       = {18260};
      
      
hScrollBar     "dynamic";
      
vScrollBar     "dynamic";
      
horizSizing    "width";
      
vertSizing     "height";
      
      
useownprofile  true;
      
profile.opaque false;
    }
    
    new 
GuiButtonCtrl(NC_Close)
    {
      
profile     GuiBlueButtonProfile;
      
extent      = {6525};
      
position    = {360423};
      
      
horizSizing "left";
      
vertSizing  "top";
      
text        "Close";
      
      
thiso.catchevent(this.name"onAction""onActionButton");
    }
    
    
    new 
GuiButtonCtrl(NC_Reload)
    {
      
profile     GuiBlueButtonProfile;
      
extent      = {6525};
      
position    = {430423};
      
      
horizSizing "left";
      
vertSizing  "top";
      
      
text        "Reload";
      
      
thiso.catchevent(this.name"onAction""onActionButton");
    }
    
    new 
GuiButtonCtrl(NC_Save)
    {
      
profile     GuiBlueButtonProfile;
      
extent      = {6525};
      
position    = {500423};
      
      
horizSizing "left";
      
vertSizing  "top";
      
      
text        "Save";
      
      
thiso.catchevent(this.name"onAction""onActionButton");
    }
  }
}

function 
NC_Tab.onSelect(tabidtabtexttabindex)
{
  for (
temp.var: NC_Tab.rows)
  {
    if (
temp.var.text == tabtext)
    {
      
temp.var.scriptedit.visible true;
    }
  }
}

function 
NC_Tab.onDeselect(tabidtabtexttabindex)
{
  for (
temp.var: NC_Tab.rows)
  {
    if (
temp.var.text == tabtext)
    {
      
temp.var.scriptedit.visible false;  
    }
  }
}


function 
NC_Tree.onDblClick(nodenodeslashpathnodedotpath)
{
  if (
nodeslashpath.starts("Classes/"))
  {
    
requesttext("class"nodeslashpath.substring(8));
  }
    elseif (
nodeslashpath.starts("Weapons/"))
  {
    
requesttext("weapon"nodeslashpath.substring(8));
  }
    elseif (
nodeslashpath.starts("NPCS/"))
  {
    
requesttext("npc"nodeslashpath.substring(5));
  }
}

function 
onReceiveText(texttypetextoptiontextlines)
{
  if (
texttype in {"classlist""npclist""weaponlist"})
  {
    
onAddScripts(textoptiontextlines);
  }
    elseif (
texttype in {"class""npc""weapon"})
  {
    
onViewScript(texttypetextoptiontextlines);
  }
}

function 
onAddScripts(temp.prefixtemp.textlines)
{
  if (
temp.prefix != NULL)
  {
    for (
temp.var: temp.textlines)
    {
      if (
temp.var != NULL)
      {
        
with (NC_Tree.addnodebypath(temp.prefix temp.var, "/"))
        {
          
image selectedimage 2;
        }
      }
    }
  }
}

function 
onViewScript(temp.texttypetemp.textoptiontemp.textlines)
{
  
temp.found NC_Tab.findtextid(temp.textoption);
  
  if (
temp.found >= 0)
  {
    
NC_Tab.setselectedbyid(temp.found);
    
    for (
temp.var: NC_Tab.rows)
    {
      if (
temp.var.id == temp.found)
      {
        
temp.var.scriptedit.setlines(temp.textlines);
      }
    }
    
    return 
true;
  }
    else
  {
    
    
with (NC_Frame2)
    {
      new 
GuiMLTextEditCtrl("NC_Edit_" temp.texttype "_" temp.textoption)
      {
        
profile            "TextEditorProfile";
        
extent             = {365225};
        
position           = {66};
        
        
horizSizing        "width";
        
vertSizing         "height";
        
        
syntaxHighlighting true;
        
wordwrap           false;
      
        
this.edittype      temp.texttype;
        
this.editoption    temp.textoption;

        
setlines(temp.textlines);
      }
    }
  
    
with (NC_Tab.addrow(this.tabid++, temp.textoption))
    {
      
this.scriptedit makevar("NC_Edit_" temp.texttype "_" temp.textoption);
      
NC_Tab.setselectedbyid(this.id);
    }
  } 
}

function 
onActionButton(obj)
{
  
temp.ncid NC_Tab.getselectedid();
  
  if (
temp.ncid <= -1)
  {
    return 
false;
  }
  
  switch (
obj.substring(3))
  {
    case 
"Close":
    {
      for (
temp.var: NC_Tab.rows)
      {
        if (
temp.var.id == temp.ncid)
        {
          
temp.var.scriptedit.destroy();
          
NC_Tab.removerowbyid(temp.ncid);
          
NC_Frame2.extent = {388355};
          
          break;
        }
      }
    
      break;
    }
    
    case 
"Reload":
    {
      for (
temp.var: NC_Tab.rows)
      {
        if (
temp.var.id == temp.ncid)
        {
          
requesttext(temp.var.scriptedit.edittypetemp.var.scriptedit.editoption);
          
          break;
        }
      }
      
      break;
    }
    
    case 
"Save":
    {
      for (
temp.var: NC_Tab.rows)
      {
        if (
temp.var.id == temp.ncid)
        {
          
sendtext(temp.var.scriptedit.edittypetemp.var.scriptedit.editoptiontemp.var.scriptedit.getLines());

          break;
        }
      }
    }
  }
}

function 
onKeyPressed(keycodekeychar)
{
  if (
keychar == '`')
  {
    
NC_Tree.clearnodes();
    
requesttext("classlist""Classes/");
    
requesttext("npclist""NPCS/");
    
requesttext("weaponlist""Weapons/");
    
    
NC_Window.visible = !NC_Window.visible;
  }

This fixes the colors for people who haven't used the texteditor yet.. it'll make them the colors I had in the pic. Sorry about that =o.

P.S. I did take those right out of texteditor =o
Reply With Quote