Beiträge von Key

    Hallo,
    ich wollte fragen, ob mir jemand ein /makeleader Befehl für mein Selfmade schreiben kann.


    Ich hab folgendes schon:

    static gTeam[MAX_PLAYERS];
    static gLeader[MAX_PLAYERS];
    #define TEAM_POLIZEI
    enum SInfo
    {
    Fraktion,
    Adminlevel,
    Leader
    }


    new Spielerinfo[MAX_PLAYERS][SInfo];
    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    Spielerinfo[playerid][Adminlevel]=dini_Int(Spielerdatei, "Adminlevel");
    Spielerinfo[playerid][Fraktion]=dini_Int(Spielerdatei,"Fraktion");
    Spielerinfo[playerid][Leader]=dini_Int(Spielerdatei,"Leader");
    return 1;
    }


    stock SpielerSpeichern(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",Spielerinfo[playerid][Adminlevel]);
    dini_IntSet(Spielerdatei,"Fraktion",Spielerinfo[playerid][Fraktion]);
    dini_IntSet(Spielerdatei,"Leader",Spielerinfo[playerid][Leader]);
    return 1;
    }


    stock ResetVariablen(playerid)
    {
    Spielerinfo[playerid][Adminlevel]=0;
    Spielerinfo[playerid][Fraktion]=0;
    Spielerinfo[playerid][Leader]=0;
    return 1;
    }


    LG


    //edit: Ich würde es gerne so haben, dass die Fraktion auch gespeichert wird.

    Hallo,
    ich habe folgenden Error:

    Code
    error 035: argument type mismatch (argument 2)





    Die Zeilen:
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_REG)
    {
    if(response==0)
    {
    Kick(playerid);
    SendClientMessage(playerid,COLOR_WHITE,"Du musst dich registrieren!");
    return 1;
    }
    if(response==1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid,COLOR_WHITE,"Bitte gebe dein Passwort ein!");
    ShowPlayerDialog(playerid, DIALOG_REG,DIALOG_STYLE_INPUT,"Registration","Gebe bitte hier dein Passwort ein!","Registrieren","Abbrechen");
    return 1;
    }
    else
    {
    Register(playerid,inputtext); // <---- Da ist der Error
    return 1;
    }
    }
    }
    return 1;
    }


    Ich hoffe mir kann jemand helfen :)
    LG

    Hallo,
    da ich im Moment an einem Mini Games Server scripte, und nach jedem Game ein GMX ist ( damit das nächste Game automatisch los geht ) und es nervt, dass man sich jedes mal wieder einloggen muss, wollte ich euch mal fragen, wie ich es machen kann, dass man sich nach GMX nicht nochmal einloggen muss.


    Das Reg-\Loginsystem:


    #include <Dini>


    #define DIALOG_LOGIN 1
    #define DIALOG_REG 2


    enum pInfo
    {
    Kill,
    Deaths,
    eingeloggt
    }


    new Spieler[MAX_PLAYERS][pInfo];
    public OnPlayerConnect(playerid)
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.ini",pname);
    if(fexist(accFormat))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Dein Name wurde gefunden!\nBitte logge dich nun ein!","Login","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Hallo Fremder!\nBitte registriere dich.","Registrieren","Abbrechen");
    }
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.ini",pname);
    if(response)
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Dein Name wurde gefunden!\nBitte logge dich nun ein!","Abbrechen","Weiter");
    return SendClientMessage(playerid,0xFFFFFFFF,"Es wurde kein Passwort angegeben!");
    }
    if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
    {
    GivePlayerMoney(playerid,dini_Int(accFormat,"Geld"));
    Spieler[playerid][Kill] = dini_Int(accFormat,"Kill");
    Spieler[playerid][Deaths] = dini_Int(accFormat,"Deaths");
    SetPlayerScore(playerid,dini_Int(accFormat,"Score"));
    Spieler[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,0xFFFFFFFF,"Du hast dich erfolgreich eingeloggt!");
    SendClientMessage(playerid, blue, "Wenn du Hilfe benötigst, tippe /hilfe.");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Dein Name wurde gefunden!\nBitte logge dich nun ein!","Login","Abbrechen");
    SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war falsch!");
    }
    }
    case DIALOG_REG:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Hallo Fremder!\nBitte Registriere dich.","Abbrechen","Weiter");
    return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
    }
    dini_Create(accFormat);
    dini_Set(accFormat,"Passwort",inputtext);
    Spieler[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,0xFFFFFFFF,"Dein Account wurde angelegt und du wurdest eingeloggt.");
    SendClientMessage(playerid,blue,"Wenn du Hilfe benötigst, tippe /hilfe.");
    GivePlayerMoney(playerid, 1000);
    }
    }
    }
    else
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Dein Name wurde gefunden!\nBitte logge dich nun ein!","Abbrechen","Weiter");
    case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Hallo Fremder!\nBitte Registriere dich.","Abbrechen","Weiter");
    }
    }
    return 1;
    }

    Nein, ich wollte ja mich an einem Selfmade versuchen, jedoch bekomme ich es nicht hin, dass die Fraktionen gespeichert werden, und hier im Forum konnte mir auch keiner helfen.

    Hallo,
    ich suche einen Gamemode, der schon ein Register-\Loginsystem hat, 1 oder 2 Fraktionen, die aber auch gespeichert werden, also dass ich, auch wenn ich off und dann wieder on gehe immer noch in der Fraktion bin. Ein /makeleader, und /invite Befehl währe auch nicht schlecht.


    LG

    Hallo,
    ich wollte mal fragen, ob mir jemand dazu:
    if(strcmp(cmd, "/login", true)==0)
    {
    new tmp[MAX_STRING];

    if(loggedin[playerid])
    { return SendClientMessage(playerid, COLOR_RED, "Du bist bereits eingeloggt."); }

    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    { return SendClientMessage(playerid, COLOR_WHITE, "Benutze: /login [Passwort]"); }


    if(udb_CheckLogin(PlayerName(playerid), tmp))
    {
    beruf[playerid] = dUserINT(PlayerName(playerid)).("Job");
    berufsebene[playerid] = dUserINT(PlayerName(playerid)).("Rang");


    if(dUserINT(PlayerName(playerid)).("Nitroschein") == 1)
    { nitroschein[playerid] = true; }
    else
    { nitroschein[playerid] = false; }


    for(new i=0; i<4; i++)
    {
    format(tmpstring,sizeof(tmpstring), "fschein%d", i);
    if(dUserINT(PlayerName(playerid)).(tmpstring) == 1)
    { fschein[playerid][i] = true; }
    }


    wschein[playerid] = dUserINT(PlayerName(playerid)).("Waffenschein");
    totzeit[playerid] = dUserINT(PlayerName(playerid)).("totzeit");
    klingelton[playerid] = dUserINT(PlayerName(playerid)).("klingelton");


    format(string,sizeof(string),"Du hast dich erfolgreich eingeloggt. Viel Spaß!");
    SendClientMessage(playerid, COLOR_GREEN, string);
    printf("%s hat sich erfolgreich eingeloggt.", PlayerName(playerid));


    format(string, sizeof(string), "%s betritt den Server!", PlayerName(playerid));
    SendClientMessageToAll(COLOR_PINK, string);


    loggedin[playerid] = true;


    if(dUserINT(PlayerName(playerid)).("Auszahlung")==-1)
    {
    new pid = playerid;
    new pname[256];
    new leasingbetrag, bankkonto;


    pname = PlayerName(playerid);


    for(new s; s<200; s++)
    {
    new hatleasing;
    new ratenzahlung;
    new string1[256];


    format(string, sizeof(string),"leasing%d",s);
    ratenzahlung = strval(dUser(pname).(string)) - 1;


    if(ratenzahlung > 0)
    {
    format(string, sizeof(string), "%d", ratenzahlung);
    format(string1, sizeof(string1), "leasing%d", s);
    dUserSet(pname).(string1,string);
    format(string, sizeof(string), "leasingbetrag%d", s);


    hatleasing = strval(dUser(pname).(string));
    if(hatleasing > 0 && ratenzahlung > 0)
    { leasingbetrag += hatleasing; }

    if(ratenzahlung == 1)
    {
    format(string1, sizeof(string1), "leasingbetrag%d", s);
    format(string, sizeof(string), "%d", 0);
    dUserSet(pname).(string1,string);
    format(string, sizeof(string), "%d", 0);
    format(string1, sizeof(string1), "leasing%d", s);
    dUserSet(pname).(string1,string);
    }
    }
    }
    print("Bis hierhin gehts!");
    GiveFirmaMoneyEx(dUserINT(pname).("Job"), -(dUserINT(pname).("grundgehalt")));
    print("Auch bis hierher?");


    SendClientMessage(pid, COLOR_LIGHTBLUE,"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
    format(tmpstring, sizeof(tmpstring), "Bankkonto: %d $", dUserINT(pname).("konto"));
    SendClientMessage(pid, COLOR_YELLOW, tmpstring);
    format(tmpstring, sizeof(tmpstring), "+ Grundgehalt: %d $", dUserINT(pname).("grundgehalt"));
    SendClientMessage(pid, COLOR_GREEN, tmpstring);
    format(tmpstring, sizeof(tmpstring), "+ Zuschuss vom Staat: %d $", dUserINT(pname).("unterstuetzung"));
    SendClientMessage(pid, COLOR_GREEN, tmpstring);
    format(tmpstring, sizeof(tmpstring), "+ Eigenverdienst: %d $", dUserINT(pname).("Auszahlungsmenge"));
    SendClientMessage(pid, COLOR_GREEN, tmpstring);
    format(tmpstring, sizeof(tmpstring), "- Ratenzahlungen: %d $", leasingbetrag);
    SendClientMessage(pid, COLOR_RED, tmpstring);

    print("und bis hier?");

    bankkonto = strval(dUser(pname).("konto"));
    bankkonto += dUserINT(pname).("grundgehalt") + dUserINT(pname).("unterstuetzung") + dUserINT(pname).("Auszahlungsmenge") - leasingbetrag;

    print("un hier?");

    format(string, sizeof(string),"%d", bankkonto);
    dUserSet(pname).("konto", string);
    format(tmpstring, sizeof(tmpstring), "= Neuer Kontostand: %d $", dUserINT(pname).("konto"));
    SendClientMessage(pid, COLOR_YELLOW, tmpstring);
    SendClientMessage(pid, COLOR_LIGHTBLUE, "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");


    dUserSetINT(PlayerName(playerid)).("Auszahlung",0);


    }


    GameTextForPlayer(playerid, "~g~Profil erfolgreich geladen", 5000, 5);
    }
    else
    {
    GameTextForPlayer(playerid,"~r~Profil konnte nich geladen werden",5000,5);
    format(string,sizeof(string),"Fehler! Das angegebene Passwort ist falsch! Bitte erneut versuchen!");
    SendClientMessage(playerid, COLOR_RED, string);
    format(string,sizeof(string),"%s hat ein falsches Passwort (%s) eingegeben.",PlayerName(playerid),tmp);
    printf(string);
    }
    return 1;
    }



    Ein /register Befehl schreiben kann, denn zur Zeit können nur Administratoren per /adminreg einen User registrieren.


    //edit: Der /adminreg Befehl:
    if (strcmp(cmd, "/adminreg", true)==0)
    {
    new pname[256];
    new tmp[256];
    new pw[256];


    if(IsPlayerAdmin(playerid))
    {


    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /adminreg [Name] [passwort]");
    return 1;
    }
    pname = tmp;


    tmp = strtok(cmdtext, idx);


    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /adminreg [Name] [passwort]");
    return 1;
    }
    pw = tmp;



    if (!udb_Exists(pname))
    {
    udb_Create(pname,pw);
    format(string,sizeof(string),"%s wurde erstellt. Passwort: %s",pname,pw);
    SendClientMessage(playerid, COLOR_GREEN, string);
    format(string,sizeof(string),"%d",0);
    dUserSet(pname).("virtualworld",string);
    format(string,sizeof(string),"%d",startgeld);
    dUserSet(pname).("geld",string);


    printf(string);


    if (!udb_Exists("Member"))
    {
    udb_Create("Member",pw);
    }
    udb_Create(pname,pw);
    new ma = dUserINT("Member").("Memberanzahl");
    format(tmpstring,sizeof(tmpstring),"Member%d",ma);
    dUserSet("Member").(tmpstring,pname);
    dUserSetINT("Member").("Memberanzahl",ma + 1);
    dUserSetINT(pname).("geld",15000);
    format(string,sizeof(string),"t");

    dUserSetINT(pname).("haus", -1);
    MovePlayerIntoHouse(pname, 0);
    printf("%s hat einen Account namems %s angelegt",PlayerName(playerid),pname);


    }
    else
    {
    format(string,sizeof(string),"%s wurde nicht erstellt. Grund: Existiert bereits!",pname);
    SendClientMessage(playerid, COLOR_RED, string);
    print(string);
    }
    return 1;


    }

    }