Beiträge von Xaiunay

    huhu ich habe soeben mein accsystem "versucht" auf mysql umzuschreiben, funzen tuts nun aber nicht, wegen folgendem fehler:

    Zitat

    [21:56:58] [MySQL] Error (0): Function: mysql_fetch_field could not find field name: "admin".


    (war jetzt ein beispiel er errort das bei jedem feld)


    meine struktur in der db:

    Code
    ALTER TABLE playerdata ADD admin INT(2);


    und ausschnitt uas meinem OnPlayerLogin

    new query[200], pname[24], escapepass[100]; //
    GetPlayerName(playerid, pname, 24);
    mysql_real_escape_string(string, escapepass);
    format(query, sizeof(query), "SELECT `user` FROM playerdata WHERE user = '%s' AND password = '%s'", pname, escapepass);
    mysql_query(query);
    mysql_store_result();
    new numrows = mysql_num_rows();
    if(numrows == 1)
    {
    new savingstring[20];
    GetPlayerName(playerid, pname, 24);
    mysql_fetch_field("admin",savingstring ); PlayerInfo[playerid][pAdmin] = strval( savingstring );
    ....
    ....
    ....


    SpawnPlayer(playerid);
    SendClientMessage(playerid,0xFFFFFF,"test");
    SetCameraBehindPlayer(playerid);
    mysql_free_result();
    das ist jetzt ein ausschnitt aus meinem OnPlayerLogin, wenn ich mich einlogge, kommt meine debugnachricht "test" und ich werde automatisch gekickt(Server closed connection), dann habe ich serverlog geguckt, dann stehen die errors dort, die ich bereits erwähnt habe.


    und in der datenbank sind die columns vorhanden habe ich bereits nachgeschaut. falls ihr noch andere informationen braucht melden :)



    EDIT: Problem gefunden!
    format(query, sizeof(query), "SELECT `user` FROM playerdata WHERE user = '%s' AND password = '%s'", pname, escapepass);


    ---->


    format(query, sizeof(query), "SELECT * FROM playerdata WHERE user = '%s' AND password = '%s'", pname, escapepass);


    dcmd(cheater,7,cmdtext);


    dcmd_cheater(playerid,params[])
    {
    new pID, reason[78];
    if(sscanf(params,"us",pID,reason)) return SendClientMessage(playerid,0xFFFFFF,"SYNTAX: /cheater [playerid] [Grund]");
    else if(PlayerInfo[playerid][pAdmin] <= 0) return SendClientMessage(playerid,0xFFFFFF,"Du bist kein Admin!");
    else if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,0xFFFFFF,"Spieler nicht erreichbar");
    else if(PlayerInfo[pID][pLevel] != 1) return SendClientMessage(playerid,0xFFFFFF, "Der Spieler ist über Level 1!");
    else {
    new string[65], pname[MAX_PLAYER_NAME];
    GetPlayerName(pID,pname);
    format(string,sizeof string, "Du hast %s soeben mit dem Grund %s gebannt!", pname, reason);
    SendClientMessage(playerid,0x00FFFF,string);
    format(string,sizeof string, "Du wurdest wegen %s gebannt!", reason);
    SendClientMessage(pID,0x00FFFF, string);
    BanEx(pID,reason);
    }
    }
    fix freehand gemacht dcmd, und sscanf wird benötigt


    €: // fehler im code

    hi brotfische
    ich war soeben dabei, das accsystem auf mysql umzuschreiben dieses mysql plugin benutze ich: http://forum.sa-mp.com/showthread.php?t=56564 (auch wenns irrelevant ist irgendwer wird eh fragen ..)


    und dann meinte mein compiler:

    Code
    (1000) : error 075: input line too long (after substitutions)
    (1001) : error 037: invalid string (possibly non-terminated string)
    (1001) : error 017: undefined symbol "ALTER"
    (1001) : error 017: undefined symbol "TABLE"
    (1001) : fatal error 107: too many error messages on one line


    und auf diesen zeilen ist folgendes:
    //Removed da MySQL struktur :P


    und das was mich wundert ist, warum er mir undefined symbol gibt, obwohls im string ist? weiß jemand wie man das umgehen kann? D:





    €: Fehler gefunden, es waren mehrere zeilen zu lang, deshalb errorte er :D

    Das ist eine Frechheit.


    Er hat es 10x verkauft und veröffentlicht es nun....
    Richtig richtig Unfair ist das.!!!


    da deadwalker hier noch nicht gepostet hat, und er mir in skype auch noch nicht darauf geantwortet hat, würde ich sagen hat er das script gekauft und veröffentlicht, was illegal ist(also der threadersteller).

    hi.
    habe soeben 0.3d RC2 auf meinem server und meinem PC installiert, nur wenn ich den server starte läuft alles normal, nur wenn ich z.B. goto benutze will er IMMER ID 0 nehmen auch wenn ich id 4 oder ähnliches genommen habe mein goto code:


    dcmd_goto(playerid,params[])
    {
    new id;
    if (sscanf(params, "u",id)) SendClientMessage(playerid, COLOR_GREY, "Info: /goto [SpielerID]");
    else if (id == INVALID_PLAYER_ID) SendClientMessage(playerid, COLOR_GREY, "*:: Du kannst dich nicht zu diesen Spieler teleportieren. ::*");
    else
    {
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
    new pname[MAX_PLAYER_NAME], aname[MAX_PLAYER_NAME], string[256];
    new Float:aX, Float:aY, Float:aZ;
    new intr = GetPlayerInterior(id);
    GetPlayerName(id, aname, sizeof(aname));
    GetPlayerName(playerid, pname, sizeof(pname));
    GetPlayerPos(id, aX, aY, aZ);
    if (GetPlayerState(playerid) == 2)
    {
    new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, aX, aY, aZ);
    SetPlayerInterior(playerid, GetPlayerInterior(intr));
    PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
    LinkVehicleToInterior(tmpcar, GetPlayerInterior(intr));
    PutPlayerInVehicle(playerid, tmpcar, 0);
    }
    else
    {
    SetPlayerInterior(playerid, intr);
    PlayerInfo[playerid][pInt] = GetPlayerInterior(playerid);
    SetPlayerPos(playerid, aX, aY, aZ);
    }
    format(string, sizeof(string), "{008000}[AdminCmd] Du hast dich zum Spieler %s teleportiert.",aname);
    SendClientMessage(playerid, COLOR_GREEN, string);
    ServerLog(string);
    format(string, sizeof(string), "{008000}[AdminCmd] Admin {0080FF}%s {008000}hat sich zu dir teleportiert.",pname);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(id, COLOR_GREEN, string);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, KeinAdmin);
    }
    }
    return 1;
    }
    zuerst hat er mir immer :"*:: Du kannst dich nicht zu diesen Spieler teleportieren. ::*" ausgegeben, danach habe ich sscanf2 und meine anderen includes und plugins geupdated, es funzt aber nicht, dadurch returnt er mit nun immer mit sscanf2 playerid 0 warum? jemand eine idee wie ich es fixen könnte? (ich habe das plugin + include von sscanf geupdated auf neuste version, aber alle anderen dcmd befehle funzen, nur die mit sscanf nicht)

    dcmd_admins(playerid,params[])
    {
    #pragma unused params
    new string[82];
    new pname[MAX_PLAYER_NAME];
    SendClientMessage(playerid,0xFFFFFFFF,"Verfügbare Admins:");
    for(new i;i<MAX_PLAYERS; i++)
    {
    if(isPlayerAnAdmin(i,1))
    {
    new admrank = GetPVarInt(i,"Adminlevel");
    GetPlayerName(i, pname, sizeof pname);
    format(string,sizeof string,"%s Admin Level: %d",pname,admrank);
    SendClientMessage(playerid,0x0022FFFF,string);
    }
    }
    }

    ist freehand müsste so funzen.


    //e klammerfehler
    //e2 fehler -.- bei der isplayeradmin abfrage playerid -> i