Ajuda em Java Script: Missing return statement

2 respostas
M

Alguém poderia me dizer o que há de errado com o script que escrevi? :oops:
[img]http://img513.imageshack.us/img513/2807/logerror.jpg[/img]

import org.rsbot.event.events.MessageEvent;
import org.rsbot.script.Script;
import org.rsbot.script.ScriptManifest;
import org.rsbot.event.events.MessageEvent;
import org.rsbot.event.listeners.*;
import java.util.Map;
import org.rsbot.script.wrappers.RSObject;

@ScriptManifest(authors = "matheusA7X", description = "Soro de Sanfew", keywords = "Teste", name = "Meu Primeiro Script!", version = 1.00)
public class SanfewSerumMaker extends Script {

private int bankID = 8948;
private int snakeweed = 1526;
private int superRestore = 3024;
private int mix1 = 10909;
private int mix2 = 10917;
private int unicornhorndust = 235;
private int nailbeastnail = 10937;
private int finishedpot = 10925;

public boolean onStart() {
  log("Welcome");
  mouse.setSpeed(random(3,8));
                    }
					
public void onFinish() {

        

}


public int loop() {
if (!inventory.contains(superRestore)) {
                        bank.open();
                        if (bank.isOpen()) {
                            bank.withdraw(unicornhorndust, 14);
                    }

if (!inventory.contains(mix1)) {
                        bank.open();
                        if (bank.isOpen()) {
                            bank.withdraw(snakeweed, 14);
                    }

if (!inventory.contains(mix2)) {
                        bank.open();
                        if (bank.isOpen()) {
                            bank.withdraw(nailbeastnail, 14);
                    }

if (!inventory.contains(finishedpot)) {
                        bank.open();
                        if (bank.isOpen()) {
                            bank.depositAll();
                    }

			if (inventory.contains(unicornhorndust)) 
                        if (inventory.contains(superRestore)) 
				    	inventory.useItem(unicornhorndust, superRestore);

					sleep(random(300, 400));
					}
				}

			if (inventory.contains(mix1))
                        if (inventory.contains(snakeweed))
				    	inventory.useItem(mix1, snakeweed);

					sleep(random(300, 400));
					}
				}

			if (inventory.contains(mix2))
                        if (inventory.contains(nailbeastnail))
				    	inventory.useItem(mix2, nailbeastnail);

					sleep(random(300, 400));
					}
				
			}

2 Respostas

leoramos

O erro tá na tua mensagem: o método (ou os métodos) exigem retorno, e tu executa todas as operações sem retornar valor algum.
O erro está tanto no método onStart quanto no loop.
Agora é com você :wink:

M

Quando eu coloco

public boolean onStart() {
return true;
}

e

public int loop() {
 
return 0;
}

Obtenho este erro:

Looking for JDK
Compiling scripts
Scripts\Sources\SanfewSerumMaker.java:29:canoot return a value from method whose result type is void
             return 0;
1 error
Criado 18 de outubro de 2011
Ultima resposta 18 de out. de 2011
Respostas 2
Participantes 2