IsPlayerInRangeOfPoint in eine Virtuelle Welt setzen?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Schönen guten Tag liebe Community,


    meine Frage lautet heute: "Ist es möglich das IsPlayerInRangeOfPoint mit einer Virtuellen Welt zu verbinden?"
    Auf diese Frage bin ich folgendermaßen gekommen und zwar geht es mir darum wenn ich nun zum Beispiel viele Burger Shots / Cluckin Bells verteile und diese zugänglich mache allerdings ohne Befehl haben möchte sprich mit "F / Enter " oder dergleichen drücken zum verlassen dann müsste ich doch mit Virtuellen Welten arbeiten oder nicht?


    Beispiel:
    Ich betrete Burger Shot 1, verlasse ihn dann wieder, lande aber bei denn Koordinaten von Burger Shot 2.
    Wie würde sich das vermeiden lassen wenn oder geht es nur wenn ich mit Befehlen arbeite zum Beispiel: "/bsn1exit, /bsn2exit" usw.
    Wie löst ihr dieses Problem bzw. wie kann ich damit Arbeiten das es ohne Befehl funktioniert und der Spieler immer an der richtigen stelle spawnt?


    Meine Lösung wäre jetzt bloß gewesen zum Beispiel : "Burger Shot 1 ist in der Virtuellen Welt 1, Burger Shot 2 dann beim betreten in der Virtuellen Welt 2, so das die Ausgangspunkte sich nicht überschneiden da diese ja in verschiedenen Welten liegen."
    Doch ich wüsste nicht wie man es so machen könnte, wenn ich nun bloß den Spieler in die Virtuelle Welt setze dann bleiben die Koordinaten doch gleich, sprich es ist eigentlich egal ob nun VW1 oder VW2 sobald man Burger Shot 1 verlässt würde man bei den Koordinaten von Burger Shot 2 landen und umgekehrt.


    Also wie löst ihr solche Probleme?


    Vielen dank im Voraus.
    Lg


    Alle Menschen sind eins. Was sie unterscheidet, ist der Name, den man ihnen gibt.
    (Buddha)


    Uns zivilisierten Menschen ist zwar gelungen, das Raubtier in uns auszuschalten, nicht aber den Esel.
    (Winston Churchill)


    Wenn du denkst, die ganze Welt sei schlecht, dann vergisst nicht, dass Leute wie du darin leben.
    (Mahatma Gandhi)

  • Ja, du machst es so:


    if(IsPlayerInRangeOfPoint(playerid,Distanz,X,Y,Z) && GetPlayerVirutalWorld(playerid) == Zahl)

    Wenn ich das dann so verwende zum Beispiel: if(IsPlayerInRangeOfPoint(playerid, 5.0, X,Y,Z) && GetPlayerVirtualWorld(playerid) == 5)
    Wie kann ich dann die Abfrage machen bzw. wie definiere ich vorher für genau diese Virtuelle Welt den Burger Shot?


    edit: Achsoo jetzt verstehe ich das, ich kann dann einfach.. folgendes:
    if(IsPlayerInRangeOfPoint(playerid, 5.0, X,Y,Z) && GetPlayerVirtualWorld(playerid) == 2)


    SetPlayerPos(playerid, X,Y,Z);


    SetPlayerVirtualWorld(playerid, 1);



    Und falls nicht:


    else


    if(GetPlayerVirtualWorld(playerid) == 3


    SetPlayerPos (..............)


    Und immer so weiter Abfragen?


    Alle Menschen sind eins. Was sie unterscheidet, ist der Name, den man ihnen gibt.
    (Buddha)


    Uns zivilisierten Menschen ist zwar gelungen, das Raubtier in uns auszuschalten, nicht aber den Esel.
    (Winston Churchill)


    Wenn du denkst, die ganze Welt sei schlecht, dann vergisst nicht, dass Leute wie du darin leben.
    (Mahatma Gandhi)

  • Vielen Dank an euch alle.
    Ich denke ich habe es verstanden. =)
    Ist ja gar nicht so schwer wie ich dachte.


    Lg


    Alle Menschen sind eins. Was sie unterscheidet, ist der Name, den man ihnen gibt.
    (Buddha)


    Uns zivilisierten Menschen ist zwar gelungen, das Raubtier in uns auszuschalten, nicht aber den Esel.
    (Winston Churchill)


    Wenn du denkst, die ganze Welt sei schlecht, dann vergisst nicht, dass Leute wie du darin leben.
    (Mahatma Gandhi)

  • Zu deinem Edit, wenn du natürlich für den BSN weitere virtuelle welten verwendest, dann auch mit == 3 == 4 arbeiten, aber wenn du nur 1 interior hast, einfach die richtig virtuelle welt abfragen bei


    SetPlayerVirtualWorld(playerid, 1); (Betreten)


    if(GetPlayerVirtualWorld(playerid) == 1) (Abfrage beim raus gehen)


    dann solltest du nur mit else arbeiten.

    KleineHilfe 2.0