Skip to content

API UO CharPrint ja

Codex edited this page Sep 26, 2026 · 1 revision

UO.CharPrint

ClassicUO / Basic IDE

Home · API

読み込まれたオブジェクトの上に自分だけが見える文字を表示します。対象の印や自分への警告に使えます。発言や画面左下のメッセージとは別です。

正確な構文

UO.CharPrint(color:Integer, msg:String) -> Unit
UO.CharPrint(color:String, msg:String) -> Unit
UO.CharPrint(id:Any, color:Any, msg:Any) -> Unit
UO.CharPrint(id:Integer, color:Integer, msg:String) -> Unit

パラメーター

  • id — オブジェクトの serial で、graphic/type や座標ではありません。3引数の UO.CharPrint は self、lasttarget、保存済みオブジェクト名も解決します。UO.ClientPrintEx の SenderID は UO.Hex2Int(UO.GetSerial("self")) などの数値が必要で、文字列の別名は解決しません。
  • color — RGB ではなく UO hue。下位16ビットを使用し、例は 0x0044 です。-1 は 0xFFFF となり「任意の色」ではありません。ConColor は使いません。
  • msg — メッセージ文字列。数値は CStr で明示的に連結します。名前や座標の自動置換はありません。引用符は文字列の区切りであり送信されません。

戻り値

Unit:戻り値はありません。独立した行で呼び出してください。結果は True/False、serial、個数ではありません。呼び出し終了はサーバーの応答を保証しません。

動作

  • 対象が読み込み済みの世界に存在し、削除されていない必要があります。空文字や存在しない対象は描画しません。サーバーから対象を取得する命令ではありません。他のプレイヤーやサーバーには送信されません。グラフィック画面がなければ世界内表示は見えないため、診断には管理画面のシステムジャーナルを使います。
  • UO.CharPrint(color, msg) は自分を、UO.CharPrint(id, color, msg) は指定対象を選びます。両方ともフォント3です。UO.ClientPrintEx は SenderID、Color、Font、Text の4引数が必要です。
  • UO フォント番号で、ポイント数や Windows フォント名ではありません。0..255 に制限され、利用可能なフォントはゲームファイル次第です。例では3を使います。
  • GetSerial は16進文字列を返します。数値0との比較前に Hex2Int で Integer に変換します。文字列 "0x00000000" を整数0と直接比較しないでください。
  • UO.Print · UO.CharPrint · UO.ClientPrintEx · UO.AddToSystemJournalEx

内部関数:呼び出しから結果まで

読み込まれたオブジェクトの上に自分だけが見える文字を表示します。対象の印や自分への警告に使えます。発言や画面左下のメッセージとは別です。

1. CharPrint

オブジェクトの serial で、graphic/type や座標ではありません。3引数の UO.CharPrint は self、lasttarget、保存済みオブジェクト名も解決します。UO.ClientPrintEx の SenderID は UO.Hex2Int(UO.GetSerial("self")) などの数値が必要で、文字列の別名は解決しません。

UO.CharPrint(color, msg) は自分を、UO.CharPrint(id, color, msg) は指定対象を選びます。両方ともフォント3です。UO.ClientPrintEx は SenderID、Color、Font、Text の4引数が必要です。

プロジェクトのソース: external/InjectionScript/src/InjectionScript/Runtime/InjectionApiUO.cs; 関数 CharPrint.

2. CharPrintEx

RGB ではなく UO hue。下位16ビットを使用し、例は 0x0044 です。-1 は 0xFFFF となり「任意の色」ではありません。ConColor は使いません。 UO フォント番号で、ポイント数や Windows フォント名ではありません。0..255 に制限され、利用可能なフォントはゲームファイル次第です。例では3を使います。

対象が読み込み済みの世界に存在し、削除されていない必要があります。空文字や存在しない対象は描画しません。サーバーから対象を取得する命令ではありません。他のプレイヤーやサーバーには送信されません。グラフィック画面がなければ世界内表示は見えないため、診断には管理画面のシステムジャーナルを使います。

プロジェクトのソース: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; 関数 CharPrintEx.

3. Print

メッセージ文字列。数値は CStr で明示的に連結します。名前や座標の自動置換はありません。引用符は文字列の区切りであり送信されません。

読み込まれたオブジェクトの上に自分だけが見える文字を表示します。対象の印や自分への警告に使えます。発言や画面左下のメッセージとは別です。

