Beiträge von Jeffry

    Das kann er nicht machen, da er den Leader nicht den Fraktionen zuweist und diese auch nirgends speichert. Daher muss man entsprechend auf die User zugreifen, was an sich ja auch kein Problem ist, der Code existiert ja bereits, nur passt irgendwas im SELECT nicht, daher wird die Tabelle benötigt.

    Habe dich nicht vergessen, ich hatte nur gestern Abend keine Zeit mehr.
    Erklären kann ich mir das Problem so auch nicht. Nutzt der Code eine gehookte oder selbstdefinierte Version von IsPlayerInRangeOfPoint?
    Hast du vielleicht einen anderen Code, bei dem IsPlayerInRangeOfPoint funktioniert, wenn ja, kannst du den posten?


    Alternativ, versuche mal das hier:
    if(IsPlayerInRangeOfPoint(playerid,30.0,294.661590,-80.419509,1001.515625))
    zu:
    if(GetPlayerDistanceFromPoint(playerid,294.661590,-80.419509,1001.515625) < 30.0)
    oder:
    if(x > 280.0 && x < 310.0 && y > -95.0 && y < -65.0 && z > 990.0 && z < 1100.0)


    Klappt eine der beiden Varianten?

    Ist das jetzt die Version von dir oder mir?
    Falls du meine schon kopiert hast, ich habe die noch ausgebessert, so ist es korrekt:
    new query2[256];
    format(query2, sizeof(query2), "UPDATE vehicleData SET modelID = '560', posX = '-1984.3469', posY = '304.3110', ");
    format(query2, sizeof(query2), "%sposZ = '34.7430', posA = '87.0143', color1 = '0', color2 = '0' WHERE ID = '%i' AND uVID = '%i'", query2, pInfo[playerid][id], amount+1);
    mysql_function_query(dbhandle, query2, false, "", "");


    Falls es die von dir ist, versuche mal meine Variante.

    Wird der Code überhaupt aufgerufen? Lass dir das query2 mal printen und schau ob der print im Log steht.
    Wenn er geprintet wird, was steht im MySQL Log - gegebenenfalls mit eingeschaltetem Debug Modus?
    Stimmen im print die angegebenen WHERE-Daten?


    Außerdem ist es performanter, wenn du es so schreibst, dann sendest du nur ein Query:
    new query2[256];
    format(query2, sizeof(query2), "UPDATE vehicleData SET modelID = '560', posX = '-1984.3469', posY = '304.3110', ");
    format(query2, sizeof(query2), "%sposZ = '34.7430', posA = '87.0143', color1 = '0', color2 = '0' WHERE ID = '%i' AND uVID = '%i'", query2, pInfo[playerid][id], amount+1);
    mysql_function_query(dbhandle, query2, false, "", "");

    Das Public muss so aussehen:
    public LoadFirmaDaten()
    {
    new num_fields, num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    for(new i = 0; i<num_rows; i++)
    {
    Firmengebiete[i][f_id] = cache_get_field_content_float(i, "id", dbhandle);
    Firmengebiete[i][posX] = cache_get_field_content_float(i, "posX", dbhandle);
    Firmengebiete[i][posY] = cache_get_field_content_float(i, "posY", dbhandle);
    Firmengebiete[i][posZ] = cache_get_field_content_float(i, "posZ", dbhandle);
    /*
    ... und so weiter ...
    */
    }
    return 1;
    }


    Das Array benötigst unter den Includes, mit enum:
    #define MAX_FIRMEN 10
    enum firmenEnum {
    f_id,
    Float:posX,
    Float:posY,
    Float:posZ
    }
    new Firmengebiete[MAX_FIRMEN][firmenEnum];



    Wobei ich dazu sagen muss, dass du das nicht aus dem Tutorial hast, das ich dir gegeben habe. Hättest du damit gearbeitet, wärst du wahrscheinlich weiter gekommen.
    Ich rate dir - damit du auch verstehst was du machst - lösche den Code nochmal aus deinem Gamemode und schaue dir das Tutorial an, dann geh das durch und baue den Code so nochmal auf. Die paar Zeilen sind ja kein großes Problem, aber es geht darum, dass du es verstehst, denn es bringt - wie man sieht - nichts, wenn es dir jemand (und dazu noch falsch) macht.

    Ich habe jetzt über 24h gewartet ob du doch noch einen Screenshot der Datenbank schickst.
    Ohne den kann man, wie gesagt, nicht sagen, wo der Fehler liegt. Solltest du den nicht posten, dann kann ich dir nicht weiterhelfen.