For Schleife geht schon wieder nicht?

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
  • Hey Com,


    Bei meinem Haussystem, wenn ich "/hausenter" schreie falle ich bei 000 durch die Luft wenn ich aber den Befehl scripte, das man an den Koordinaten ist gehts:


    Mit for schleife gehts nicht:


    if(!strcmp(cmd, "/hausenter", true))
    {
    for(new i = 1; i <MaxHaus; i++)
    {
    if(IsPlayerInRangeOfPoint(playerid,5.0,PlayerHaus[i][Hausx],PlayerHaus[i][Hausy],PlayerHaus[i][Hausz])) continue;
    if(PlayerHaus[i][Hausid] == PlayerInfo[playerid][pHauskey] || PlayerHaus[i][Hausid] == PlayerInfo[playerid][pMietKey] || PlayerInfo[playerid][pAdmin] == 2000)// return SendClientMessage(playerid,WHITE,"Dieses Haus gehört dir nicht!");
    {
    new Float:xasdf, Float:yasdf, Float:zasdf;
    new Inter;
    xasdf = PlayerHaus[i][AHausx];
    yasdf = PlayerHaus[i][AHausy];
    zasdf = PlayerHaus[i][AHausz];
    Inter = PlayerHaus[i][Interior];
    SetPlayerPos(playerid,xasdf,yasdf,zasdf);
    SetPlayerInterior(playerid,Inter);
    SetPlayerVirtualWorld(playerid,PlayerHaus[i][Hausid]);
    }
    }
    //return SendClientMessage(playerid,WHITE,"Du bist an keinem Haus!");
    }


    Hier ohne for Schleife


    if(!strcmp(cmd, "/gotohaus1", true))
    {
    SetPlayerPos(playerid,444.646911,508.239044,1001.419494);
    SetPlayerInterior(playerid,12);
    }


    Mfg

  • Dann zeig mal den Code, mit dem du die Werte zuweist.


    stock AddHaus(Float:x,Float:y,Float:z,Hauskosten,interior)
    {
    new Data[28], hausedit, owner[128];
    for(new i = 1; i <MaxHaus; i++)
    {
    hausedit = i;
    format(Data,sizeof(Data),"/Haus/%d.ini",i);
    if(!fexist(Data))
    {
    dini_Create(Data);
    PlayerHaus[hausedit][Hausid] = i;
    PlayerHaus[hausedit][Hausx] = x;
    PlayerHaus[hausedit][Hausy] = y;
    PlayerHaus[hausedit][Hausz] = z;
    PlayerHaus[hausedit][Kosten] = Hauskosten;
    PlayerHaus[hausedit][Hauslabel] = 1;

    switch(interior)
    {
    case 1:
    {
    PlayerHaus[hausedit][AHausx] = 444.646911;
    PlayerHaus[hausedit][AHausy] = 508.239044;
    PlayerHaus[hausedit][AHausz] = 1001.419494;
    PlayerHaus[hausedit][Interior] = 12;
    }
    case 2:
    {
    PlayerHaus[hausedit][AHausx] = 1889.953369;
    PlayerHaus[hausedit][AHausy] = 1017.438293;
    PlayerHaus[hausedit][AHausz] = 31.882812;
    PlayerHaus[hausedit][Interior] = 10;
    }
    case 3:
    {
    PlayerHaus[hausedit][AHausx] = 244.411987;
    PlayerHaus[hausedit][AHausy] = 305.032989;
    PlayerHaus[hausedit][AHausz] = 999.1484;
    PlayerHaus[hausedit][Interior] = 1;
    }
    case 4:
    {
    PlayerHaus[hausedit][AHausx] = 271.884979;
    PlayerHaus[hausedit][AHausy] = 306.631988;
    PlayerHaus[hausedit][AHausz] = 999.148437;
    PlayerHaus[hausedit][Interior] = 2;
    }
    case 5:
    {
    PlayerHaus[hausedit][AHausx] = 291.282989;
    PlayerHaus[hausedit][AHausy] = 310.031982;
    PlayerHaus[hausedit][AHausz] = 999.148437;
    PlayerHaus[hausedit][Interior] = 3;
    }
    case 6:
    {
    PlayerHaus[hausedit][AHausx] = 302.180999;
    PlayerHaus[hausedit][AHausy] = 300.722991;
    PlayerHaus[hausedit][AHausz] = 999.148437;
    PlayerHaus[hausedit][Interior] = 4;
    }
    case 7:
    {
    PlayerHaus[hausedit][AHausx] = 346.870025;
    PlayerHaus[hausedit][AHausy] = 309.259033;
    PlayerHaus[hausedit][AHausz] = 999.155700;
    PlayerHaus[hausedit][Interior] = 6;
    }
    case 8:
    {
    PlayerHaus[hausedit][AHausx] = 2496.049804;
    PlayerHaus[hausedit][AHausy] = -1695.238159;
    PlayerHaus[hausedit][AHausz] = 1014.742187;
    PlayerHaus[hausedit][Interior] = 3;
    }
    case 9:
    {
    PlayerHaus[hausedit][AHausx] = 2454.717041;
    PlayerHaus[hausedit][AHausy] = -1700.871582;
    PlayerHaus[hausedit][AHausz] = 1013.515197;
    PlayerHaus[hausedit][Interior] = 2;
    }
    case 10:
    {
    PlayerHaus[hausedit][AHausx] = 318.564971;
    PlayerHaus[hausedit][AHausy] = 1118.209960;
    PlayerHaus[hausedit][AHausz] = 1083.882812;
    PlayerHaus[hausedit][Interior] = 5;
    }
    }


    //Formatierungen
    new striing[64];
    format(owner,sizeof(owner),"Der Staat");
    PlayerHaus[hausedit][Owner] = owner;
    format(striing,sizeof(striing),"|____Pixel Roleplay____|\nBesitzer: %s",PlayerHaus[hausedit][Owner]);


    //In die Datei Speicherung
    dini_IntSet(Data,"Hausid",PlayerHaus[hausedit][Hausid]);
    dini_FloatSet(Data,"Hausx",PlayerHaus[hausedit][Hausx]);
    dini_FloatSet(Data,"Hausy",PlayerHaus[hausedit][Hausy]);
    dini_FloatSet(Data,"Hausz",PlayerHaus[hausedit][Hausz]);
    dini_Set(Data,"Owner",PlayerHaus[hausedit][Owner]);
    dini_IntSet(Data,"Hauskosten",PlayerHaus[hausedit][Kosten]);
    dini_IntSet(Data,"Interior",PlayerHaus[hausedit][Interior]);
    dini_FloatSet(Data,"AHausx",PlayerHaus[hausedit][AHausx]);
    dini_FloatSet(Data,"AHausy",PlayerHaus[hausedit][AHausy]);
    dini_FloatSet(Data,"AHausz",PlayerHaus[hausedit][AHausz]);


    //Create3DTextLabel
    labelhaus = Create3DTextLabel(striing,0x00DD009A,PlayerHaus[hausedit][Hausx],PlayerHaus[hausedit][Hausy],PlayerHaus[hausedit][Hausz],20.0,0,0);
    CreatePickup(1273,1,PlayerHaus[hausedit][Hausx],PlayerHaus[hausedit][Hausy],PlayerHaus[hausedit][Hausz],0);
    return 1;
    }
    }
    return 1;
    }


    Ist ein wenig lang - In der Dtaei sind die Dinger

  • es liegt an dieser Zeile hier. Continue bewirkt, wenn deine Abfrage zutrifft, alles "übersprungen" wird und wieder am Anfang beginnt

    if(IsPlayerInRangeOfPoint(playerid,5.0,PlayerHaus[i][Hausx],PlayerHaus[i][Hausy],PlayerHaus[i][Hausz])) continue;

    von daher versuch es mal so:

    if(IsPlayerInRangeOfPoint(playerid,5.0,PlayerHaus[i][Hausx],PlayerHaus[i][Hausy],PlayerHaus[i][Hausz])){
    //...
    }


  • Geht leider auch nicht