Beiträge von xDesertx

    Heyho Com,
    Undzwar ich Code zurzeit ein SA:MP UCP und kriege zwei Elemente nicht nebeneinander, überall sonst gehts.
    Hier ein Screenshot:


    Code:


    Und hier das andere noch was:


    Ist schon aktiv:
    [15:10:33] CMySQLHandler::Query(INSERT INTO `joinlog` (playername, ip) VALUES ('xDesertx', '127.0.0.1')) - Successfully executed.
    [15:10:33] >> mysql_query( Connection handle: 1 )
    [15:10:33] CMySQLHandler::Query(SELECT * FROM `bans` WHERE (`playername`='xDesertx' OR `ip`='127.0.0.1')) - Successfully executed.
    [15:10:33] >> mysql_store_result( Connection handle: 1 )
    [15:10:33] CMySQLHandler::StoreResult() - Result was stored.
    [15:10:33] >> mysql_num_rows( Connection handle: 1 )
    [15:10:33] CMySQLHandler::NumRows() - Returned 1 row(s)
    [15:10:33] >> mysql_retrieve_row( Connection handle: 1 )
    [15:10:33] >> mysql_fetch_field_row( Connection handle: 1 )


    //edit:
    Zur Information: auf Linux gehts :/

    public OnPlayerConnect(playerid) {
    ResetPlayerWeaponsEx(playerid);
    SetPlayerColor(playerid, COLOR_WHITE);
    GetPlayerName(playerid, Spieler[playerid][pName], MAX_PLAYER_NAME);
    new ip[16], query[128];
    GetPlayerIp(playerid, ip, 16);
    mysql_real_escape_string(ip, ip);
    mysql_real_escape_string(Spieler[playerid][pName], Spieler[playerid][pName]);
    format(query, 128, "INSERT INTO `joinlog` (playername, ip) VALUES ('%s', '%s')", Spieler[playerid][pName], ip);
    mysql_query(query);


    format(query, 128, "SELECT * FROM `bans` WHERE (`playername`='%s' OR `ip`='%s')", Spieler[playerid][pName], ip);
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows()!=0) {
    new pnames[MAX_PLAYER_NAME], string[1024], ip2[16], reason[60], admin[MAX_PLAYER_NAME], am[30], timebisentban, timebisentban2[60];
    while(mysql_retrieve_row())
    {
    mysql_fetch_field_row(pnames, "playername");
    mysql_fetch_field_row(admin, "von");
    mysql_fetch_field_row(am, "am");
    mysql_fetch_field_row(ip2, "ip");
    mysql_fetch_field_row(reason, "grund");
    mysql_fetch_field_row(timebisentban2, "time");
    timebisentban=strval(timebisentban2);
    if(timebisentban==0) {
    format(string, 1024, ""COLOR_HEX_RED"Sie wurden am %s Permanent ausgeschlossen!"COLOR_HEX_GREY1"\n\nBenutzername: "COLOR_HEX_GREEN"%s\n"COLOR_HEX_GREY1"deine damalige IP: "COLOR_HEX_GREEN"%s\n"COLOR_HEX_GREY1"Deine Jetzige IP:"COLOR_HEX_GREEN"%s\n"COLOR_HEX_GREY1"Ausfuehrender Admin: "COLOR_HEX_GREEN"%s\n"COLOR_HEX_GREY1" \
    Grund: "COLOR_HEX_GREEN"%s"COLOR_HEX_GREY1"\n\nBei einem Fehlban melde dich bitte im Forum.", am, pnames, ip2, ip, admin, reason);
    ShowPlayerDialog(playerid, DIALOG_ALLINONE, DIALOG_STYLE_MSGBOX, "Sie sind Gebannt!",string, "", "");
    } else {
    if(timebisentban > gettime()) {
    format(string, 1024, ""COLOR_HEX_RED"Sie sind noch für %d Minuten ausgeschlossen!"COLOR_HEX_GREY1"\n\nBenutzername: "COLOR_HEX_GREEN"%s\n"COLOR_HEX_GREY1"deine damalige IP: "COLOR_HEX_GREEN"%s\n"COLOR_HEX_GREY1"Deine Jetzige IP:"COLOR_HEX_GREEN"%s\n"COLOR_HEX_GREY1"Ausfuehrender Admin: "COLOR_HEX_GREEN"%s\n"COLOR_HEX_GREY1" \
    Grund: "COLOR_HEX_GREEN"%s"COLOR_HEX_GREY1"\n\nBei einem Fehlban melde dich bitte im Forum.", timebisentban/1000-gettime(), pnames, ip2, ip, admin, reason);
    ShowPlayerDialog(playerid, DIALOG_ALLINONE, DIALOG_STYLE_MSGBOX, "Sie sind Gebannt!",string, "", "");
    } else {
    format(string, 128, "DELETE FROM `bans` WHERE (`playername`='%s' OR `ip`='%s')", Spieler[playerid][pName], ip2);
    mysql_query(string);
    }
    }
    KickEx(playerid);
    }
    }
    mysql_free_result();
    return 1;
    }

    Heyho Breafish,
    ich habe ein kleines Problem, wenn ich diese MySQL funktion aufrufe, schließt sich der Server ohne vorwarnung:
    mysql_fetch_field_row
    Konsole:


    Mit Crashdetect plugin :)
    Meine Software:
    Windows 8.1 Pro (64x)


    Ich hoffe ihr könnt mir helfen.

    Verändere mal dein Code zu:
    ocmd:givewarn(playerid,params[]){
    new pID,string[128],reason[64];
    if(SpielerInfo[playerid][pAdminlevel] < 4) return SendClientMessage(playerid,Rot,"Möglich ab: "COLO" Adminrank 4");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,Rot,"Keiner ist Verbunden mit dieser ID!");
    if(sscanf(params,"us", pID, reason)) return SendClientMessage(playerid, Rot,""COLO"Verwendung :"COLR" /givewarn [ID] [Grund]");
    SpielerInfo[pID][pWarns] ++;
    SavePlayer(pID);
    format(string,sizeof(string),""COLO"[%s] %s"COLR" hat dir einen Warn gegeben! "COLO"Grund: "COLR "%s ",adminrang(playerid),GetName(playerid),reason);
    SendClientMessage(pID,Rot,string);
    format(string,sizeof(string),"Du hast "COLO" %s "COLR" einen Warn gegeben! "COLO"Grund: "COLR" %s",GetName(pID),reason);
    SendClientMessage(playerid,Rot,string);
    if(SpielerInfo[playerid][pWarns] >= 3){
    SendClientMessage(pID,Rot,"Du wurdest Gebannt! "COLO"Grund: "COLR"3Warns");
    print("1");
    format(string,sizeof(string),""COLO"[ServerNachricht] "COLR" %s wurde vom Server gebannt! "COLO"Grund: "COLR"3Warns",GetName(pID));
    print("2");
    SendClientMessageToAll(Rot,string);
    print("3");
    SpielerInfo[pID][pBan] = 1;
    print("4");
    SavePlayer(pID);
    print("5");
    printf("TestB: %d", SpielerInfo[pID][pBan]);
    return SetTimerEx("BanTimer",500,false,"i",pID);
    }
    return 1;
    }


    Deswegen^^


    Verändere deinen UpdatePlayerMoneyTextdraw zu:


    stock UpdatePlayerMoneyTextdraw(playerid)
    {
    new m = GetPlayerMoney(playerid), str[50];
    if(m == 0) format(str, sizeof str, "~r~00000000");
    else if(m < 10 && m > 0) format(str, sizeof str, "~g~Geld ~w~0000000%d", m);
    else if(m < 100 && m >= 10) format(str, sizeof str, "~g~Geld ~w~000000%d", m);
    else if(m < 1000 && m >= 100) format(str, sizeof str, "~g~Geld ~w~00000%d", m);
    else if(m < 10000 && m >= 1000) format(str, sizeof str, "~g~Geld ~w~0000%d", m);
    else if(m < 100000 && m >= 10000) format(str, sizeof str, "~g~Geld ~w~000%d", m);
    else if(m < 1000000 && m >= 10000) format(str, sizeof str, "~g~Geld ~w~00%d", m);
    else if(m < 10000000 && m >= 1000000) format(str, sizeof str, "~g~Geld ~w~0%d", m);
    else if(m < 100000000 && m >= 10000000) format(str, sizeof str, "~g~Geld ~w~%d", m);
    else format(str, sizeof(str), "~g~Euro~w~%d", m);
    printf("%s", str);
    TextDrawSetString(MoneyDraw[playerid], str);
    return 1;
    }
    Und schick dann was im Log steht.