プロジェクトのソース: src/ClassicUO.Client/Game/GameActions.cs; 関数 Print.

使用例

UO.CharPrint — 1

# UO.CharPrint — 1
#
# 読み込まれたオブジェクトの上に自分だけが見える文字を表示します。対象の印や自分への警告に使えます。発言や画面左下のメッセージとは別です。
#
# Unit:戻り値はありません。独立した行で呼び出してください。結果は True/False、serial、個数ではありません。呼び出し終了はサーバーの応答を保証しません。

SUB Main()
    # 短い CharPrint は自分の頭上に Ready を表示します。ClientPrintEx は UO.Hex2Int(UO.GetSerial("self")) で serial
    # を取得しフォント3を明示します。ゲームモードは切り替えません。
    # GetSerial は16進文字列を返します。数値0との比較前に Hex2Int で Integer に変換します。文字列 "0x00000000" を整数0と直接比較しないでください。

    UO.CharPrint(0x0044, "Ready")
END SUB

パラメーターと実行の説明:

  • 短い CharPrint は自分の頭上に Ready を表示します。ClientPrintEx は UO.Hex2Int(UO.GetSerial("self")) で serial を取得しフォント3を明示します。ゲームモードは切り替えません。
  • GetSerial は16進文字列を返します。数値0との比較前に Hex2Int で Integer に変換します。文字列 "0x00000000" を整数0と直接比較しないでください。

UO.CharPrint — 2

# UO.CharPrint — 2
#
# 読み込まれたオブジェクトの上に自分だけが見える文字を表示します。対象の印や自分への警告に使えます。発言や画面左下のメッセージとは別です。
#
# Unit:戻り値はありません。独立した行で呼び出してください。結果は True/False、serial、個数ではありません。呼び出し終了はサーバーの応答を保証しません。

SUB Main()
    # target は最後の対象の serial です。0ならこの例では表示先がありません。Selected target はローカルな印だけで、攻撃やサーバーのターゲット応答は行いません。
    # GetSerial は16進文字列を返します。数値0との比較前に Hex2Int で Integer に変換します。文字列 "0x00000000" を整数0と直接比較しないでください。

    VAR target = UO.Hex2Int(UO.GetSerial("lasttarget"))
    IF target <> 0 THEN
        UO.CharPrint(target, 0x0044, "Selected target")
    END IF
END SUB

パラメーターと実行の説明:

  • target は最後の対象の serial です。0ならこの例では表示先がありません。Selected target はローカルな印だけで、攻撃やサーバーのターゲット応答は行いません。
  • GetSerial は16進文字列を返します。数値0との比較前に Hex2Int で Integer に変換します。文字列 "0x00000000" を整数0と直接比較しないでください。

UO.CharPrint — 3

# UO.CharPrint — 3
#
# 読み込まれたオブジェクトの上に自分だけが見える文字を表示します。対象の印や自分への警告に使えます。発言や画面左下のメッセージとは別です。
#
# Unit:戻り値はありません。独立した行で呼び出してください。結果は True/False、serial、個数ではありません。呼び出し終了はサーバーの応答を保証しません。

SUB Main()
    # ShowWeightWarning は下で完全に定義しています。重量と既知の正の上限を比較し、超過時だけ自分の頭上に警告します。物を捨てません。CStr は重量を文字列にします。
    # GetSerial は16進文字列を返します。数値0との比較前に Hex2Int で Integer に変換します。文字列 "0x00000000" を整数0と直接比較しないでください。

    ShowWeightWarning(UO.Weight(), UO.MaxWeight())
END SUB

SUB ShowWeightWarning(weight, maximum)
    IF maximum > 0 AND weight >= maximum THEN
        UO.CharPrint(UO.Hex2Int(UO.GetSerial("self")), 0x0044, "Too heavy: " + CStr(weight))
    END IF
END SUB

パラメーターと実行の説明:

  • ShowWeightWarning は下で完全に定義しています。重量と既知の正の上限を比較し、超過時だけ自分の頭上に警告します。物を捨てません。CStr は重量を文字列にします。
  • GetSerial は16進文字列を返します。数値0との比較前に Hex2Int で Integer に変換します。文字列 "0x00000000" を整数0と直接比較しないでください。

ru · en · uk · de · fr · it · es · zh-tw · ja · ko

Clone this wiki locally