Problem mit For-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
  • Hallo leute,
    Da es schneller geht und übersichtlicher ist habe ich für alle Enter/Exits For-Schleifen sowie Enums und Auflistungen von Koordinaten und Texten verwendet.


    Nun soll man beim drücken einer Taste, das Gebäude betreten.
    Bei meinem Haus-System das sogar fast dieselben Variablen nutzt klappt alles einwandfrei.



    Nur bei diesem Code nicht:
    for(new i = 0;i<sizeof(einsys);i++)
    {
    if(PlayerToPoint(2.0,playerid,einsys[i][a_x],einsys[i][a_y],einsys[i][i_z]))
    {
    SetPlayerPos(playerid,einsys[i][i_x],einsys[i][i_y],einsys[i][i_z]);
    SetPlayerInterior(playerid,einsys[i][interi]);
    SetPlayerVirtualWorld(playerid,einsys[i][world]);
    }
    else if(PlayerToPoint(2.0,playerid,einsys[i][i_x],einsys[i][i_y],einsys[i][i_z]) && GetPlayerVirtualWorld(playerid) == einsys[i][world])
    {
    SetPlayerPos(playerid,einsys[i][a_x],einsys[i][a_y],einsys[i][a_z]);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    }
    }


    Hoffe das ist nur ein Flüchtigkeitsfehler den ich übersehen habe, aber ich komme halt nicht in die Gebäude.
    Key ist definiert. Da ist kein Fehler.


    MfG Firer

  • sehe da keinen Fehler ... erhöhe mal die range und mach dir nen debug befehl


    ocmd:debug(playerid,params[])
    {
    for(new i = 0;i<sizeof(einsys);i++)
    {
    if(PlayerToPoint(2.0,playerid,einsys[i][a_x],einsys[i][a_y],einsys[i][i_z]))
    {
    SendClientMessage(playerid,COLOR,"DEBUG");
    }
    }
    return 1;
    }



    edit if(PlayerToPoint(2.0,playerid,einsys[i][a_x],einsys[i][a_y],einsys[i][i_z])) // gehört da nicht einssys[i][a_z] ???


    edit2: verbessert

  • if(PlayerToPoint(2.0,playerid,einsys[i][a_x],einsys[i][a_y],einsys[i][i_z]


    ist der z Parameter nicht falsch ?


    müsste das nach der logig der anderen nicht

    if(PlayerToPoint(2.0,playerid,einsys[i][a_x],einsys[i][a_y],einsys[i][a_z]


    sein