The reason why the script has this behaviour is that OpenSuse 12.3 has replaced the old sysvinit with systemd, a system management daemn which controls the whole boot process.
The format of script describing services to be started by systemd differs from that of sysvinit, so it is little wonder that your script fails. Once the script is properly set up, its operation via systemctl is trivial:
sudo systemctl enable/disable your-service
enables or disables it, and typically
sudo systemctl start/stop/status your-service
starts it, stops it, inquiries after its status.
A typical custom service script is located in the folder /etc/systemd/system, ends with the suffix .service, and has this format:
[Unit]
Description=sdbarker.com Chiliproject
Requires=mysqld.service nginx.service
Wants=mysqld.service nginx.service
[Service]
User=www-data
WorkingDirectory=/path/to/chiliproject/install
ExecStart=/usr/bin/bundle
PIDFile=/path/to/chiliproject/install/tmp/pids/server.pid
[Install]
WantedBy=multi-user.target
As you can see, most entries are self-explanatory. Without knowing more about your script I cannot provide further assistance, but you will find in this Arch Linux Wiki page the info you need to write a proper custom service script.