Spielerposition festlegen ?

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
  • Hallo,


    vorweg muss ich sagen habe ich etwas Programmierkentnisse in Java, Javascript und PHP.
    Ich spiele gerne SA und dann nach gewisser Zeit SAMP für mich entdeckt. Dann hatte ich auch mal Lust nen Mod zu scripten.


    Das war anfangs sehr schwer, weil ich mich durch die englische SAMP-Wiki quählen musste (Aber glaube ,das mussten schon so einige :wacko: )


    Jedenfalls, hab ich nun endlich mein erstes Teammatch hinbekommen. Mein Problem ist nur, wenn ich nen Test starte und meinen "Server" (PC :D ) aufrufe, erscheint die Casinoposition , allerdings nicht die Spielerklassen (das ist natürlich doof :!: ).


    Ich habe die Spielerklassen halt "normal" geschrieben AddPlayerClass(ID,X,Y,Z,A,W1,M1,W2,M2,W3,M3);
    Insgesamt sind es 10 PlayerID's.


    Wie bekomme ich es nun hin,dass ich bei der Spielerauswahl ,die Klassen an der XYZ-Position sehe ?


    Danke schonmal im voraus ;)


    ps: ich meine nicht AddplayerClassEx(......) !

    Zitat

    Kennst du eigentlich Reallife ?

    Nö, schick mal Link. :D

  • Schau dir mal das Beispielscript lvdm.pwn an. Die Antwort auf deine Frage verbirgt sich hinter der Funktion OnPlayerRequestClass.

    Intel Xeon W3690 Hexacore @ 4.5 GHz - 48GB Triple Channel DDR3 - GeForce RTX 2070 Super - Asus P6T Deluxe V1 @ P6T WS Pro BIOS

    Mainboard 12 Jahre, CPU 10 Jahre alt - old but gold!

  • Aha! Ja ich habs rausgefunden. Danke ! ;) :)


    kann aber mit folgendem nicht wirklich was anfangen:
    new Float:gRandomPlayerSpawns[23][3] = {


    Also ich weiß schon das dort die Koordinaten von den einzelnen Spielerklassen aufgelistet sind , bloss bin ich mir jetzt unsicher, was ich alles aus dem Script entnehmen soll und was ich umschreiben muss, damit es kompatibel ist. :huh:

    Zitat

    Kennst du eigentlich Reallife ?

    Nö, schick mal Link. :D

    Einmal editiert, zuletzt von Butterbrot ()

  • Ja,das habe ich auch probiert, klappt aber allerdings nicht, da jeder Spieler eine andere Startposition hat. :S


    gibt es denn noch andere möglichkeiten ,die spieler sichtbar zu machen ?

    Zitat

    Kennst du eigentlich Reallife ?

    Nö, schick mal Link. :D

  • Ok, alte Weisheit kehrt zurück. :D
    Also ich habs mir mal durchgelesen, bräuchte aber etwas Hilfe,weil ich mir unsicher bin. ?(


    Unter PlayerClassRequest wird iSpawnSet[playerid] = 0;angegeben, was in der #Include als new iSpawnSet[MAX_PLAYERS]; angegeben ist.


    Dann wird in der PlayerClassRequest noch SetupPlayerForClassSelection(playerid); angezeigt, was ja auf die public SetupPlayerForClassSelection(playerid) verweist, wo sich die Koordinaten befinden.


    dann wäre ja noch das gRandomPlayerSpawns[23][3] (was ich garnicht kappiere,weil ich nich weis,wo der anfang und das ende ist, und woher die koordinaten kommen, da die playerclasses fast alle die selbe startposition haben)



    Und welche Bedeutung hat das gCop in dem Quelltext? Würde jetzt auf Moderatorteam tippen ,also die,die aufpassen :?:
    public SetPlayerRandomSpawn(playerid)
    {
    if (iSpawnSet[playerid] == 1)
    {
    new rand = random(sizeof(gCopPlayerSpawns));
    SetPlayerPos(playerid, gCopPlayerSpawns[rand][0], gCopPlayerSpawns[rand][1], gCopPlayerSpawns[rand][2]); // Warp the player
    SetPlayerFacingAngle(playerid, 270.0);
    }
    else if (iSpawnSet[playerid] == 0)
    {
    new rand = random(sizeof(gRandomPlayerSpawns));
    SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]); // Warp the player
    }
    return 1;
    }

    Zitat

    Kennst du eigentlich Reallife ?

    Nö, schick mal Link. :D

  • In SetupPlayerForClassSelection sind die Zeilen [wiki]SetPlayerPos[/wiki], [wiki]SetPlayerCameraPos [/wiki]und [wiki]SetPlayerCameraLookAt [/wiki]dafür zuständig den Spieler auf dem Bildschirm zu präsentieren.

    Intel Xeon W3690 Hexacore @ 4.5 GHz - 48GB Triple Channel DDR3 - GeForce RTX 2070 Super - Asus P6T Deluxe V1 @ P6T WS Pro BIOS

    Mainboard 12 Jahre, CPU 10 Jahre alt - old but gold!