Beiträge von robbi2304

    Jetzt wird schonmal der Name Richtig in der MySQL Log angezeigt.


    MySQL Log wirft folgendes aus:


    [11:32:37] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'banner = 'Rominadesto' WHERE id = '2'' at line 1


    Ein VARCHAR von 40 länge bringt leider keinen unterschied. Die MySQL Log wirft weiterhin folgenden Fehler aus


    :18] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'banner = 'R' WHERE id = '2'' at line 1


    Der Benutzername ist nicht R bzw der Banner soll nicht R ausgeben

    Du hast oben um Befehl new pID; aber hast in PlayerInfo p_id gibt es da keine Error´s oder Fehler? Und was kommt denn als Text?
    Mach das so:
    GetPlayerName(playerid,pName,sizeof(pName));PlayerInfo[p_id][pBanner]=pName;

    Ich musste es etwas anders schreiben.


    Allerdings funktioniert das dann auch nicht.




    GetPlayerName(playerid,PlayerInfo[playerid][pName],MAX_PLAYER_NAME);
    PlayerInfo[p_id][pBanner]=pName;

    Noch ein Fehler den ich nun habe.


    ocmd:ban(playerid,params[])
    {
    if(!isAdmin(playerid,3))return SendClientMessage(playerid,COLOR_RED,"Dieser Befehl konnte nicht gefunden werden. Verwende /hilfe");
    new pID, reason[128], string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"[ERROR] Eingeben: /ban [ID] [Grund]");
    format(string,sizeof(string),"AdmCmd: %s wurde von %s gebannt. Grund: %s",PlayerInfo[pID],PlayerInfo[playerid],reason);
    PlayerInfo[p_id][pBanreason]=reason;
    PlayerInfo[p_id][pBanned]=1;
    PlayerInfo[p_id][pBanner]=PlayerInfo[playerid][pName];
    SendClientMessageToAll(COLOR_RED,string);
    GetPlayerName(pID,string,sizeof(string));
    SaveUserStats(pID);
    return 1;
    }



    Dies will nicht Richtig gespeichert werden bzw wirft in der MySQL Log errors aus


    PlayerInfo[p_id][pBanner]=PlayerInfo[playerid][pName];


    MySQL.Log


    [11:03:34] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'banner = 'R' WHERE id = '2'' at line 1



    Angeblich würde etwas nicht mit der Datenbank stimmen aber das bezweifel ich weil diese auf Text eingestellt ist mit 40 Zeichen

    Hallo,


    ich bekomme in meinem Spieler abrufen einen Error angezeigt.


    Es handelt sich um folgende Funktion die abgerufen werden soll


    PlayerInfo[playerid][pBanner] = cache_get_field_content_float(0, "banner",handle);
    In der Tabelle befindet sich ein Text mit dem Benutzernamen.


    forward OnUserLogin(playerid);
    public OnUserLogin(playerid)
    {
    //Query wurde ausgeführt und das Ergebnis im Cache gespeichert
    if(cache_get_row_count() == 0)
    {
    //Der Spieler hat ein falsches Passwort eingegeben
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Anmeldung", "Bitte logge Dich ein:\n{FF0000}Falsches Passwort!", "Ok", "Abbrechen");
    }
    else
    {
    //Es existiert ein Ergebnis, das heißt der Spieler hat das richtige Passwort eingegeben
    //Wir lesen nun die erste Zeile des Caches aus (ID 0)
    SpawnPlayer(playerid);
    PlayerInfo[playerid][p_id] = cache_get_field_content_int(0, "id", handle);
    PlayerInfo[playerid][pLevel] = cache_get_field_content_int(0, "level", handle);
    PlayerInfo[playerid][pRespektpunkte] = cache_get_field_content_int(0, "pRP", handle);
    PlayerInfo[playerid][admin_level] = cache_get_field_content_int(0, "admin_level", handle);
    PlayerInfo[playerid][pMoney] = cache_get_field_content_int(0, "money", handle);
    PlayerInfo[playerid][pKonto] = cache_get_field_content_int(0, "Konto", handle);
    PlayerInfo[playerid][pKills] = cache_get_field_content_int(0, "kills", handle);
    PlayerInfo[playerid][pDeaths] = cache_get_field_content_int(0, "deaths", handle);
    PlayerInfo[playerid][pPaytime] = cache_get_field_content_int(0, "paytime", handle);
    PlayerInfo[playerid][pJobMoney] = cache_get_field_content_int(0, "JobMoney", handle);
    PlayerInfo[playerid][pRPg] = cache_get_field_content_int(0, "gesamtrp", handle);
    PlayerInfo[playerid][pJob] = cache_get_field_content_int(0, "Job", handle);
    PlayerInfo[playerid][spawnchange] = cache_get_field_content_int(0, "spawnchange", handle);
    PlayerInfo[playerid][pLeader] = cache_get_field_content_int(0, "Leader", handle);
    PlayerInfo[playerid][pLRang] = cache_get_field_content_int(0, "pLRang", handle);
    PlayerInfo[playerid][pJobk] = cache_get_field_content_int(0, "Jobk", handle);
    PlayerInfo[playerid][TBanned] = cache_get_field_content_int(0, "tban", handle);
    PlayerInfo[playerid][pMember] = cache_get_field_content_int(0, "Member", handle);
    PlayerInfo[playerid][pWanted] = cache_get_field_content_int(0, "Wanted", handle);
    PlayerInfo[playerid][pBanned] = cache_get_field_content_int(0, "ban", handle);
    PlayerInfo[playerid][pBanner] = cache_get_field_content_float(0, "banner",handle);
    GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
    CancelSelectTextDraw(playerid);
    loadPlayerCars(playerid);
    TextDrawShowForPlayer(playerid,Textdraw0);
    PlayerWantedBarCreate(playerid);
    PlayerInfo[playerid][pLoggedIn] = true;


    return 1;
    }
    return 1;
    }

    Hallo,


    ich habe einen Tow Befehl der leider nicht so funktioniert wie ich will.



    ocmd:tow(playerid,params[])
    {
    new veh = GetPlayerVehicleID(playerid);



    if(GetVehicleModel(veh) == 525) return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Abschlepper.");
    {
    if(IsTrailerAttachedToVehicle(veh))
    {
    //Fahrzeug abhängen
    SendClientMessage(playerid,COLOR_RED,"Fahrzeug abgehängt!");
    DetachTrailerFromVehicle(veh);
    }
    else
    {
    //Fahrzeug anhängen
    new carID = INVALID_VEHICLE_ID;
    new Float:abstand = 8;
    new Float:xc, Float:yc, Float:zc;
    GetVehiclePos(veh, xc, yc, zc);
    for(new v=0; v<MAX_VEHICLES; v++)
    {
    if(!IsVehicleStreamedIn(v,playerid))continue;
    if(v == veh)continue;
    if(GetVehicleDistanceFromPoint(v, xc, yc, zc) < abstand)
    {
    abstand = GetVehicleDistanceFromPoint(v, xc, yc, zc);
    carID = v;
    }
    }
    if(carID != INVALID_VEHICLE_ID)
    {
    AttachTrailerToVehicle(carID, veh);
    SendClientMessage(playerid,COLOR_RED,"Fahrzeug angehängt!");
    return 1;
    }
    }
    }
    return 1;
    }


    Der Befehl sagt immer wieder das ich nicht im Abschleppwagen bin obwohl ich es bin.


    Danke für eure mit hilfe


    @Jeffry

    Hallo liebe Brotfische,


    vor einiger Zeit habe ich auf meinen Laptop Windows 10 installiert gehabt was ein riesen Fehler war. Nach der Installation funktionierte meine ganze Tastatur nicht mehr bzw die Tastatur hat komische Zeichen geschrieben. Es hat nichts mit der Spracheinstellung zutun. Also habe ich das ganze Betriebssystem wieder gelöscht und versucht Windows 7 drauf zu ziehen. Leider ohne Erfolg mir wir eine CMD Anzeige bei der Installation angezeigt bei der die Tastatur auch nicht funktioniert. Auch eine USB Tastatur anzuschließen blieb erfolglos. Somit ist ein Defekt der Tastatur ausgeschlossen.


    Was könnte es noch sein ? Habt Ihr damit vielleicht schon Erfahrungen gemacht ? Das einzigste was ich machen kann ist, Debian auf dem Laptop installieren. Da funktioniert die Tastatur mal & mal eben nicht. Also sehr komisch das ganze.


    Ich hoffe einer von euch hat einen Rat denn sowas habe ich noch nie gehabt auch wenn ich mich mit EDV gesteuerten Geräten sehr Gut auskenne


    Liebe Grüße und vielen dank fürs lesen & mitwirken

    Ich würde mal sagen das samp4you dann ein 64 Bit System nutzt aber die Libs für das 32 Bit System nicht bereitstellen. Das ist schon schade. Also entweder musst du das mit dem static hinkriegen oder es geht meines wissens nicht

    Bin ich jetzt völlig blind, oder lässt du nirgens die Funktion GetPlayerPosition die Coords auslesen?Das wäre dann evtl schonmal ein grund warum das Car nicht gespawn wird.

    Wozu GetPlayerPos auslesen ?

    [*]SendClientMessage(playerid,COLOR_RED,"Herzlichen Glückwunsch zum neuen Auto");[*]RemovePlayerFromVehicle(playerid);


    Wieso RemovePlayerFromVehicle, wenn der Spieler sich ein Fahrzeug kauft?

    Weil der Wert dann an createPlayerCar übergeben wird.


    createPlayerCar(playerid,modelid,Float:x,Float:y,Float:z,Float:r)
    {
    for(new i=0; i<sizeof(cInfo); i++)
    {
    if(cInfo[i][id_x]!=0)continue;
    cInfo[i][besitzer]=PlayerInfo[playerid][p_id];
    cInfo[i][c_x]=x;
    cInfo[i][c_y]=y;
    cInfo[i][c_z]=z;
    cInfo[i][c_r]=r;
    cInfo[i][model]=modelid;
    cInfo[i][id_x] = CreateVehicle(modelid,x,y,z,r,-1,-1,-1);
    new string[128];
    format(string,sizeof(string),"Das Auto cInfo[%i] wurde erstellt.",i);
    SendClientMessageToAll(COLOR_RED,string);
    saveCarToDB(playerid,i);
    return 1;
    }
    return 1;
    }


    und dann an eine andere Position gespawnt wird.

    Das Bild ist so klein, das man gar nichts darauf erkennen kann.

    Das Bild habe ich mit einer Größe von 1280x1024 hochgeladen da bezweifel ich das es von mir zuklein angelegt wurde. Vorallem weil ich es 1a erkennen kann. Aber damit auch du es dir mit anschauen kannst, habe ich die Log mal in pwn edi eingefügt


    Sobald ich das Fahrzeug kaufe


    [12:06:07] [debug] Run time error 4: "Array index out of bounds"
    [12:06:07] [debug] Accessing element at index 111 past array upper bound 1
    [12:06:07] [debug] AMX backtrace:
    [12:06:07] [debug] #0 0000c0c4 in public OnDialogResponse () from neu.amx

    Bei meinem Autohaus werden die Autos nicht mehr erstellt.
    Ich habe einen SCreen angehängt der den Dialog vom Autokaufen anzeigt und eben von der Konsole.


    Ich hoffe mir kann da wer weiter helfen da ich dort überfragt bin.


    if(dialogid==DIALOG_AUTOHAUS)
    {
    if(response)
    {
    //Autoverkauf
    new id=GetPVarInt(playerid,"buyCarID");
    if(GetPlayerMoney(playerid)<ahCars[id][c_preis])
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast nicht genügend Geld.");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    GivePlayerMoney(playerid,-ahCars[id][c_preis]);
    createPlayerCar(playerid,ahCars[id][model],ahInfo[ahCars[id][ah_id]][s_x],ahInfo[ahCars[id][ah_id]][s_y],ahInfo[ahCars[id][ah_id]][s_z],ahInfo[ahCars[id][ah_id]][s_r]);
    print("1");
    SendClientMessage(playerid,COLOR_RED,"Herzlichen Glückwunsch zum neuen Auto");
    RemovePlayerFromVehicle(playerid);
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_RED,"Dann eben nicht...");
    }
    return 1;
    }
    return 1;
    }