Beiträge von Weihnachtsmann

    Hey,
    Wie kann ich eine Topliste mit Mysql scripten? Er soll einfach die besten 5 Spieler mit den meisten Kills herraus lesen.
    Da ich noch ein Noob in Mysql bin, frage ich euch.


    mfg

    Hey,
    Ich hätte eine Frage könnte man dies auch einfach mit paar for Schleifen erledigen? und wenn ja wie?
    Ich habe nähmlich keine Ahnung wie das mit For Schleifen geht.

    ocmd:l(playerid,params[])
    {
    if(Map[playerid] == 1)
    {
    dm[0][playerid] = 0;
    dm[1][playerid] = 0;
    one[0][playerid] = 0;
    Map[playerid] = 0;
    SpawnPlayer(playerid);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    ResetPlayerWeapons(playerid);
    SetPlayerHealth(playerid,100);
    }
    //Zähler


    {pwn]if(dm[0][playerid] ==1)
    {
    if(dmcount[0] >0)
    {
    dmcount[0] --;
    }
    }
    if(dm[1][playerid] ==1)
    {
    if(dmcount[1] >0)
    {
    dmcount[1] --;
    }
    }
    if(one[0][playerid] ==1)
    {
    if(onecount[0] >0)
    {
    onecount[0] --;
    }
    }
    return 1;
    }

    Hey,
    Ich habe eine Frage undzwar wenn ungefähr 9Spieler joinen oder so laggt manchmal der Server?, wie kann man Mysql verschnellern das es nicht so laggt.


    Ich habe das Maddin Mysql Tutorial angeschaut und etwas nach gemacht.

    stock LoadPlayer(playerid)
    {
    new str5[128];
    new timestamp = gettime();
    new bisgebannt = mysql_GetInt("accounts", "TBan", "Name", SpielerName(playerid));
    new bisgemuted = mysql_GetInt("accounts", "Mute", "Name", SpielerName(playerid));
    new bispremium = mysql_GetInt("accounts", "Premium", "Name", SpielerName(playerid));
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    GetPlayerName(playerid, SpielerInfo[playerid][pNamee], MAX_PLAYER_NAME);
    SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", SpielerInfo[playerid][pNamee]);
    SpielerInfo[playerid][pGeld] = mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][pNamee]);
    SpielerInfo[playerid][pCoins] = mysql_GetInt("accounts", "Coins", "Name", SpielerInfo[playerid][pNamee]);
    SpielerInfo[playerid][pKills] = mysql_GetInt("accounts", "Kills", "Name", SpielerInfo[playerid][pNamee]);
    SpielerInfo[playerid][pTode] = mysql_GetInt("accounts", "Tode", "Name", SpielerInfo[playerid][pNamee]);
    SpielerInfo[playerid][pBanned] = mysql_GetInt("accounts", "Banned", "Name", SpielerInfo[playerid][pNamee]);
    SpielerInfo[playerid][pWarn] = mysql_GetInt("accounts", "Verwarnung", "Name", SpielerInfo[playerid][pNamee]);
    SpielerInfo[playerid][pAdminlevel] = mysql_GetInt("accounts", "Adminlevel", "Name", SpielerInfo[playerid][pNamee]);
    GivePlayerMoney(playerid,SpielerInfo[playerid][pGeld]);
    SetPlayerScore(playerid,SpielerInfo[playerid][pLevel]);
    }
    if(SpielerInfo[playerid][pWarn] >4)
    {
    format(str5,128,"[SERVER] Dein Account %s wurde gebannt, Grund: 5/5 Verwarnungen",SpielerName(playerid));
    SendClientMessage(playerid,ROT,str5);
    Kick(playerid);
    }
    if(SpielerInfo[playerid][pBanned] == 1)
    {
    format(SpielerInfo[playerid][pBanngrund],128,"Dieser Account wurde gebannt! Grund: %s Admin: %s.", mysql_GetString("accounts", "Banngrund", "Name", SpielerInfo[playerid][pNamee]),mysql_GetString("accounts","Banner","Name",SpielerInfo[playerid][pNamee]));
    SendClientMessage(playerid,ROT,SpielerInfo[playerid][pBanngrund]);
    Kick(playerid);
    }
    if(timestamp < bisgebannt)
    {
    new differenz = bisgebannt - timestamp;
    new minuten = differenz / 60;
    new str[64];
    format(str,sizeof(str),"Dein Account ist noch für %i Minuten gebannt!",minuten);
    SendClientMessage(playerid,ROT,str);
    Kick(playerid);
    }
    if(timestamp < bispremium)
    {
    new differenz = bispremium - timestamp;
    new minuten = differenz / 60;
    new str[64];
    format(str,sizeof(str),"Dein Account hat noch für %i Tage Premium!",minuten);
    SendClientMessage(playerid,ROT,str);
    Kick(playerid);
    }
    if(timestamp < bisgemuted)
    {
    new differenz = bisgebannt - timestamp;
    new minuten = differenz / 60;
    new str[64];
    format(str,sizeof(str),"Dein Account ist noch für %i Minuten gemuted!",minuten);
    SendClientMessage(playerid,ROT,str);
    Kick(playerid);
    }
    return 1;
    }


    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    mysql_SetInt("accounts", "Level", SpielerInfo[playerid][pLevel], "Name", SpielerInfo[playerid][pNamee]);
    mysql_SetInt("accounts", "Geld", SpielerInfo[playerid][pGeld], "Name", SpielerInfo[playerid][pNamee]);
    mysql_SetInt("accounts", "Coins", SpielerInfo[playerid][pCoins], "Name", SpielerInfo[playerid][pNamee]);
    mysql_SetInt("accounts", "Banned", SpielerInfo[playerid][pBanned], "Name", SpielerInfo[playerid][pNamee]);
    mysql_SetInt("accounts", "Verwarnung", SpielerInfo[playerid][pWarn], "Name", SpielerInfo[playerid][pNamee]);
    mysql_SetInt("accounts", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pNamee]);
    mysql_SetInt("accounts", "Adminlevel", SpielerInfo[playerid][pAdminlevel], "Name", SpielerInfo[playerid][pNamee]);
    mysql_SetInt("accounts", "Tode", SpielerInfo[playerid][pTode], "Name", SpielerInfo[playerid][pNamee]);
    mysql_SetInt("accounts", "Mute", SpielerInfo[playerid][pMute], "Name", SpielerInfo[playerid][pNamee]);
    mysql_SetFloat("accounts", "Health", SpielerInfo[playerid][pHealth], "Name", SpielerInfo[playerid][pNamee]);
    }
    }
    return 1;
    }

    switch(dialogid)
    {
    case DIALOG_REGISTER:
    {
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Das angegebene Passwort war zu Kurz...\nBitte Registrier dich jetzt mit einem Passwort:","Register","Abbrechen");
    return 1;
    }
    else
    {
    CreateAccount(playerid, inputtext);
    SetPVarInt(playerid,"Eingeloggt",1);
    return 1;
    }
    }
    else
    {
    Kick(playerid);
    }
    }

    Ich habe ein Problem undzwar, wenn sich einer registriert zum erstenmal
    und dann z.b paar kills oder so macht, bekommt er kein Score
    dazugeschrieben oder ich kann dem auch kein Adminevel etc geben, aber
    wenn er einmal reloggt klappt alles wie gewohnt?
    An was könnte das liegen, ich habe das Tutorial von Maddin nach gemacht.


    Jop müsste klappen, du musst halt noch die if Abfragen mit deinen ersetzen und die Farbe natürlich :P

    Hey Leute,
    Ich habe ein Problem undzwar, wenn sich einer registriert zum erstenmal und dann z.b bei kills oder so macht, bekommt er kein Score dazugeschrieben oder ich kann dem auch kein Adminevel etc geben, aber wenn er einmal reloggt klappt alles wie gewohnt?
    An was könnte das liegen, ich habe das Tutorial von Maddin nach gemacht.


    mfg