Pickups werden falsch platziert...

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,


    ich habe gerade bemerkt das "GetPlayerPos" bei mir eine total falsche Position liefert.
    Ich habe es komplett gecheckt und da sollte normal überhaupt nichts falsch sein.


    Code:
    ocmd:createhouse(playerid, params[]) {
    new price, Float:X, Float:Y, Float:Z, query[500];
    if(sscanf(params, "d", price)) return SendClientMessage(playerid, -1, "Fehlerhafte Eingabe: /createhouse [Preis]");
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Fehlerhafte Ausführung: Du bist kein Admin!");
    if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Fehlerhafte Ausführung: Du bist nicht Online!");
    if(!IsPlayerSpawned(playerid)) return SendClientMessage(playerid, -1, "Fehlerhafte Ausführung: Du bist nicht gespawnt!");
    GetPlayerPos(playerid, X, Y, Z);
    TogglePlayerControllable(playerid, 0);
    format(query, sizeof(query), "INSERT INTO `houses` \
    (`houseState`, `houseLocked`, `housePrice`, `hX`, `hY`, `hZ`) \
    VALUES \
    ('0', '1', '%d', '%f', '%f', '%f') ",\
    price, // Preis
    X, // Die X Achse
    Y, // Die Y Achse
    Z); // Die Z Achse
    mysql_query(query);
    LoadHouses(1);
    TogglePlayerControllable(playerid, 1);
    return 1;
    }


    Die Position die er liefert ist immer Meilen weit weg?


    Einmal editiert, zuletzt von EinfachMax ()

  • Wenn ich fragen darf, warum benötigst du eine Größe von [500]?
    Da Reichen doch 128 oder 164.


    mfg

    • Offizieller Beitrag
    SQL
    INSERT INTO `houses` \
    		(`houseState`, `houseLocked`, `housePrice`, `hX`, `hY`, `hZ`) \
    		VALUES \
    		('0', '1', '%d', '%f', '%f', '%f')


    beträgt 139 Zeichen.
    ersetzen wir mal %d durch z.B 500000
    und die Koordinaten mit z.B -2632.3242


    SQL
    INSERT INTO `houses` \
    		(`houseState`, `houseLocked`, `housePrice`, `hX`, `hY`, `hZ`) \
    		VALUES \
    		('0', '1', '500000', '-2632.3242', '-2632.3242', '-2632.3242')


    ergibt 167, da reichen 200 schon aus, zu Not könnte man auch einfach 250 benutzen.