JA UO Topic mouse keyboard - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
家 · C# · IDE · UO API · A–Z · 例 · Languages
マウスとキーボードの入力。画面座標、ワールドセル、ガンプ内の座標は意味が異なります。
| トピック | コマンドと説明 |
|---|---|
| Click | UO.Click |
| LClick | UO.LClick |
| RClick | UO.RClick |
| DoubleClick | UO.LDblClick · UO.RDblClick |
| KeyPress | UO.KeyPress |
| Press | UO.Press |
UO.Click · UO.LClick · UO.RClick · UO.LDblClick · UO.RDblClick · UO.KeyPress · UO.Press
各コマンド カードには、直接コード、関数、クラスなどのいくつかの独立したシナリオがあります。以下は厳選された短いシナリオです。制限と完全な分析がカードに含まれています。
UO.LClick(100, 100);UO.KeyPress(0x70);Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.Click(object? name);GameActions.SingleClick 経由でオブジェクトのシングルクリックを送信します。
-
name— オブジェクトのシリアル番号、または self/backpack/lasttarget/saved オブジェクトのサポートされている名前。数値文字列と 0x 文字列は実行時に解決されます。
void - 戻り値はありません。
- Click は、ObjectChecked を介してリンクを解決します。 ClickOnObject はまず serial に Arg を使用し、Click(int) を呼び出します。これはアイテムの署名/情報のリクエストであり、DoubleClick またはアイテムの使用ではありません。サーバーの応答は非同期で届きます。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。
UO.Print("Calling UO.Click");
UO.Click("self");引数と実行の流れ:
- シングルクリックがselfに送信されます。
UO.Click("self");引数と実行の流れ:
- 送信する前に、ターゲットがローカルに存在するかどうかがチェックされます。
return RunScenario();
object? RunScenario()
{
var target = UO.LastTarget();
if (Truth(UO.Exists(target)))
{
UO.Click(target);
}
return null;
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;引数と実行の流れ:
- バックパックをシングルクリックしても、ダブルクリックのように開きません。
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
var bag = UO.Backpack();
if (Truth(bag != 0))
{
UO.Click(bag);
}
return null;
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
}C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。
引数: name (Any)
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.Click. -
InjectionScript.Runtime.InjectionApiUO.ObjectChecked:ObjectChecked(name, id => Click(id)). -
InjectionScript.Runtime.InjectionApiUO.Click:Click(id).
内部実装のコードです。単独のスクリプトとして実行できません。
public void Click(InjectionValue name) => ObjectChecked(name, id => Click(id));Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.KeyPress(object? key);
void UO.KeyPress(object? key, object? count);
void UO.KeyPress(object? key, object? count, object? delay);1 つ以上の仮想キーの押下を合成します。
-
key- int 仮想キー Windows、byte に縮小されます。これは文字列ではなく、ID ターゲットでもありません。 -
count— オプションの繰り返し回数、デフォルトは 1。 0/ネガティブ - 押すことも待つこともありません。 -
delay- 最後のボタンを含め、各ボタンを押すたびにミリ秒単位のオプションの一時停止。デフォルトは 105 です。この機能によるさらなる制限なしに、ブリッジWait によって送信されます。
void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。
- Press はすべてのフォームを KeyPress に転送します。 KeyPress はループ count>0 を実行します: ブリッジ。KeyPress(キー)、ブリッジ。Wait(遅延)、カウント--。ブリッジは user32 keybd_event をダウン/アップに送信します。
- 入力フォーカスを使用して Graphics ClassicUO を開く必要があります。それ以外の場合、RequireGameInput はエラーをスローします。クリックすると現在のインターフェイス/マクロが処理されますが、サーバー コマンドの結果は返されません。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。
UO.Print("Calling UO.KeyPress");
UO.KeyPress(0x70);引数と実行の流れ:
- 1 つ以上の仮想キーの押下を合成します。
UO.KeyPress(0x70);引数と実行の流れ:
- Press はすべてのフォームを KeyPress に転送します。 KeyPress はループ count>0 を実行します: ブリッジ。KeyPress(キー)、ブリッジ。Wait(遅延)、カウント--。ブリッジは user32 keybd_event をダウン/アップに送信します。
return RunScenario();
object? RunScenario()
{
UO.KeyPress(0x70, 2, 250);
return null;
}引数と実行の流れ:
- 入力フォーカスを使用して Graphics ClassicUO を開く必要があります。それ以外の場合、RequireGameInput はエラーをスローします。クリックすると現在のインターフェイス/マクロが処理されますが、サーバー コマンドの結果は返されません。
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
UO.KeyPress(0x70, 0);
UO.Print("Zero count sends no key");
return null;
}
}C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。
引数: key (Integer)
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.KeyPress. -
InjectionScript.Runtime.InjectionApiUO.KeyPress:KeyPress(key, 1).
内部実装のコードです。単独のスクリプトとして実行できません。
public void KeyPress(int key) => KeyPress(key, 1);引数: key (Integer), count (Integer)
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.KeyPress. -
InjectionScript.Runtime.InjectionApiUO.KeyPress:KeyPress(key, count, 105).
内部実装のコードです。単独のスクリプトとして実行できません。
public void KeyPress(int key, int count) => KeyPress(key, count, 105);引数: key (Integer), count (Integer), delay (Integer)
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.KeyPress. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.KeyPress:bridge.KeyPress(key). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Wait:bridge.Wait(delay).
内部実装のコードです。単独のスクリプトとして実行できません。
public void KeyPress(int key, int count, int delay)
{
while (count > 0)
{
bridge.KeyPress(key);
bridge.Wait(delay);
count--;
}
}Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.LClick(object? x, object? y);マウスの 1 回のクリック (左ボタン) を合成します。
-
x— 世界座標ではなく、ClassicUO ウィンドウ ピクセルの int X。 -
y— 世界座標ではなく、ClassicUO ウィンドウ ピクセルの int Y。
void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。
- Bridge は WarpMouse(x,y) を呼び出し、Mouse.Position と SDL_WarpMouseInWindow を更新してから、MouseButton を 1 回ダウン/アップします。ダブルクリックの間に一時停止はありません。
- 入力フォーカスのある開いた ClassicUO グラフィックス ウィンドウが必要です。それ以外の場合、RequireGameInput は InvalidOperationException をスローします。 user32 Mouse_even は Windows で使用できます。ドットの下のボタン/オブジェクトは、現在のインターフェイスによって異なります。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。
UO.Print("Calling UO.LClick");
UO.LClick(100, 100);引数と実行の流れ:
- マウスの 1 回のクリック (左ボタン) を合成します。
UO.LClick(100, 100);引数と実行の流れ:
- Bridge は WarpMouse(x,y) を呼び出し、Mouse.Position と SDL_WarpMouseInWindow を更新してから、MouseButton を 1 回ダウン/アップします。ダブルクリックの間に一時停止はありません。
return RunScenario();
object? RunScenario()
{
var x = 120;
var y = 140;
UO.LClick(x, y);
return null;
}引数と実行の流れ:
- 入力フォーカスのある開いた ClassicUO グラフィックス ウィンドウが必要です。それ以外の場合、RequireGameInput は InvalidOperationException をスローします。 user32 Mouse_even は Windows で使用できます。ドットの下のボタン/オブジェクトは、現在のインターフェイスによって異なります。
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
ClickAt(100, 100);
return null;
}
void ClickAt(dynamic x, dynamic y)
{
UO.LClick(x, y);
}
}C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。
引数: x (Integer), y (Integer)
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.LClick. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LClick:bridge.LClick(x, y).
内部実装のコードです。単独のスクリプトとして実行できません。
public void LClick(int x, int y) => bridge.LClick(x, y);Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.LDblClick(object? x, object? y);マウスのダブルクリック: 左ボタンを合成します。
-
x— 世界座標ではなく、ClassicUO ウィンドウ ピクセルの int X。 -
y— 世界座標ではなく、ClassicUO ウィンドウ ピクセルの int Y。
void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。
- Bridge は WarpMouse(x,y) を呼び出し、Mouse.Position と SDL_WarpMouseInWindow を更新し、次に MouseButton を 2 回ダウン/アップします。ダブルクリックの間に一時停止はありません。
- 入力フォーカスのある開いた ClassicUO グラフィックス ウィンドウが必要です。それ以外の場合、RequireGameInput は InvalidOperationException をスローします。 user32 Mouse_even は Windows で使用できます。ドットの下のボタン/オブジェクトは、現在のインターフェイスによって異なります。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。
UO.Print("Calling UO.LDblClick");
UO.LDblClick(100, 100);引数と実行の流れ:
- マウスのダブルクリック: 左ボタンを合成します。
UO.LDblClick(100, 100);引数と実行の流れ:
- Bridge は WarpMouse(x,y) を呼び出し、Mouse.Position と SDL_WarpMouseInWindow を更新し、次に MouseButton を 2 回ダウン/アップします。ダブルクリックの間に一時停止はありません。
return RunScenario();
object? RunScenario()
{
var x = 120;
var y = 140;
UO.LDblClick(x, y);
return null;
}引数と実行の流れ:
- 入力フォーカスのある開いた ClassicUO グラフィックス ウィンドウが必要です。それ以外の場合、RequireGameInput は InvalidOperationException をスローします。 user32 Mouse_even は Windows で使用できます。ドットの下のボタン/オブジェクトは、現在のインターフェイスによって異なります。
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
ClickAt(100, 100);
return null;
}
void ClickAt(dynamic x, dynamic y)
{
UO.LDblClick(x, y);
}
}C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。
引数: x (Integer), y (Integer)
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.LDblClick. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.LDblClick:bridge.LDblClick(x, y).
内部実装のコードです。単独のスクリプトとして実行できません。
public void LDblClick(int x, int y) => bridge.LDblClick(x, y);Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.Press(object? key);
void UO.Press(object? key, object? count);
void UO.Press(object? key, object? count, object? delay);1 つ以上の仮想キーの押下を合成します。
-
key- int 仮想キー Windows、byte に縮小されます。これは文字列ではなく、ID ターゲットでもありません。 -
count— オプションの繰り返し回数、デフォルトは 1。 0/ネガティブ - 押すことも待つこともありません。 -
delay- 最後のボタンを含め、各ボタンを押すたびにミリ秒単位のオプションの一時停止。デフォルトは 105 です。この機能によるさらなる制限なしに、ブリッジWait によって送信されます。
void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。
- Press はすべてのフォームを KeyPress に転送します。 KeyPress はループ count>0 を実行します: ブリッジ。KeyPress(キー)、ブリッジ。Wait(遅延)、カウント--。ブリッジは user32 keybd_event をダウン/アップに送信します。
- 入力フォーカスを使用して Graphics ClassicUO を開く必要があります。それ以外の場合、RequireGameInput はエラーをスローします。クリックすると現在のインターフェイス/マクロが処理されますが、サーバー コマンドの結果は返されません。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。
UO.Print("Calling UO.Press");
UO.Press(0x70);引数と実行の流れ:
- 1 つ以上の仮想キーの押下を合成します。
UO.Press(0x70);引数と実行の流れ:
- Press はすべてのフォームを KeyPress に転送します。 KeyPress はループ count>0 を実行します: ブリッジ。KeyPress(キー)、ブリッジ。Wait(遅延)、カウント--。ブリッジは user32 keybd_event をダウン/アップに送信します。
return RunScenario();
object? RunScenario()
{
UO.Press(0x70, 2, 250);
return null;
}引数と実行の流れ:
- 入力フォーカスを使用して Graphics ClassicUO を開く必要があります。それ以外の場合、RequireGameInput はエラーをスローします。クリックすると現在のインターフェイス/マクロが処理されますが、サーバー コマンドの結果は返されません。
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
UO.Press(0x70, 0);
UO.Print("Zero count sends no key");
return null;
}
}C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。
引数: key (Integer)
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.Press. -
InjectionScript.Runtime.InjectionApiUO.KeyPress:KeyPress(key).
内部実装のコードです。単独のスクリプトとして実行できません。
public void Press(int key) => KeyPress(key);引数: key (Integer), count (Integer)
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.Press. -
InjectionScript.Runtime.InjectionApiUO.KeyPress:KeyPress(key, count).
内部実装のコードです。単独のスクリプトとして実行できません。
public void Press(int key, int count) => KeyPress(key, count);引数: key (Integer), count (Integer), delay (Integer)
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.Press. -
InjectionScript.Runtime.InjectionApiUO.KeyPress:KeyPress(key, count, delay).
内部実装のコードです。単独のスクリプトとして実行できません。
public void Press(int key, int count, int delay) => KeyPress(key, count, delay);Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.RClick(object? x, object? y);マウスの 1 回のクリック、つまり右ボタンを合成します。
-
x— 世界座標ではなく、ClassicUO ウィンドウ ピクセルの int X。 -
y— 世界座標ではなく、ClassicUO ウィンドウ ピクセルの int Y。
void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。
- Bridge は WarpMouse(x,y) を呼び出し、Mouse.Position と SDL_WarpMouseInWindow を更新してから、MouseButton を 1 回ダウン/アップします。ダブルクリックの間に一時停止はありません。
- 入力フォーカスのある開いた ClassicUO グラフィックス ウィンドウが必要です。それ以外の場合、RequireGameInput は InvalidOperationException をスローします。 user32 Mouse_even は Windows で使用できます。ドットの下のボタン/オブジェクトは、現在のインターフェイスによって異なります。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。
UO.Print("Calling UO.RClick");
UO.RClick(100, 100);引数と実行の流れ:
- マウスの 1 回のクリック、つまり右ボタンを合成します。
UO.RClick(100, 100);引数と実行の流れ:
- Bridge は WarpMouse(x,y) を呼び出し、Mouse.Position と SDL_WarpMouseInWindow を更新してから、MouseButton を 1 回ダウン/アップします。ダブルクリックの間に一時停止はありません。
return RunScenario();
object? RunScenario()
{
var x = 120;
var y = 140;
UO.RClick(x, y);
return null;
}引数と実行の流れ:
- 入力フォーカスのある開いた ClassicUO グラフィックス ウィンドウが必要です。それ以外の場合、RequireGameInput は InvalidOperationException をスローします。 user32 Mouse_even は Windows で使用できます。ドットの下のボタン/オブジェクトは、現在のインターフェイスによって異なります。
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
ClickAt(100, 100);
return null;
}
void ClickAt(dynamic x, dynamic y)
{
UO.RClick(x, y);
}
}C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。
引数: x (Integer), y (Integer)
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.RClick. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RClick:bridge.RClick(x, y).
内部実装のコードです。単独のスクリプトとして実行できません。
public void RClick(int x, int y) => bridge.RClick(x, y);Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.RDblClick(object? x, object? y);マウスのダブルクリック、つまり右ボタンを合成します。
-
x— 世界座標ではなく、ClassicUO ウィンドウ ピクセルの int X。 -
y— 世界座標ではなく、ClassicUO ウィンドウ ピクセルの int Y。
void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。
- Bridge は WarpMouse(x,y) を呼び出し、Mouse.Position と SDL_WarpMouseInWindow を更新し、次に MouseButton を 2 回ダウン/アップします。ダブルクリックの間に一時停止はありません。
- 入力フォーカスのある開いた ClassicUO グラフィックス ウィンドウが必要です。それ以外の場合、RequireGameInput は InvalidOperationException をスローします。 user32 Mouse_even は Windows で使用できます。ドットの下のボタン/オブジェクトは、現在のインターフェイスによって異なります。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。
UO.Print("Calling UO.RDblClick");
UO.RDblClick(100, 100);引数と実行の流れ:
- マウスのダブルクリック、つまり右ボタンを合成します。
UO.RDblClick(100, 100);引数と実行の流れ:
- Bridge は WarpMouse(x,y) を呼び出し、Mouse.Position と SDL_WarpMouseInWindow を更新し、次に MouseButton を 2 回ダウン/アップします。ダブルクリックの間に一時停止はありません。
return RunScenario();
object? RunScenario()
{
var x = 120;
var y = 140;
UO.RDblClick(x, y);
return null;
}引数と実行の流れ:
- 入力フォーカスのある開いた ClassicUO グラフィックス ウィンドウが必要です。それ以外の場合、RequireGameInput は InvalidOperationException をスローします。 user32 Mouse_even は Windows で使用できます。ドットの下のボタン/オブジェクトは、現在のインターフェイスによって異なります。
return new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
private readonly Func<int, Task> WaitAsync;
private readonly string[] Args;
private readonly CancellationToken Cancellation;
private readonly Action Checkpoint;
public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
{
UO = api;
WaitAsync = wait;
Args = args;
Cancellation = cancellation;
Checkpoint = checkpoint;
}
public object? RunScenario()
{
ClickAt(100, 100);
return null;
}
void ClickAt(dynamic x, dynamic y)
{
UO.RDblClick(x, y);
}
}C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。
引数: x (Integer), y (Integer)
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.RDblClick. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.RDblClick:bridge.RDblClick(x, y).
内部実装のコードです。単独のスクリプトとして実行できません。
public void RDblClick(int x, int y) => bridge.RDblClick(x, y);