Help me to make my game working as Applet

here is the working code
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.*;
public class Arkanoid extends Canvas implements Runnable
   public BufferStrategy buforowanie;
   public BufferedImage statek, kulka, tlo, klocek;
   Thread thread;
   public int x = 100, y, x_kulki = 500, y_kulki = 580;
   public int lewo_prawo = (int)(10 * Math.random()), gora_dol = -3, x_klocka = 0, y_klocka = 0;
   public Window win;
   Graphics g;
   public boolean[][] jest_czy_nie;
   public Rectangle[][] klocki;
   public Rectangle[][] klocki_gora;
   public Rectangle[][] klocki_dol;
   public Rectangle[][] klocki_lewo;
   public Rectangle[][] klocki_prawo;
   public boolean czy_zbite = false;
   public int szybkosc = 5;
   public Arkanoid()
      statek = loadImage("statek.gif");
      kulka = loadImage("kulka.gif");  
      tlo = loadImage("8.jpg");
      klocek = loadImage("klocek.gif");
      start();     
      requestFocus();
      jest_czy_nie = new boolean[10][10];
      klocki = new Rectangle[10][10];
      klocki_gora = new Rectangle[10][10];
      klocki_dol = new Rectangle[10][10];
      klocki_lewo = new Rectangle[10][10];
      klocki_prawo = new Rectangle[10][10];
      for (int i = 0; i < 10; i++)
               for (int j = 0; j < 10; j++)
                 jest_czy_nie[i][j] = true;
                 klocki_gora[i][j] = zwroc_wsp_gory(klocek, 100 * i, 20 * j);
                 klocki_dol[i][j] = zwroc_wsp_dolu(klocek, 100 * i, 20 * j);
                 klocki_lewo[i][j] = zwroc_wsp_lewa(klocek, 100 * i, 20 * j);
                 klocki_prawo[i][j] = zwroc_wsp_prawa(klocek, 100 * i, 20 * j);
   public BufferedImage loadImage(String sciezka)
        URL url = null;
        try
           url = getClass().getClassLoader().getResource(sciezka);
           return ImageIO.read(url);
        catch (Exception e)
             System.out.println("w pizdeczke");
             System.exit(0);
            return null;
   public Rectangle zwroc_wsp(BufferedImage obrazek, int x, int y)
      int a, b;
      BufferedImage image;
      a = x;
      b = y;
      image = obrazek;
      return new Rectangle(a, b, image.getWidth(), image.getHeight());
   public Rectangle zwroc_wsp_gory(BufferedImage obrazek, int x, int y)
      int a, b;
      BufferedImage image;
      a = x;
      b = y;
      image = obrazek;
      return new Rectangle(a, b, 100, 3);
   public Rectangle zwroc_wsp_dolu(BufferedImage obrazek, int x, int y)
      int a, b;
      BufferedImage image;
      a = x;
      b = y;
      image = obrazek;
      return new Rectangle(a, b + 17, 100, 3);
   public Rectangle zwroc_wsp_lewa(BufferedImage obrazek, int x, int y)
      int a, b;
      BufferedImage image;
      a = x;
      b = y;
      image = obrazek;
      return new Rectangle(a, b + 3 , 3, 14);
   public Rectangle zwroc_wsp_prawa(BufferedImage obrazek, int x, int y)
      int a, b;
      BufferedImage image;
      a = x;
      b = y;
      image = obrazek;
      return new Rectangle(a + 97, b + 3 , 3, 14);
   public void run()
      Graphics g = buforowanie.getDrawGraphics();
      g.drawImage(tlo , 0, 0, 1000, 700, 0, 0, 1000, 700, this);
      int i = -1;
      int j = -1;
      Graphics2D g2 = (Graphics2D)g;
      for (i = 0; i < 10; i++)
           for (j = 0; j < 10; j++) 
           if (jest_czy_nie[i][j] == true)
           g.drawImage(klocek, 100*i, 20 * j, 100, 20, null);
           j = 0;
      while (true)
       if (x > 880) x = 880;
       g.drawImage(tlo , 0, 600, 1000, 620,  0, 600, 1000, 620, this);
       g.drawImage(tlo , x_kulki, y_kulki, x_kulki + 20, y_kulki + 20,  x_kulki, y_kulki , x_kulki + 20, y_kulki + 20, this);
       x_kulki = x_kulki + lewo_prawo;
       y_kulki = y_kulki + gora_dol;
       if (x_kulki < 0) lewo_prawo = -lewo_prawo;
       if (x_kulki > 1000) lewo_prawo = -lewo_prawo;
       if (y_kulki < 0) gora_dol = - gora_dol;
       if (y_kulki > 700) System.exit(0);
       g.drawImage(statek , x, 600, this);
       g.drawImage(kulka , x_kulki, y_kulki, this);
       Rectangle statek_wsp = zwroc_wsp(statek, x, 600);
       Rectangle kulka_wsp = zwroc_wsp(kulka, x_kulki, y_kulki);
       if (statek_wsp.intersects(kulka_wsp))
            gora_dol = - gora_dol;
            lewo_prawo = (int)(((x_kulki - x) - 50)/10);
       for (i = 0; i < 10; i++)
           for (j = 0; j < 10; j++)
              if (kulka_wsp.intersects(klocki_lewo[i][j]) && (jest_czy_nie[i][j] == true) && (czy_zbite == false))
                   g.drawImage(tlo , 100 * i, 20 * j, 100 * i + 100, 20 * j + 20,  100 * i, 20 * j, 100 * i + 100, 20 * j + 20, this);
                   lewo_prawo = - lewo_prawo;
                   jest_czy_nie[i][j] = false;
                   System.out.println("lewo");     
                   czy_zbite = true;
               else
               if (kulka_wsp.intersects(klocki_prawo[i][j]) && (jest_czy_nie[i][j] == true)&& (czy_zbite == false))
                    g.drawImage(tlo , 100 * i, 20 * j, 100 * i + 100, 20 * j + 20,  100 * i, 20 * j, 100 * i + 100, 20 * j + 20, this);
                    lewo_prawo = - lewo_prawo;
                      jest_czy_nie[i][j] = false;
                      System.out.println("prawo");      
                      czy_zbite = true;
               else
               if (kulka_wsp.intersects(klocki_dol[i][j]) && (jest_czy_nie[i][j] == true)&& (czy_zbite == false))
                    g.drawImage(tlo , 100 * i, 20 * j, 100 * i + 100, 20 * j + 20,  100 * i, 20 * j, 100 * i + 100, 20 * j + 20, this);
                       gora_dol = - gora_dol;
                      jest_czy_nie[i][j] = false;
                      System.out.println("dol");
                   czy_zbite = true;
               else   
               if (kulka_wsp.intersects(klocki_gora[i][j]) && (jest_czy_nie[i][j] == true)&& (czy_zbite == false))
                   g.drawImage(tlo , 100 * i, 20 * j, 100 * i + 100, 20 * j + 20,  100 * i, 20 * j, 100 * i + 100, 20 * j + 20, this);
                     gora_dol = - gora_dol;
                    jest_czy_nie[i][j] = false;
                   System.out.println("gora");     
                   czy_zbite = true;
           j = 0;
       czy_zbite = false;
       buforowanie.show();
      try
          Thread.sleep(szybkosc);
      catch (InterruptedException e)
          System.out.println("interrupt");
   public void start()
      thread = new Thread(this);
     thread.start(); 
   public void stop()
     thread.stop(); 
   /*public static void main(String[] args)
       Arkanoid panel = new Arkanoid();
        Frame frame = new Frame();
           //frame.setUndecorated(true);
        GraphicsEnvironment environment = GraphicsEnvironment.getLocalGraphicsEnvironment();
        GraphicsDevice device = environment.getDefaultScreenDevice(); 
        GraphicsConfiguration configuration = device.getDefaultConfiguration();
        device.setFullScreenWindow(frame);
        Graphics g = device.getFullScreenWindow().getGraphics();
           frame.setSize(1000,700);
        frame.add(panel);
        frame.setVisible(true);
       panel.createBufferStrategy(2);
       panel.buforowanie = panel.getBufferStrategy();
       Klawisze s&#322;uchacz_klawiszy = new Klawisze(panel);
       frame.addKeyListener(s&#322;uchacz_klawiszy);
       Mysz s&#322;uchacz_myszy = new Mysz(panel);
       panel.addMouseMotionListener(s&#322;uchacz_myszy);
       Cursor invisibleCursor = Toolkit.getDefaultToolkit().createCustomCursor(Toolkit.getDefaultToolkit().getImage(""), new Point(0, 0), "invisible");
           panel.setCursor(invisibleCursor);
}and here the applet
import java.awt.*;
import javax.swing.*;
public class Applet extends JApplet
  public void init()
       Arkanoid panel = new Arkanoid();
       Container pow = getContentPane();
       pow.add(panel);
       panel.setSize(1000,700);
      panel.createBufferStrategy(2);
      panel.buforowanie = panel.getBufferStrategy();
      Klawisze s&#322;uchacz_klawiszy = new Klawisze(panel);
      panel.addKeyListener(s&#322;uchacz_klawiszy);
      Mysz s&#322;uchacz_myszy = new Mysz(panel);
      panel.addMouseMotionListener(s&#322;uchacz_myszy);
      Cursor invisibleCursor = Toolkit.getDefaultToolkit().createCustomCursor(Toolkit.getDefaultToolkit().getImage(""), new Point(0, 0), "invisible");
         panel.setCursor(invisibleCursor);
}the game is working well so i decided to share it and put it somewhere in the internet
there are also 2 mouse and key listener classes respectively but as far as iam convinced they dont affect the problem i am getting at all
here is the exception thats thrown while i try to run that
Exception in thread "Thread-3" java.lang.NullPointerException
     at Arkanoid.run(Arkanoid.java:133)
     at java.lang.Thread.run(Unknown Source)
line 133 refers to this : at Arkanoid.run(Arkanoid.java:133)
thanks in advance, Lukasz
null
null

The use of thread.stop() is not recommended. You can find out why by looking the method up
in the Thread class api. It includes a link into the guide for more details.
//  <applet code="A2" width="1000" height="700"></applet>
//  use: >appletviewer A2.java
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
public class A2 extends Applet
    A2Canvas canvas;
    public void init()
        canvas = new A2Canvas();
        setLayout(new BorderLayout());
        add(canvas);
    public void start()
        canvas.start();
    public void stop()
        canvas.stop();
    public static void main(String[] args)
        Applet applet = new A2();
        Frame frame = new Frame();
        frame.addWindowListener(closer);
        frame.add(applet);
        frame.setSize(1000,700);
        applet.init();
        frame.setVisible(true);
        applet.start();
    private static WindowListener closer = new WindowAdapter()
        public void windowClosing(WindowEvent e)
            System.exit(0);
class A2Canvas extends Canvas implements Runnable
    public BufferStrategy buforowanie;
    public BufferedImage statek, kulka, tlo, klocek;
    Thread thread;
    public int
        x = 100,
        y,
        x_kulki = 500,
        y_kulki = 580;
    public int
        lewo_prawo = (int)(10 * Math.random()),
        gora_dol = -3,
        x_klocka = 0,
        y_klocka = 0;
    public boolean[][] jest_czy_nie;
    public Rectangle[][] klocki;
    public Rectangle[][] klocki_gora;
    public Rectangle[][] klocki_dol;
    public Rectangle[][] klocki_lewo;
    public Rectangle[][] klocki_prawo;
    public boolean czy_zbite = false;
    public int szybkosc = 100;
    public A2Canvas()
        statek = loadImage("statek.gif");
        kulka = loadImage("kulka.gif");  
        tlo = loadImage("8.jpg");
        klocek = loadImage("klocek.gif");
        // In your original (posted) application:
        // Calling start (here) before construction is complete
        // results in a NullPointerException in the run method
        // because buforowanie is initialized in the main method
        // after construction, ie, after this class instance has
        // been created. For success, move this call to the end
        // of your main method, ie, panel.start().
//        start();
        // Not recommended, see api for explanation.
//        requestFocus();
        // This is recommended instead, see api.
        requestFocusInWindow();
        // Arrange for this to be focusable.
        setFocusable(true);
        jest_czy_nie = new boolean[10][10];
        klocki = new Rectangle[10][10];
        klocki_gora = new Rectangle[10][10];
        klocki_dol = new Rectangle[10][10];
        klocki_lewo = new Rectangle[10][10];
        klocki_prawo = new Rectangle[10][10];
        for (int i = 0; i < 10; i++)
            for (int j = 0; j < 10; j++)
                jest_czy_nie[i][j] = true;
                klocki_gora[i][j] = zwroc_wsp_gory(klocek, 100 * i, 20 * j);
                klocki_dol[i][j] = zwroc_wsp_dolu(klocek, 100 * i, 20 * j);
                klocki_lewo[i][j] = zwroc_wsp_lewa(klocek, 100 * i, 20 * j);
                klocki_prawo[i][j] = zwroc_wsp_prawa(klocek, 100 * i, 20 * j);
    public BufferedImage loadImage(String sciezka)
        URL url = null;
        try
            url = getClass().getClassLoader().getResource(sciezka);
            return ImageIO.read(url);
        catch (Exception e)
            System.out.println("w pizdeczke " + sciezka);
            System.exit(0);
            return null;
    public Rectangle zwroc_wsp(BufferedImage obrazek, int x, int y)
        int a, b;
        BufferedImage image;
        a = x;
        b = y;
        image = obrazek;
        return new Rectangle(a, b, image.getWidth(), image.getHeight());
    public Rectangle zwroc_wsp_gory(BufferedImage obrazek, int x, int y)
        int a, b;
        BufferedImage image;
        a = x;
        b = y;
        image = obrazek;
        return new Rectangle(a, b, 100, 3);
    public Rectangle zwroc_wsp_dolu(BufferedImage obrazek, int x, int y)
        int a, b;
        BufferedImage image;
        a = x;
        b = y;
        image = obrazek;
        return new Rectangle(a, b + 17, 100, 3);
    public Rectangle zwroc_wsp_lewa(BufferedImage obrazek, int x, int y)
        int a, b;
        BufferedImage image;
        a = x;
        b = y;
        image = obrazek;
        return new Rectangle(a, b + 3 , 3, 14);
    public Rectangle zwroc_wsp_prawa(BufferedImage obrazek, int x, int y)
        int a, b;
        BufferedImage image;
        a = x;
        b = y;
        image = obrazek;
        return new Rectangle(a + 97, b + 3 , 3, 14);
    public void run()
        Graphics g = buforowanie.getDrawGraphics();
        g.drawImage(tlo , 0, 0, 1000, 700, 0, 0, 1000, 700, this);
        int i = -1;
        int j = -1;
        Graphics2D g2 = (Graphics2D)g;
        for (i = 0; i < 10; i++)
            for (j = 0; j < 10; j++) 
                if (jest_czy_nie[i][j] == true)
                    g.drawImage(klocek, 100*i, 20 * j, 100, 20, null);
            j = 0;
        while (true)
            if (x > 880) x = 880;
            g.drawImage(tlo , 0, 600, 1000, 620,  0, 600, 1000, 620, this);
            g.drawImage(tlo , x_kulki, y_kulki, x_kulki + 20, y_kulki + 20,
                        x_kulki, y_kulki , x_kulki + 20, y_kulki + 20, this);
            x_kulki = x_kulki + lewo_prawo;
            y_kulki = y_kulki + gora_dol;
            if (x_kulki < 0) lewo_prawo = -lewo_prawo;
            if (x_kulki > 1000) lewo_prawo = -lewo_prawo;
            if (y_kulki < 0) gora_dol = - gora_dol;
            if (y_kulki > 700) System.exit(0);
            g.drawImage(statek , x, 600, this);
            g.drawImage(kulka , x_kulki, y_kulki, this);
            Rectangle statek_wsp = zwroc_wsp(statek, x, 600);
            Rectangle kulka_wsp = zwroc_wsp(kulka, x_kulki, y_kulki);
            if (statek_wsp.intersects(kulka_wsp))
                gora_dol= - gora_dol;
                lewo_prawo = (int)(((x_kulki - x) - 50)/10);
            for (i = 0; i < 10; i++)
                for (j = 0; j < 10; j++)
                    if (kulka_wsp.intersects(klocki_lewo[i][j]) &&
                            jest_czy_nie[i][j] && !czy_zbite)
                        g.drawImage(tlo , 100 * i, 20 * j, 100 * i + 100, 20 * j + 20,
                                    100 * i, 20 * j, 100 * i + 100, 20 * j + 20, this);
                        lewo_prawo = - lewo_prawo;
                        jest_czy_nie[i][j] = false;
                        System.out.println("lewo");     
                        czy_zbite = true;
                    else if (kulka_wsp.intersects(klocki_prawo[i][j]) &&
                            jest_czy_nie[i][j] && !czy_zbite)
                        g.drawImage(tlo , 100 * i, 20 * j, 100 * i + 100, 20 * j + 20,
                                    100 * i, 20 * j, 100 * i + 100, 20 * j + 20, this);
                        lewo_prawo = - lewo_prawo;
                        jest_czy_nie[i][j] = false;
                        System.out.println("prawo");      
                        czy_zbite = true;
                    else if (kulka_wsp.intersects(klocki_dol[i][j]) &&
                            jest_czy_nie[i][j] && !czy_zbite)
                        g.drawImage(tlo , 100 * i, 20 * j, 100 * i + 100, 20 * j + 20,
                                    100 * i, 20 * j, 100 * i + 100, 20 * j + 20, this);
                        gora_dol = - gora_dol;
                        jest_czy_nie[i][j] = false;
                        System.out.println("dol");
                        czy_zbite = true;
                    else if (kulka_wsp.intersects(klocki_gora[i][j]) &&
                            jest_czy_nie[i][j] && !czy_zbite)
                        g.drawImage(tlo , 100 * i, 20 * j, 100 * i + 100, 20 * j + 20,
                                    100 * i, 20 * j, 100 * i + 100, 20 * j + 20, this);
                        gora_dol = - gora_dol;
                        jest_czy_nie[i][j] = false;
                        System.out.println("gora");     
                        czy_zbite = true;
                j = 0;
            czy_zbite = false;
            buforowanie.show();
            try
                Thread.sleep(szybkosc);
            catch (InterruptedException e)
                System.out.println("interrupt");
                break;  // We need to exit this loop now.
    public void start()
        if(buforowanie == null)
            createBufferStrategy(2);
            buforowanie = getBufferStrategy();
        thread = new Thread(this);
        thread.start(); 
    public void stop()
        thread.interrupt(); 
        thread = null;
}

Similar Messages

  • My i phone got stolen.. can you help me to make it not working ?

    hello
    my cell phone got stolen then i want to make it not working so that it dose not beneft the thief.
    can you help me , pls?

    No. If you set up the "Find my iPhone" service on the phone before it went missing, log on to http://www.icloud.com. If it's still online and hasn't been wiped yet, you can lock it, wipe it, trace it's location, from there.
    There is no other way to do it.
    Report the theft to your carrier and the police.

  • OSA:Help needed to make a BAdi work

    Hi All..
    I need a help regarding the BAdi..i am using the Average BAdi in a column...I have a criterion group called critical attributes and under this there are 5 criterions..i need to insert the BAdi in the Criterion group Critical Attributes and the BAdi needs to calculate the values of the criterions and show the result in the criterion group...
    I had done the same thing for the other criterion group and the BAdi was working fine..but the BAdi is not working when i insert it in Critical Attributes criterion group....I contacted some people and they told that it is a configuration issue..so please help me out with a solution...and also the configuration which i need to do to make the BAdi work....

    Hi Maurice..
    I am using the BAdi in an enabled column..i have already used the average Badi in a different criterion group called Performance Rating..It is working fine there...there is no difference between the 2 criterion groups...but somehow it is not working here...i really dont know what is the configuration issue since i am a technical guy...
    I will tell u the issue using an example...
    I have a criterion group Critical Attributes in which i have inserted the BAdi in the score column......
    Under this i have 5 attributes like Accountability,Communication...etc..
    The manager appraises the above attributes in the FAPP column...The Badi has to calculate the average of the 5 columns...
    I have used the same average BAdi in another criterion group and it is working fine..
    so please help me out with the answer..we r using ECC 5.0 version...

  • Urgent help required to make variableRowHeight & rowCount work hand in hand for a Datagrid

    HI,
    I am using variableRowHeight property on a datagrid to wrap the text and this works perfectly.
    At the same time, I have to assign rowCount dynamically. My logic for caluculating rowCount is rowcount = sampleData.length > 5 ? 5:sampleData.length; where sampleData is my ArrayCollection. The caluculation happens correctly.
    The issue here is rows of the datagrid do not show correctly.
    From the post http://forums.adobe.com/message/2350643#2350643 I understood that both variableRowHeight & rowCount do not work hand in hand.
    So, I tried removing variableRowHeight and it works fine. The solution says using measureHeightOfItems and viewMetrics to calculate the height may solve the issue. I did not understand it very clearly.
    Can anyone let me know the solution with example.
    Thnaks
    Code
    =========
    <?xml version="1.0"?><mx:Application  xmlns:mx="http://www.adobe.com/2006/mxml" initialize="init()" xmlns:itemren="
    com.itemren.*">
     <mx:Script>
    <![CDATA[
     import mx.rpc.events.FaultEvent; 
    import mx.rpc.events.ResultEvent; 
    import com.vo.HeaderVO; 
    import com.vo.DataVO; 
    import mx.utils.ObjectUtil; 
    import mx.collections.IViewCursor; 
    import mx.controls.Alert; 
    import mx.collections.ArrayCollection; 
    Bindable] 
    public static var sampleData:ArrayCollection = new ArrayCollection (); 
    Bindable] 
    public var rowcount:int; 
    public function init():void { 
    sampleData.addItem( { AssetNo :
    "234567890", AssetName : "Asset Name 1", Amount : "10000.02" } );sampleData.addItem( { AssetNo :
    "234567891", AssetName : "Asset Name 2", Amount :"2.04" } );sampleData.addItem( { AssetNo :
    "234567892", AssetName : "Asset Name 3", Amount : "4578.00" } );sampleData.addItem( { AssetNo :
    "234567893", AssetName : "Asset Name 4", Amount : "384.00" } );sampleData.addItem( { AssetNo :
    "234567894", AssetName : "Asset Name 5", Amount : "21454.20" } );sampleData.addItem( { AssetNo :
    "234567890", AssetName : "Asset Name 1", Amount : "10000.02" } );sampleData.addItem( { AssetNo :
    "234567891", AssetName : "Asset Name 2", Amount :"2.04" } );sampleData.addItem( { AssetNo :
    "234567892", AssetName : "Asset Name 3", Amount : "4578.00" } ); 
    trace ("sampleData.length ========= "+sampleData.length); 
    rowcount = sampleData.length > 5 ? 5:sampleData.length;
    trace("count is ==== "+rowcount); 
    dg.rowCount=rowcount;
    trace("dg.rowCount is === "+ObjectUtil.toString(dg.rowCount)); 
    dg.dataProvider=sampleData;
    ]]>
    </mx:Script>
     <mx:Panel title="POC for dynamic rowCount of datagrid" height="100%" width="100%" paddingTop="
    10" paddingLeft="10" paddingRight="10"> 
    <mx:DataGrid id="dg" width="50%" wordWrap="true" variableRowHeight="
    true">
     <mx:columns>
     <mx:DataGridColumn dataField="AssetNo" headerText="Asset No" paddingLeft="20" />
     <mx:DataGridColumn dataField="AssetName" headerText="Asset Name" paddingLeft="20"/>
     <mx:DataGridColumn dataField="Amount" headerText="Amount" paddingLeft="20"/>  
    </mx:columns>
     </mx:DataGrid>
     </mx:Panel>
     </mx:Application>

    Hi,
    have you checked your bindings not only for the WF --> Method, also for the Method --> WF?
    Christoph
    Of course I mean the bindings between Task and Method / Method and Task
    Edited by: Christoph Schle on Dec 21, 2007 11:05 AM

  • I have no options under my privacy tab and would like to be able to clear the cookies to make my games work better.

    When I go under options I can select all of the options except the privacy tab. It doesn't open. Whichever tab I looked at previously is still there. Nothing about cookies.

    Start Firefox in <u>[[Safe Mode]]</u> to check if one of the extensions or if hardware acceleration is causing the problem (switch to the DEFAULT theme: Firefox (Tools) > Add-ons > Appearance/Themes).
    *Don't make any changes on the Safe mode start window.
    *https://support.mozilla.com/kb/Safe+Mode
    *https://support.mozilla.com/kb/Troubleshooting+extensions+and+themes

  • Help with trying to make a app work

    i need help trying to make an app work ive updated everything all the requirements meet but it jus keeps freezing the app  is called pilot and wen i go to choose a plane it then jus shuts down the app

    So you have worked through each and every suggestion in this Apple support document including contacting the developer?
    iOS: Troubleshooting applications purchased from the App Store
    B-rock

  • How to make this script work

    Help me to make this script work, please!
    function(){
    app.findGrepPreferences.firstLineIndent  = "8 mm";
    app.findGrepPreferences.leftIndent  = "8 mm";
    app.changeGrepPreferences.firstLineIndent  = "8 mm";
    app.changeGrepPreferences.leftIndent  = "16 mm";
    app.selection[0].changeGrep();
    app.findGrepPreferences.leftIndent  = "16 mm";
    app.changeGrepPreferences.leftIndent  = "24 mm";
    app.selection[0].changeGrep();

    Hi,
    Its already replied, see below code:
    app.findGrepPreferences = app.changeGrepPreferences = null;
    app.findGrepPreferences.firstLineIndent  = "8 mm";
    app.findGrepPreferences.leftIndent  = "8 mm";
    app.changeGrepPreferences.firstLineIndent  = "8 mm";
    app.changeGrepPreferences.leftIndent  = "16 mm";
    app.changeGrep();
    app.findGrepPreferences = app.changeGrepPreferences = null;
    First run the above code, again you want to change leftIndent from '16 mm' to '24 mm' run below code:
    app.findGrepPreferences = app.changeGrepPreferences = null;
    app.findGrepPreferences.leftIndent  = "16 mm";
    app.changeGrepPreferences.leftIndent  = "24 mm";
    app.changeGrep();
    app.findGrepPreferences = app.changeGrepPreferences = null;
    by
    hasvi

  • I need help identifying an old Macintosh game: it was a painting game where you rode a roller coaster to an art museum and you got to pick what kind of art work you were going to make. This was the early 90's and I've been trying to hunt it down

    I need help identifying an old Macintosh game: it was a painting game where you rode a roller coaster to an art museum and you got to pick what kind of art work you were going to make. It was animated, 2D i believe. This was the early 90's and I've been trying to hunt it down. I think there was some kind of animal in it, a giraffe maybe?

    Could you be thinking of Microsoft Home's "Fine Artist" for Macintosh, as shown in this Amazon.com listing?  This program was bundled with the Performa series of Macs during the mid-90s.

  • Need Help getting games working...

    So I am having trouble getting basically any games working correctly on my arch setup.  This wouldn't really bother me but my gf likes playing them and I had a few working when I was using Bodhi Linux so she now thinks that Arch is not as good as Bodhi lol. 
    Please help me either get one of the games I have working or find some that will work.
    Right now, the games I have been trying and problems I'm having with each are as follows:
    Supertux: Really slow; I had this working on Bodhi
    DJL: Not really a game but this is what I used to use to get games; I found in AUR but it hasn't been updated for awhile; When I try to run it I get the following error (although I think it is generic msg):
    File "/usr/share/djl/djl/config.py", line 212, in config
    loc = locale.getdefaultlocale()[0].split("_")[0]
    AttributeError: 'NoneType' object has no attribute 'split'
    bsnes: All the ROMs I find are .smc format and bsnes will only work with .sfc
    Anyone have any ideas on how to get any of these working?  It would be greatly appreciated.  I love Arch so much more than any other distro I've tried because I can set it up exactly how I want and it runs so efficiently on my older computer but if I can't get some games working I'm going to be nagged to switch back to Bodhi.
    The other option is to dump the gf lol, but its a tough decidion between Arch and her .
    ~Boz~

    Yeah, I know it definitely doesn't have 3D acceleration bc when I was running Linux Mint I would automatically be put into "Fallback mode" as the MGSE req'd 3d acceleration.  What I don't get is how I had the games working while running Bodhi. 
    It might have been something in Djl that helped tweak the configuration and allow games to work because that was where I was using the games that I did.  I just had assumed that using Super Tux w/o Djl would be the same.  I do think that Djl not working has something to do with it needing Python 2 but I have tried and can't figure out how to force it to use only that.  Not sure if that is bc it is hard to or just bc I don't know how .
    I did try to install Zsnes but got an error during the build.  I tried the 'zsnes-netplay' version bc it had been updated more recently (although still almost a year ago).  I'll give the other version a try today to see if it makes any difference. 
    Going to leave this as unsolved until after I try that so if anyone else has any suggestions, please feel free.  If no progress by EOD, I will mark as solved and take it that the fact that I don't have 3d acceleration is the cause of my problems.  As I mentioned at the beginning, I really could care less about the games.  Just was trying to keep the gf happy but not always possible .
    Thanks again,
    ~Boz~

  • Using "Flash Help" to help make flash game?

    Hello,
    I've noticed the other day that in Flash, the "Flash Help (F1)" found under "Help" is licensed under "Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License".  The resources found on adobe.com in the Flash Development Center is also licensed with this.
    The license state:
    " You are free:
        * to Share — to copy, distribute and transmit the work
        * to Remix — to adapt the work
    Under the following conditions:
    Attribution — You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
    Noncommercial — You may not use this work for commercial purposes.
    Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one."
    - CC License
    I'm trying to learn flash so I can make flash games.  I plan to get them sponsored by game portals and attach them to MochiAds--so technically this would be commercial, yes?
    So does this mean I CAN'T use "Flash Help" or any of the resources found in adobe's Flash Development Center to learn how to use actionscripts?
    Of course I don't plan to bluntly copy-paste codes, but it would be nice if I could adapt and learn how things work.  Sometimes I get stuck and I need a reference...  The last thing I'd want is to get into some copyright trouble =/
    Sorry if this post is out of place.  I tried to ask in Customer Support days ago but I get the feeling that they've ignored me.
    Any extra advices are welcome.
    Thank you,
    Jane

    What is with all the folks asking "copyright" questions lately? Are you all in some class or something? I am not a copyright lawyer so don't take anything I say as the absolute truth, but I have had a long standing interest in these issues...
    Anyways copyright is not an absolute right, there is an important part of copyright law called "fair use" and it is important. Of course it is also the source of a lot of disagreements and law suits...
    A clear case of infringement would be if you tried to just take the Flash help and publish your own "learn actionscript" help book or website.
    But given that the help documentation is meant to teach you how to use the product it seems that it would be clearly within fair use to use it to learn how to use the product.
    And while the US courts have not been particularly intelligent about technical innovation -- often granting patents and copyright to very basic code, while not protecting truly innovative and clever invention -- the argument that the basic instantiation of a class and invocation of its methods, properties, and events, is pretty clearly the only way to do these things. Adobe would have no reason -- in fact they would have quite the opposite -- to pursue a claim against somebody who used actionscript.
    Given the absurdity of the US courts (if here is where you be) just change the names of the variables from the samples and you are most likely fine since it would confuse them.

  • Why can't I make in game purchases with my iTunes gift card?? Help if you no please!!!

    does anyone know why I can't use my iTunes gift card to make in game purchases??? If you know please let me know! Thanks

    What do you mean you can't use it? What happens when you try?
    GB

  • Make java game into networked game

    I have created a 1 player game in java which has 11 classes, to play the game you launch a class which extends JFRAME. Any suggestions on how I can make this game into a two player game over a network, have been looking at trying to change the game into an applet but this loks impossible.

    Ave_beginz wrote:
    i have complete what u say in your post. but it is giving error of reading certificate when i m run our game on different pc over the networked using socket
    plzz tell me how to handle this.
    as my game is chess.
    & also tell me how to make it multiplayer.Don't resurrect old threads from the dead, create a new one. And when you do, be sure to provide details about your problems, as what you are saying now is "Yeah I have this code and it doesn't work." Please put effort into making it possible to help you.

  • Help needed with creating Flash game

    Hello,
    I need to create Flash educational/quiz game for one of my clients. It would be based on concept like these ones for example:
    Example 1
    http://go.ucsusa.org/game/
    Example 2
    http://www.zdravlje.hr/igre/stop-aids/
    Note: when you open this link you will see two text boxs which you first must fill. On the left side text box "Upišite ime" means "Type your name" and right one "Upišite godinu svog rođenja" means "Year of birth"
    What is interesting about this type of games is that they are classic games (for example game Labirint where you have to find way out), but during play pop-up questions starts to appear to test end user knowledge abot certain topic (in example 2 topic is about AIDS/HIV). In case of my client, topic is about Eco environment.
    Here is where my trouble starts;) : I found many useful free tutorials how to create simple flash game (most interesting example I found is this one http://www.strille.net/tutorials/snake/index.php)  BUT I dont know how make that system of popup questions appear during game similar to Example 1 and Example 2?
    Any help is appreciated and thanks in advance for promt reply.
    Greetings,
    Adnan

    Update: I have just read all instructions in Snake tutorial which helped be better realize how Snake game works.
    a) This is what I plan to realize for my client:
    1. Snake game which end users will play and during play pop-up/quiz quesions will appear on topic Eco environment;
    2. For example when end user earns 50 points he must answer some of the random questions like "Q:How many ton of waste are produced by US livestock each year" with three answers A1: "1 milion" A2: "1 bilion" A3: "2 bilion" and after user scores 100 points then another question pops up and so on. This is all true if all answers are correct but in case he answer some question wrong than game can start from begining or another solution could be he looses -50 or -100 points.
    3. At the end, user which gains most points wins.
    b) This is what I have done till now:
    I have this file http://www.strille.net/tutorials/snake/snakeGameWithHighscore.zip which I partly understand how it works with my Flash knowladge.
    All functions and main game engine is in layer code:
    "// Snake Game by Strille, 2004, www.strille.net
    blockSize = 8;   // the block width/height in number of pixels
    gameHeight = 30; // the game height in number of blocks
    gameWidth  = 45; // the game width in number of blocks
    replaySpeed = 1;
    SNAKE_BLOCK = 1; // holds the number used to mark snake blocks in the map
    xVelocity = [-1, 0, 1, 0]; // x velocity when moving left, up, right, down
    yVelocity = [0, -1, 0, 1]; // y velocity when moving left, up, right, down
    keyListener = new Object(); // key listener
    keyListener.onKeyDown = function() {
        var keyCode = Key.getCode(); // get key code
        if (keyCode > 36 && keyCode < 41) { // arrow keys pressed (37 = left, 38 = up, 39 = right, 40 = down)...
            if (playRec) {
                if (keyCode == 37 && replaySpeed > 1) {
                    replaySpeed--;
                } else if (keyCode == 39 && replaySpeed < 10) {
                    replaySpeed++;
            } else if (game.onEnterFrame != undefined) { // only allow moves if the game is running, and is not paused
                if (keyCode-37 != turnQueue[0]) { // ...and it's different from the last key pressed
                    turnQueue.unshift(keyCode-37); // save the key (or rather direction) in the turnQueue
        } else if (keyCode == 32) { // start the game if it's not started (32 = SPACE)
            if (!gameRunning || playRec) {
                startGame(false);
        } else if (keyCode == 80) { // pause/unpause (80 = 'P')
            if (gameRunning && !playRec) {
                if (game.onEnterFrame) { // pause
                    delete game.onEnterFrame; // remove main loop
                    textMC.gotoAndStop("paused");
                } else { // exit pause mode
                    game.onEnterFrame = main; // start main loop
                    textMC.gotoAndStop("hide");
    Key.addListener(keyListener);
    function startGame(pRec) {
        x = int(gameWidth/2); // x start position in the middle
        y = gameHeight-2;     // y start position near the bottom
        map = new Array(); // create an array to store food and snake
        for (var n=0;n<gameWidth;n++) { // make map a 2 dimensional array
            map[n] = new Array();
        turnQueue = new Array(); // a queue to store key presses (so that x number of key presses during one frame are spread over x number of frames)
        game.createEmptyMovieClip("food", 1); // create MC to store the food
        game.createEmptyMovieClip("s", 2); // create MC to store the snake
        scoreTextField.text = "Score: 0"; // type out score info
        foodCounter = 0; // keeps track of the number of food movie clips
        snakeBlockCounter = 0; // keeps track of the snake blocks, increased on every frame
        currentDirection = 1; // holds the direction of movement (0 = left, 1 = up, 2 = right, 3 = down)
        snakeEraseCounter = -1; // increased on every frame, erases the snake tail (setting this to -3 will result in a 3 block long snake at the beginning)
        score = 0; // keeps track of the score
        ticks = lastRec = 0;
        recPos = recFoodPos = 0;
        playRec = pRec;
        if (!playRec) {
            textMC.gotoAndStop("hide"); // make sure no text is visible (like "game over ")
            highscores.enterHighscoreMC._visible = false;
            statusTextField.text = "";
            recTurn = "";
            recFrame = "";
            recFood = "";
            game.onEnterFrame = main; // start the main loop
        } else {
            if (loadedRecordingNumber != -1) {
                var n = getLoadedRecordingNumberHighscorePos(loadedRecordingNumber);
                statusTextField.text = "Viewing " + highscores[n].name.text + "'s game (score " + highscores[n].score.text + ")";
            } else {
                statusTextField.text = "Viewing your game";
            game.onEnterFrame = replayMain; // start the main loop
        placeFood("new"); // place a new food block
        gameRunning = true; // flag telling if the game is running. If true it does not necessarily mean that main is called (the game could be paused)
    function main() { // called on every frame if the game is running and it's not paused
        if (playRec) {
            if (ticks == lastRec+parseInt(recFrame.charAt(recPos*2)+recFrame.charAt(recPos*2+1), 36)) {
                currentDirection = parseInt(recTurn.charAt(recPos));
                lastRec = ticks;
                recPos++;
        } else if (turnQueue.length) { // if we have a turn to perform...
            var dir = turnQueue.pop(); // ...pick the next turn in the queue...
            if (dir % 2 != currentDirection % 2) { // not a 180 degree turn (annoying to be able to turn into the snake with one key press)
                currentDirection = dir; // change current direction to the new value
                recTurn += dir;
                var fn = ticks-lastRec;
                if (fn < 36) {
                    recFrame += " "+new Number(fn).toString(36);
                } else {
                    recFrame += new Number(fn).toString(36);
                lastRec = ticks;
        x += xVelocity[currentDirection]; // move the snake position in x
        y += yVelocity[currentDirection]; // move the snake position in y
        if (map[x][y] != SNAKE_BLOCK && x > -1 && x < gameWidth && y > -1 && y < gameHeight) { // make sure we are not hitting the snake or leaving the game area
            game.s.attachMovie("snakeMC", snakeBlockCounter, snakeBlockCounter, {_x: x*blockSize, _y: y*blockSize}); // attach a snake block movie clip
            snakeBlockCounter++; // increase the snake counter
            if (map[x][y]) { // if it's a not a vacant block then there is a food block on the position
                score += 10; // add points to score
                scoreTextField.text = "Score: " + score; // type out score info
                snakeEraseCounter -= 5; // make the snake not remove the tail for five loops
                placeFood(map[x][y]); // place the food movie clip which is referenced in the map map[x][y]
            map[x][y] = SNAKE_BLOCK; // set current position to occupied
            var tailMC = game.s[snakeEraseCounter]; // get "last" MC according to snakeEraseCounter (may not exist)
            if (tailMC) { // if the snake block exists
                delete map[tailMC._x/blockSize][tailMC._y/blockSize]; // delete the value in the array m
                tailMC.removeMovieClip(); // delete the MC
            snakeEraseCounter++; // increase erase snake counter   
        } else { // GAME OVER if it is on a snake block or outside of the map
            if (playRec) {
                startGame(true);
            } else {
                gameOver();
            return;
        ticks++;
    function replayMain() {
        for (var n=0;n<replaySpeed;n++) {
            main();
    function gameOver() {
        textMC.gotoAndStop("gameOver"); // show "game over" text
        delete game.onEnterFrame; // quit looping main function
        gameRunning = false; // the game is no longer running
        enterHighscore();
    function placeFood(foodMC) {
        if (playRec) {
            var xFood = parseInt(recFood.charAt(recFoodPos*3)+recFood.charAt(recFoodPos*3+1), 36);
            var yFood = parseInt(recFood.charAt(recFoodPos*3+2), 36);
            recFoodPos++;
        } else {
            do {
                var xFood = random(gameWidth);
                var yFood = random(gameHeight);
            } while (map[xFood][yFood]); // keep picking a spot until it's a vacant spot (we don't want to place the food on a position occupied by the snake)
            if (xFood < 36) {
                recFood += " "+new Number(xFood).toString(36);
            } else {
                recFood += new Number(xFood).toString(36);
            recFood += new Number(yFood).toString(36);
        if (foodMC == "new") { // create a new food movie clip
            foodMC = game.food.attachMovie("foodMC", foodCounter, foodCounter);
            foodCounter++;
        foodMC._x = xFood*blockSize; // place the food
        foodMC._y = yFood*blockSize; // place the food
        map[xFood][yFood] = foodMC; // save a reference to this food movie clip in the map
    //- Highscore functions
    loadHighscores();
    enterHighscoreKeyListener = new Object();
    enterHighscoreKeyListener.onKeyDown = function() {
        if (Key.getCode() == Key.ENTER) {
            playerName = highscores.enterHighscoreMC.nameTextField.text;
            if (playerName == undefined || playerName == "") {
                playerName = "no name";
            saveHighscore();
            Key.removeListener(enterHighscoreKeyListener);
            Key.addListener(keyListener);
            highscores.enterHighscoreMC._visible = false;
            loadedRecordingNumber = -1;
            startGame(true);
    function enterHighscore() {
        if (score >= lowestHighscore) {
            highscores.enterHighscoreMC._visible = true;
            highscores.enterHighscoreMC.focus();
            Key.removeListener(keyListener);
            Key.addListener(enterHighscoreKeyListener);
        } else {
            loadedRecordingNumber = -1;
            startGame(true);
    function getLoadedRecordingNumberHighscorePos(num) {
        for (var n=0;n<10;n++) {
            if (num == highscores[n].recFile) {
                return n;
    function loadHighscores() {
        vars = new LoadVars();
        vars.onLoad = function(success) {
            for (var n=0;n<10;n++) {
                var mc = highscores.attachMovie("highscoreLine", n, n);
                mc._x = 5;
                mc._y = 5+n*12;
                mc.place.text = (n+1) + ".";
                mc.name.text = this["name"+n];
                mc.score.text = this["score"+n];
                mc.recFile = parseInt(this["recFile"+n]);
            lowestHighscore = parseInt(this.score9);
            if (!gameRunning) {
                loadRecording(random(10));
            delete this;
        if (this._url.indexOf("http") != -1) {
            vars.load("highscores.txt?" + new Date().getTime());
        } else {
            vars.load("highscores.txt");
    function loadRecording(num) {
        vars = new LoadVars();
        vars.onLoad = function(success) {
            if (success && this.recTurn.length) {
                recTurn = this.recTurn;
                recFrame = this.recFrame;
                recFood = this.recFood;
                startGame(true);
            } else {
                loadRecording((num+1)%10);
                return;
            delete this;
        loadedRecordingNumber = num;
        if (this._url.indexOf("http") != -1) {
            vars.load("rec"+loadedRecordingNumber+".txt?" + new Date().getTime());
        } else {
            vars.load("rec"+loadedRecordingNumber+".txt");
    function saveHighscore() {
        sendVars = new LoadVars();
        for (var n in _root) {
            if (_root[n] != sendVars) {
                sendVars[n] = _root[n];
        returnVars = new LoadVars();
        returnVars.onLoad = function() {
            if (this.status == "ok") {
                loadHighscoresInterval = setInterval(function() {
                    loadHighscores();
                    clearInterval(loadHighscoresInterval);
                }, 1000);
            delete sendVars;
            delete this;
        sendVars.sendAndLoad("enterHighscore.php", returnVars, "POST");
    function startClicked() {
        if (!gameRunning || playRec) {
            if (highscores.enterHighscoreMC._visible) {
                Key.removeListener(enterHighscoreKeyListener);
                Key.addListener(keyListener);
                highscores.enterHighscoreMC._visible = false;
            startGame(false);
    function viewGame(lineMC) {
        loadRecording(lineMC.recFile);
        statusTextField.text = "Loading " + lineMC.name.text + "'s game...";
    Now what is left to do is somehow to iclude educational quiz in this game/code. First idea that came to me is same thing Ned suggested: to create some unique movie clip which would contain all data/questions lined up but main problem for me is how to "trigger" that movie clip to play only AFTER end user clicks on "Start game" or SPACE to restart? Not sure how to solve this issue?

  • Dose any one know how to make a game simular to runescape?

    what i am talking about is i want to make a agme for my website.
    i want it to be a mulity user game where charators can interact with another. So dose anyone have any videos i can whats like a tortorial to make one or any info.
    Thank you for ur help.

    I dont know how to make a game like runescape, but to be quite honest it was runescape that got me starting. In april last year I toke the Java tutorial with the aim to create an online multiplayer role playing game. When I was done with the tutorial I posted some messages i gamecreation forums around to try and find a designer to work with. Around august last year I found him and we had a conversation about how to do it. He told me about opengl, animation techniques and alot of other stuff that day. Stuff I didnt understod the first thing about. But he told me to read up on it since it was good stuff to know if you want to make a good game.
    I toke some tutorials at NeHe's openGL site. They are not the best I have seen but they taught me the basics. after that I did something cracy. I tried to find out how to make skeletal animation work so we could use my designers skeletal animated 3d models. I wrote a parser and 3 month later I understod and implemented skeletalanimation into the engine. Btw. I use something called JOGL to access OpenGL from Java. Next step was to implement tweening, kamera and thats where I am now.
    I toke a loan im my appartment to give me untill feb. 2007 to finish something and Im working everyday on this project. Good thing is that my designer is just as devouted and has also made arrangements so he doesnt have to work for a while. Now he can use all his time rigging, animating and making textures for characters, monsters, the world and so on.
    Its looking good so far and I havent lost my motivation and lust yet, but there is a long way to a finished game.
    I still have to learn about collision detection, culling, octrees, networking and a billion other issues but I enjoy leaning and working with it.
    When thats done there will be gameplay, AI, a balanced economy system and so on to develope.
    Its a long journey, but if all this dont hit you in the stomach and if you think you have the mental stamina for it, I would say go for it. If you succeed, good for you. If not, you gave it a shot!
    Good luck!

  • YES! How to make PRINT QUOTAS WORK with 10.4

    How to make PRINT QUOTAS WORK in 10.4
    After struggling for quite some time, I finally found a pretty simple way to make print quotas work.
    First, I’ll tell you our setup. We have 3 different computer centers with a variety of eMacs and new Intel iMacs, all clients are running 10.4.8, and each of those 3 centers has its own HP Laserjet 4200 printer. Our dual G5 server is running Server v.10.4.8. Client computers and printers have static IP addresses. All clients are bound to the server with the standard WorkGroup Manager/ LDAPv3 Directory Access scheme - such that all students login to the clients with their network username/password to mount their home directory on the client.
    Next, I’ll tell you what does not work. IF YOU WANT PRINT QUOTAS TO WORK, you cannot use Workgroup Manager to assign a printer to any managed user account, user group, or computer group. Why? Because when you go to a client, and Show Info on the printer that is being pushed by Workgroup Manager, you’ll see that the queue name is not the queue that you’ve setup in Server Admin. Instead, you’ll see the queue name is “MCX” or something along those lines. Even if you manually edit the Workgroup print preference file that is being pushed to clients, it still will not work.
    Drawbacks of my technique: In my case, students will see all 3 printers (1 from each lab) available to them no matter which lab they are in. Not the best, but for now I think it’ll be worth it to be able to control wasteful printing. Students may be able to move/delete the preference file (see below), but they’ll only be hurting themselves, as they won’t have any printers at all then.
    Okay, here’s how I did it:
    1. If you have setup any printers to be pushed out via Workgroup Manager’s preference enforcement to individual users, usergroups, or computer groups, turn those preferences off and leave them off.
    2. Delete any existing printers in your Printer Setup Utility and/or Server Admin. Add and setup a new printer queue using the Server Admin> Print service. I added the printer through the Server Admin application, not Printer Setup Utility (may not matter). However, I did go into that latter utility to set the model of the printer. Now, back in Server Admin, edit the printer queue to turn on these services IPP, LPR (bonjour off), and of course check off the enforce quotas box. (No student Windows clients, so I didn’t tinker with SMB print service). I went ahead and specified the standard cover sheet – it will be handy while troubleshooting.
    3. In Workgroup Manager, select the users that you want to enforce quotas upon, go to the Printer Quota tab (not the preference pane) and, in my case, I selected All Queues and specified a quota, and clicked Save.
    4. Delete all printers that appear in the Printer Setup Utility from each client computer (I know, UGH).
    5. For all network users, you need to edit a preference file and put it into each user’s home directory. That file is “com.apple.print.favorites.plist” and as you guessed, it needs to go into the Library> Preferences folder of every one of your network users’ home directories. Now, the content of that file is crucial… what it should show is the name of the queue(s) you created in Server Admin above, and be immediately followed by an “@” and the address of the server that is hosting that queue. For example, my queue’s name is TCStudentQ and the server’s address is student.mydomain.org… so my preference file has this entry: [email protected]. If you have more than one queue, you’ll have more entries. Be sure that the network user has at least Read level access under Group or Others. I’d recommend making the server System account the Owner of the file, and be sure to lock the file so the users can’t easily trash it. If you don’t know how to create this file in the first place, what you can do is go to a client computer, and log into the client with a dummy network account. Then open Printer Setup Utility, and you should see the queue you created in step 2. Add that printer, and then the file will be created in your dummy account’s home directory under Library> Preferences. Now you can use that file to distribute to other user’s folders… but don’t forget that each user needs Read level access.
    6. That’s it. Works for me. When they exceed the quota, all that spits out is the cover page. It’d be nice if there was a quota monitor utility on the client side so users can see how many pages they have remaining and when the quota will automatically reset. I plan to start the quota on a Monday morning and go on a weekly duration. Not sure what a good starting point is… perhaps 25 pages every school week.
    7. Hey Apple Computer, Inc. Server Developers & Project Managers, I truly hope you’re reading this and can explain why print quotas don’t function as you have documented and advertised. I don’t mean to toot my own horn, but I’ve spent way too much time discovering this workaround, and I know it will help thousands of others with the same problem. I can see where your Print Quota system breaks down, and I think you need to fix these issues or at least document them. Don’t forget to fix serious 10.4 Server bugs before leaving it behind for 10.5 Server – many of us will continue using 10.4 Server for at least another year or two.

    David,
    Your assumption that I didn't read the documentation is incorrect. I read that 10.4 documentation over and over - followed it to the letter to no avail. Perhaps it was updated in the last few weeks? So, do you have a fully operable printer quota system in conjunction with a managed computer or user group that has a managed printer pushed to the group via Workgroup Manager? I can push a managed printer to a managed group without a problem, but the quotas won't be enforced unless I use the workaround above and cut Workgroup Manager's managed/pushed printer out of the picture.
    I know this is a user-to-user forum - however, I'm also aware that Apple tech support often chime in here, so it doesn't hurt to post a message to them in the context of a larger posting about a 'known issue'. I have used the server feedback form... hasn't seemed to me to be very helpful in the past.

Maybe you are looking for

  • Dropping a table gives an error

    When I try to drop a table it gives the following error? SQL> drop table FLOWS_010600.SYS_IOT_OVER_55056; drop table FLOWS_010600.SYS_IOT_OVER_55056 ERROR at line 1: ORA-25191: cannot reference overflow table of an index-organized table what should i

  • How to associate nickname with apple id in gamecenter

    I know I have a gamecenter nickname but it isn't associated with my apple id for some reason.  I logged out and can't seem to recover it for some reason.  Any help? Thanks

  • My bank has changed login: i need to disable popup blockers - how?

    I contacted Charter (my carrier) and was told to go to Tools and there was to be "Popup blocker" and I could do it there, but there is nothing that says "Popup blocker". I am not much into computers and I am at a loss as to what to do.

  • [Mobile.Actionscript.it presents the 2nd Mobile Game Contest]

    Mobile.Actionscript.it presents the 2nd Mobile Game Contest Gaming today is one of the most popular means of entertainment on mobiles, and is fast becoming the most exciting new field for mobile content developers worldwide. In this flourishing new e

  • Syncing Magazines to iPad from PC

    Hi, I have some magazines on my windows computer in PDF format and i would like to sync them to my iPad Mini Wi-Fi 7.0.4. I tried it with iTunes where i put the PDF in the books section and then sync but it did not work. What other way can i sync the