Beiträge von The Sensei

    Würde es so funktionieren?
    Man soll es ja an oder Ausschalten können?


    ICy.


    ocmd:togregister(playerid)
    {
    if(!isPlayerAnAdmin(playerid,6))return SendClientMessage(playerid,ROT,"Du hast kein Admin Level 6.");
    new string[128];
    if(togregister == false)
    {
    format(string,sizeof(string),"Die Registrierung wurde von %s ausgeschaltet. Man kann sich im moment nicht Registrieren.",Name(playerid));
    SendClientMessageToAll(ROT,string);
    }
    else
    {
    format(string,sizeof(string),"Die Registrierung wurde von %s freigegeben. Man kann sich nun wieder Registrieren.",Name(playerid));
    SendClientMessageToAll(GRÜN,string);
    }
    return 1;
    }

    Guten Tag,


    ich habe 2 fragen.
    Vorab habe ich mir ein System gescriptet welches mir erlaubt die Registrierung abzuschalten.
    Ich habe KEINE fehler etc.
    Er führt es Ingame auch aus aber wenn ich Connecte passiert nichts.
    public OnPlayerRequestClass(playerid, classid)
    {
    if(GetPVarInt(playerid,"togregister")==1)
    {
    ShowPlayerDialog(playerid,DIALOG_GESPERRT,DIALOG_STYLE_MSGBOX,"Registrierung","Die Registrier Funktion ist derzeitig ausgeschaltet.\nSollten sie einen Account haben so melden sie sich mit diesem an.","","");
    SetTimerEx("Gebannt",1450,false,"i",playerid);
    }
    if(GetPVarInt(playerid,"Baned")==1)
    {
    ShowPlayerDialog(playerid,DIALOG_GESPERRT,DIALOG_STYLE_MSGBOX,"Account Gesperrt","Dieser Account wurde Gesperrt mit diesem kann nicht mehr gespielt werden.\nSollte dies nicht dein Account sein nimm einen Anderen Namen","","");
    SetTimerEx("Gebannt",1450,false,"i",playerid);
    }
    new pfad[64];GetPlayerName(playerid,pname[playerid],MAX_PLAYER_NAME);
    format(pfad,64,"/Accounts/%s.txt",Name(playerid));
    if(dini_Exists(pfad))ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Anmeldung","Willkommen auf Liberty Deathmatch Network,\n\nDein Account wurde gefunden. Gib bitte das Passwort ein.\n{FF0000}WICHITG: Gib dein Passwort an niemanden weiter auch nicht an Admins oder Supporter.","Login","Abbrechen");
    else ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registration","Willkommen auf Liberty Deathmatch Network,\n\nGib bitte das gewünschte Passwort ein","Register","Abbrechen");
    if(GetPVarInt(playerid,"loggedin"))ShowPlayerDialog(playerid,DIALOG_NATIONEN,DIALOG_STYLE_LIST,"Nationen","\nVereinigte Staaten\nEuropa\nRussland\nIndien\nFrankreich\nKorea\nChinesen","Auswählen","Abbrechen");
    TogglePlayerControllable(playerid,0);
    TogglePlayerSpectating(playerid,1);
    return 1;
    }


    &


    public OnPlayerConnect(playerid)
    {
    if(GetPVarInt(playerid,"togregister")==1)
    {
    ShowPlayerDialog(playerid,DIALOG_GESPERRT,DIALOG_STYLE_MSGBOX,"Registrierung","Die Registrier Funktion ist derzeitig ausgeschaltet.\nSollten sie einen Account haben so melden sie sich mit diesem an.","","");
    SetTimerEx("Gebannt",1450,false,"i",playerid);
    }
    if(GetPVarInt(playerid,"Baned")==1)
    {
    ShowPlayerDialog(playerid,DIALOG_GESPERRT,DIALOG_STYLE_MSGBOX,"Account Gesperrt","Dieser Account wurde Gesperrt mit diesem kann nicht mehr gespielt werden.\nSollte dies nicht dein Account sein nimm einen Anderen Namen","","");
    SetTimerEx("Gebannt",1450,false,"i",playerid);
    }
    return 1;
    }


    Es kommt einfach der Register Bildschirm.


    Befehl:
    ocmd:togregister(playerid)
    {
    if(!isPlayerAnAdmin(playerid,6))return SendClientMessage(playerid,ROT,"Du hast kein Admin Level 6.");
    new string[128];
    if(GetPVarInt(playerid,"togregister")==0)
    {
    SetPVarInt(playerid,"togregister",1);
    format(string,sizeof(string),"Die Registrierung wurde von %s ausgeschaltet. Man kann sich im moment nicht Registrieren.",Name(playerid));
    SendClientMessageToAll(ROT,string);
    }
    else
    {
    SetPVarInt(playerid,"togregister",0);
    format(string,sizeof(string),"Die Registrierung wurde von %s freigegeben. Man kann sich nun wieder Registrieren.",Name(playerid));
    SendClientMessageToAll(GRÜN,string);
    }
    return 1;
    }

    Guten Tag,


    ich frage mich gibt es Server hoster die vertraulich sind aber die Server Sponsoren?
    Ich war zufrieden mit Nafu-Sponsoring und Sponsoring Solution aber die sind beide "Down".
    Kennt ihr "FREE" hoster.

    ICy.
    Hab schon ein System mir erstelt.
    An alle
    ocmd:ipban(playerid,params[])
    {
    if(isPlayerAnAdmin(playerid,4))
    {
    new pID;
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,-1,"Tippe : /ipban [IP]");
    {
    new ip[16],str[32],string[88];
    GetPlayerIp(playerid, ip, 16);
    format(str, 32, "banip %s", ip);
    SendRconCommand(str);
    format(string,88, "Die IP %s wurde erfolgreich gesperrt",ip);
    SendClientMessage(playerid,GRÜN,string);
    }
    return 1;
    }
    SendClientMessage(playerid,BLAU,"Du hast kein Admin Level 4.");
    return 1;
    }


    ocmd:ipunban(playerid,params[])
    {
    if(isPlayerAnAdmin(playerid,5))
    {
    new pID;
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,-1,"Tippe : /ipunban [IP]");
    {
    new ip[16],str[32],string[88];
    GetPlayerIp(playerid, ip, 16);
    format(str, 32, "unbanip %s", ip);
    SendRconCommand(str);
    format(string,88, "Die IP %s wurde erfolgreich entgesperrt",ip);
    SendClientMessage(playerid,GRÜN,string);
    }
    return 1;
    }
    SendClientMessage(playerid,BLAU,"Du hast kein Admin Level 5.");
    return 1;
    }

    Wie erstelle ich daraus :
    ein IP Un/bansystem?


    BanIP(ip[])
    {
    new str[32];
    format(str, 32, "banip %s", ip);
    SendRconCommand(str);
    return true;
    }


    UnBanIP(ip[])
    {
    new str[32];
    format(str, 32, "unbanip %s", ip);
    SendRconCommand(str);
    return true;
    }


    ocmd:banip(playerid,params[])
    {
    new ip[16];
    GetPlayerIp(playerid, ip, 16);
    BanIP(ip);
    return 1;
    }


    ocmd:unbanip
    {
    new ip[16];
    GetPlayerIp(playerid, ip, 16);
    UnBanIP(ip);
    return 1;
    }


    bzw. was ist falsch?

    Jeffry


    Habe einen Code zusammen gebaut dieser Funktioniert auch,


    aber er zeigt mir immer nur 3x den Gleichen Account ich will das er mir verschiedene Accounts zeigt.
    bzw. er zeigt mir immer nur meinen Account an.
    ocmd:multiaccount(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,-1,"Du hast kein Admin Level 2");
    {
    new pID,string[128],name[20];
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,-1,"Tippe : /multiaccount [IP]");
    {
    new playersip[16];
    GetPlayerIp(pID,playersip,sizeof(playersip));
    GetPlayerName(playerid,name[playerid],MAX_PLAYER_NAME);
    format(string,sizeof(string),"Auf der IP laufen diese Accounts:");
    format(string,sizeof(string),"/Accounts/%s.txt",name);
    if(strcmp(string, "IP", false) == 0)
    {
    SendClientMessage(playerid,ROT,"Name: %s",name);
    }
    SendClientMessage(playerid,-1,string);
    SendClientMessage(playerid,-1,string);
    SendClientMessage(playerid,-1,string);
    return 1;
    }
    }
    }

    Mit dini gar nicht (zumindest nicht wirklich effektiv).
    Da musst du auf MySQL zurückgreifen, nur damit kannst du das wirklich effektiv machen.


    SQL
    SELECT * FROM accounts WHERE IP = '127.0.0.1';


    Das würde dir alle Zeilen mit der selben IP in der Tabelle accounts ausgeben.


    Um MySQL verstehen zu lernen empfehle ich dir w3schools: http://www.w3schools.com/sql/default.asp


    Denkst du das würde so gehen:


    ocmd:multiaccount(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,-1,"Du hast kein Admin Level 2");
    {
    new pID,string[128],name[20];
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,-1,"Tippe : /multiaccount [IP]");
    {
    new playersip[16];
    GetPlayerIp(pID,playersip,sizeof(playersip));
    GetPlayerName(playerid,name[playerid],MAX_PLAYER_NAME);
    format(string,sizeof(string),"Auf der IP laufen diese Accounts:");
    format(string,sizeof(string),"/Accounts/%s.txt",name);
    if(dini_Isset(string, "IP"))
    {
    SendClientMessage(playerid,ROT,"%s",name);
    }
    SendClientMessage(playerid,-1,string);
    return 1;
    }
    }
    }


    In der Datei zeigt er das an


    if(dialogid==DIALOG_REGISTER)
    {
    if(response==0)
    {
    SendClientMessage(playerid,BLAU,"Du hast den Vorgang abgebrochen.");
    Kick(playerid);
    return 1;
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,BLAU,"Das Passwort war nicht lang genug.");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registration","Willkommen auf Liberty Deathmatch Network,\n\nGib bitte das gewünschte Passwort ein","Register","Abbrechen");
    return 1;
    }
    else
    {
    Register(playerid,inputtext);
    return 1;
    }
    }
    }


    stock Register(playerid,key[])
    {
    new name[MAX_PLAYER_NAME], pfad[64];
    GetPlayerName(playerid,name,sizeof(name));
    dini_Create(pfad);
    dini_Set(pfad,"Passwort",key);
    dini_IntSet(pfad,"Respektpunkte",0);
    dini_IntSet(pfad,"IP",0);
    dini_IntSet(pfad,"Adminlevel",0);
    dini_IntSet(pfad,"Level",0);
    dini_IntSet(pfad,"Geld",0);
    dini_IntSet(pfad,"Baned",0);
    dini_IntSet(pfad,"Donator",0);
    dini_IntSet(pfad,"Tode",0);
    dini_IntSet(pfad,"Kills",0);
    dini_IntSet(pfad,"Banned1",0);
    dini_IntSet(pfad,"Mute",0);
    dini_IntSet(pfad,"Kick1",0);
    dini_IntSet(pfad,"Team",0);
    dini_IntSet(pfad,"Klassen",0);
    SendClientMessage(playerid,GRÜN,"Erfolgreich registriert.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Anmeldung","Willkommen auf Liberty Deathmatch Network,\n\nDein Account wurde gefunden. Gib bitte das Passwort ein.\n{FF0000}WICHITG: Gib dein Passwort an niemanden weiter auch nicht an Admins oder Supporter.","Login","Abbrechen");
    SetPlayerScore(playerid,0);
    SetPVarInt(playerid,"loggedin",1);
    pFirstLog[playerid] = true;
    return 1;
    }


    Danke das du mir hilfst