SetPlayerPos Schleife

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
  • Guten Abend,


    woran liegt es das dieser Code nicht funktioniert?


    ocmd:move(playerid,params[])
    {
    new Float:x,Float:y,Float:z, count;
    GetPlayerPos(playerid,x,y,z);
    while(count < 10)
    {
    SetPlayerPos(playerid,x,y+2,z);
    }
    return 1;
    }


    Der Spieler soll einfach nur 10 Mal hintereinander auf der Y-Achse verschoben werden.


    Der Spieler wird jedoch nur 1x verschoben und anschließend Crasht der Server.



    Mit freundlichen Grüßen
    xPuma

  • ocmd:move(playerid,params[])
    {
    new Float:x,Float:y,Float:z, count;
    while(count < 10)
    {
    GetPlayerPos(playerid,x,y,z);
    SetPlayerPos(playerid,x,y+2,z);
    count++;
    }
    return 1;
    }


    Da hast du Recht, allerdings werde ich nach wie vor nur 1x geportet - Ich möchte aber 10 Mal hintereinander auf der Y Achse um 2 Einheiten verschoben werden.

  • Ich würde da tatsächlich einfach mal sagen dass die Schleife zu schnell geht und du in diesem kleinen "Augenblick" nur eine Teleportation, also an die Endstelle (sprich 10*2) gesetzt wirst.


    Schlagt mich nicht wenns falsch ist, ich hab eine längere Zeit nichts gemacht im PAWN Bereich, aber ich hätte es glaube ich so geregelt:


  • aber ich hätte es glaube ich so geregelt

    Also die Idee mit der Schleife ist schon gut, aber dein Code wird nicht funktionieren, da du x,y,z nicht updatest + nicht als erstes abfragst.


    Desweiteren verwendest du hier 2 globale Variablen mit dem index MAX_PLAYERS, ich zeige mal, dass man das nicht brauch und der Code effizienter wird:


    Zudem sollte man eine Zeitsperre einbauen, damit man den Command nicht spammt, während man sich noch bewegt:



    ast2ufdyxkb1.png


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