Beiträge von Jane

    ich würde gerne da einfügen das man nur fraktions id s zwischen 1 und 10 auswählen kann komme aber mit strlen nicht klar hoffe auf hilfe
    Grüsse Jane




    ocmd:savefrakcar(playerid,params[])
    {
    if(sInfo[playerid][alevel]>=7)
    {
    if(sInfo[playerid][aduty]==1)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    print("alle vorraussetzungen erfüllt!");
    new fID,vehicleID;
    new farb1,farb2;
    new Float:x,Float:y,Float:z,Float:rota;
    if(sscanf(params,"iii",fID,farb1,farb2))return SendClientMessage(playerid,CL_WHITE,"Aussage: /savefrakcar Fraktionsid farbe1 farbe2"); //Hier wird das was der Spieler hinter dem Befehl eingegeben hat in Variablen getrennt. In unserem Fall in "vID"

    vehicleID = GetVehicleModel(GetPlayerVehicleID(playerid));
    printf("model %i",vehicleID);
    GetVehiclePos(GetPlayerVehicleID(playerid),x,y,z);
    GetVehicleZAngle(GetPlayerVehicleID(playerid),rota);
    printf("%i %i %f %f %f %f %i %i ",fID,vehicleID,x,y,z,rota,farb1,farb2);
    SendClientMessage(playerid,CL_KNALLROT,"Klappt");

    return 1;
    }
    SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist in keinem Fraktions auto!");
    return 1;
    }
    SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
    return 1;
    }
    SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
    return 1;
    }

    ich weiss ja nicht welcher sql befehl den error verursacht...



    Spoiler anzeigen
    public OnPlayerDisconnect(playerid, reason)
    {
    if(p_vehicle[playerid] != -1)
    {
    DestroyVehicle(p_vehicle[playerid]);
    p_vehicle[playerid] = -1;
    }
    SetPlayerColor(playerid,CL_GRAU);
    saveplayer(playerid);
    resetplayer(playerid);
    DestroyVehicle(vehicle[playerid]);
    switch(reason)
    {
    case 0: return 1;
    case 1: return 1;
    case 2: return 1;
    }
    //Spielerautos löschen
    for(new i=0; i<sizeof(cInfo); i++)
    {
    if(cInfo[i][SID]==0)continue;
    if(cInfo[i][besitzer] != sInfo[playerid][db_id])continue;
    new query[289];

    Spoiler anzeigen
    format(query,sizeof(query),"UPDATE Spielerautos SET X='%f',Y='%f',Z='%f',ROTATION='%f' WHERE DB_ID='%i'",cInfo[i][carx],cInfo[i][cary],cInfo[i][carz],cInfo[i][carrota],cInfo[i][DB_ID]);
    mysql_function_query(dbhandle,query,false,"","");
    DestroyVehicle(cInfo[i][SID]);
    printf("%i gelöscht",cInfo[i][SID]);
    }
    return 1;


    das ist alles was aufgeführt wird bei OnPlayerDisconnect aber es passiert nicht wenn ich mich ganz normal auslogge

    [17:17:07] [part] [MVS]Groveman has left the server (0:0)
    dazu die error linie


    [17:17:07] [ERROR] CMySQLQuery::Execute[()] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1


    vielleicht fällt euch dazu was ein...

    gut und schön ich arbeite viel mit sscanf aber deine erklärung hilft insbesondere mir der mit worten nicht immer direkt alles versteht nicht immer:D
    were schön um eine genauere erklärung bzw ein beispiel
    bei fragen bitte fragen diese fragen beantworte ich gern

    Hallo ich möchte gerne einen befehl wie /accept wo ich aber hintendran mehrere möglichkeiten habe z.B. /accept invite (dann soll was passieren) /accept pd(dann auch was anderes)


    so als beispiel mein bisheriger code


    ocmd:accept(playerid,params[])
    {
    return 1;
    }


    bitte auch wenn möglich erklären wie dies funktioniert


    für einen lerneffekt

    melde mich per edit


    ich werds ausprobieren danke dir




    habe folgende errors
    Zeile (220) : Variable wurde falsch definiert (Float,Integer[...])
    Zeile (221) : Ungültiges Array (kein Array?): "fspawn"
    Zeile (221) : Befehl hat keinen Sinn
    Zeile (221) : Erwartete Zeichen ";", aber gefunden "]"
    Zeile (221) : Ungültiger Befehl
    Zeile (221) : Zuviele Fehler in einer Zeile



    dazu der code

    Spoiler anzeigen
    new fraktions = sInfo[playerid][fraktion]; // Fraktion auslesen
    SetPlayerPos(playerid,fspawn[fraktions][f_x],fspawn[fraktions][f_y],fspawn[fraktions][f_z]); //Position setzen

    irgentwas ist falsch aber ich weiss nicht was oder wieso
    Spoiler anzeigen

    new fraktions = sInfo[playerid][fraktion]; // Fraktion auslesen
    SetPlayerPos(playerid,fspawn[fraktions][f_x],fspawn[fraktions][f_y],fspawn[fraktions][f_z]); //Position setzen
    SetPlayerFacingAngle(playerid,fspawn[fraktions][f_rota]); // Rotation setzen
    SetPlayerInterior(playerid,fspawn[fraktions][f_interior]);//Interior setzen
    SetPlayerVirtualWorld(playerid,fspawn[fraktions][f_vworld]);

    Spoiler anzeigen
    new frakspawn[][fspawn] = {
    {1022.8530,-3960.8057,2.7001,0,0},
    {}


    };

    Spoiler anzeigen
    enum fspawn
    {
    frak_name[128],
    Float:f_x,
    Float:f_y,
    Float:f_z,
    Float:f_rota,
    f_interior,
    f_vworld
    }