Beiträge von Weihnachtsmann

    Hey
    Wenn ich meinen Bann Befehl ausführen möchte, crasht der Server.
    Davor ist er nicht gecrasht, da ich aber versucht eine Logfunktion einzubauen schon



    forward ADMINLOG(log[]);
    public ADMINLOG(log[])
    {
    new date[256];
    new h,m,s,y,mo,d;
    gettime(h,m,s);
    getdate(y,mo,d);
    format(date,sizeof date,"\r\n[%d.%d.%d|%d:%d:%d]%s",d,mo,y,h,m,s,log);
    new File:example = fopen("/logs/Banlog.ini",io_append);
    fwrite(example,date);
    fclose(example);
    }


    //ocmd Befehle Spieler


    ocmd:ban(playerid,params[])
    {
    new pID,Grund[64],string[264];
    if(!isPlayerAnAdmin(playerid,2)) return SendClientMessage(playerid,GRAU,"Du bist kein Admin!");
    if(sscanf(params,"us[64]",pID,Grund)) return SendClientMessage(playerid,GRAU,"Benutze: /ban [SpielerName/ID] [Grund]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,GRAU,"Spieler ist nicht online!");
    format(string,264,"AdmCmd: %s wurde von Admin %s gebannt, Grund: %s",PlayerName(pID),PlayerName(playerid),Grund);
    SendClientMessageToAll(ROT,string);
    format(string,264,"Admin: %s\nGrund: %s\nZeitpunkt: 00:00:00 - 12:00\n\n\nBitte Screen(F8) den Dialog ab um ein Entbann Antrag im Forum zu stellen!",PlayerName(playerid),Grund);
    ShowPlayerDialog(pID,DIALOG_BANN,DIALOG_STYLE_MSGBOX,"Dein Account wurde gebannt",string,"OK","OK");
    SpielerInfo[pID][pBann] = 1;
    Kick(pID);
    ADMINLOG(string);
    return 1;
    }

    3 Tage das glaubst du doch selbst nicht du machst schon an dem gamemode rum seit du mich in skype geaddet hast und das ist schon etwas länger her dort sind immer noch sogar paar kleine codeelemente enthalten von mir
    Beispiel
    mysql_fetch_row_format(text);
    sscanf(text,"p<|>is[64]s[20]",SpielerInfo[playerid][pBanned],SpielerInfo[playerid][pBanngrund],SpielerInfo[playerid][pBanner]);


    Naja was soll man groß dazu sagen für einen anfänger gehts es wäre schon wenn du mit dem puren querys und SQL Befehlen arbeiten würdest wie richtige Männer.
    Zu dem hättest du die spielervariabeln reseten können via for-schleife.


    Ich danke dir nocchmal das du mir geholfen hast, war echt nett von dir habe vieles von dir gelernt.
    E: Das ist ein neues Script nicht wo du mir geholfen hast :D habe das nur mit dem Bannen genommen.


    Gab es aber war ein wenig Buggy dann habe ich es lieber erstmal raus genommen.


    1o1 System habe ich selbst gemacht kein Copy Paste oder so ;)
    Danke.

    Jo hi Leute,
    Da ich seit knapp 4Monaten angefangen habe zu scripten, habe ich mich zuerst an ein DM Script gewagt und dies ist halt dabei rausgekommen.


    Dafür habe ich ungefähr 3Tage gebraucht.


    Features


    DM Arenen
    Adminsystem
    Login&Register System Mysql R5
    Teamdm
    Gungame(50% fertig)
    1o1 Räume
    Killstreaks
    Textdraws
    http://www.imagebanana.com/view/9k1kle48/samp315.png


    Würde mich auf ein Feedback freuen wie ihr es so findet!


    Credits bleiben bei mir!


    Download:

    hau mal in denn Stock Database To Connect, das mysql_debug(1); rein & Regi dich dann ausloggen & neu einloggen & zeig danach die Mysql Log.
    -Außerdem wird der Spieler beim registrieren gesavt?


    Das stand in der Mysql_Log




    Noch was



    Loadstock & savestock.


    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));
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
    SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pGeld] = mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pBanned] = mysql_GetInt("accounts", "Bann", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pKills] = mysql_GetInt("accounts", "Kills", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pWarn] = mysql_GetInt("accounts", "Warn", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pDeaths] = mysql_GetInt("accounts", "Deaths", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][Admin] = mysql_GetInt("accounts", "AdmLevel", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pMute] = mysql_GetInt("accounts", "Muted", "Name", SpielerInfo[playerid][pName]);
    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][pName]),mysql_GetString("accounts","Banner","Name",SpielerInfo[playerid][pName]));
    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 < 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(SpielerInfo[playerid][LoggedIn] == 1)
    {
    mysql_SetInt("accounts", "Level", SpielerInfo[playerid][pLevel], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Geld", SpielerInfo[playerid][pGeld], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Bann", SpielerInfo[playerid][pBanned], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Warn", SpielerInfo[playerid][pWarn], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Deaths", SpielerInfo[playerid][pDeaths], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "Health", SpielerInfo[playerid][pHealth], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "AdmLevel", SpielerInfo[playerid][Admin], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Muted", SpielerInfo[playerid][pMute], "Name", SpielerInfo[playerid][pName]);
    // pSkin & pTod
    SpielerInfo[playerid][ADuty] = 0;
    SpielerInfo[playerid][LoggedIn] = 0;
    }
    }
    return 1;
    }

    Hey
    Wenn ich mir einen neuen Account erstelle und damit connecte, habe ich ja alles neu etc.
    Dann wenn ich mich mit dem neuen Account auslogge und mit meinem Adminaccount einlogge (mit Geld etc) bekomme ich den Spielstand von meinem neuen Account?
    Wieso das.
    Benutze das Tutorial von Maddin (Mysql R5)


    Wenn Code erwünscht bitte melden!


    Bekomme es einfach nicht hin.

    Ich behaupte mal folgendes: Wenn man es mit R5/R6 nicht hin bekommt, dann bekommt man es mit R7 erst recht nicht zum laufen.


    Mein Problem bei R5 ist das die Accounts buggen, wenn ein neuer Connectet und dann sich ausloggt, der andere der sich nach dem auslogg einloggt bekommt seine Spieldaten, also Level etc.


    Bekomme die Kriese ;(

    Hey,
    Ich habe eine Frage, kennt ihr ein gutes Tutorial für Anfänger für das Mysql R7 Plugin von BlueG.


    Bei mir spinnt R5, deswegen wollte ich es mal mit R7 probieren


    mfg



    Schon so versucht?

    Wie rufst du es auf?
    Automatisch beim Spawn?
    Timer?
    Funktioniert es denn überhaupt?


    OnGameMode
    SetTimer("textdrawstats",1004,true);


    OnPlayerSpawn
    PlayerTextDrawShow(playerid,statsbox[playerid]);
    PlayerTextDrawShow(playerid,statsbox2[playerid]);
    PlayerTextDrawShow(playerid,statskills[playerid]);
    PlayerTextDrawShow(playerid,statsname[playerid]);
    PlayerTextDrawShow(playerid,statstode[playerid]);
    PlayerTextDrawShow(playerid,statskd[playerid]);
    PlayerTextDrawShow(playerid,statswarn[playerid]);
    PlayerTextDrawShow(playerid,statslevel[playerid]);
    PlayerTextDrawShow(playerid,stats[playerid]);


    Habe es jetzt so



    forward statstextdraw ();
    public statstextdraw ()
    {
    new str[64],i;
    for(; i < MAX_PLAYERS; i++)
    {
    format(str,64,"Name: %s",SpielerName(i));
    PlayerTextDrawSetString(i,statsname[i],str);
    format(str,64,"Level: %d",SpielerInfo[i][pLevel]);
    PlayerTextDrawSetString(i,statslevel[i],str);
    format(str,64,"Kills: %d",SpielerInfo[i][pKills]);
    PlayerTextDrawSetString(i,statskills[i],str);
    format(str,64,"Tode: %d",SpielerInfo[i][pDeaths]);
    PlayerTextDrawSetString(i,statstode[i],str);
    format(str,64,"K/D: %d",SpielerInfo[i][pKills]/SpielerInfo[i][pDeaths]);
    PlayerTextDrawSetString(i,statskd[i],str);
    format(str,64,"Verwarnungen: %d/5",SpielerInfo[i][pWarn]);
    PlayerTextDrawSetString(i,statswarn[i],str);
    }
    return 1;
    }