Skip to content

API UO GetProfile ko

Codex edited this page Sep 23, 2026 · 1 revision

UO.GetProfile

ClassicUO / Basic IDE

Home · API · Commands

서버 Profile 창의 공개 인물 설명을 읽어 메모·텍스트 검색에 씁니다. 관리자 설정 프로필이 아닙니다.

정확한 구문

UO.GetProfile(serial:Any) -> String

매개변수

  • serial — 인물 serial: 숫자, 0x 문자열, "self"/"lasttarget". 신체 종류, 파일, 관리자 프로필이 아닙니다.

반환값

String: 머리·꼬리말 없는 본문. 빈 본문은 유효하며 3초 무응답 시에도 빈 값입니다. Boolean이 아닙니다. 매번 요청을 보내지만 보관된 본문·창 초안은 즉시 반환하므로 새 응답을 보장하지 않습니다.

동작

  • 본문·초안은 세션에 보관됩니다. 그래픽 닫기는 공개하지 않으며 다시 열면 Profile 복원. 자신의 Profile을 명시적으로 닫으면 변경을 한 번 보내고 다른 인물의 글은 갱신하지 않습니다. 새 응답은 대체, 연결 해제는 삭제합니다. GetProfile은 편집하지 않습니다.

내부 함수: 호출부터 결과까지

SessionCharacterPanels는 완전한 패킷을 검사해 세션 스레드에 저장합니다. bridge는 그래픽 없이 읽습니다. GetProfile은0xB8을 보내25ms 간격 최대3초 대기. Track은 별도 표시를 갱신. ProfileGump/QuestArrowGump는 같은 데이터를 표시하며 화살표는 GetGumpsCount에서 제외됩니다.

1. GetProfile

서버 Profile 창의 공개 인물 설명을 읽어 메모·텍스트 검색에 씁니다. 관리자 설정 프로필이 아닙니다.

String: 머리·꼬리말 없는 본문. 빈 본문은 유효하며 3초 무응답 시에도 빈 값입니다. Boolean이 아닙니다. 매번 요청을 보내지만 보관된 본문·창 초안은 즉시 반환하므로 새 응답을 보장하지 않습니다.

프로젝트 소스: src/ClassicUO.Client/Game/Managers/ClassicUOInjectionApiBridge.cs; 함수 GetProfile.

2. SessionCharacterPanels

본문·초안은 세션에 보관됩니다. 그래픽 닫기는 공개하지 않으며 다시 열면 Profile 복원. 자신의 Profile을 명시적으로 닫으면 변경을 한 번 보내고 다른 인물의 글은 갱신하지 않습니다. 새 응답은 대체, 연결 해제는 삭제합니다. GetProfile은 편집하지 않습니다.

SessionCharacterPanels는 완전한 패킷을 검사해 세션 스레드에 저장합니다. bridge는 그래픽 없이 읽습니다. GetProfile은0xB8을 보내25ms 간격 최대3초 대기. Track은 별도 표시를 갱신. ProfileGump/QuestArrowGump는 같은 데이터를 표시하며 화살표는 GetGumpsCount에서 제외됩니다.

프로젝트 소스: src/ClassicUO.Client/Game/Managers/SessionCharacterPanels.cs; 함수 SessionCharacterPanels.

String: 머리·꼬리말 없는 본문. 빈 본문은 유효하며 3초 무응답 시에도 빈 값입니다. Boolean이 아닙니다. 매번 요청을 보내지만 보관된 본문·창 초안은 즉시 반환하므로 새 응답을 보장하지 않습니다.

예제

직접 사용

# 직접 사용
#
# 서버 Profile 창의 공개 인물 설명을 읽어 메모·텍스트 검색에 씁니다. 관리자 설정 프로필이 아닙니다.
#
# String: 머리·꼬리말 없는 본문.  본문은 유효하며 3 무응답 시에도  값입니다. Boolean 아닙니다. 매번 요청을 보내지만 보관된 본문· 초안은 즉시
# 반환하므로  응답을 보장하지 않습니다.

SUB Main()
    # "self" 자신의 공개 본문이며 설정이 아닙니다. 응답이나 저장된 사본을 읽습니다.

    VAR note = UO.GetProfile("self")
    IF note <> "" THEN
        UO.Print(note)
    END IF
END SUB

매개변수 및 실행 설명:

  • "self"는 자신의 공개 본문이며 설정이 아닙니다. 응답이나 저장된 사본을 읽습니다.

게임 조건

# 게임 조건
#
# 서버 Profile 창의 공개 인물 설명을 읽어 메모·텍스트 검색에 씁니다. 관리자 설정 프로필이 아닙니다.
#
# String: 머리·꼬리말 없는 본문.  본문은 유효하며 3 무응답 시에도  값입니다. Boolean 아닙니다. 매번 요청을 보내지만 보관된 본문· 초안은 즉시
# 반환하므로  응답을 보장하지 않습니다.

SUB Main()
    # lasttarget  대소문자를 구분한 "Healer" 확인합니다. AddObject는 serial을 healerNote로 저장하며 글은 NPC 직업 증명이
    # 아닙니다.

    IF NOT UO.Exists("lasttarget") THEN
        RETURN
    END IF
    VAR note = UO.GetProfile("lasttarget")
    IF InStr(note, "Healer") > 0 THEN
        UO.AddObject("healerNote", "lasttarget")
    END IF
END SUB

매개변수 및 실행 설명:

  • lasttarget 및 대소문자를 구분한 "Healer"를 확인합니다. AddObject는 serial을 healerNote로 저장하며 글은 NPC 직업 증명이 아닙니다.

전체 보조 함수

# 전체 보조 함수
#
# 서버 Profile 창의 공개 인물 설명을 읽어 메모·텍스트 검색에 씁니다. 관리자 설정 프로필이 아닙니다.
#
# String: 머리·꼬리말 없는 본문.  본문은 유효하며 3 무응답 시에도  값입니다. Boolean 아닙니다. 매번 요청을 보내지만 보관된 본문· 초안은 즉시
# 반환하므로  응답을 보장하지 않습니다.

SUB Main()
    # 전체 HasPublicNote는 존재·부분문자열을 확인해 true/false 반환. "Guild" 예시이며  결과가 서버 메모 부재를 증명하지 않습니다.

    IF HasPublicNote("lasttarget", "Guild") THEN
        UO.AddObject("guildNote", "lasttarget")
    END IF
END SUB

FUNCTION HasPublicNote(serial, phrase)
    IF NOT UO.Exists(serial) THEN
        RETURN FALSE
    END IF
    RETURN InStr(UO.GetProfile(serial), phrase) > 0
END FUNCTION

매개변수 및 실행 설명:

  • 전체 HasPublicNote는 존재·부분문자열을 확인해 true/false 반환. "Guild"는 예시이며 빈 결과가 서버 메모 부재를 증명하지 않습니다.

Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Clone this wiki locally