Beiträge von Sigi.

    Hallo Fische.


    Ich habe ma eine frage, unzwar gehts um mein Warn system, wenn ich z.B. /warn und ID 8 eingebe
    bekommt der spieler der die ID 0 hat den Warn,...ich weis nicht mehr weiter..
    Also egal auf welche ID ich den Warn vergeben will, immer bekommt der Spieler den Warn der die id 0 hat



    CODE:



    ocmd:warn(playerid,params[])
    {
    new pID, reason[30], string[150], aName[MAX_PLAYER_NAME], oName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,aName, sizeof(aName));
    if(SpielerInfo[playerid][pAdmin] < 2)return SendClientMessage(playerid,COLOR_GREY,"Du darfst dieses Befehl nicht benutzen.");
    if(sscanf(params,"us",pID, reason))return SendClientMessage(playerid,COLOR_GREY,"FEHLER: /warn [playerid] [Grund]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,COLOR_GREY,"Spieler nicht gefunden.");
    GetPlayerName(pID,oName, sizeof(oName));
    SpielerInfo[pID][pWarns] ++;
    format(string, sizeof string,"AdmCmd: %s wurde von %s verwarnt. Grund: %s",oName, aName, reason);
    SendClientMessageToAll(COLOR_LIGHTRED,string);
    if(SpielerInfo[pID][pWarns] >= 3)
    {
    format(string, sizeof string,"AdmCmd: %s wurde vom Anti-System gebannt. Grund: 3/3 Verwarnungen",oName);
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    SpielerInfo[pID][pBan] = 1;
    SpielerInfo[pID][pKicks] ++;
    SavePlayer(pID);
    Kick(pID);
    return 1;
    }
    SavePlayer(pID);
    return 1;
    }

    Okay, nun ist alles gefixxt, nur da ist noch ein problem,...z.B wenn ich die id 0 habe und "/warn 7863 cbug eingebe dann gibt der an id 0 den Warn...
    wie kann ich das so machen, wenn die id nicht onliene ist, das dort auch angezeigt wird "Dieser Spieler ist nicht onliene"


    Danke im Vorraus

    Das geht immer noch nicht, und wenn ich dieses befehl benutze steht da "Unknown Command" aber ich habe dort ein return stehen?....



    bei mir siehts jetz so aus.
    ocmd:warn(playerid,params[])
    {
    new pID, reason, string[150], aName[MAX_PLAYER_NAME], oName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,aName, sizeof(aName));
    GetPlayerName(pID,oName, sizeof(oName));
    if(SpielerInfo[playerid][pAdmin] < 2)return SendClientMessage(playerid,COLOR_GREY,"Du darfst dieses Befehl nicht benutzen.");
    if(sscanf(params,"us",pID, reason))return SendClientMessage(playerid,COLOR_GREY,"FEHLER: /warn [playerid] [Grund]");
    SpielerInfo[pID][pWarns] ++;
    format(string, sizeof string,"AdmCmd: %s wurde von %s verwarnt, Grund: %s",oName, aName, reason);
    SendClientMessageToAll(COLOR_LIGHTRED,string);
    if(SpielerInfo[pID][pWarns] > 2)
    {
    format(string, sizeof string,"AdmCmd: %s wurde vom Anti-System gebannt, Grund: 3/3 Verwarnungen",oName);
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    SpielerInfo[pID][pBan] = 1;
    Kick(pID);
    }
    SavePlayer(pID);
    return 1;
    }

    Hallo ihr Fische..


    Ich habe gerade ein Warn befehl gemacht, aber wenn der Spieler 3/3 WARNS hat dann wird der nicht gebannd?...weis einer wo das problem sein kann?...


    ocmd:warn(playerid,params[])
    {
    new pID, reason, string[150], aName[MAX_PLAYER_NAME], oName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,aName, sizeof(aName));
    GetPlayerName(pID,oName, sizeof(oName));
    if(SpielerInfo[playerid][pAdmin] < 2)return SendClientMessage(playerid,COLOR_GREY,"Du darfst dieses Befehl nicht benutzen.");
    if(sscanf(params,"us",pID, reason))return SendClientMessage(playerid,COLOR_GREY,"FEHLER: /warn [playerid] [Grund]");
    SpielerInfo[playerid][pWarns] ++;
    format(string, sizeof string,"AdmCmd: %s wurde von %s verwarnt, Grund: %s",oName, aName, reason);
    SendClientMessageToAll(COLOR_LIGHTRED,string);
    if(SpielerInfo[pID][pWarns] > 2)
    {
    format(string, sizeof string,"AdmCmd: %s wurde vom Anti-System gebannt, Grund: 3/3 Verwarnungen",oName);
    SendClientMessageToAll(COLOR_LIGHTRED, string);
    SpielerInfo[pID][pBan] = 1;
    Kick(pID);
    }
    SavePlayer(pID);
    return 1;
    }

    Hallöchten ihr Fische.


    Ich habe eine Frage, wie kann ich das so machen das ich sehen wann der Spieler sich zuletzt eingeloggt hat, also um welche uhrzeit und am welchen Tag
    es sollte durch ein Befehl ausgeführt werden.


    Wer könnte mir Helfen?
    Danke im vorraus

    Hallo Community


    Wie kann ich das machen damit man gekickt wird, nach 3 mal falsch passwort eingabe.


    Ich habs jetz so:


    new Name[MAX_PLAYER_NAME];
    new string[125];
    GetPlayerName(playerid, Name, sizeof(Name));
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE,"Das angegebene Passwort war nicht Richtig.");
    format(string, sizeof string,"{FFFFFF}Willkommen auf German SelfMade Reallife\n\n{DB881A}Benutzername: {FFFFFF}%s\n\nBitte gib dein passwort ein.",Name);
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{37DB45}Login",string,"Login","Abbrechen");
    return 1;
    }
    else
    {
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, SpielerName, MAX_PLAYER_NAME);
    if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName), true))
    {
    SetPVarInt(playerid,"Eingeloggt",1);
    LoadPlayer(playerid);
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    format(string, sizeof string,"Willkommen: %s",SpielerName);
    SendClientMessage(playerid,COLOR_WHITE,string);
    if(SpielerInfo[playerid][pAdmin] > 1)
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du hast dich als Admin eingeloggt.");
    }
    SpawnPlayer(playerid);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE,"SERVER: Du hast das Passwort Falsch eingegeben 1/3.");
    format(string, sizeof string,"{FFFFFF}Willkommen auf German SelfMade Reallife\n\n{DB881A}Benutzername: {FFFFFF}%s\n\nBitte gib dein passwort ein.",Name);
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{37DB45}Login",string,"Login","Abbrechen");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE,"SERVER: Du hast das Passwort Falsch eingegeben 2/3.");
    format(string, sizeof string,"{FFFFFF}Willkommen auf German SelfMade Reallife\n\n{DB881A}Benutzername: {FFFFFF}%s\n\nBitte gib dein passwort ein.",Name);
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{37DB45}Login",string,"Login","Abbrechen");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    format(string, sizeof string,"AdmCmd: %s wurde vom Anti-System gekickt, Grund: Passwort Falsch eingegebe.",SpielerName);
    SendClientMessage(playerid,COLOR_LIGHTRED,string);
    Kick(playerid);
    return 1;
    }

    }
    }
    else
    {
    SendClientMessage(playerid,0xB4B4B4FF,"Du musst dich einloggen um hier Spielen zu können.");
    Kick(playerid);
    }

    ich hatte bei


    forward LOGINREGISTER(playerid, classid)


    da noch ein classid stehen, habs aber hier im Forum nur mit playerid eingefügt..


    und bei


    publich LOGINREGISTER(playerid,classid)


    hatte ich das selbe stehen.
    ich habe bei den beiden einfach classid entfernt

    Hei das sieht jetz so aus bei mir...



    public OnPlayerConnect(playerid)
    {
    SetTimerEx("LOGINREGISTER",5000,false,"i",playerid);
    return 1;
    }



    forward LOGINREGISTER(playerid);
    public LOGINREGISTER(playerid)
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 0) //Als erstes fragen wir ab ob der Spieler schon eingeloggt ist oder nicht, damit wir nicht bei jeder Skin auswahl uns neu Einloggen müssen.
    {
    if(mysql_CheckAccount(playerid) == 0)//Wür überprüfen ob der Account Existiert, falls nicht Zeigen wir den Dialog zum Registrieren.
    {
    new Name[MAX_PLAYER_NAME],string[125];
    GetPlayerName(playerid,Name, sizeof(Name));
    SendClientMessage(playerid, COLOR_WHITE,"{FF0000}Dein Account wurde nicht gefunden, bitte Registriere dich!");
    format(string, sizeof string,"{FFFFFF}Willkommen auf SelfMade Reallife\n\n{DB881A}Benutzername: {FFFFFF}%s\n\nBitte gib dein gewünschtes passwort ein.",Name);
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registrieren",string,"Registrieren","Abbrechen");
    }
    else if(mysql_CheckAccount(playerid) == 1)//Falls doch zeigen wir den Dialog zum Einloggen.
    {
    new Name[MAX_PLAYER_NAME],string[125];
    GetPlayerName(playerid,Name, sizeof(Name));
    SendClientMessage(playerid, COLOR_WHITE,"{37DB45}Die Serververbindung wurde erfolgreich aufgebaut.");
    format(string, sizeof string,"{FFFFFF}Willkommen auf SelfMade Reallife\n\n{DB881A}Benutzername: {FFFFFF}%s\n\nBitte gib dein passwort ein.",Name);
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login",string,"Login","Abbrechen");
    }
    }
    }



    Aber nach den 5 Sekunden crasht mein Server...und da kommt kein Dialog raus





    //EDIT: FEHLER GEFUNDEN ... KANN GECLOSED WERDEN.

    Hallo Brotfische.


    Ich habe da mal eine Frage, wie kann ich mein Login Dialog erst nach 5 Sekunden anzeigen lassen?
    Also ich meine, wenn sich der Spieler auf den Server connectet ist, und dann der Dialog erst nach 5 Sekunden erscheint.
    Mit einem Timer gehts nicht weil der immer wieder aktiviert wird, also man loggt sich ein nach 5sec wird der Timer wieder aktiviert,
    gibts da eine andere möglichkeit?

    Hallo Brotfische


    Ich habe ein Kick befehl gescriptet,..aber ich bekomme keine Nachricht wenn ich irgendjemand getötet habe. So siehts aus


    ocmd:kick(playerid,params[])
    {
    if(SpielerInfo[playerid][pAdmin] < 2)return SendClientMessage(playerid,COLOR_GREY,"Du darfst dieses Befehl nicht benutzen.");
    new pID,Name[MAX_PLAYER_NAME],kName[MAX_PLAYER_NAME],reason[100],string[150];
    GetPlayerName(playerid,Name, sizeof(Name));
    GetPlayerName(pID,kName, sizeof(kName));
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,COLOR_GREY,"FEHLER: /kick [playerid] [Grund]");
    format(string, sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund %s.",kName, Name,reason);
    SendClientMessageToAll(COLOR_RED,string);
    SendClientMessage(pID,COLOR_GREY,"Du wurdest vom Server gekickt.");
    SpielerInfo[pID][pKicks] ++;
    SavePlayer(pID);
    Kick(pID);
    return 1;
    }

    stock SavePlayer(playerid)
    {
    SpielerInfo[playerid][pGeld] = GetPlayerMoney(playerid);
    SpielerInfo[playerid][pLevel] = GetPlayerScore(playerid);
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 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", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Tode", SpielerInfo[playerid][pTode], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "Health", SpielerInfo[playerid][pHealth], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Admin", SpielerInfo[playerid][pAdmin], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Ban", SpielerInfo[playerid][pBan], "Name",SpielerInfo[playerid][pBan]);
    mysql_SetInt("accounts", "Bans", SpielerInfo[playerid][pBans], "Name", SpielerInfo[playerid][pBans]);
    }
    }
    return 1;
    }