Komische Zahlen

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
  • Hi ich habe in einem Enum x,y,z,radius,und name von einer Schranke deffiniert



    Wenn ich durch eine While-Schleife abfrage ob der Spieler an einer der Schranke ist funktioniert das
    aber wenn ich mir dann den x wert ausgeben lassen will, der eigentlich 54.2 sein sollte bekomme ich nur 1113115853


    kann mir jemand sagen was die zahl darstellt bzw wie ich die wieder in die ursprüngliche zahl 54.2 konvertieren kann
    Denn ich möchte die Schranke ja durch ein MoveObject bewegen und mit der Zahl 1113115853 kann das MoveObject nicht wirklich was anfgangen da diese Koordinate dann nicht mehr auf der Map liegt...



    mfg The_OTTO

  • also das ist der Cod dazu:


    Wenn ich mir den namen oder die Modelllid ausgeben lasse geht das doch soblad da ein . steht kommen die komischen zahlen und ich muss 54.20 machen ohne den punkt meckert er



    enum Zoll
    {
    Float:x,
    Float:y,
    Float:z,
    Float:Rad,
    modellid,
    name[20]


    }
    new IsAtZoll [] [Zoll] =
    {
    {54.200000762939, -1524.5, 6.0, 5.0,978,"ZollSchranke1"},
    {52.0, -1539.19921875, 5.0533084869385,5.0,978,"ZollSchranke2"}


    };




    checkzoll(playerid)
    {
    new i;
    i=0;
    while (i < 2)
    {
    imax = 2;
    if(i<imax)
    {
    if(IsPlayerInRangeOfPoint(playerid,IsAtZoll[i][Rad],IsAtZoll[i][x],IsAtZoll[i][y],IsAtZoll[i][z]))
    {
    MoveObject(IsAtZoll[i][name],IsAtZoll[i][x],IsAtZoll[i][y],1.0,3.0);
    format (text, sizeof(text), "Du bist an der Zollstation %d", IsAtZoll[i][x]);
    SendClientMessage(playerid, green, text);



    return 1;

    }

    i=i+1;
    }
    else
    {
    return 1;
    }


    }
    return 0;


    }




    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(strget(cmdtext,0),"/zoll", true) ==0)
    {
    checkzoll(playerid);
    return 1;
    }
    return 0;
    }



    stock strget(strx[], pos, search = ' ') {
    new arg, ret[128], idxx;
    for (new i = 0; i < strlen(strx); i++) {
    if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
    arg++;
    if (arg == pos + 1){
    ret[i-idxx] = EOS;
    return ret;
    } else if (arg == pos)
    idxx= i+1;
    }
    else if (arg == pos)
    ret[i - idxx] = strx[i];
    }
    return ret;
    }



    mfg The_OTTO