Jump to content

Search the Community

Showing results for tags 'editor'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • RuneLocus
    • News & Announcements
    • Information Booth
    • Website Support
    • Introductions
    • Chat
    • Forum Games
  • RuneScape Development
    • RSPS General
    • RuneScape Private Server (RS2)
    • RuneScape Private Server (503+)
    • RuneScape Private Server (EoC 742+)
  • Other
    • Digital Art
    • Gaming
    • Webdevelopment
    • Computers
  • Marketplace
    • RuneScape Market
    • RSPS Market
    • Others Market
    • Freelance Middleman Services
  • Super Secret Club's Topics

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Found 109 results

  1. Hope

    RS2 Map Editor

    So since I've spent almost a year now making custom maps for Kratos (using a basic editor that I made a long time ago), I've decided to start a project to build an editor with capabilities similar to the real runescape one. I'll keep posting & updating the main post with my progress as I go. With very little tuning, this editor could be used for any RS2 revision. When the editor is in its final stage, it'll include: Texture selection Tile shape selection A "paintbrush" type style to editing the tiles. Object editor (with definitions). Tile flag selections (such as no-walk or removing roofs) Support for the "weird" objects (such as piers and bridges) - will explain later on when I get to it... the client handles these in a weird way. Current Media: Old media:
  2. 667 does anyone have a 667 cache editor? so i can add a roll option to me dice.
  3. Hey guys im looking for a updated 667 cache editor... I need to change my client background but it wont pack... so please if you could link me thank you,
  4. Hello Everyone, I would like to start off by saying that I'm new to java development. Me and a couple friends are just fooling around on Rune Evo 4 trying to learn how code works while playing our favorite game. So we recently started using Rune Evo 4. If you don't already know, Rune Evo 4 doesn't use the unpacked drops/spawns/prices like previous rune evo's. Instead you have to use these tools which allow you to edit prices, drops, ect. I have ran into a problem when attempting to run these tools... First is the DropEditor.bat. When I try to just run the bat I get this error: [QUOTE]Error: Could not find or load main class DropEditor.java Press any key to continue...[/QUOTE] If I attempt to run the DropEditor.java through eclipse then I get this error: [QUOTE]Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError at com.foxtrot.utils.tools.DropEditor.<init>(DropEditor.java:67) at com.foxtrot.utils.tools.DropEditor$17.run(DropEditor.java:695) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Caused by: java.lang.NullPointerException at com.foxtrot.Server.getSavePath(Server.java:145) at com.foxtrot.utils.NPCDrops.<clinit>(NPCDrops.java:17) ... 16 more[/QUOTE] This is quite frustrating because I can't edit any prices or drops... If anyone could please explain to me what I am doing wrong I would really appreciate it. I have attempted to google around and look at the code myself the past couple days but as I said I am newbie... Thank you to anyone who takes the time to read this. PS. I posted the DropEditor.java below if you wish to view it. [CODE]package com.foxtrot.utils.tools; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.io.IOException; import java.io.RandomAccessFile; import java.util.ArrayList; import java.util.Comparator; import java.util.Enumeration; import java.util.Map.Entry; import java.util.Random; import java.util.SortedMap; import java.util.TreeMap; import javax.swing.GroupLayout; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPopupMenu; import javax.swing.JProgressBar; import javax.swing.JScrollPane; import javax.swing.JSeparator; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.JTree; import javax.swing.LayoutStyle; import javax.swing.SwingConstants; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.WindowConstants; import javax.swing.event.TableModelEvent; import javax.swing.event.TableModelListener; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; import javax.swing.table.DefaultTableModel; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; import javax.swing.tree.TreePath; import com.foxtrot.Server; import com.foxtrot.cache.Cache; import com.foxtrot.cache.loaders.ItemDefinitions; import com.foxtrot.cache.loaders.NPCDefinitions; import com.foxtrot.game.npc.Drop; import com.foxtrot.utils.NPCDrops; import com.foxtrot.utils.Utils; /** * @author Marvin */ public class DropEditor extends JFrame { private static final long serialVersionUID = 1L; private DefaultMutableTreeNode dropsNode = new DefaultMutableTreeNode("Drops"); private DefaultTreeModel dropsTreeModel = new DefaultTreeModel(dropsNode); private NPCDrops loader = new NPCDrops(); Random random = new Random(); private JMenuItem dumpSpecificDropMenuItem; private JProgressBar progressBar; private JPopupMenu tablePopup; private JMenuItem testItem; /** * Creates new form DropEditor */ public DropEditor() { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) { } try { Cache.init(); NPCDrops.init(); } catch (IOException e) { e.printStackTrace(); } SortedMap<Integer, ArrayList<Drop>> values = new TreeMap<Integer, ArrayList<Drop>>( new Comparator<Integer>() { [MENTION=15855]Over[/MENTION]ride public int compare(Integer o1, Integer o2) { if (o1 > o2) { return 1; } else if (o1 < o2) { return -1; } return 0; } }); values.putAll(loader.getDropArray()); loader.getDropArray().putAll(values); for (Entry<Integer, ArrayList<Drop>> s : loader.getDropArray().entrySet()) { dropsNode.add(new DefaultMutableTreeNode(s.getKey())); } initComponents(); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" // desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { treeScroll = new JScrollPane(); dropsTree = new JTree(); searchField = new JTextField(); searchIdLabel = new JLabel(); middleSeparator = new JSeparator(); dropsPanel = new JPanel(); dropsForLabel = new JLabel(); headerSeparator = new JSeparator(); npcIdLabel = new JLabel(); tableScroll = new JScrollPane(); dropTable = new JTable(); tablePopup = new JPopupMenu(); testItem = new JMenuItem("Test Rate"); addNew = new JButton(); deleteSelected = new JButton(); repackDrop = new JButton(); scanButton = new JButton(); addNewButton = new JButton(); removeDrop = new JButton(); fileMenu = new JMenuBar(); jMenu1 = new JMenu(); scan = new JMenuItem(); dumpDropMenuItem = new JMenuItem(); dumpSpecificDropMenuItem = new JMenuItem(); progressBar = new JProgressBar(-1, Utils.getNPCDefinitionsSize()); progressBar.setStringPainted(true); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); setIconImage(new ImageIcon("./data/tools/icon.png").getImage()); setTitle(Server.getConfig().getServerName() + " Drop Editor"); dropsTree.setModel(dropsTreeModel); dropsTree.addTreeSelectionListener(new TreeSelectionListener() { public void valueChanged(TreeSelectionEvent evt) { dropsTreeValueChanged(evt); } }); treeScroll.setViewportView(dropsTree); searchField.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { searchFieldActionPerformed(evt); } }); searchIdLabel.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N searchIdLabel.setText("Search ID:"); middleSeparator.setOrientation(SwingConstants.VERTICAL); dropsForLabel.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N dropsForLabel.setText("Drops for NPC ID:"); npcIdLabel.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N npcIdLabel.setText(" "); dropTable.setModel(new DefaultTableModel(new Object[][] {}, new String[] {})); testItem.addActionListener(new ActionListener() { [MENTION=15855]Over[/MENTION]ride public void actionPerformed(ActionEvent arg0) { testDropRate(arg0); } }); tablePopup.add(testItem); dropTable.addMouseListener(new MouseListener() { [MENTION=15855]Over[/MENTION]ride public void mouseClicked(MouseEvent arg0) { if (arg0.getButton() == MouseEvent.BUTTON3) { int row = dropTable.rowAtPoint(arg0.getPoint()); dropTable.changeSelection(row, dropTable.getSelectedColumn(), false, false); tablePopup.show(dropTable, arg0.getX(), arg0.getY()); } } [MENTION=15855]Over[/MENTION]ride public void mouseEntered(MouseEvent arg0) { // TODO Auto-generated method stub } [MENTION=15855]Over[/MENTION]ride public void mouseExited(MouseEvent arg0) { // TODO Auto-generated method stub } [MENTION=15855]Over[/MENTION]ride public void mousePressed(MouseEvent arg0) { // TODO Auto-generated method stub } [MENTION=15855]Over[/MENTION]ride public void mouseReleased(MouseEvent arg0) { // TODO Auto-generated method stub } }); tableScroll.setViewportView(dropTable); addNew.setText("Add New Drop"); addNew.addActionListener(new ActionListener() { [MENTION=15855]Over[/MENTION]ride public void actionPerformed(ActionEvent evt) { addNewActionPerformed(evt); } }); deleteSelected.setText("Delete Selected Drop"); deleteSelected.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { deleteSelectedActionPerformed(evt); } }); repackDrop.setText("Repack"); repackDrop.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { repackDropActionPerformed(evt); } }); scanButton.setText("Scan"); scanButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { scanListActionPerformed(evt); } }); GroupLayout dropsPanelLayout = new GroupLayout(dropsPanel); dropsPanel.setLayout(dropsPanelLayout); dropsPanelLayout .setHorizontalGroup(dropsPanelLayout .createParallelGroup( GroupLayout.Alignment.LEADING) .addGroup( GroupLayout.Alignment.TRAILING, dropsPanelLayout .createSequentialGroup() .addContainerGap() .addGroup( dropsPanelLayout .createParallelGroup( GroupLayout.Alignment.TRAILING) .addComponent( headerSeparator, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 424, Short.MAX_VALUE) .addGroup(GroupLayout.Alignment.LEADING, dropsPanelLayout.createSequentialGroup().addComponent(dropsForLabel) .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(npcIdLabel, GroupLayout.PREFERRED_SIZE, 200, GroupLayout.PREFERRED_SIZE)) .addComponent( tableScroll, GroupLayout.Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 424, Short.MAX_VALUE) .addGroup(GroupLayout.Alignment.LEADING,dropsPanelLayout.createSequentialGroup() .addComponent(addNew, GroupLayout.DEFAULT_SIZE, 101, Short.MAX_VALUE) .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) .addComponent(deleteSelected,GroupLayout.DEFAULT_SIZE,101,Short.MAX_VALUE) .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) .addComponent(repackDrop, GroupLayout.DEFAULT_SIZE, 101, Short.MAX_VALUE) .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) //.addComponent(scanButton, GroupLayout.DEFAULT_SIZE, 101, Short.MAX_VALUE) //.addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) .addContainerGap())))); dropsPanelLayout .setVerticalGroup(dropsPanelLayout .createParallelGroup( GroupLayout.Alignment.LEADING) .addGroup( dropsPanelLayout .createSequentialGroup() .addGroup( dropsPanelLayout .createParallelGroup( GroupLayout.Alignment.BASELINE) .addComponent( dropsForLabel) .addComponent( npcIdLabel)) .addPreferredGap( LayoutStyle.ComponentPlacement.RELATED) .addComponent( headerSeparator, GroupLayout.PREFERRED_SIZE, 9, GroupLayout.PREFERRED_SIZE) .addPreferredGap( LayoutStyle.ComponentPlacement.UNRELATED) .addComponent( tableScroll, GroupLayout.DEFAULT_SIZE, 327, Short.MAX_VALUE) .addPreferredGap( LayoutStyle.ComponentPlacement.RELATED) .addGroup( dropsPanelLayout .createParallelGroup( GroupLayout.Alignment.BASELINE) .addComponent(addNew) .addComponent( deleteSelected) .addComponent( repackDrop)) .addContainerGap())); addNewButton.setText("Add New NPC Drop"); addNewButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { addNewButtonActionPerformed(evt); } }); removeDrop.setText("Remove NPC Drop"); removeDrop.setToolTipText("Removes the currently Selected NPC Drop"); removeDrop.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { removeDropActionPerformed(evt); } }); jMenu1.setText("File"); scan.setText("Scan for High Amounts"); scan.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { scanListActionPerformed(evt); } }); jMenu1.add(scan); dumpDropMenuItem.setText("Dump all monster drops"); dumpDropMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { dumpDropMenuItemActionPerformed(evt); } }); jMenu1.add(dumpDropMenuItem); dumpSpecificDropMenuItem.setText("Dump specific monster drop"); dumpSpecificDropMenuItem .addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { dumpSpecificDropMenuItemActionPerformed(evt); } }); jMenu1.add(dumpSpecificDropMenuItem); fileMenu.add(jMenu1); setJMenuBar(fileMenu); GroupLayout layout = new GroupLayout( getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup(layout .createParallelGroup(GroupLayout.Alignment.LEADING) .addGroup( layout.createSequentialGroup() .addContainerGap() .addGroup( layout.createParallelGroup( GroupLayout.Alignment.LEADING, false) .addComponent( removeDrop, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup( layout.createSequentialGroup() .addComponent( searchIdLabel) .addPreferredGap( LayoutStyle.ComponentPlacement.UNRELATED) .addComponent( searchField, GroupLayout.PREFERRED_SIZE, 67, GroupLayout.PREFERRED_SIZE)) .addComponent( progressBar, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addComponent( treeScroll, GroupLayout.DEFAULT_SIZE, 134, Short.MAX_VALUE) .addComponent( addNewButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap( LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(middleSeparator, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(dropsPanel, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addContainerGap())); layout.setVerticalGroup(layout .createParallelGroup(GroupLayout.Alignment.LEADING) .addGroup( layout.createSequentialGroup() .addGroup( layout.createParallelGroup( GroupLayout.Alignment.TRAILING) .addGroup( GroupLayout.Alignment.LEADING, layout.createSequentialGroup() .addContainerGap() .addGroup( layout.createParallelGroup( GroupLayout.Alignment.LEADING) .addComponent( dropsPanel, GroupLayout.Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent( middleSeparator, GroupLayout.DEFAULT_SIZE, 410, Short.MAX_VALUE))) .addGroup( layout.createSequentialGroup() .addGap(15, 15, 15) .addComponent( treeScroll) .addPreferredGap( LayoutStyle.ComponentPlacement.RELATED) .addComponent( addNewButton) .addPreferredGap( LayoutStyle.ComponentPlacement.RELATED) .addComponent( removeDrop) .addPreferredGap( LayoutStyle.ComponentPlacement.RELATED) .addGroup( layout.createParallelGroup( GroupLayout.Alignment.TRAILING) .addComponent( searchIdLabel) .addComponent( searchField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) .addPreferredGap( LayoutStyle.ComponentPlacement.RELATED) .addComponent( progressBar, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))) .addContainerGap())); pack(); }// </editor-fold>//GEN-END:initComponents protected void testDropRate(ActionEvent arg0) { ArrayList<Drop> drops = loader.getDropArray().get( Integer.parseInt(dropsTree.getLastSelectedPathComponent().toString())); Drop drop = drops.get(dropTable.getSelectedRow()); String testAmount = JOptionPane.showInputDialog(this, "Enter the amount of times you want to test(0 to test till it drops)"); int testAmt = 0; try { testAmt = Integer.parseInt(testAmount); } catch (Exception e) { testAmt = 0; } if (testAmt > 0) { int successfullDrops = 0; for (int i = 0; i < testAmt; i++) { int chance = random.nextInt(100); if (chance <= drop.getRate()) { successfullDrops++; } } JOptionPane.showMessageDialog(this, "Received the drop " + successfullDrops + " out of " + testAmt + " times"); } else { boolean didntReceive = true; int times = 0; while (didntReceive) { int chance = random.nextInt(100); if (chance <= drop.getRate()) { didntReceive = false; } else { times++; } } JOptionPane.showMessageDialog(this, "Received the drop after " + times + " times"); } } protected void dumpSpecificDropMenuItemActionPerformed(ActionEvent evt) { try { //dump(Integer.parseInt(JOptionPane.showInputDialog(this, "Enter the NPC ID"))); } catch (Exception e) { e.printStackTrace(); } } protected void dumpDropMenuItemActionPerformed(ActionEvent evt) { Thread dumpThread = new Thread() { int index = -1; public void run() { while (index < Utils.getNPCDefinitionsSize()) { try { progressBar.setString(NPCDefinitions.getNPCDefinitions(index).name); //dump(index); index++; progressBar.setValue(index); Thread.sleep(1); } catch (Exception e) { System.out.println("Problem with npc id " + index + "."); index++; progressBar.setValue(index); } } packFile(); progressBar.setString(""); progressBar.setValue(-1); } }; dumpThread.start(); } public DefaultMutableTreeNode searchNode(String nodeStr) { DefaultMutableTreeNode nodeToSearch = null; Enumeration<?> e = dropsNode.breadthFirstEnumeration(); while (e.hasMoreElements()) { nodeToSearch = (DefaultMutableTreeNode) e.nextElement(); if (nodeStr.equals(nodeToSearch.getUserObject().toString())) { return nodeToSearch; } } return null; } private void searchFieldActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_searchFieldActionPerformed try { DefaultMutableTreeNode n = searchNode(searchField.getText()); TreePath path = new TreePath(dropsTreeModel.getPathToRoot(n)); dropsTree.scrollPathToVisible(path); dropsTree.setSelectionPath(path); } catch (Exception e) { JOptionPane.showMessageDialog(this, "Could not find the item."); } }// GEN-LAST:event_searchFieldActionPerformed private void dropsTreeValueChanged(TreeSelectionEvent evt) {// GEN-FIRST:event_dropsTreeValueChanged if (dropsTree.getLastSelectedPathComponent() != null && !"Drops".equals(dropsTree.getLastSelectedPathComponent() .toString())) { loadDrop(Integer.parseInt(dropsTree.getLastSelectedPathComponent() .toString())); } }// GEN-LAST:event_dropsTreeValueChanged private void deleteSelectedActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_deleteSelectedActionPerformed try { int npcID = Integer.parseInt(dropsTree .getLastSelectedPathComponent().toString()); ArrayList<Drop> drops = loader.getDropArray().get(npcID); drops.remove(dropTable.getSelectedRow()); Drop[] d = new Drop[drops.size()]; drops.toArray(d); loader.getDropMap().put(npcID, d); loadDrop(Integer.parseInt(dropsTree.getLastSelectedPathComponent() .toString())); } catch (NullPointerException e) { JOptionPane.showMessageDialog(this, "Please select a drop first!"); } }// GEN-LAST:event_deleteSelectedActionPerformed private void addNewActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_addNewActionPerformed // try { int npcid = Integer.parseInt(dropsTree.getLastSelectedPathComponent() .toString()); // ArrayList<Drop> drops = loader.getDropArray().get(npcid); loader.insertDrop(npcid, Drop.create(Integer.parseInt(JOptionPane .showInputDialog("Please enter the item ID for this drop.")), (int) 100.0, 1, 1, false)); loadDrop(npcid); // } catch (NullPointerException e) { // JOptionPane.showMessageDialog(this, "Please select a drop first!"); // } }// GEN-LAST:event_addNewActionPerformed private void addNewButtonActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_addNewButtonActionPerformed String id = JOptionPane .showInputDialog("Please enter the NPC ID for this drop."); if (id == null) { id = "0"; } loader.getDropArray().put(Integer.parseInt(id), new ArrayList<Drop>()); packFile(); }// GEN-LAST:event_addNewButtonActionPerformed private void removeDropActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_removeDropActionPerformed try { if (!dropsTree.getLastSelectedPathComponent().toString().equals("")) { loader.getDropMap().remove( Integer.parseInt(dropsTree .getLastSelectedPathComponent().toString())); packFile(); } } catch (NullPointerException e) { JOptionPane.showMessageDialog(this, "Please select a drop first!"); } }// GEN-LAST:event_removeDropActionPerformed private void repackDropActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_repackDropActionPerformed packFile(); }// GEN-LAST:event_repackDropActionPerformed private void scanListActionPerformed(ActionEvent evt) { System.out.println("Started Scanning."); final int amountToFind = 100; java.awt.EventQueue.invokeLater(new Runnable() { public void run() { for (Entry<Integer, ArrayList<Drop>> e : loader.getDropArray().entrySet()) { int npcId = e.getKey(); for (Drop d : e.getValue()) { if (d.getMinAmount()> amountToFind && d.getMaxAmount() > amountToFind) { System.out.println("NPC Id:"+npcId+""); System.out.println("Item Id: "+d.getItemId()+""); System.out.println("Min Amount: "+Utils.formatNumber(d.getMinAmount())+""); System.out.println("Max Amount: "+Utils.formatNumber(d.getMaxAmount())+""); System.out.println("---------------------------------------------------------------------------------------"); } } } System.out.println("Scanning Completed."); } }); } /** * [MENTION=75098]Para[/MENTION]m args * the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new DropEditor().setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private JButton addNew; private JButton addNewButton; private JButton deleteSelected; private JTable dropTable; private JLabel dropsForLabel; private JPanel dropsPanel; private JTree dropsTree; private JMenuItem scan; private JMenuItem dumpDropMenuItem; private JMenuBar fileMenu; private JSeparator headerSeparator; private JMenu jMenu1; private JSeparator middleSeparator; private JLabel npcIdLabel; private JButton removeDrop; private JButton repackDrop; private JButton scanButton; private JTextField searchField; private JLabel searchIdLabel; private JScrollPane tableScroll; private JScrollPane treeScroll; // End of variables declaration//GEN-END:variables private void loadDrop(final int npcId) { npcIdLabel.setText(Integer.toString(npcId) + " " + NPCDefinitions.getNPCDefinitions(npcId).name); ArrayList<Drop> drops = loader.getDropArray().get(npcId); DefaultTableModel model = new DefaultTableModel(); model.addTableModelListener(new TableModelListener() { public void tableChanged(TableModelEvent e) { try { if (e.getColumn() != -1) { if (dropTable.getValueAt(dropTable.getSelectedRow(), 0).equals("Rare")) { loader.getDropArray().get(npcId).get(dropTable.getSelectedRow()).setItemId((short) -1); loader.getDropArray().get(npcId).get(dropTable.getSelectedRow()).setRate(-1); loader.getDropArray().get(npcId).get(dropTable.getSelectedRow()).setMinAmount(1); loader.getDropArray().get(npcId).get(dropTable.getSelectedRow()).setMaxAmount(1); } else { loader.getDropArray().get(npcId).get(dropTable.getSelectedRow()).setItemId(Short.parseShort((String) dropTable.getValueAt(dropTable.getSelectedRow(), 0).toString())); loader.getDropArray().get(npcId).get(dropTable.getSelectedRow()).setRate(Double.parseDouble((String) dropTable.getValueAt(dropTable.getSelectedRow(),1).toString())); String amount = (String) dropTable.getValueAt(dropTable.getSelectedRow(), 2); if (amount.contains("-")) { loader.getDropArray().get(npcId).get(dropTable.getSelectedRow()).setMinAmount(Integer.parseInt(amount.substring(0, amount.indexOf("-")))); loader.getDropArray().get(npcId).get(dropTable.getSelectedRow()).setMaxAmount(Integer.parseInt(amount.substring(amount.indexOf("-") + 1))); } else { loader.getDropArray().get(npcId).get(dropTable.getSelectedRow()).setMinAmount(Integer.parseInt(amount)); loader.getDropArray().get(npcId).get(dropTable.getSelectedRow()).setMaxAmount(Integer.parseInt(amount)); } } } } catch (Exception f) { f.printStackTrace(); } } }); model.addColumn("Item ID"); model.addColumn("Percent Chance"); model.addColumn("Amount"); for (Drop d : drops) { if (d == null) { continue; } if (!d.isFromRareTable()) { model.addRow(new Object[] { (d.getItemId()), Double.toString(d.getRate()), Integer.toString(d.getMinAmount()) + (d.getMinAmount() == d.getMaxAmount() || d.getMaxAmount() == 0 ? "" : "-" + d.getMaxAmount()) }); } else { model.addRow(new Object[] { "Rare", "100.0", "1" }); } } dropTable.setModel(model); } private void packFile() { try { // //drops.bin RandomAccessFile raf = new RandomAccessFile("data/npcs/packedDrops.d", "rw"); raf.writeShort(loader.getDropMap().size()); for (Entry<Integer, ArrayList<Drop>> e : loader.getDropArray().entrySet()) { raf.writeShort(e.getKey()); raf.writeShort(e.getValue().size()); for (Drop d : e.getValue()) { raf.writeByte(d.isFromRareTable() ? 1 : 0); if (!d.isFromRareTable()) { int itemID = d.getItemId(); if (ItemDefinitions.getItemDefinitions(itemID).getName().equals("Coins")) { itemID = 995; } raf.writeShort(itemID); raf.writeDouble(d.getRate()); if (d.getMinAmount() > d.getMaxAmount()) { int min = d.getMinAmount(); d.setMinAmount(d.getMaxAmount()); d.setMaxAmount(min); } raf.writeInt(d.getMinAmount()); raf.writeInt(d.getMaxAmount()); } } } raf.close(); System.out.println("Repacking succesful!"); } catch (IOException ex) { System.err.println(ex); } reload(); } private void reload() { dropsNode.removeAllChildren(); // loader = new NPCDropLoader(); // loader.load(); for (Entry<Integer, ArrayList<Drop>> s : loader.getDropArray() .entrySet()) { dropsNode.add(new DefaultMutableTreeNode(s.getKey())); } dropsTreeModel.reload(dropsNode); } } [/CODE]
  5. calypto

    668 Cache Editor

    Does anyone have one of these lying around somewhere? Want to mess around with the DevilScape source but I want to be able to change the background and logo. Or if anyone has a clean 668 cache, that'll work too.
  6. Anyone have or know where to get it? I have one but doesnt load the cache right. And its for 317 only, not 718. Thanks :) Before you say it too, i have looked everywhere and cant find a link.
  7. [I]I am not sure if this is the correct section, if not could a mod please move this.[/I] [CENTER][IMG]http://i.imgur.com/CMxPzZN.png[/IMG] [IMG]http://i.imgur.com/sIZF1YP.png[/IMG] Before anything I would like to give credits to mige5, due to the layout he used in his drop editor. Firstly I know this is "easy" but I couldn't find a decent drop editor for my server so I made this. Drop Editor is currently in version 0.01 (Beta) There are most likely many, many bugs as I haven't had a chance to test it extensively. Please post bugs you find and I will fix them as soon as I get a chance Make sure to read the instructions before using the tool. (Instructions will be the post under this one) [B]This tool can:[/B] [LIST] [*]Visually represent an NPC's drop log [*]Change the items droped by an NPC [*]Change the rare drop ratio for an NPC [*]Simulate the drop patterns of an NPC [/LIST] [IMG]http://i.imgur.com/s8d0f6x.png[/IMG] You must have your [B][I]npc.cfg[/I][/B], [B][I]item.cfg[/I][/B] and [B][I]NPCDrops.TSM[/I][/B] in the same folder with the exact names shown here: [IMG]http://i.imgur.com/xWkxjgA.png[/IMG] It is written in C# so it requires the .net framework It reads the files in the following format: [SPOILER=Formats]npc.cfg [CODE] npc = 3247 Hobgoblin 47 51 npc = 6270 Cyclops 81 80 npc = 6215 Bloodveld 81 125 npc = 6219 Spiritual_Warrior 115 110 npc = 6255 Spiritual_Warrior 125 108 npc = 6229 Spiritual_Warrior 123 105 npc = 6277 Spiritual_Warrior 134 108 npc = 6233 Avansie 97 98 npc = 6232 Avansie 131 115 npc = 6239 Avansie 148 140 npc = 6218 Gorak 146 112 npc = 6269 Ice_Cyclops 146 300 [/CODE] item.cfg [CODE] item = 19323 Dragon_staff This_fire_staff_displays_the_carved_head_of_a_majestic_dragon. 0 0 0 10 -1 40 10 0 2 3 1 10 0 50 6 item = 19324 Dragon_staff This_fire_staff_displays_the_carved_head_of_a_majestic_dragon. 0 0 0 10 -1 40 10 0 2 3 1 10 0 50 6 item = 19325 Penguin_staff This_water_staff_displayed_the_carved_head_of_a_proud_penguin. 0 0 0 10 -1 40 10 0 2 3 1 10 0 50 6 item = 19326 Penguin_staff This_water_staff_displayed_the_carved_head_of_a_proud_penguin. 0 0 0 10 -1 40 10 0 2 3 1 10 0 50 6 item = 19327 Bat_staff This_air_staff_displays_the_carved_head_of_a_fierce_bat. 0 0 0 10 -1 40 10 0 2 3 1 10 0 50 6 item = 19328 Bat_staff This_air_staff_displays_the_carved_head_of_a_fierce_bat. 0 0 0 10 -1 40 10 0 2 3 1 10 0 50 6 item = 19329 Wolf_staff This_earth_staff_displays_the_carved_head_of_a_fearsome_wolf. 0 0 0 10 -1 40 10 0 2 3 1 10 0 50 6 item = 19330 Wolf_staff This_earth_staff_displays_the_carved_head_of_a_fearsome_wolf. 0 0 0 10 -1 40 10 0 2 3 1 10 0 50 6 item = 19331 Cat_staff This_staff_displays_the_carved_head_of_an_inquisitive_cat. 0 0 0 10 -1 40 10 0 2 3 1 10 0 50 6 item = 19332 Cat_staff This_staff_displays_the_carved_head_of_an_inquisitive_cat. 0 0 0 10 -1 40 10 0 2 3 1 10 0 50 6 item = 19333 Fury_ornament_kit Use_on_an_amulet_of_fury_to_make_it_look_fancier. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 item = 19334 Fury_ornament_kit Use_on_an_amulet_of_fury_to_make_it_look_fancier. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 item = 19335 Amulet_of_fury A_very_powerful_onyx_amulet. 0 0 0 10 10 10 10 10 15 15 15 15 15 8 5 item = 19336 Dragon_full_helm Protects_your_head_and_looks_impressive_too. 0 0 0 0 0 0 -6 -2 45 48 41 -1 46 0 0 item = 19337 Dragon_platebody Provides_excellent_protection. 0 0 0 0 0 0 -30 0 109 107 97 -6 106 0 0 item = 19338 Dragon_platelegs looks_pretty_heavy. 0 0 0 0 0 0 -21 -7 68 66 63 -4 65 0 0 item = 19339 Dragon_plateskirt This_looks_pretty_heavy. 0 0 0 0 0 0 -21 -7 68 66 63 -4 65 0 0 [/CODE] NPCDrops.TSM [CODE] #Tzhaar 2607:50 1602:2 1604:2 1608:2 379:3 6529:350 149:1 161:1 1127:1 1147:1 1213:1 1113:1 560:200 6571:1 6568:1 6524:1 6522:10 6525:1 6526:1 11128:1 989:1 #Green Dragons 941:50 1161:1 561:30 554:100 209:2 1355:1 1462:1 1247:1 1608:2 450:2 995:1000 1197:1 1213:1 1602:1 555:100 365:2 217:2 201:2 563:10 1243:1 1163:1 1365:1 1606:3 119:2 207:2 561:10 830:5 1069:1 1604:2 2366:1 2679:1 1249:1 989:1 11732:1 11095:1 #black dragons 54:75 2362:4 9594:2 561:60 2364:2 1123:1 11212:20 565:30 554:100 1373:1 1303:1 1618:3 556:75 995:5000 1319:1 1113:1 443:100 1622:3 810:16 1452:1 1355:1 561:70 892:73 868:5 1185:1 886:175 1620:3 829:30 560:50 563:47 1369:1 1462:1 1201:1 1247:1 1608:3 2366:1 2679:1 1149:1 989:1 11732:1 11095:1 #Fire giants 110:50 1147:1 9594:2 561:30 560:150 562:150 554:500 561:100 995:1200 892:150 1079:1 1127:1 1163:1 1185:1 1303:1 1319:1 1373:1 1436:100 1249:1 2366:1 1149:1 4131:1 989:1 2678:1 11732:1 #Moss Giants 112:50 1213:1 9594:2 1247:1 995:500 560:150 555:150 892:150 805:10 1618:2 1620:2 1622:2 1624:2 9594:2 2366:1 2678:1 [/CODE] Example downloads: [URL="http://www.mediafire.com/download.php?7dnb1d38wcm8w41"]npc.cfg[/URL], [URL="http://www.mediafire.com/download.php?ra5wnwyw8xsv18q"]item.cfg[/URL] and [URL="http://www.mediafire.com/download.php?8ejax3j8xl8ftrx"]NPCDrops.TSM[/URL] [/SPOILER] [IMG]http://i.imgur.com/19PODdU.png[/IMG] [IMG]http://i.imgur.com/MVJKO5I.png[/IMG] [IMG]http://i.imgur.com/WYLbgSg.png[/IMG] [IMG]http://i.imgur.com/JMHQpjt.png[/IMG] [CODE] Version 0.0.1 - 15/5/2013 -First Release! Version 1.0.2 - 1/6/2013 - Out of beta - Re-optimized utilizing lists (Should be some-what faster) - Added a save prompt when closing Version 1.0.3 - 6/6/2013 - Added Drag and Drop functionality - Added the ability to custom load your NPCDrops.TSM file - Fixed a cosmetic bug where it would misread the npc.cfg and item.cfg files - Added the ability to quickly add random items from runescape's rare drop table [/CODE] [IMG]http://i.imgur.com/DnCMuXY.png[/IMG] [URL="https://www.virustotal.com/en/file/6d79c94e69e66a89ed0247215ca3b551decad5d56969bbfe34e089726b1f567e/****ysis/1370774564/"]Virus Scan[/URL] (Click the link then look for **** in the url and change it to a n a l (no spaces) [URL="http://www.mediafire.com/download/t6gbtdo2xi1toso/DropEditor_V2(1.0.3).exe"]Version 1.0.3[/URL] [SPOILER=Previous versions] [URL="https://www.virustotal.com/en/file/75b322d4e9e813febe9a08a1421f1923fdb242564d5110d88cf259870fe7f3b5/****ysis/1370083561/"]Virus Scan[/URL] (Click the link then look for **** in the url and change it to a n a l (no spaces) [URL="http://www.mediafire.com/download/ymrmj64ht6z21ia/DropEditor_V2(1.02).exe"]Version 1.0.2[/URL] [URL="https://www.virustotal.com/en/file/d98984602e4aef428a09ee445e1fc7afc952e220e0b98f6ce42852856667c531/****ysis/1368614071/"]Virus Scan[/URL] (Click the link then look for **** in the url and change it to a n a l (no spaces) [URL="http://www.mediafire.com/download/w9c743wm3sxhs1a/DropEditor_V2(Beta).exe"]Version 0.0.1[/URL][/SPOILER] [/CENTER]
  8. Hi, Here at God Send we offer a unique experience, but we have almost finished the beta for godsend, and are going to release it. For final touches we need [b]YOUR[/b] help. The type of areas we are looking for is GFX, Cache Editors, and Video Editors. These are for the final touches of God Send. We offer great benefits if you are qualified for the position. (We may give you perm position!) Thanks and Best Regards, ~GodSend HQ Godsend's Skype : [b]Bacreator[/b]
  9. Hi, i have recently a problem with my 735+ definitons editor, when im putting my cache there it loads total a different items. And some items have a id over 50000 and the prices are also incorrect. Someone knows how to let it work correclty? Thanks for youre response.
  10. Hi there, i was wondering if someone else was having the same problem as i do, With frostys cache editor when i type in model ID's in the model's tab, then it wont save after i packed the npc's a different cache doesn't work, and another version of frostys cache editor doesnt work either, any solutions? ty
  11. Hi, I'm using Rune-Evo v3 as a base for my server. I am using Eclipse, but whenever I run the Price Editor.bat, I get the following error: [CODE]Error: Could not find or load main class com.guardian.PriceLoader Press any key to continue . . . [/CODE] If I load it outside of Eclipse it works fine, so what would I need to edit? EDIT: Solved.
  12. Hi there, i was wondering if people get the same error as i do and if you know how to fix it? its about frosty's cache editor, Every time if i pack npc's then everything go's fine untill the models. If i save the npc then every single setting is saved, except for the models that i choose. i Keep getting this error for mistypes. [IMG]https://scontent-b-ams.xx.fbcdn.net/hphotos-xpa1/t1.0-9/1525209_477633909048120_8201806428323327100_n.jpg[/IMG] Even if i copy all the settings from another npc then this error persists.. is there any way to fix this? all help is appreciated!
  13. Sir seppe

    Cache editor

    I am requestig a Cache Editor for a 637 server I searched everywhere and I can't find one...
  14. So Yeah... I tried again today to use drop editor and i tried also ask another sites how to fix and they only said i don't have Dropeditor.Java But i got it on Com/rs/tools... Still this message comes [code] Error: Could not find or load main class com.rs.tools.dropeditor [/code] I tried also use eclipse but somehow my source comes into syntax if i open source on eclipse... Anyone know what i can do for this ?
  15. [IMG]http://i59.tinypic.com/2ut4wnr.png[/IMG] i got this error can somone can help? but before it works but have problem when i change item chance to get i repack reload and it goes back to 100%:( can somone help
  16. Does someone have a good npc def editor? Thanks.
  17. Hey guys! I've been working on a 637, and everything is going wonderfully, except the lack of my ability to change sprites via my sprite editor! When I import an image (the right size) it says "reduce image quality or delete some child sprites." So, I spent quite a while tweaking with the quality, and I found out that even if I reduce the quality to the lowest possible quality in GIMP, I still get the error. What am I doing wrong? Thanks in advance for all your help! :)
  18. i would like to know how to get a price editor setup and running, as i find it hard to edit prices manually
  19. im looking all over the place for a [SIZE=3]complete cache editor.[/SIZE] something that willallow me to [SIZE=5]extract and import midis[/SIZE] and maybe something to fix all the [SIZE=3]broken npcs in the client.[/SIZE] [SIZE=4]ive been looking for this for 2 days on google. [/SIZE] sorry for making the fonts uber large. just wanted to point out the important details. respond please, darn it!
  20. Well I am pretty new at coding but I downloaded the Item Def Editor 735+ and fixed the run and compile and shit and when I run it it will say... [I]Running Item Definitions Editor... Exception in thread "main" java.io.FileNotFoundException: cache\main_file_cache. dat2 (The system cannot find the path specified) at java.io.RandomAccessFile.open(Native Method) at java.io.RandomAccessFile.<init>(Unknown Source) at java.io.RandomAccessFile.<init>(Unknown Source) at com.alex.store.Store.<init>(Store.java:34) at com.alex.store.Store.<init>(Store.java:28) at com.alex.tools.itemsDefsEditor.Application.main(Application.java:37) Press any key to continue . . .[/I] It may be something I'm doing wrong but I will really appriciate it if someone will help me... Thank you!
  21. Does anybody know why my drop editor isnt working correctly? I can not edit the percentages of the items dropped and if i try to add a new item to a drop and after repacking it, the editor will automatically reset the drop percentage to 100% drop rate. Does anyone know how to fix this? Thanks!
  22. Does anyone have any working cache and or drop editors? or know i manual way of doing drop rates? Anything will be helpful thanks
  23. Like title say's does anyone know where i can get a working sprite or chache editor? Matrix cache is what i am using
  24. [CENTER][SIZE=3][COLOR="#0000FF"] NPC Editor - A Better Way To Edit [/COLOR][/SIZE] [SIZE=3][COLOR="#0000FF"]Private version available on my site, you NEED TO REGISTER to see the download. [/COLOR][/SIZE][/CENTER] [SIZE=2][COLOR="#FF0000"]This application was made to better organize and edit unpacked..txts. There are instructions on the GUI. The easiest way to run this application is in your server folder. It will assume default "data/npcs/". Please make sure you always back up your server![/COLOR][/SIZE] Download: [url]www.trinityx.org/NPCEditor.jar[/url] This application is not being publicly updated, you will need to sign up at my site [url=http://www.trinityx.org/forums]Trinity X • Index page[/url] to receive the next few updates which include drop editor functions. I'm also using this application to develop my server. As some of you might request I've included some pictures below, Note that the SOURCE CODE is public at my website in addition the application is not obfuscated so any java decompiler will decompile it fine. The application is self explanatory just edit the tables by clicking on them then save. To add new NPC def or NPC bonus just click the button and follow the directions on the popup. The only difference is when you try to delete a spawn, just select the one you want to delete and click button. The application will save automatically if you delete or add but to be safe you can save again. WARNING, running 2 instances will cause a error that will delete your unpacked...txt please be careful. [IMG]http://i.imgur.com/FOkYnPL.png[/IMG] [IMG]http://i.imgur.com/SPt4k3C.png[/IMG] [IMG]http://i.imgur.com/zXQVzMk.png[/IMG] [COLOR="#FF0000"][CENTER][SIZE=3]Features & Pictures of private editor [/SIZE][/CENTER][/COLOR] This version is downloadable at my website if you are registered! [COLOR="#FF0000"]You can have the list to left show NPC ids or you can switch to show drop Ids, you can use most options to add and remove elements from list or table! More instructions in application![/COLOR] [IMG]http://i.imgur.com/ZvU4rvE.png[/IMG] [IMG]http://i.imgur.com/ImZAATw.png[/IMG]
×