Thread: Any good auto cache downloaders?

Page 1 of 2 12 LastLast
Results 1 to 10 of 20
  1. #1 Any good auto cache downloaders? 
    Registered Member
    Join Date
    May 2013
    Posts
    41
    Thanks given
    0
    Thanks received
    0
    Rep Power
    11
    Since ive tried everyone ive seen on the internet, all of them worked but couldnt unzip the zip folder.
    Ive tried guides on the unzipping problem without any solution, any clue whats going on here?
    Reply With Quote  
     

  2. #2  
    Banned Market Banned Market Banned

    -3clipse-'s Avatar
    Join Date
    May 2015
    Posts
    841
    Thanks given
    101
    Thanks received
    311
    Rep Power
    389
    I'll post mine here when I get out of class in a few hours.
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  3. #3  
    Registered Member
    Join Date
    May 2013
    Posts
    41
    Thanks given
    0
    Thanks received
    0
    Rep Power
    11
    Quote Originally Posted by -3clipse- View Post
    I'll post mine here when I get out of class in a few hours.
    Hey fam are you out of class yet?
    Reply With Quote  
     

  4. #4  
    Registered Member
    Lennard's Avatar
    Join Date
    Mar 2010
    Posts
    926
    Thanks given
    0
    Thanks received
    234
    Rep Power
    274
    Are you zipping the cache folder itself or the files inside? You should be zipping the files inside.
    [Only registered and activated users can see links. ]
    The greatest upcoming OSRS PK server
    Reply With Quote  
     

  5. #5  
    Registered Member
    Join Date
    May 2013
    Posts
    41
    Thanks given
    0
    Thanks received
    0
    Rep Power
    11
    Quote Originally Posted by Lennard View Post
    Are you zipping the cache folder itself or the files inside? You should be zipping the files inside.
    Ofc i am.
    Reply With Quote  
     

  6. #6  
    Banned Market Banned Market Banned

    -3clipse-'s Avatar
    Join Date
    May 2015
    Posts
    841
    Thanks given
    101
    Thanks received
    311
    Rep Power
    389
    Quote Originally Posted by fortexscape View Post
    Hey fam are you out of class yet?
    Thanks for reminding me

    Code:
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.zip.*;
    import java.io.*;
    
    import javax.swing.JOptionPane;
    import javax.swing.UIManager;
    
    public class CacheDownloader implements Runnable {
    	
            public static final String SERVER_NAME = "CHANGE TO THE NAME OF YOUR SERVER";
    	public static final String ZIP_URL = "CHANGE TO LINK TO YOUR ZIPPED CACHE";
    	public static final String VERSION_URL = "CHANGE TO LINK TO TEXT FILE ON YOUR WEBSITE CONTAINING THE CACHE VERSION FOR EASY UPDATING";
    	public static final String VERSION_FILE = System.getProperty("user.home") + File.separator + SERVER_NAME + File.separator + "version.dat";
    	
    	private CacheDownloader.GUI g;
    	
    	@SuppressWarnings("resource")
    	public double getCurrentVersion() {
    		try {
    			File versionDir = new File(VERSION_FILE);
    			if(!versionDir.exists()) {
    				versionDir.createNewFile();
    				BufferedWriter br = new BufferedWriter(new FileWriter(versionDir));
    				br.write("0.1");
    			}
    			BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(VERSION_FILE)));
    			return Double.parseDouble(br.readLine());
    		} catch (Exception e) {
    			return 0.1;
    		}
    	}
    	
    	public double getNewestVersion() {
    		try {
    			URL tmp = new URL(VERSION_URL);
    			BufferedReader br = new BufferedReader(new InputStreamReader(tmp.openStream()));
    			return Double.parseDouble(br.readLine());
    		} catch (Exception e) {
    			handleException(e);
    			return -1;
    		}
    	}
    	
    	private void handleException(Exception e) {
    		StringBuffer strBuff = new StringBuffer();
    		strBuff.append("Please Screenshot this message, and send it to an admin!\r\n\r\n");
    		strBuff.append(e.getClass().getName() + " \"" + e.getMessage() + "\"\r\n");
    		
    		for(StackTraceElement s : e.getStackTrace())
    			strBuff.append(s.toString() + "\r\n");
    		
    		alert("Exception [" + e.getClass().getSimpleName() + "]",strBuff.toString(),true);
    	}
    	
    	private void alert(String msg) {
    		alert("Message", msg, false);
    	}
    	
    	private void alert(String title,String msg,boolean error) {
    		JOptionPane.showMessageDialog(null, msg, title, (error ? JOptionPane.ERROR_MESSAGE : JOptionPane.PLAIN_MESSAGE));
    	}
    	
    	@Override
    	public void run() {
    		try {
    			double newest = getNewestVersion();
    			
    			if (newest > this.getCurrentVersion()) {
    				int n = JOptionPane.showConfirmDialog(null, "You are currently on version " + getCurrentVersion() + " of the client\r\n" +
    				    "The newest version is " + newest + " would you like to update?", "Update found!", JOptionPane.YES_NO_OPTION);
    				
    				if(n == 0) {
    					g = new CacheDownloader.GUI();
    					g.setLocationRelativeTo(null);
    					g.setVisible(true);
    					updateClient();
    					@SuppressWarnings("resource")
    					OutputStream out = new FileOutputStream(VERSION_FILE);
    					out.write(String.valueOf(newest).getBytes());
    					g.setVisible(false);
    				} else
    					alert("Please be aware that the client may not be able to connect!");
    			}
    		} catch(Exception e) {
    			handleException(e);
    		}
    	}
    	
    	private void updateClient() {
    		File clientZip = downloadClient();
    		
    		if(clientZip != null)
    			unZip(clientZip);
    	}
    	
    	private void unZip(File clientZip) {
    		try {
    			unZipFile(clientZip, new File(signlink.findcachedir()));
    			clientZip.delete();
    		} catch (IOException e) {
    			handleException(e);
    		}
    	}
    	
    	private void unZipFile(File zipFile,File outFile) throws IOException {
    		System.out.println(zipFile.getAbsolutePath());
    		System.out.println(outFile.getAbsolutePath());
    		g.setStatus("Unzipping: \"" + zipFile.getName() + "\"");
    		g.setPercent(0);
    		ZipInputStream zin = new ZipInputStream(new BufferedInputStream(new FileInputStream(zipFile)));
    		ZipEntry e;
    		long max = 0;
    		long curr = 0;
    		while((e = zin.getNextEntry()) != null)
    			max += e.getSize();
    		zin.close();
    		ZipInputStream in = new ZipInputStream(new BufferedInputStream(new FileInputStream(zipFile)));
    		while((e = in.getNextEntry()) != null){
    			if(e.isDirectory())
    				new File(outFile,e.getName()).mkdirs();
    			else{
    				FileOutputStream out = new FileOutputStream(new File(outFile,e.getName()));
    				byte[] b = new byte[1024];
    				int len;
    				while((len = in.read(b,0,b.length)) > -1){
    					curr += len;
    						out.write(b, 0, len);
    						//setUnzipPercent((int)((curr * 100) / max));
    						g.setPercent((int)((curr * 100) / max));
    				}
    				out.flush();
    				out.close();
    			}
    		}
    	}
    
    	private File downloadClient() {
    		g.setStatus("Downloading...");
    		File ret = new File(signlink.findcachedir() + SERVER_NAME + ".zip");
    		
    		try {
    			OutputStream out = new FileOutputStream(ret);
    			URLConnection conn = new URL(ZIP_URL).openConnection();
    			InputStream in = conn.getInputStream();
    			long max = conn.getContentLength();
    			long curr = 0;
    			byte[] b = new byte[1024];
    			int len;
    			
    			while((len = in.read(b, 0, b.length)) > -1) {
    				out.write(b,0,len);
    				curr += len;
    				g.setPercent((int)((curr * 100) / max));
    			}
    			
    			out.flush();
    			out.close();
    			in.close();
    			return ret;
    		} catch(Exception e) {
    			handleException(e);
    			ret.delete();
    			return null;
    		}
    	}
    
    	public static void main(String[] args) {
    		CacheDownloader a = new CacheDownloader();
    		a.run();
    	}
    	
    	public class GUI extends javax.swing.JFrame {
    		private static final long serialVersionUID = 1L;
    
    		/** Creates new form GUI */
    	    public GUI() {
    	    	try {
    	    		UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    	        } catch(Exception ignored) {
    	    		
    	    	}
    	    	
    	        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.
    	     */
    	    private void initComponents() {
    	        jProgressBar1 = new javax.swing.JProgressBar();
    	        jLabel1 = new javax.swing.JLabel();
    	        jLabel2 = new javax.swing.JLabel();
    	        jLabel3 = new javax.swing.JLabel();
    
    	        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    	        setTitle("Auto-Updater");
    	        
    	        addWindowListener(new java.awt.event.WindowAdapter() {
    	            public void windowClosing(java.awt.event.WindowEvent evt) {
    	                formWindowClosing(evt);
    	            }
    	        });
    
    	        jLabel1.setText("Status:");
    
    	        jLabel2.setText("N/A");
    
    	        jLabel3.setText("0%");
    
    	        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    	        getContentPane().setLayout(layout);
    	        layout.setHorizontalGroup(
    	            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    	            .addGroup(layout.createSequentialGroup()
    	                .addContainerGap()
    	                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    	                    .addGroup(layout.createSequentialGroup()
    	                        .addComponent(jLabel1)
    	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    	                        .addComponent(jLabel2)
    	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 304, Short.MAX_VALUE)
    	                        .addComponent(jLabel3))
    	                    .addComponent(jProgressBar1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE))
    	                .addContainerGap())
    	        );
    	        layout.setVerticalGroup(
    	            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    	            .addGroup(layout.createSequentialGroup()
    	                .addContainerGap()
    	                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
    	                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    	                        .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    	                        .addComponent(jLabel3))
    	                    .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    	                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    	                .addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
    	                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    	        );
    
    	        pack();
    	    }
    
    	    private void formWindowClosing(java.awt.event.WindowEvent evt) { //GEN-FIRST:event_formWindowClosing
    
    	    }
    
    	    private int percent = 0;
    
    	    public void setStatus(String s) {
    	        jLabel2.setText(s);
    	    }
    
    	    public String getStatus() {
    	        return jLabel2.getText();
    	    }
    
    	    public void setPercent(int amount) {
    	        percent = amount;
    	        jLabel3.setText(amount + "%");
    	        jProgressBar1.setValue(amount);
    	    }
    
    	    public int getPercent() {
    	        return percent;
    	    }
    
    	    private javax.swing.JLabel jLabel1;
    	    private javax.swing.JLabel jLabel2;
    	    private javax.swing.JLabel jLabel3;
    	    private javax.swing.JProgressBar jProgressBar1;
    	}
    }
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  7. #7  
    Registered Member
    Join Date
    May 2013
    Posts
    41
    Thanks given
    0
    Thanks received
    0
    Rep Power
    11
    Quote Originally Posted by -3clipse- View Post
    Thanks for reminding me

    Code:
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.zip.*;
    import java.io.*;
    
    import javax.swing.JOptionPane;
    import javax.swing.UIManager;
    
    public class CacheDownloader implements Runnable {
    	
            public static final String SERVER_NAME = "CHANGE TO THE NAME OF YOUR SERVER";
    	public static final String ZIP_URL = "CHANGE TO LINK TO YOUR ZIPPED CACHE";
    	public static final String VERSION_URL = "CHANGE TO LINK TO TEXT FILE ON YOUR WEBSITE CONTAINING THE CACHE VERSION FOR EASY UPDATING";
    	public static final String VERSION_FILE = System.getProperty("user.home") + File.separator + SERVER_NAME + File.separator + "version.dat";
    	
    	private CacheDownloader.GUI g;
    	
    	@SuppressWarnings("resource")
    	public double getCurrentVersion() {
    		try {
    			File versionDir = new File(VERSION_FILE);
    			if(!versionDir.exists()) {
    				versionDir.createNewFile();
    				BufferedWriter br = new BufferedWriter(new FileWriter(versionDir));
    				br.write("0.1");
    			}
    			BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(VERSION_FILE)));
    			return Double.parseDouble(br.readLine());
    		} catch (Exception e) {
    			return 0.1;
    		}
    	}
    	
    	public double getNewestVersion() {
    		try {
    			URL tmp = new URL(VERSION_URL);
    			BufferedReader br = new BufferedReader(new InputStreamReader(tmp.openStream()));
    			return Double.parseDouble(br.readLine());
    		} catch (Exception e) {
    			handleException(e);
    			return -1;
    		}
    	}
    	
    	private void handleException(Exception e) {
    		StringBuffer strBuff = new StringBuffer();
    		strBuff.append("Please Screenshot this message, and send it to an admin!\r\n\r\n");
    		strBuff.append(e.getClass().getName() + " \"" + e.getMessage() + "\"\r\n");
    		
    		for(StackTraceElement s : e.getStackTrace())
    			strBuff.append(s.toString() + "\r\n");
    		
    		alert("Exception [" + e.getClass().getSimpleName() + "]",strBuff.toString(),true);
    	}
    	
    	private void alert(String msg) {
    		alert("Message", msg, false);
    	}
    	
    	private void alert(String title,String msg,boolean error) {
    		JOptionPane.showMessageDialog(null, msg, title, (error ? JOptionPane.ERROR_MESSAGE : JOptionPane.PLAIN_MESSAGE));
    	}
    	
    	@Override
    	public void run() {
    		try {
    			double newest = getNewestVersion();
    			
    			if (newest > this.getCurrentVersion()) {
    				int n = JOptionPane.showConfirmDialog(null, "You are currently on version " + getCurrentVersion() + " of the client\r\n" +
    				    "The newest version is " + newest + " would you like to update?", "Update found!", JOptionPane.YES_NO_OPTION);
    				
    				if(n == 0) {
    					g = new CacheDownloader.GUI();
    					g.setLocationRelativeTo(null);
    					g.setVisible(true);
    					updateClient();
    					@SuppressWarnings("resource")
    					OutputStream out = new FileOutputStream(VERSION_FILE);
    					out.write(String.valueOf(newest).getBytes());
    					g.setVisible(false);
    				} else
    					alert("Please be aware that the client may not be able to connect!");
    			}
    		} catch(Exception e) {
    			handleException(e);
    		}
    	}
    	
    	private void updateClient() {
    		File clientZip = downloadClient();
    		
    		if(clientZip != null)
    			unZip(clientZip);
    	}
    	
    	private void unZip(File clientZip) {
    		try {
    			unZipFile(clientZip, new File(signlink.findcachedir()));
    			clientZip.delete();
    		} catch (IOException e) {
    			handleException(e);
    		}
    	}
    	
    	private void unZipFile(File zipFile,File outFile) throws IOException {
    		System.out.println(zipFile.getAbsolutePath());
    		System.out.println(outFile.getAbsolutePath());
    		g.setStatus("Unzipping: \"" + zipFile.getName() + "\"");
    		g.setPercent(0);
    		ZipInputStream zin = new ZipInputStream(new BufferedInputStream(new FileInputStream(zipFile)));
    		ZipEntry e;
    		long max = 0;
    		long curr = 0;
    		while((e = zin.getNextEntry()) != null)
    			max += e.getSize();
    		zin.close();
    		ZipInputStream in = new ZipInputStream(new BufferedInputStream(new FileInputStream(zipFile)));
    		while((e = in.getNextEntry()) != null){
    			if(e.isDirectory())
    				new File(outFile,e.getName()).mkdirs();
    			else{
    				FileOutputStream out = new FileOutputStream(new File(outFile,e.getName()));
    				byte[] b = new byte[1024];
    				int len;
    				while((len = in.read(b,0,b.length)) > -1){
    					curr += len;
    						out.write(b, 0, len);
    						//setUnzipPercent((int)((curr * 100) / max));
    						g.setPercent((int)((curr * 100) / max));
    				}
    				out.flush();
    				out.close();
    			}
    		}
    	}
    
    	private File downloadClient() {
    		g.setStatus("Downloading...");
    		File ret = new File(signlink.findcachedir() + SERVER_NAME + ".zip");
    		
    		try {
    			OutputStream out = new FileOutputStream(ret);
    			URLConnection conn = new URL(ZIP_URL).openConnection();
    			InputStream in = conn.getInputStream();
    			long max = conn.getContentLength();
    			long curr = 0;
    			byte[] b = new byte[1024];
    			int len;
    			
    			while((len = in.read(b, 0, b.length)) > -1) {
    				out.write(b,0,len);
    				curr += len;
    				g.setPercent((int)((curr * 100) / max));
    			}
    			
    			out.flush();
    			out.close();
    			in.close();
    			return ret;
    		} catch(Exception e) {
    			handleException(e);
    			ret.delete();
    			return null;
    		}
    	}
    
    	public static void main(String[] args) {
    		CacheDownloader a = new CacheDownloader();
    		a.run();
    	}
    	
    	public class GUI extends javax.swing.JFrame {
    		private static final long serialVersionUID = 1L;
    
    		/** Creates new form GUI */
    	    public GUI() {
    	    	try {
    	    		UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    	        } catch(Exception ignored) {
    	    		
    	    	}
    	    	
    	        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.
    	     */
    	    private void initComponents() {
    	        jProgressBar1 = new javax.swing.JProgressBar();
    	        jLabel1 = new javax.swing.JLabel();
    	        jLabel2 = new javax.swing.JLabel();
    	        jLabel3 = new javax.swing.JLabel();
    
    	        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    	        setTitle("Auto-Updater");
    	        
    	        addWindowListener(new java.awt.event.WindowAdapter() {
    	            public void windowClosing(java.awt.event.WindowEvent evt) {
    	                formWindowClosing(evt);
    	            }
    	        });
    
    	        jLabel1.setText("Status:");
    
    	        jLabel2.setText("N/A");
    
    	        jLabel3.setText("0%");
    
    	        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    	        getContentPane().setLayout(layout);
    	        layout.setHorizontalGroup(
    	            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    	            .addGroup(layout.createSequentialGroup()
    	                .addContainerGap()
    	                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    	                    .addGroup(layout.createSequentialGroup()
    	                        .addComponent(jLabel1)
    	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    	                        .addComponent(jLabel2)
    	                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 304, Short.MAX_VALUE)
    	                        .addComponent(jLabel3))
    	                    .addComponent(jProgressBar1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE))
    	                .addContainerGap())
    	        );
    	        layout.setVerticalGroup(
    	            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
    	            .addGroup(layout.createSequentialGroup()
    	                .addContainerGap()
    	                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
    	                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
    	                        .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
    	                        .addComponent(jLabel3))
    	                    .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    	                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
    	                .addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
    	                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
    	        );
    
    	        pack();
    	    }
    
    	    private void formWindowClosing(java.awt.event.WindowEvent evt) { //GEN-FIRST:event_formWindowClosing
    
    	    }
    
    	    private int percent = 0;
    
    	    public void setStatus(String s) {
    	        jLabel2.setText(s);
    	    }
    
    	    public String getStatus() {
    	        return jLabel2.getText();
    	    }
    
    	    public void setPercent(int amount) {
    	        percent = amount;
    	        jLabel3.setText(amount + "%");
    	        jProgressBar1.setValue(amount);
    	    }
    
    	    public int getPercent() {
    	        return percent;
    	    }
    
    	    private javax.swing.JLabel jLabel1;
    	    private javax.swing.JLabel jLabel2;
    	    private javax.swing.JLabel jLabel3;
    	    private javax.swing.JProgressBar jProgressBar1;
    	}
    }
    In case i cant set this up can you help me out on skype fam?

    Im getting this error after everything has been set up.
    Reply With Quote  
     

  8. #8  
    Banned Market Banned Market Banned

    -3clipse-'s Avatar
    Join Date
    May 2015
    Posts
    841
    Thanks given
    101
    Thanks received
    311
    Rep Power
    389
    Quote Originally Posted by fortexscape View Post
    In case i cant set this up can you help me out on skype fam?

    Im getting this error after everything has been set up.
    Lol, you need to call run();

    Also, make sure you're calling it directly under startUp(); in client.java
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  9. #9  
    Registered Member
    Join Date
    May 2013
    Posts
    41
    Thanks given
    0
    Thanks received
    0
    Rep Power
    11
    Quote Originally Posted by -3clipse- View Post
    Lol, you need to call run();

    Also, make sure you're calling it directly under startUp(); in client.java
    Like this? new CacheDownloader(this).run(); if so its still giving me callback error.
    Reply With Quote  
     

  10. #10  
    Banned Market Banned Market Banned

    -3clipse-'s Avatar
    Join Date
    May 2015
    Posts
    841
    Thanks given
    101
    Thanks received
    311
    Rep Power
    389
    Quote Originally Posted by fortexscape View Post
    Like this? new CacheDownloader(this).run(); if so its still giving me callback error.
    No, remove 'this'.

    You should really learn Java before starting a server
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

Page 1 of 2 12 LastLast

Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. Replies: 11
    Last Post: 06-21-2014, 01:49 PM
  2. Auto Cache Downloading
    By James in forum Tutorials
    Replies: 113
    Last Post: 09-27-2008, 04:25 PM
  3. Auto Cache Downloading (Here's how!)
    By Ninja Cat in forum Tutorials
    Replies: 22
    Last Post: 03-11-2008, 02:50 PM
  4. Auto Cache download?
    By Eportal in forum Tutorials
    Replies: 4
    Last Post: 10-07-2007, 06:34 PM
  5. Buying Auto cache downloading webclient
    By wildy in forum RS2 Client
    Replies: 2
    Last Post: 08-24-2007, 03:40 AM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •