Beiträge von Blackshadowscript

    public Autoschadenspeichern()
    {
    new query[125];
    for(new veh = 0; veh < MAX_VEHICLES;veh++)
    {
    if(!IsValidVehicle(veh))
    {
    GetVehicleHealth(AutoInfo[veh][Fahrzeugid],AutoInfo[veh][Schaden]);
    format(query,sizeof(query),"UPDATE Autos SET Schaden = '%f' WHERE db_id= '%f'", AutoInfo[veh][Schaden],AutoInfo[veh] [db_id]);
    mysql_function_query(dbhandle,query,false,"","");
    }
    }
    return 1;
    }


    Der Schaden der Autos wird immer noch nicht in die Datenbank abgespeichert wodurch das Laden des Schadens auch nicht gehen wird.



    So sieht mein AutoSystemEnum aus:


    enum AutoSystemEnum{
    Fahrzeugid,
    Besitzer[MAX_PLAYER_NAME],
    model,
    Float:c_x,
    Float:c_y,
    Float:c_z,
    Float:c_r,
    db_id,
    Float:Schaden
    }




    Speicherfunktion:


    public Autoschadenspeichern()
    {
    new query[125];
    for(new veh = 0; veh < MAX_VEHICLES;veh++)
    {
    if(!IsValidVehicle(veh))
    {
    GetVehicleHealth(AutoInfo[veh][Fahrzeugid],AutoInfo[veh][Schaden]);
    format(query,sizeof(query),"UPDATE Autos SET Schaden = '%f' WHERE Shaden = '%f", AutoInfo[veh][Schaden],AutoInfo[veh] [Besitzer]);
    mysql_function_query(dbhandle,query,false,"","");
    }
    }
    return 1;
    }
    stock SetVehicleHeal(id) return SetVehicleHealth(AutoInfo[id][Fahrzeugid],AutoInfo[id][Schaden]);



    Laden der Fahrzeuge mit Schaden:


    loadplayercars(playerid)
    {
    new query[128];
    format(query,sizeof(query),"SELECT * FROM Autos WHERE Besitzer='%i' ",sInfo[playerid] [db_id]);
    mysql_function_query(dbhandle,query,true,"OnPlayerCarsLoad","i",playerid);
    return 1;
    }


    Es wird nichts gespeichert und wir auch in der Msysql.log so angezeigt:

    Kaito damit du es auch noch mal verstehst:




    "Ich versuche mich grade an das speichern und laden des Schadens der Fahrzeuge" das heißt ich will es in meiner mysql_db abspeichern und auch wieder aus der db laden aber wenn er mir immer vorheült das die funktionen nicht deklariert wären was sie aber leider sind kann ich es vergessen.

    Guten Morgen zusammen.


    Ich versuche mich grade an das speichern und laden des Schadens der Fahrzeuge:



    Ich habe die mit forward deklariert aber kommt immer noch Fehler:
    forward Autoschadenspeichern();
    forward Autoschadenladen(vID);





    hier von mein spielerlade-system:


    forward AutoSpeichernPerDB(carid);
    forward OnPlayerCarsLoad(playerid);


    getFreeCarID()
    {
    for(new i=0; i<sizeof(AutoInfo); i++)
    {
    if(AutoInfo[i][Fahrzeugid] == 0)return i;
    }
    return 0;
    }
    loadplayercars(playerid)
    {
    new query[128];
    format(query,sizeof(query),"SELECT * FROM Autos WHERE Besitzer='%i' ",sInfo[playerid] [db_id]);
    mysql_function_query(dbhandle,query,true,"OnPlayerCarsLoad","i",playerid);
    return 1;
    }
    public OnPlayerCarsLoad(playerid)
    {
    new num_fields,num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(!num_rows)return 1;
    for(new i=0; i<num_rows; i++)
    {
    new id=getFreeCarID();
    AutoInfo[id] [Besitzer]=cache_get_field_content_int(i,"Besitzer",dbhandle);
    AutoInfo[id][model]=cache_get_field_content_int(i,"model",dbhandle);
    AutoInfo[id][c_x]=cache_get_field_content_float(i,"c_x",dbhandle);
    AutoInfo[id][c_y]=cache_get_field_content_float(i,"c_y",dbhandle);
    AutoInfo[id][c_z]=cache_get_field_content_float(i,"c_z",dbhandle);
    AutoInfo[id][c_r]=cache_get_field_content_float(i,"c_r",dbhandle);
    AutoInfo[id] [db_id]=cache_get_field_content_int(i,"id",dbhandle);
    AutoInfo[id][Fahrzeugid]=CreateVehicle(AutoInfo[id][model],AutoInfo[id][c_x],AutoInfo[id][c_y],AutoInfo[id][c_z],AutoInfo[id][c_r],-1,-1,-1);
    }
    return 1;
    }





    Nun will ich es aber auf
    Autoschadenspeichern()
    {
    new num_fields,num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(!num_rows)return 1;
    for(new i=0; i<num_rows; i++);
    new Float:CarHealth[MAX_VEHICLES];
    GetVehicleHealth(GetPlayerVehicleID(playerid),CarHealth[GetPlayerVehicleID(playerid)]);
    new query[125];
    format(query,sizeof(query),"UPDATE Autos Schaden = '%f'",CarHealth[GetPlayerVehicleID(playerid)]);
    return 1;
    }
    Autoschadenladen(vID)
    {
    new result[15];
    Deine_content_Version_von_deiner_MySQL_Funktion(0,"Health",result);
    CarHealth[0] = floatstr(result);
    return 1;
    }


    so wie ich es jetzt gemacht habe aber ich komm einfach nicht weiter.



    Ich weiss einfach auch nicht was ich da machen muss. selbst in youtube forum gibt es kein tutorial dazu und somit bin ich rat los und wende mich an breadfish.


    Jeffry bitte hier melden

    Es kommt einfach kein Error Jeffry. Das Auto wird einfach nicht geparkt und somit funktoniert:



    Autosparken:


    cmd:autoparken(playerid, params[])
    {
    for (new i = 0; i < sizeof(AutoInfo); i++)
    {
    if(!strcmp(AutoInfo[i][Besitzer], SpielerName(playerid)))
    {
    //Er sucht ab, ob der spieler ein auto besitzt, wenn ja:
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, dunkelgrün, "Du bist in kein Auto!");
    new vID = GetPlayerVehicleID(playerid);
    if(vID == AutoInfo[i] [Fahrzeugid])
    {
    new query[128];
    GetVehiclePos(vID, AutoInfo[i][c_x],AutoInfo[i][c_y],AutoInfo[i][c_z]);
    GetVehicleZAngle(vID,AutoInfo[i][c_r]);
    format(query, sizeof(query), "UPDATE Autos SET x='%f',y='%f',z='%f',r='%f' WHERE id='%i' ",AutoInfo[i] [c_x],AutoInfo[i] [c_y],AutoInfo[i] [c_z],AutoInfo[i] [c_r],AutoInfo[i] [db_id]);
    printf("query: %s", query);
    mysql_function_query(dbhandle,query,false," "," ");
    SendClientMessage(playerid, dunkelgrün, "Du hast dein Auto geparkt.");
    return 1;
    }
    return SendClientMessage(playerid, dunkelgrün, "Du sitzt nicht in deinem Auto!");
    }
    }
    return 1;
    }

    ocmd:autoparken(playerid, params[])
    {
    new Float:x, Float:y, Float:z, Float:r;
    for (new i = 0; i < sizeof(AutoInfo); i++)
    {
    if(!strcmp(AutoInfo[i] [Besitzer], SpielerName(playerid)))
    {
    //Er sucht ab, ob der spieler ein auto besitzt, wenn ja:
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, dunkelgrün, "Du bist in kein Auto!");
    GetVehiclePos(AutoInfo[i][Fahrzeugid], AutoInfo[i][c_x],AutoInfo[i][c_y],AutoInfo[i][c_z]);
    GetVehicleZAngle(AutoInfo[i] [Fahrzeugid],AutoInfo[i][c_r]);
    new vID = GetPlayerVehicleID(playerid);
    if(vID == AutoInfo[i] [Fahrzeugid])

    {
    new query[128];
    AutoInfo[i][c_x] = x;
    AutoInfo[i][c_y] = y;
    AutoInfo[i][c_z] = z;
    AutoInfo[i][c_r] = r;
    format(query, sizeof(query), "UPDATE Autos SET x='%f',y='%f',z='%f',r='%f' WHERE id='%i' ",AutoInfo[i] [c_x],AutoInfo[i] [c_y],AutoInfo[i] [c_z],AutoInfo[i] [c_r],AutoInfo[i] [db_id]);
    mysql_function_query(dbhandle,query,false," "," ");
    SendClientMessage(playerid, dunkelgrün, "Du hast dein Auto geparkt.");
    return 1;
    }
    return SendClientMessage(playerid, dunkelgrün, "Du sitzt nicht in deinem Auto!");
    }
    }


    der will einfach das auto nicht parken

    auszug aus der MYSQL.log datei:



    und das stimmt nicht mit 368.143 der cordinate weil ich habe ja auto wo anders geparkt aber das wird nicht gemacht


    ich frage mich nur wieso der da ein fehler anzeigt

    autos werden nicht gepakt und ich weiss nicht wo ich den fehler gemacht haben soll:
    ocmd:autoparken(playerid, params[])
    {
    new Float:x, Float:y, Float:z, Float:r;
    for (new i = 0; i < sizeof(AutoInfo); i++)
    {
    if(!strcmp(AutoInfo[i] [Besitzer], SpielerName(playerid)))
    {
    //Er sucht ab, ob der spieler ein auto besitzt, wenn ja:
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, dunkelgrün, "Du bist in kein Auto!");
    GetVehiclePos(AutoInfo[i][Fahrzeugid], AutoInfo[i][c_x],AutoInfo[i][c_y],AutoInfo[i][c_z]);
    GetVehicleZAngle(AutoInfo[i] [Fahrzeugid],AutoInfo[i][c_r]);
    new vID = GetPlayerVehicleID(playerid);
    if(vID == AutoInfo[i] [Fahrzeugid])

    {
    new query[128];
    AutoInfo[i][c_x] = x;
    AutoInfo[i][c_y] = y;
    AutoInfo[i][c_z] = z;
    AutoInfo[i][c_r] = r;
    format(query, sizeof(query), "UPDATE Autos SET x='%f',y='%f',z='%f',r='%f' WHERE db_id='%i' ",AutoInfo[i] [c_x],AutoInfo[i] [c_y],AutoInfo[i] [c_z],AutoInfo[i] [c_r],AutoInfo[i] [db_id]);
    mysql_function_query(dbhandle,query,false," "," ");
    SendClientMessage(playerid, dunkelgrün, "Du hast dein Auto geparkt.");


    return 1;
    }
    return SendClientMessage(playerid, dunkelgrün, "Du sitzt nicht in deinem Auto!");
    }
    }
    return SendClientMessage(playerid, dunkelgrün, "Du besitzt kein Auto!");

    ocmd:parken(playerid, params[])
    {
    new Float:x, Float:y, Float:z, Float:r;
    for (new i = 0; i < sizeof(AutoInfo); i++)
    {
    if(!strcmp(AutoInfo[i] [Besitzer], SpielerName(playerid))
    {
    //Er sucht ab, ob der spieler ein auto besitzt, wenn ja:
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, dunkelgrün, "Du bist in kein Auto!");
    GetVehiclePos(AutoInfo[i][Fahrzeugid], x, y, z);
    GetVehicleZAngle(AutoInfo[i] [Fahrzeugid],AutoInfo[i][c_r]);
    new vID = GetPlayerVehicleID(playerid);
    if(vID == AutoInfo[i] [Fahrzeugid])

    {
    new query[128];
    AutoInfo[i][c_x] = x;
    AutoInfo[i][c_y] = y;
    AutoInfo[i][c_z] = z;
    AutoInfo[i][c_r] = r;
    format(query, sizeof(query), "UPDATE Autos SET x='%f',y='%f',z='%f',r='%f' WHERE db_id='%i' ",AutoInfo[i] [c_x],AutoInfo[i] [c_y],AutoInfo[i] [c_z],AutoInfo[i] [c_r],AutoInfo[i] [db_id]);
    mysql_function_query(dbhandle,query,false," "," ");
    SendClientMessage(playerid, dunkelgrün, "Du hast dein Auto geparkt.");


    return 1;
    }
    return SendClientMessage(playerid, dunkelgrün, "Du sitzt nicht in deinem Auto!");
    }
    }
    return SendClientMessage(playerid, dunkelgrün, "Du besitzt kein Auto!");
    }



    ocmd-befehl-fehlercod:
    lernen.p(484) : error 001: expected token: ")", but found "{"

    Hier der ganze befehl:


    ocmd:parken(playerid, params[])
    {
    new Float:x, Float:y, Float:z, Float:r;
    for (new i = 0; i < sizeof(AutoInfo); i++)
    {
    if(!strcmp(AutoInfo[i] [Besitzer], SpielerName(playerid))
    {
    //Er sucht ab, ob der spieler ein auto besitzt, wenn ja:
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, dunkelgrün, "Du bist in kein Auto!");
    GetVehiclePos(AutoInfo[i][Fahrzeugid], x, y, z);
    GetVehicleZAngle(AutoInfo[i] [Fahrzeugid],AutoInfo[i][c_r]);
    new vID = GetPlayerVehicleID(playerid);
    if(vID == AutoInfo[i] [Fahrzeugid])
    {
    new query[128];
    AutoInfo[i][c_x] = x;
    AutoInfo[i][c_y] = y;
    AutoInfo[i][c_z] = z;
    AutoInfo[i][c_r] = r;
    format(query, sizeof(query), "UPDATE Autos SET x='%f',y='%f',z='%f',r='%f' WHERE db_id='%i' ",AutoInfo[i] [c_x],AutoInfo[i] [c_y],AutoInfo[i] [c_z],AutoInfo[i] [c_r],AutoInfo[i] [db_id]);
    mysql_function_query(dbhandle,query,false," "," ");
    SendClientMessage(playerid, dunkelgrün, "Du hast dein Auto geparkt.");


    return 1;
    }
    return SendClientMessage(playerid, dunkelgrün, "Du sitzt nicht in deinem Auto!");
    }
    }
    return SendClientMessage(playerid, dunkelgrün, "Du besitzt kein Auto!");
    }


    Fehler code bezieht sich auf ocmd-befehl:
    lernen.p(483) : error 017: undefined symbol "SpielerName"

    Hier mein AutoEnum
    enum AutoSystemEnum{
    Fahrzeugid,
    Besitzer[MAX_PLAYER_NAME],
    model,
    Float:c_x,
    Float:c_y,
    Float:c_z,
    Float:c_r,
    db_id
    }
    ocmd:parken(playerid, params[])
    {
    new Float:x, Float:y, Float:z, Float:r;
    for (new i = 0; i < sizeof(AutoInfo); i++)
    {
    if(!strcmp(AutoInfo[i] [Besitzer],MAX_PLAYER_NAME(playerid));
    {
    //Er sucht ab, ob der spieler ein auto besitzt, wenn ja:
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, dunkelgrün, "Du bist in kein Auto!");
    GetVehiclePos(AutoInfo[i][Fahrzeugid], x, y, z);
    GetVehicleZAngle(AutoInfo[i] [Fahrzeugid],AutoInfo[i][c_r]);
    new vID = GetPlayerVehicleID(playerid);
    if(vID == AutoInfo[i] [Fahrzeugid])
    {
    new query[128];
    AutoInfo[i][c_x] = x;
    AutoInfo[i][c_y] = y;
    AutoInfo[i][c_z] = z;
    AutoInfo[i][c_r] = r;
    format(query, sizeof(query), "UPDATE Autos SET x='%f',y='%f',z='%f',r='%f' WHERE db_id='%i' ",AutoInfo[i] [c_x],AutoInfo[i] [c_y],AutoInfo[i] [c_z],AutoInfo[i] [c_r],AutoInfo[i] [db_id]);
    mysql_function_query(dbhandle,query,false," "," ");
    SendClientMessage(playerid, dunkelgrün, "Du hast dein Auto geparkt.");


    return 1;
    }
    return SendClientMessage(playerid, dunkelgrün, "Du sitzt nicht in deinem Auto!");
    }
    }
    return SendClientMessage(playerid, dunkelgrün, "Du besitzt kein Auto!");
    }


    geht nicht.


    Der fehler code gehört zu den ocmd-befehl:
    lernen.p(483) : error 029: invalid expression, assumed zero
    lernen.p(483) : warning 215: expression has no effect
    lernen.p(483) : error 001: expected token: ";", but found ")"
    lernen.p(483) : error 029: invalid expression, assumed zero
    lernen.p(483) : fatal error 107: too many error messages on one line