Repository navigation
KO API UO Str
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
홈 · C# · IDE · UO API · A–Z · 예 · 언어
int UO.Str();캐릭터의 현재 힘(Strength)을 읽습니다.
매개변수가 없습니다.
int — 클라이언트 모델의 현재 통계 포인트, 0..65535; 백분율, ID, 스킬, 잠금 모드 또는 bool가 아닙니다. 0는 누락/삭제된 문자 또는 접근할 수 없는 객체를 의미하기도 합니다. == true가 아닌 수치 요구 사항과 비교하십시오. 이는 스텟 한도나 수정 없이 보장된 기본 값이 아닙니다.
- 이 명령은 인수를 사용하지 않습니다. 위의 정확한 서명을 사용하세요.
- Player를 읽습니다.Strength Player가 존재하고 파괴되지 않은 경우; 그렇지 않으면 0. 존재하는 죽은 캐릭터는 제거된 개체가 아닙니다. 스텟은 HP, 마나, 체력으로 계산되지 않습니다.
- GetStr/GetInt/GetDex ObjID를 수락합니다. PlayerMobile 데이터는 self에서만 사용할 수 있습니다. 다른 serial - 0의 경우, 로드된 mobile의 경우에도 마찬가지입니다. 다른 사람의 특성은 대체되거나 추측되지 않습니다.
- Invoke는 스크립트로 대기를 취소하는 기능을 통해 게임 스트림에서 읽기를 수행합니다. 상태를 쿼리하지 않으며, 대상을 열지 않으며, 패킷을 보내지 않으며, 특성을 변경하지 않으며 지연을 추가하지 않습니다.
- 호출할 때마다 로컬 데이터를 새로 읽습니다. 변수는 스냅샷을 저장합니다. 개별 읽기는 다른 서버 업데이트를 받을 수 있습니다. 0이 아닌 결과는 연결을 테스트하지 않습니다. 0은 값일 수도 있고 데이터가 없을 수도 있습니다.
- 정확한 C# 이름을 사용하세요:
UO.Str(),UO.Strength(),UO.GetStr()또는UO.GetStrength(). C#은 대소문자를 구분합니다.
각 예제는 별도의 파일 .csx로 저장하고 IDE에서 실행할 수 있습니다. UO 개체와 대기 기능은 현재 게임 세션의 호스트를 제공합니다. 데모 serial 이름, 좌표, 주소를 자신의 것으로 바꾸세요.
이 코드를 별도의 .csx 파일로 실행하세요. 인수는 호출에 직접 표시됩니다. 예제의 이름, serial, 주소를 자신의 값으로 바꾸세요.
한 번의 호출 결과를 저널에 표시합니다. 숫자를 bool로 변환하지 않으며, 배열이면 요소 수를 표시합니다.
var result = UO.Str();
UO.Print("Str: " + Convert.ToString(result));매개변수와 실행 흐름:
- value는 숫자 결과를 저장합니다. 변환합니다.ToString 잡지용으로 포맷합니다. 논쟁이나 캐릭터 행동이 없습니다.
var value = UO.Str();
UO.Print("Strength: " + Convert.ToString(value));매개변수와 실행 흐름:
- 별도의 1000 ms 전후; UO.Wait 예시에 추가되었습니다. Change=after-before는 양수, 0 또는 음수일 수 있습니다. 그 자체로는 모든 중간 업데이트와 월드 종료를 구분하지 않습니다.
return await RunScenarioAsync();
async Task<object?> RunScenarioAsync()
{
var before = UO.Str();
await Delay(1000);
var after = UO.Str();
var change = after - before;
UO.Print("Change: " + Convert.ToString(change));
return null;
}
Task Delay(object? milliseconds) => WaitAsync(checked((int)Convert.ToDouble(milliseconds)));매개변수와 실행 흐름:
- 최소=80는 클라이언트 제한이 아닌 요구 사항의 예입니다. AttributeAtLeast(최소)는 누락된 문자를 거부하고 특성을 한 번 읽고 bool를 반환합니다: true 또는 >= 최소인 경우 false. 논리적 의미는 특성 자체가 아닌 비교에 의해 부여됩니다.
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()
{
if (Truth(Truth(AttributeAtLeast(80)) == true))
{
UO.Print("Requirement met");
}
else
{
UO.Print("Requirement not met or no player");
}
return null;
}
dynamic AttributeAtLeast(dynamic minimum)
{
if (Truth(UO.Self() == 0))
{
return false;
}
var value = UO.Str();
return value >= minimum;
}
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을 사용하세요.
매개변수: 매개변수가 없습니다.
결과: int / Integer.
호출 시:
-
InjectionScript.Runtime.InjectionApiUO.ExecuteClientApiCompatibility. -
ClassicUO.Game.Managers.ClassicUOInjectionApiBridge.Strength:bridge.Strength.
내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.
case "str": return new InjectionValue(bridge.Strength);ClassicUO — Bad Newbie & C# Scripts IDE