Java 布尔值始终为真
这是第一节课:Java 布尔值始终为真,java,Java,这是第一节课: package Chatter; public class Timer { private long period; private long start; private long CurrentTime = System.currentTimeMillis(); public Timer(long period) { this.period = period; start = System.currentTimeMillis(); } publi
package Chatter;
public class Timer
{
private long period;
private long start;
private long CurrentTime = System.currentTimeMillis();
public Timer(long period)
{
this.period = period;
start = System.currentTimeMillis();
}
public long getElapsed()
{
return System.currentTimeMillis() - start;
}
public long getRemaining()
{
return period - getElapsed();
}
public boolean isRunning()
{
return getElapsed() <= period;
}
public long TimetoExcucte(int Seconds){
return CurrentTime + (Seconds * 1000);
}
public boolean Reached(int Seconds){
return System.currentTimeMillis() > TimetoExcucte(Seconds);
keyboard.typeString("Test", true);
}
public void reset()
{
start = System.currentTimeMillis();
}
public void stop()
{
period = 0;
}
public static String format(long milliSeconds)
{
long secs = milliSeconds / 1000L;
return String.format("%02d:%02d:%02d", new Object[] {
Long.valueOf(secs / 3600L), Long.valueOf((secs % 3600L) / 60L), Long.valueOf(secs % 60L)
});
}
}
这是第二节课:
package Chatter;
import java.util.List;
import Chatter.Timer;
import org.osbot.rs07.api.ui.Message;
import org.osbot.rs07.script.Script;
import org.osbot.rs07.script.ScriptManifest;
@ScriptManifest(name="Chatter", author="Chatter", version=1, info="Chatter", logo="")
public class Chatter extends Script{
private static long Lastime = 0;
private Dialogue Dialogue;
boolean said;
int Index;
Timer runTimer;
public void onStart() throws InterruptedException {
runTimer = new Timer(0);
}
public int onLoop() throws InterruptedException {
if(runTimer.Reached(5)){
keyboard.typeString("Hoi", true);
}else{
log("Waiting");
}
return 500;
}
private void Respond() throws InterruptedException {
//Message sending method
if(said == true){
sleep(random(2000,4500));
Dialogue = new Dialogue();
List<String> RespondSpeach = Dialogue.getNumberList1();
keyboard.typeString(RespondSpeach.get(Index) , true);
said = false;
}
}
public void onMessage(Message m) throws InterruptedException {
//Message recieveing method
if(m.getUsername().equalsIgnoreCase(""))
Dialogue = new Dialogue();
List<String> ReceivedSpeach = Dialogue.getNumberList();
for (String word : ReceivedSpeach){
if (m.getMessage().contains(word)){
Index = ReceivedSpeach.indexOf(word);
said = true;
}
}
}
}
第一个类是timer,它作为它的名字生成一个timer,我想做的是让脚本每5秒执行一个动作
这个脚本在Osbot上运行,我想执行的操作是每5秒进行一次脚本编写测试,但是脚本会继续进行垃圾邮件测试
如何使布尔值每5秒工作一次,而不是滥发信息?Keyboard.typeString在REACH函数的返回调用后被调用,这意味着它永远不会被调用。试着把它移到正确的地方
为误解而编辑 显示您的实际代码。那个代码不会编译,所以它不是真正的代码。这个代码不能编译。键盘测试;无法访问。添加的完整类都使用毫秒,在第一个类中秒数乘以1000