Interior über Checkpoint betretbar machen. RageMP

  • Hallo Community.
    Ich habe jetzt schon länger geschaut ob ich zu dem Thema was finden kann aber immer nur ziemlich Bruchig alles.
    Und jetzt wollte ich euch fragen wie kann ich ein Interior über ein Marker (Checkpoint)Betretbar machen?
    Zum beispiel das ich ins Casino komme in den ich in den Marker laufe und dann "E" Drücke.
    Wie gesagt habe schon viel hin und her geschaut aber bin einfach nicht Fundig geworden.
    Würde mich Freuen wenn mir da Jemand ein bisschen Hilfestellung leisten könnte.


    Vielen Dank

  • Mit mp.keys.bind einen neuen Handler für die E-Taste setzen, in diesem Handler fragst du ab ob der Spieler in der Nähe von dem Marker ist, wenn ja dann teleportierst du den Spieler in das Interior. (mp.keys.bind ist clientside, und das teleportieren machst du serverside)

    alt:V Core Developer


    backend developer - js, c++

    :S:S:S


    Kontakt

    Discord: LeonMrBonnie#9840

  • https://wiki.rage.mp/index.php?title=Marker::Marker

    Code
    let marker = mp.markers.new(0, new mp.Vector3(0.0, 0.0, 0.0), 1);
    
    
    // Im Key Handler für E
    if(mp.game.system.vdist(mp.players.local.position.x, mp.players.local.position.y, mp.players.local.position.z, marker.position.x, marker.position.y, marker.position.z) < 2.5) mp.events.callRemote("markerPosition");

    https://wiki.rage.mp/index.php?title=Entity::position

    Code
    mp.events.add("markerPosition", (player) => {
        player.position = new mp.Vector3(x, y, z);
    });

    alt:V Core Developer


    backend developer - js, c++

    :S:S:S


    Kontakt

    Discord: LeonMrBonnie#9840

  • So habe nun das Problem das er über die E Taste nicht eintritt.


    //Client Packageslet marker = mp.markers.new(0, new mp.Vector3(294.387, -1448.783, 29.967), 1);mp.keys.bind(0x71, false, () =>{if(mp.game.system.vdist(mp.players.local.position.x, mp.players.local.position.y, mp.players.local.position.z, marker.position.x, marker.position.y, marker.position.z) < 2.5){mp.world.requestIpl("Coroner_Int_On");mp.events.callRemote("275.446, -1361.11, 24.5378");}});

    Einmal editiert, zuletzt von McTavish348 ()

  • 275.446, -1361.11, 24.5378 ist die Interior Koordinate oder liege ich das Falsch?

    Natürlich sind das die Koordinaten, aber doch nicht der Event-Name, der gefordert ist.


    Also musst du es so schreiben:


    mp.events.callRemote("teleportInterior");

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Funktioniert immer noch nicht Marker ist da Aber interagieren Funktioniert nicht.


    mp.events.add("teleportInterior", (player) => {
    player.position = new mp.Vector3(275.446, -1361.11, 24.5378);
    });


    //Client Packages
    let marker = mp.markers.new(0, new mp.Vector3(294.387, -1448.783, 29.967), 1);
    mp.keys.bind(0x71, false, () =>
    {
    if(mp.game.system.vdist(mp.players.local.position.x, mp.players.local.position.y, mp.players.local.position.z, marker.position.x, marker.position.y, marker.position.z) < 2.5)
    {
    mp.world.requestIpl("Coroner_Int_On");
    mp.events.callRemote("teleportInterior");
    }
    });