Beiträge von Iceberqk

    Also der Bangrund wird jetzt gespeichert. Danke schonmal. Jetzt habe ich das Problem, dass zwar alle anderen Daten geladen werden, aber nicht gespeichert werden bei Veränderung inGame. Und der Skin wird auch nicht geladen...


    savePlayer(playerid){if(sInfo[playerid][eingeloggt] ==0)return 1;new query[128];format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',skin='%i',alevel='%i',fraktion='%i',rang='%i',banned='%i',bangrund='%s' WHERE id='%i'",sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][skin],sInfo[playerid][alevel],sInfo[playerid][fraktion],sInfo[playerid][rang],sInfo[playerid][banned],sInfo[playerid][bangrund],GetPlayerWantedLevel(playerid),sInfo[playerid][id]);mysql_function_query(dbhandle,query,false,"","");return 1;}


    //Enums
    enum playerInfo{eingeloggt,level,id,skin,alevel,fraktion,rang,banned,bangrund[128],}

    Habe das Problem, dass dem Compiler die Line zu lang ist.



    Code
    savePlayer(playerid)
    {
    	if(sInfo[playerid][eingeloggt] ==0)return 1;
    	new query[128];
    	format(query,sizeof(query),"UPDATE user SET level='%i',money='%i',alevel='%i',fraktion='%i',rang='%i',banned='%i',bangrund='%s',wanteds='%i',knast='%i',knastzeit='%i',skin='%i',bank='%i' WHERE id='%i'",sInfo[playerid][level],GetPlayerMoney(playerid),sInfo[playerid][alevel],sInfo[playerid][fraktion],sInfo[playerid][rang],sInfo[playerid][banned],sInfo[playerid][bangrund],GetPlayerWantedLevel(playerid),sInfo[playerid][knast],sInfo[playerid][knastzeit],GetPlayerSkin(playerid),sInfo[playerid][bank],sInfo[playerid][id]);
    	mysql_function_query(dbhandle,query,false,"","");
    	return 1;
    }

    Selbst im Quellcode sieht es schrecklich aus. Der Error lautet: error 075: input line too long (after substitutions)
    Was genau muss ich hier machen, um die Line zu trennen damit der Compiler nicht meckert?

    Wie kann ich eine if Abfrage bei OnDialogResponse einbauen ohne dass es zu Fehlern kommt?


    Beispiel: case 0: if(isAdmin(playerid,5)) return SendClientMessage...
    GivePlayerWeapon(playerid,WEAPON_MP5);



    Habe etwas nach diesem Schema, beim Übersetzen bekomme ich aber einen Batzen an Fehlern..

    Call me a stupid noob:


    mysql_escape_string(grund, sInfo[playerid][bangrund]);
    format(query,sizeof(query),"UPDATE user SET bangrund='%s' WHERE id='%i'",grund,sInfo[playerid][id]);
    mysql_function_query(dbhandle,query,false,"","");


    mysql log : [22:02:24] [ERROR] mysql_escape_string - destination size is too small (must be at least as big as source)


    es geht immer noch nicht..

    Funktion sieht so aus:


    mysql_escape_string(grund, sInfo[playerid][bangrund]);
    format(query,sizeof(query),"UPDATE user SET bangrund='%s'",grund);
    mysql_function_query(dbhandle,query,false,"","");


    mysql Logdatei : [21:44:10] [ERROR] mysql_escape_string - destination size is too small (must be at least as big as source)


    Jetzt wird gar kein Grund gespeichert... Sry wenn ich euch langsam nerve aber bin echt noch ein Amateur wenns ums Programmieren geht..

    Es funktioniert semi. Also das Speichern in der Datenbank klappt. Aber das Problem ist dabei, dass der Grund automatisch in einer neuen Zeile gespeichert wird, das ist ja nicht Sinn der Sache...
    Geldcheat einfach als Test
    danke schon mal für deine bisherige Hilfe, könntest du mir bitte sagen wie ich das behebe?

    Ich möchte den Grund des Banns in der Datenbank speichern. Dazu habe in MySQL eine Spalte namens bangrund hinzugefügt(natürlich vom Typ varchar). Ich habe dann bangrund auch in mein playerInfo Enum und in meine Funktion saveplayer eingefügt. Ist also eine normale Zeichenkette, welche ich versuche in der Datenbank zu speichern. Leider hat dein Vorschlag das Problem nicht gelöst, trotzdem danke.

    Moin Leute!


    Ich habe mal heute an einem Ban-System gearbeitet.



    Ich bekomme folgenden Error:
    \script.pwn(318) : error 035: argument type mismatch (argument 2)



    die fehlerhafte Zeile: mysql_escape_string(grund,bangrund,dbhandle);


    Kann mir bitte jemand behilflich sein? Komme da echt nicht weiter... :thumbdown:


    Danke schonmal, hat gefunzt.


    Jetzt möchte ich aber, dass da nich steht:
    [OFFLINEBANNED] Spieler/Tester.txt wurde von xy offline gabannt.........
    sondern,
    dass da nur der Name steht ohne das Verzeichnis, wie mache ich das?


    Screen: