AI Core
Dokumentacja APILib: serwer

Telefon i wygląd

Telefon gracza przez ai-core (numery, maile, SMS-y, powiadomienia) i zapisany wygląd postaci przez dowolny skrypt ubrań, który działa.

TypeScript
import { phone, appearance } from "@aicore-fivem/lib/server";

phone

Telefon gracza przez ai-core: odpowiada pierwszy działający skrypt telefonu (tgiann-phone, lb-phone...). Bez skryptu telefonu każde wywołanie odpowiada null albo false. Odpowiedniki w Lua w aiLib.phone mają te same nazwy i kolejność argumentów.

phone.number

Strona: Serwer · Czeka: nie

Sygnatura
phone.number(source: number): string | null
Lua
local number = aiLib.phone.number(source)

Zwraca numer telefonu gracza albo null (Lua nil), gdy go nie ma albo nie działa żaden skrypt telefonu.

const number = phone.number(source);
if (!number) return fail("NO_PHONE_NUMBER");

phone.sourceOf

Gracz online, który jest właścicielem numeru telefonu.

Strona: Serwer · Czeka: nie

Sygnatura
phone.sourceOf(number: string): number | null
Lua
local source = aiLib.phone.sourceOf(number)

Zwraca id serwerowe albo null (Lua nil), gdy nikt online nie ma tego numeru.

const owner = phone.sourceOf("555-0101");
if (owner !== null) notify(owner, "Your phone is ringing");

phone.hasPhone

Czy gracz ma przy sobie telefon.

Strona: Serwer · Czeka: nie

Sygnatura
phone.hasPhone(source: number): boolean
Lua
local has = aiLib.phone.hasPhone(source)

Zwraca true, gdy go ma; false bez niego albo bez skryptu telefonu.

if (!phone.hasPhone(source)) return fail("NEED_PHONE");

phone.mail

Wysyła maila na telefon gracza.

Strona: Serwer · Czeka: nie

Sygnatura
phone.mail(to: number | string, mail: PhoneMail): boolean
Lua
local ok = aiLib.phone.mail(to, mail)

Prop

Type

Typ to PhoneMail.

Zwraca true, gdy wysłano, w przeciwnym razie false.

phone.mail(source, {
  sender: "Downtown Cab Co.",
  subject: "Your shift",
  message: "Pick up the taxi at the depot.",
});

phone.message

Wysyła wiadomość tekstową.

Strona: Serwer · Czeka: nie

Sygnatura
phone.message(from: string, to: number | string, text: string): boolean
Lua
local ok = aiLib.phone.message(from, to, text)

Prop

Type

Zwraca true, gdy wysłano, w przeciwnym razie false.

phone.message("Dealer", source, "Meet me behind the gas station.");

phone.notify

Pokazuje powiadomienie w telefonie.

Strona: Serwer · Czeka: nie

Sygnatura
phone.notify(source: number, notification: PhoneNotification): boolean
Lua
local ok = aiLib.phone.notify(source, notification)

Prop

Type

Typ to PhoneNotification.

Zwraca true, gdy pokazano, w przeciwnym razie false.

phone.notify(source, { title: "Bank", message: "Salary paid: $250", app: "bank" });

appearance

Zapisany wygląd postaci przez warstwę wyglądu ai-core, niezależnie od tego, jaki skrypt ubrań działa (ai-appearance, tgiann-clothing).

appearance.get

Zapisany wygląd postaci, wczytanej czy nie. Używaj go, żeby ubrać peda, który zastępuje postać (śpiące ciało, manekin): przekaż wynik bez zmian do appearance.apply klienta (Lib: klient).

Strona: Serwer · Czeka: tak (Promise w TypeScript, w Lua wstrzymuje wątek)

Sygnatura
appearance.get(charId: number): Promise<CharacterAppearance | null>
Lua
local look = aiLib.appearance.get(charId) -- { model, data } albo nil, wywołuj wewnątrz wątku

Prop

Type

Zwracana wartość

Promise<CharacterAppearance | null>: CharacterAppearance to { model, data } (hash modelu peda i własne dane wyglądu skryptu ubrań). null, gdy postać go nie ma, nie działa żaden skrypt ubrań albo ai-core jest zatrzymany.

Przykład

import { appearance, online, playersNear } from "@aicore-fivem/lib/server";

async function sendLook(source: number) {
  const charId = online.charId(source);
  if (charId === undefined) return;
  const look = await appearance.get(charId);
  if (!look) return;
  // Wygląd potrzebny jest tylko graczom w pobliżu tej postaci.
  for (const other of playersNear(source, 100)) emitNet("my-sleepers:look", other, source, look);
}

appearance.provider

Strona: Serwer · Czeka: nie

Sygnatura
appearance.provider(): string | null
Lua
local name = aiLib.appearance.provider()

Zwraca skrypt ubrań, który odpowiada, albo null (Lua nil), gdy żaden nie działa.

console.log(`looks through ${appearance.provider() ?? "nothing"}`);

Na tej stronie