Beiträge von Kafye

    Dazu muss ich aber sagen, dass auch bspw. player.sendMessage aus der alt:v Chat Extended nicht funktioniert, nur chat.send(..)

    Wo verwendest du denn diese clearWeapons Funktion?

    das hab ich unter commands/functions.mjs

    registrieren tu ich es in der commands.mjs

    Code
    chat.registerCmd('clearweapons', commandFunctions.clearWeapons);

    Danke Problem 2 habe ich gelöst bekommen!


    Zu Problem 1:

    Das wird geladen und auch aufgerufen, sonst würde die Konsole ja auch ne Fehlermeldung herausgeben.

    und so binde ich es ein

    Code
    import * as extended from 'server-extended';

    Also so ein Kontosystem ist relativ unabhängig von alt:V selber. Du musst ja einfach nur eine Variable auf dem Spieler speichern in der du festhältst was der Kontostand des Spielers ist, und das speicherst du beim Disconnect (oder beim setzen, was dir lieber ist) in einer Datenbank und liest es aus dieser beim Connect wieder aus. Das ist natürlich dann viel komplexer wenn du mehrere Bankkonten pro Spieler haben willst, aber das wird wohl für den Anfang erstmal zu schwer sein.

    Also das geht schon, solltest du aber nicht. Das hat einige Limitationen, und ist auch ziemlich buggy. Es wird sowieso auf dem Server niemand im ESC Menü gucken um seinen Kontostand zu sehen, verwende da lieber ein HUD mit einer WebView.

    Ich habe mich da auch etwas eingelesen, denke mit nem WebView lässt sich das viel cooler gestalten. Hat sich also auch erledigt, danke dir für die Antwort!

    Ich habe 2 Probleme bei denen ich nicht mehr weiterkomme.


    Das erste Problem:

    Code: Konsole
    [05:01:19][Error]       player.showSubtitle('~r~Deine Waffen wurden zurückgesetzt.', 3500);
    [05:01:19][Error]   TypeError: player.showSubtitle is not a function


    JavaScript: events.mjs
    alt.on('playerConnect', (player) => {
        //...
        extended.SetupExportsForPlayer(player);
    
        chat.broadcast(`{24FF00}${player.name} hat den Server betreten.`); // wird angezeigt, also wird das Event auch ausgeführt
    
        //...
    });
    JavaScript: commands.mjs
    export function clearWeapons(player) {
        player.showSubtitle('~r~Deine Waffen wurden zurückgesetzt.', 3500);
        player.removeAllWeapons();
    }

    Was mach ich falsch?


    Das zweite Problem:

    JavaScript: client.mjs
    alt.onServer('player:spawn', (player, position) => {
        alt.setTimeout(() => {
            alt.emitServer('player:onSpawn', player, position);
        }, 3500);
    });
    JavaScript: server.mjs
    alt.onClient('player:onSpawn', (player, position) => {
        chat.send(player, `Willkommen ${player.name}`);
        chat.send(player, `Position: ${position.x}, ${position.y}, ${position.z}`);
    });
    JavaScript: events.js
    import { spawnPosition, startOptions } from '../data/options.mjs';
    
    export function spawnPlayer(player) {
        alt.emitClient(player, 'player:spawn', player, spawnPosition);
    
        player.model = 'mp_m_freemode_01';
        player.health = startOptions.health;
    
        player.spawn(spawnPosition.x, spawnPosition.y, spawnPosition.z, 0);
    }

    Ausgabe im Chat:

    Code
    Position: undefined, undefined, undefined

    Gibt es denn Beispiele wie man das selbst entwickelt? Also gut, ein Kontostand mit nem WebView wäre ja kein Problem, aber kann man den Betrag im Hauptmenü nicht setzen?


    Edit:
    Die Funktion für Spawn und Respawn habe ich nun hinbekommen.

    Gibt es ein Event wenn der Spieler re/spawnt? Und wie kann man dem Spieler Bargeld gutschreiben bzw. das Bankkonto verwalten? Ich habe dazu nichts in der Doku gefunden.


    Die Chat-Nachricht wird z.B. nicht angezeigt:

    Code: index.mjs
    alt.onClient('viewLoaded', (player) => {
        chat.send(player, `X: ${player.pos.x}, Y: ${player.pos.y}, Z: ${player.pos.z}`);
    });


    Edit:

    Und wie kann man die Straßen Sounds deaktivieren? Ich höre ständig nur Sirenen und Feuerwehr, obwohl keine existieren.

    Gibt es auch eine anständige Doku zu alt:v? auf der offiziellen Seite finde ich zu sehr vielen Themen keine Beispiele.

    Du musst warten bis das Fahrzeug auch bei dem Spieler lokal erstellt wurde.

    Ein Timeout von 100ms reicht da nicht immer.

    Hier ein Snippet vom alt:V Discord mit dem es funktioniert:

    Super, danke dir!

    Ich habe neu mit dem Scripting für GTA V angefangen und habe ein kleines Problem beim Spawnen eines Vehicles.

    Und zwar wird der Spieler nicht ins Fahrzeug gesetzt. Ich bekomme auch keine Fehlermeldungen.


    Code: resource.cfg
    type: js,
    
    main: index.mjs,
    client-main: client.mjs,
    client-files: [
      client.js
    ]