JA UO Topic sound visual environment - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
家 · C# · IDE · UO API · A–Z · 例 · Languages
音、照明、季節、クライアントの天候の影響。
| トピック | コマンドと説明 |
|---|---|
| Sound | UO.Sound |
| PlayWav | UO.PlayWav |
| Light | UO.Light |
| Season | UO.SetSeason |
| Weather Filter | UO.FilterWeather |
UO.Sound · UO.PlayWav · UO.Alarm · UO.Light · UO.SetSeason · UO.FilterWeather · UO.TicksAnim
各コマンド カードには、直接コード、関数、クラスなどのいくつかの独立したシナリオがあります。以下は厳選された短いシナリオです。制限と完全な分析がカードに含まれています。
UO.Print(UO.PlayWav("alert.wav"));UO.Light();Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.Alarm();「Alarm」という単語をローカルの ClassicUO syslog に出力します。スクリプト内の条件の発生に関するメモとして使用します。
パラメータはありません。
void - 値なし。別行で実行してください。これは、bool ではなく、ユーザーがメッセージを見たという確認でもありません。
- パラメータのないフォームUO.Alarm()のみが登録されます。独自のテキストについては、UO.Print(text) を使用してください。
- このコマンドは、サウンドの再生、アイコンの点滅、またはウィンドウのアクティブ化を行いません。メッセージはローカルに残ります。ゲーム チャットには送信されません。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。
UO.Print("Calling UO.Alarm");
UO.Alarm();引数と実行の流れ:
- パラメータはありません。 Alarm という単語がシステム ログに表示されます。
UO.Alarm();引数と実行の流れ:
- Alarm にはテキスト オプションがありません。 Life は数値 HP を返します。 Print に理由の明確な説明を追加します。
return RunScenario();
object? RunScenario()
{
if (Truth(UO.Life() < 30))
{
UO.Alarm();
UO.Print("Health is below 30");
}
return null;
}
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;引数と実行の流れ:
- 0x0EED - ゴールドタイプ、-1 - 任意の色、backpack - バックパック。 Alarm は、serial が見つかった場合にのみ呼び出されます。このような呼び出しをすぐにループに入れないでください。
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 item = UO.FindType(0x0EED, -1, "backpack");
if (Truth(item != ""))
{
UO.Alarm();
UO.Print("Gold stack found: " + Convert.ToString(item));
}
else
{
UO.Print("No gold stack in the loaded backpack");
}
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 を使います。
引数: 引数はありません。
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility. -
InjectionScript.Runtime.InjectionApiUO.SystemMessage:SystemMessage(arguments.Length > 0 ? Text(0) : "Alarm"). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "alarm":
SystemMessage(arguments.Length > 0 ? Text(0) : "Alarm"); return InjectionValue.Unit;Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.FilterWeather();
void UO.FilterWeather(object? enabled);クライアント天気フィルターを有効または無効にします。
-
enabled— オプションの値: 引数を指定しないと、フィルターがオンになります。 0 がオフになり、ゼロ以外の int がオンになります。
void - 戻り値はありません。
- 正規化されたフラグをランタイム状態に書き込み、マネージャーに渡します。フィルターはクライアントの処理に影響します。サーバー イベントとその他のログ設定は分離されたままになります。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。
UO.Print("Calling UO.FilterWeather");
UO.FilterWeather();引数と実行の流れ:
- 引数の数がゼロの場合は、読み取りではなく含めることを意味します。
UO.FilterWeather();引数と実行の流れ:
- 明示的な 0 はクライアント フィルターをオフにします。
return RunScenario();
object? RunScenario()
{
UO.FilterWeather(0);
return null;
}引数と実行の流れ:
- フィルターがオンになり、明らかにオフ状態に戻ります。
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.FilterWeather(1);
UO.FilterWeather(0);
return null;
}
}C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。
引数: 引数はありません。
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetWeatherFilter:bridge.SetWeatherFilter(state.WeatherFilter).
内部実装のコードです。単独のスクリプトとして実行できません。
case "filterweather": state.WeatherFilter = arguments.Length == 0 || Arg(0) != 0 ? 1 : 0; bridge.SetWeatherFilter(state.WeatherFilter); break;引数: enabled (Any)
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(0). -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetWeatherFilter:bridge.SetWeatherFilter(state.WeatherFilter).
内部実装のコードです。単独のスクリプトとして実行できません。
case "filterweather": state.WeatherFilter = arguments.Length == 0 || Arg(0) != 0 ? 1 : 0; bridge.SetWeatherFilter(state.WeatherFilter); break;Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.Light();
void UO.Light(object? value);クライアントの全体的な照明をローカルに設定します。
-
value— オプションの整数: 0..30、この範囲に限定されます。引数のない形式では 0 を使用します。これは読み取りではなく書き込みです。
void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。
- ExecuteLegacyManualAlias は Arg(0) を渡しますが、不足している引数は 0 です。 SetLight は、Light.Overall および Light.RealOverall に byte の制限値を割り当てます。
- 他のプレイヤーの照明を変更せず、サーバーに要求しません。次のライティング サーバー パッケージで値を置き換えることができます。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。
UO.Print("Calling UO.Light");
UO.Light();引数と実行の流れ:
- クライアントの全体的な照明をローカルに設定します。
UO.Light();引数と実行の流れ:
- ExecuteLegacyManualAlias は Arg(0) を渡しますが、不足している引数は 0 です。 SetLight は、Light.Overall および Light.RealOverall に byte の制限値を割り当てます。
return RunScenario();
object? RunScenario()
{
UO.Light(15);
return null;
}引数と実行の流れ:
- 他のプレイヤーの照明を変更せず、サーバーに要求しません。次のライティング サーバー パッケージで値を置き換えることができます。
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.Light(99);
UO.Print("Light clamped to 30");
return null;
}
}C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。
引数: 引数はありません。
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetLight:bridge.SetLight(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "light": bridge.SetLight(Arg(0)); break;引数: value (Any)
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetLight:bridge.SetLight(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "light": bridge.SetLight(Arg(0)); break;Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
int UO.PlayWav(object? file);ローカルオーディオファイルを再生します。
-
file— オーディオ ファイルへのパス。絶対パスは保持され、相対パスは CUOEnviroment.ExecutablePath から解決されます。拡張子自体はチェックされません。ファイルは SoundEffect.FromStream となります。
数値フラグ int: 1 - sound.Play() が受け入れられ、0 - ファイルがないか、再生が失敗したか、エラーが捕捉されました。これで再生は終了ではありません。
- Bridge はファイルを読み取り用に開き、SoundEffect.FromStream をデコードし、受信したサウンドを制限された _sounds リストに保存し、制限に達すると古いサウンドを削除/破棄します。
- ファイル/エラーが存在しない場合は、メッセージが表示され、結果は 0 となります。このコマンドはサウンドの終了を待たず、ファイルをサーバーに転送しません。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
1 回の呼び出し結果をジャーナルに表示します。数値は bool に変換されません。配列の場合は要素数を表示します。
var result = UO.PlayWav("alert.wav");
UO.Print("PlayWav: " + Convert.ToString(result));引数と実行の流れ:
- ローカルオーディオファイルを再生します。
UO.Print(UO.PlayWav("alert.wav"));引数と実行の流れ:
- Bridge はファイルを読み取り用に開き、SoundEffect.FromStream をデコードし、受信したサウンドを制限された _sounds リストに保存し、制限に達すると古いサウンドを削除/破棄します。
return RunScenario();
object? RunScenario()
{
UO.Print(UO.PlayWav("C:\\UO Sounds\\alert.wav"));
return null;
}引数と実行の流れ:
- ファイル/エラーが存在しない場合は、メッセージが表示され、結果は 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 accepted = UO.PlayWav("alert.wav");
if (Truth(accepted == 0))
{
UO.Print("Audio file could not be played");
}
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 を使います。
引数: file (Any/String)
結果: int / Any.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PlayWav:bridge.PlayWav(Text(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility::Text:Text(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "playwav": return new InjectionValue(bridge.PlayWav(Text(0)));引数: file (Any/String)
結果: int / Integer.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.PlayWav. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PlayWav:bridge.PlayWav(file).
内部実装のコードです。単独のスクリプトとして実行できません。
public int PlayWav(string file) => bridge.PlayWav(file);Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.SetSeason(object? season);表示される季節をローカルに変更します。
-
season— int: 0..4; 0 より下の値/4 より上の値は、最も近い境界に制限されます。この番号は、クライアントの列挙型 Season に対応します。
void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。
- Bridge.SetSeason は _world.ChangeSeason((シーズン)クランプ(シーズン,0,4), -1) を呼び出します。これはクライアントの世界の表示であり、サーバーの季節を変更する要求ではありません。
- サーバーのデータにより、後で季節が再び変更される可能性があります。このコマンドは、地図、サーバーの天気、カレンダーの日付を変更しません。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。
UO.Print("Calling UO.SetSeason");
UO.SetSeason(0);引数と実行の流れ:
- 表示される季節をローカルに変更します。
UO.SetSeason(0);引数と実行の流れ:
- Bridge.SetSeason は _world.ChangeSeason((シーズン)クランプ(シーズン,0,4), -1) を呼び出します。これはクライアントの世界の表示であり、サーバーの季節を変更する要求ではありません。
return RunScenario();
object? RunScenario()
{
UO.SetSeason(4);
return null;
}引数と実行の流れ:
- サーバーのデータにより、後で季節が再び変更される可能性があります。このコマンドは、地図、サーバーの天気、カレンダーの日付を変更しません。
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.SetSeason(99);
UO.Print("Season clamped to 4");
return null;
}
}C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。
引数: season (Any)
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.SetSeason:bridge.SetSeason(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "setseason": bridge.SetSeason(Arg(0)); break;Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
void UO.Sound(object? soundId);サウンドを再生するのは、 ID クライアントのリソースから。
-
soundId- int ID リソースサウンド UO; WAV へのパスや期間ではありません。
void - 値がありません。別の回線で電話してください。完了してもサーバーのアクションは確認されません。
- ExecuteLegacyManualAlias は Bridge.PlaySound を呼び出します。ここで、RequireGameView("PlaySound").Audio.PlaySound(sound) はゲーム スレッドで実行されます。
- オーディオ付きのグラフィックス ウィンドウが開いている必要があります。エラー GUI が見つからないと通話が終了する場合があります。この void コマンドは再生結果を返しません。ローカル ファイルの場合は、PlayWav を使用します。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
コマンドは独立した文です。直前のメッセージは呼び出しの開始を示し、サーバーの動作完了を確認するものではありません。
UO.Print("Calling UO.Sound");
UO.Sound(0x0040);引数と実行の流れ:
- サウンドを再生するのは、 ID クライアントのリソースから。
UO.Sound(0x0040);引数と実行の流れ:
- ExecuteLegacyManualAlias は Bridge.PlaySound を呼び出します。ここで、RequireGameView("PlaySound").Audio.PlaySound(sound) はゲーム スレッドで実行されます。
return RunScenario();
object? RunScenario()
{
var soundId = 0x0040;
UO.Sound(soundId);
return null;
}引数と実行の流れ:
- オーディオ付きのグラフィックス ウィンドウが開いている必要があります。エラー GUI が見つからないと通話が終了する場合があります。この Unit コマンドは再生結果を返しません。ローカル ファイルの場合は、PlayWav を使用します。
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.Sound(0x0040);
UO.Wait(250);
UO.Print("Sound request made");
return null;
}
}C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。
引数: soundId (Any)
結果: void / Unit.
呼び出し時:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.PlaySound:bridge.PlaySound(Arg(0)). -
InjectionScript.Runtime.InjectionApiUO.ExecuteLegacyManualAlias::Arg:Arg(0).
内部実装のコードです。単独のスクリプトとして実行できません。
case "sound": bridge.PlaySound(Arg(0)); break;Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
int UO.TicksAnim();保存されたマークTicksAnimを読み取ります。
パラメータはありません。
int — ランタイムの開始から 10 分の 1 秒で UO.Timer をマークします。 0 - マークがまだ設定されていない、またはイベントが最初の 10 分の 1 秒以内に発生しました。ミリ秒やカレンダー時間ではありません。
- フィールド ticksAnim を返します。これは、Morph またはゼロ以外の Move 結果によって更新されます。すべての手動/サーバーアクティビティを自動的に監視するわけではありません。コマンド自体はマークを変更しません。
- UO.Timer() - マークは年齢を 10 分の 1 秒単位で計算します。異なるランタイム間ではマークは比較されません。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
1 回の呼び出し結果をジャーナルに表示します。数値は bool に変換されません。配列の場合は要素数を表示します。
var result = UO.TicksAnim();
UO.Print("TicksAnim: " + Convert.ToString(result));引数と実行の流れ:
- 保存されたマークTicksAnimを読み取ります。
var stamp = UO.TicksAnim();
UO.Print(stamp);引数と実行の流れ:
- フィールド ticksAnim を返します。これは、Morph またはゼロ以外の Move 結果によって更新されます。すべての手動/サーバーアクティビティを自動的に監視するわけではありません。コマンド自体はマークを変更しません。
return RunScenario();
object? RunScenario()
{
var stamp = UO.TicksAnim();
var ageTenths = UO.Timer() - stamp;
UO.Print(ageTenths);
return null;
}引数と実行の流れ:
- UO.Timer() - マークは年齢を 10 分の 1 秒単位で計算します。異なるランタイム間ではマークは比較されません。
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 before = UO.TicksAnim();
UO.Wait(250);
var after = UO.TicksAnim();
UO.Print(before = after);
return null;
}
}C# は大文字と小文字を区別します。正確な UO 名を使用してください。数値フラグは 0 と比較し、戻り値が bool の場合だけ bool を使います。
引数: 引数はありません。
結果: int / Integer.
呼び出し時:
内部実装のコードです。単独のスクリプトとして実行できません。
public int TicksAnim() => ticksAnim;