Handy
Telefonnummern, Mails, Textnachrichten und Handy-Benachrichtigungen über das Handy-Skript, das der Server nutzt.
Handy-Aufrufe laufen über ai-core, nie über die eigenen Exports eines Handy-Skripts. ai-core leitet jeden Aufruf an das erste laufende Handy-Skript weiter (tgiann-phone, lb-phone, gksphone und die anderen aus der Kompatibilitätsliste). Solange kein Handy läuft, antwortet jeder Aufruf mit null oder false.
GetPhoneNumber
Die Telefonnummer eines Spielers.
Seite: Server · Wartet: nein · Lib: phone.number
GetPhoneNumber(source: number): string | nulllocal number = exports['ai-core']:GetPhoneNumber(source) -- String oder nilParameter
Prop
Type
Rückgabe
string | null: die Nummer, so wie das Handy-Skript sie schreibt. null, wenn der Spieler keine hat, kein Handy läuft oder source keine Zahl ist.
Beispiel
import { onClientCallback, resourceExport } from "@aicore-fivem/lib/server";
import { fail } from "@aicore-fivem/lib/shared";
const core = resourceExport("ai-core");
// Ein Visitenkarten-Item zeigt die Nummer des Besitzers.
onClientCallback("myscript:myNumber", (source) => {
const number = core.GetPhoneNumber(source);
return number ? { ok: true, number } : fail("NO_PHONE_NUMBER");
});GetSourceByPhone
Der Online-Spieler, der eine Telefonnummer hat.
Seite: Server · Wartet: nein · Lib: phone.sourceOf
GetSourceByPhone(number: string): number | nulllocal src = exports['ai-core']:GetSourceByPhone('5551234') -- Zahl oder nilParameter
Prop
Type
Rückgabe
number | null: die Server-ID. null, wenn der Besitzer dieser Nummer nicht online ist, die Nummer unbekannt ist, kein Handy läuft oder number kein Text ist.
Beispiel
import { notify, resourceExport } from "@aicore-fivem/lib/server";
import { Locale } from "common";
const core = resourceExport("ai-core");
/** Ein Taxi-Job teilt dem Anrufer mit, dass sein Taxi unterwegs ist, wenn er online ist. */
export function cabOnTheWay(callerNumber: string): void {
const caller = core.GetSourceByPhone(callerNumber);
if (caller !== null) notify(caller, Locale("NOTIFY_CAB_COMING"), "info");
}HasPhone
Ob ein Spieler ein Handy hat (bei Handy-Skripten, die ein Handy-Item brauchen: ob er eines trägt).
Seite: Server · Wartet: nein · Lib: phone.hasPhone
HasPhone(source: number): booleanlocal has = exports['ai-core']:HasPhone(source)Parameter
Prop
Type
Rückgabe
boolean: true, wenn das Handy-Skript sagt, dass der Spieler ein Handy hat. false, wenn nicht, wenn kein Handy läuft oder source keine Zahl ist.
Beispiel
import { onClientCallback, resourceExport } from "@aicore-fivem/lib/server";
import { fail } from "@aicore-fivem/lib/shared";
const core = resourceExport("ai-core");
// Ein Job, der Aufträge per Textnachricht verteilt, braucht ein Handy.
onClientCallback("myscript:startDeliveries", (source) =>
core.HasPhone(source) ? { ok: true } : fail("NEED_PHONE"),
);SendPhoneMail
Sendet eine Mail an das Handy eines Spielers.
Seite: Server · Wartet: nein · Lib: phone.mail
SendPhoneMail(to: number | string, mail: PhoneMail): booleanlocal sent = exports['ai-core']:SendPhoneMail(source, { sender = 'LS Customs', subject = 'Invoice', message = '...' })Parameter
Prop
Type
PhoneMail
Prop
Type
Texte werden so angezeigt, wie sie übergeben werden: Übergib übersetzte Texte. Siehe PhoneMail.
Rückgabe
boolean: true, wenn das Handy-Skript die Mail angenommen hat. false, wenn der Spieler keine Nummer hat, subject oder message fehlt, kein Handy läuft oder es abgelehnt hat.
Beispiel
import { resourceExport } from "@aicore-fivem/lib/server";
import { Locale } from "common";
const core = resourceExport("ai-core");
/** Der Überfall-Kontakt mailt den Ort, nachdem der Auftrag angenommen wurde. */
export function mailHeistLocation(source: number, street: string): void {
core.SendPhoneMail(source, {
sender: Locale("MAIL_CONTACT"),
subject: Locale("MAIL_HEIST_SUBJECT"),
message: Locale("MAIL_HEIST_BODY", street),
});
}SendPhoneMessage
Sendet eine Textnachricht von einer Nummer an einen Spieler oder eine Nummer.
Seite: Server · Wartet: nein · Lib: phone.message
SendPhoneMessage(from: string, to: number | string, text: string): booleanlocal sent = exports['ai-core']:SendPhoneMessage('Dispatch', source, 'Your cab is here.')Parameter
Prop
Type
Rückgabe
boolean: true, wenn das Handy-Skript die Nachricht angenommen hat. false, wenn der Empfänger keine Nummer hat, from oder text kein Text ist, kein Handy läuft oder es abgelehnt hat.
Beispiel
import { resourceExport } from "@aicore-fivem/lib/server";
import { Locale } from "common";
const core = resourceExport("ai-core");
/** Die nächste Lieferadresse kommt per Textnachricht. */
export function textNextStop(source: number, street: string): void {
if (!core.SendPhoneMessage(Locale("SENDER_DISPATCH"), source, Locale("TEXT_NEXT_STOP", street)))
console.log(`player ${source} could not get the text`);
}PhoneNotify
Zeigt eine Benachrichtigung auf dem Handy eines Spielers.
Seite: Server · Wartet: nein · Lib: phone.notify
PhoneNotify(source: number, notification: PhoneNotification): booleanlocal shown = exports['ai-core']:PhoneNotify(source, { title = 'Bank', message = 'Salary paid', app = 'bank' })Parameter
Prop
Type
PhoneNotification
Prop
Type
Siehe PhoneNotification.
Rückgabe
boolean: true, wenn das Handy-Skript sie angezeigt hat. false, wenn title fehlt, kein Handy läuft, source keine Zahl ist oder es abgelehnt hat.
Beispiel
import { resourceExport } from "@aicore-fivem/lib/server";
import { Locale } from "common";
const core = resourceExport("ai-core");
/** Teilt dem Besitzer mit, dass sein Auto abgeschleppt wurde. */
export function towedNotice(source: number, plate: string): void {
core.PhoneNotify(source, { title: Locale("PHONE_TOW_TITLE"), message: Locale("PHONE_TOW_TEXT", plate) });
}