2016-08-01 10 views
1

私はMinecraft用のTriggerbotに取り組んでいます。 私はいくつかの調査を行い、いくつかの異なることを試しましたが、私が使用するかのように機能するようには見えません。この特定のコード行をどのように遅延させることができますか?

基本的に全体のゲームではなく、私が遅らせたいコードだけ行をフリーズ
try { 
    Thread.sleep(100); 
} catch (InterruptedException TriggerDelay) { 
    TriggerDelay.printStackTrace(); 
} 

...

ここで私は遅らせるために必要な特定のセクションがあります子供たちがスキッドすることはできませんので、私は残りの部分を残し私のTriggerbot ..

if(mc.objectMouseOver !=null) { 
    if(mc.objectMouseOver.typeOfHit == MovingObjectType.ENTITY) { 
     if(mc.objectMouseOver.entityHit instanceof EntityLivingBase) { 
      // This is where I need help, I want to delay the following by 100ms... 
      mc.thePlayer.swingItem(); 
      mc.thePlayer.sendQueue.addToSendQueue(new C02PacketUseEntity(mc.objectMouseOver.entityHit, C02PacketUseEntity.Action.ATTACK)); 
+2

を私はインデントがあなたの実際のコードからのものではないことを願っています。ネストされたループと条件のレベルはいくつありますか? –

+0

スレッドを見てください。後でそれらの2つの操作の実行をスケジュールしたい場合は、バックグラウンドスレッドを作成してスリープすることができます。 –

答えて

0

これはperhapですあなたが必要なものに近いだが、私はあなたが二つ必要Minecraftのは、それ

if (mc.objectMouseOver != null 
    && mc.objectMouseOver.typeOfHit == MovingObjectType.ENTITY 
    && mc.objectMouseOver.entityHit instanceof EntityLivingBase) { 
    (new Thread() { 
     public void run() { 
      try { 
       Thread.sleep(100); 
       mc.thePlayer.swingItem(); 
       mc.thePlayer.sendQueue.addToSendQueue(new C02PacketUseEntity(mc.objectMouseOver.entityHit, C02PacketUseEntity.Action.ATTACK)); 
      } catch (InterruptedException ex) { 
       return; 
      } 
     } 
    }).start(); 
} 
1

のためにあなたを愛する100%わからない:でタスクをスケジュールする能力を持って

最初の点については、Executors classを参照してください。 2番目の点については、手元にあるタスクを実行するために必要なすべてのデータがRunnableにあることを確認してください。

それは本当です。考慮するとする

一つ重要なことは明白ではないScheduledExecutorServiceRunnableの両方が唯一行動を定義するが、権限を持っていない、また彼らが状態を定義する意図を持っていないということです。

Executorsクラスは、状態が管理されているScheduledExecutorServiceを作成する方法を提供します。あなたがそれらに提出したRunnableはあなたが定義するもの、状態が含まれています。

0

TimeUnit.seconds.sleep(int seconds);またはTimeUnit.minutes.sleep(int minutes);

これは代わりに、ここでThread.sleep(long miliseconds);の使用するための最も簡単に使用が推奨する方法である理由についてもっと読む:http://javarevisited.blogspot.ro/2012/11/What-is-timeunit-sleep-over-threadsleep.html

+0

あなたがリンクしている記事が、睡眠時間がほぼ確実に1秒未満になる状況や極端な場合でも最大で数秒かかる状況において、多くの利益をもたらすとは必ずしも言えません。 – Tibrogargan

関連する問題