Beiträge von LaT3St

    ich hab mich mal an ein randomcode versucht was jz aber nich läuft


    for(new i=0;i<15;i++)
    {
    new rand = random(sizeof(SecurityCodeRandom));
    new string2[1];
    format(string2,sizeof string2,"%s",SecurityCodeRandom[rand][0]);
    format(string,sizeof string,"%s%s",string,string2);
    }
    SendClientMessage(playerid,COLOR_WHITERED,"Schreibe dir diesen Code sofort auf! Du brauchst ihn um im Notfall das Passwort zurückzusetzen!");
    format(Spieler[playerid][SecurityCode], 32, "s", string);
    SendClientMessage(playerid,COLOR_WHITERED,string);
    Pawno gibt keine errs aber der Code wird nicht erstellt.
    was ist falsch?
    http://forum.sa-mp.de/wbb/san-…hand-nehmen-m%C3%B6glich/

    wenn nun bei der zweiten abfrage b_time auf 0 gesetzt wird und danach die ist b_time unter 60 abfrage läuft setzt die abfrage also doch b_time wieder auf eins
    //edit: Dini hat aber bei mir trotz 4GB Ram nicht gespeichert aufgrund von zuvielen daten (waren auch nur 30zeilen)

    Also das hilft beim Problem warscheinlich nix aber nutz mal bloß nich Dini, das speichert sehr langsam, so geht das voll in die Hose


    //edit: Die zweite if abfragen nutzt garnix, was heißt das Dini doch jede minute speichert und das überlasstet den Server

    dcmd_nehmen(playerid,params[])
    {
    new name[512];
    new zname[512];
    new string[512];
    new string1[512];
    new ziel;
    new aktion[50];
    GetPlayerName(playerid, name, sizeof(name));
    GetPlayerName(ziel, zname, sizeof(zname));
    new save[128];
    format(save,sizeof(save),"/Acc/%s.ini",zname);


    if(gTeam[playerid] == 1 || gTeam[playerid] == 2 || gTeam[playerid] == 5)
    {
    if(sscanf(params, "s[512]u", aktion,ziel))
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Benutzung: /nehmen [Aktion] [ID]");
    SendClientMessage(playerid,COLOR_YELLOW,"Aktionen: Führerschein, Motorradschein, Bootsschein, Flugschein, Waffen");
    return 1;
    }
    if(IsPlayerConnected(ziel))
    {
    new Float:px, Float:py, Float:pz;
    GetPlayerPos(ziel, px, py, pz);
    if(!strcmp(aktion,"Führerschein",true))
    {
    if(IsPlayerInRangeOfPoint(playerid,5, px, py, pz))
    {
    Scheine[ziel][Auto]=0;
    format(string1, sizeof(string1), "Du hast %s´s Führerschein abgenommen!", zname);
    SendClientMessage(playerid, COLOR_WHITE, string1);
    format(string, sizeof(string), "%s hat Führerschein abgenommen!", name);
    SendClientMessage(ziel, COLOR_WHITE, string);
    dini_IntSet(save, "AutoSchein", Scheine[ziel][Auto]);
    return 1;
    }
    }
    if(!strcmp(aktion,"Motorradschein",true))
    {
    if(IsPlayerInRangeOfPoint(playerid,5, px, py, pz))
    {
    Scheine[ziel][Motorrad]=0;
    format(string1, sizeof(string1), "Du hast %s´s Motorradschein abgenommen!", zname);
    SendClientMessage(playerid, COLOR_WHITE, string1);
    format(string, sizeof(string), "%s hat Motorradschein abgenommen!", name);
    SendClientMessage(ziel, COLOR_WHITE, string);
    dini_IntSet(save, "MRadSchein", Scheine[ziel][Motorrad]);
    return 1;
    }
    }
    if(!strcmp(aktion,"Bootsschein",true))
    {
    if(IsPlayerInRangeOfPoint(playerid,5, px, py, pz))
    {
    Scheine[ziel][Boot]=0;
    format(string1, sizeof(string1), "Du hast %s´s Bootsschein abgenommen!", zname);
    SendClientMessage(playerid, COLOR_WHITE, string1);
    format(string, sizeof(string), "%s hat Bootsschein abgenommen!", name);
    SendClientMessage(ziel, COLOR_WHITE, string);
    dini_IntSet(save, "BootSchein", Scheine[ziel][Boot]);
    return 1;
    }
    }
    if(!strcmp(aktion,"Flugschein",true))
    {
    if(IsPlayerInRangeOfPoint(playerid,5, px, py, pz))
    {
    Scheine[ziel][Flugzeug]=0;
    format(string1, sizeof(string1), "Du hast %s´s Flugschein abgenommen!", zname);
    SendClientMessage(playerid, COLOR_WHITE, string1);
    format(string, sizeof(string), "%s hat Flugschein abgenommen!", name);
    SendClientMessage(ziel, COLOR_WHITE, string);
    dini_IntSet(save, "FlugSchein", Scheine[ziel][Flugzeug]);
    return 1;
    }
    }
    if(!strcmp(aktion,"Waffen",true))
    {
    if(IsPlayerInRangeOfPoint(playerid,5, px, py, pz))
    {
    ResetPlayerWeapons(ziel);
    format(string1, sizeof(string1), "Du hast %s entwaffnet!", zname);
    SendClientMessage(playerid, COLOR_WHITE, string1);
    format(string, sizeof(string), "%s hat dich entwaffnet!", name);
    SendClientMessage(ziel, COLOR_WHITE, string);
    dini_IntSet(save, "AutoSchein", Scheine[ziel][Auto]);
    return 1;
    }
    }
    }
    else{ return SendClientMessage(playerid, COLOR_WHITE, "Diese ID ist nicht online!");}
    }
    else{ return SendClientMessage(playerid, COLOR_WHITE, "Du kannst das nicht!");}
    return 1;
    }


    Returns falsch gesetzt, immer da returnen wo etwas zurückgegeben werden muss (bsp: SetPlayerPos(...);) und nich zwischen den Abfragen! ;)

    //edit: oben isses falsch
    if(strcmp("/sanfierro", cmdtext, true, 10) == 0)
    {
    if(Spieler[playerid][adminlevel] >= 1)
    {
    if(IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleSeat(playerid) == 0)
    {
    new vehid = GetPlayerVehicleID(playerid);
    SetPlayerPos(playerid,-1981.2587,137.4339,27.6875);
    SetPlayerFacingAngle(playerid,92.3396);
    SetVehicleZAngle(vehid,92.3396);
    SetVehiclePos(vehid,-1981.2587,137.4339,27.6875);
    PutPlayerInVehicle(playerid,vehid,0);
    }
    else
    {
    SetPlayerPos(playerid,-1981.2587,137.4339,27.6875);
    SetPlayerFacingAngle(playerid,92.3396);
    }
    }
    return 1;
    }
    //geupdatet

    entweder:


    #define Message "Hier dein Text"


    oder direkt:


    ShowPlayerDialog(playerid,dialogid,style,"Überschrift","Hier dein Text","Weiter","Abbrechen");


    ungetestet müsste aber fehler beheben

    RFT: Warum habe ich zwei Verwarnungen für einen Doppelpost bekommen?


    Hier mal Registersys:
    case DIALOG_LOGIN:
    {
    if(response == 1)
    {
    if (!strlen(inputtext))
    {
    new string[128];
    format(string,sizeof string,"Hallo %s!\nDu musst dich erst einloggen bevor du spielen kannst.\nPasswort:",pname);
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login",string,"Login","Vergessen");
    SendClientMessage(playerid, COLOR_BLUE, "Du hast kein Passwort angegeben!");
    return 1;
    }
    if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
    {
    dini_Set(accFormat,"Passwort",Spieler[playerid][Passwort]);
    dini_Set(accFormat,"SecurityCode",Spieler[playerid][SecurityCode]);
    Spieler[playerid][Skin] = dini_Int(accFormat,"Skin");
    Spieler[playerid][LastX] = dini_Float(accFormat,"LastX");
    Spieler[playerid][LastY] = dini_Float(accFormat,"LastY");
    Spieler[playerid][LastZ] = dini_Float(accFormat,"LastZ");
    Spieler[playerid][Money] = dini_Int(accFormat,"Money");
    Spieler[playerid][Admin] = dini_Int(accFormat,"Admin");
    Spieler[playerid][Team] = dini_Int(accFormat,"Team");
    Spieler[playerid][Logged] = true;
    SendClientMessage(playerid,COLOR_BLUE,"Du wurdest erfolgreich eingeloggt!");
    SpawnPlayer(playerid);
    }
    else
    {
    new string[128];
    format(string,sizeof string,"Hallo %s!\nDu musst dich erst einloggen bevor du spielen kannst.\nPasswort:",pname);
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login",string,"Login","Vergessen");
    SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist nicht korrekt, klicke auf `Vergessen` wenn du es nichtmehr weißt!");
    }
    }
    }
    case DIALOG_REGISTER:
    {
    new string[128];
    if(!strlen(inputtext))
    {
    format(string,sizeof string,"Hallo %s!\nDu musst dich erst einloggen bevor du spielen kannst.\nPasswort:",pname);
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Registration",string,"Registration","Abbrechen");
    return SendClientMessage(playerid,0xFFFFFFFF,"Für die Registration musst du erst ein Passwort angeben!");
    }
    sscanf(inputtext,"s",string);
    Spieler[playerid][Passwort] = string;
    Spieler[playerid][Logged] = true;
    SendClientMessage(playerid,COLOR_BLUE,"Dein Account wurde nun angelegt, du wurdest außerdem automatisch eingeloggt!");
    pFirstSpawn[playerid] = true;
    SpawnPlayer(playerid);
    }

    Mein enum:


    enum spieler_enum
    {
    Passwort[128],
    SecurityCode[128],
    Money,
    Admin,
    Team,
    Skin,
    Float:LastX,
    Float:LastY,
    Float:LastZ,
    Float:LastAngle,
    bool:Logged,
    }


    Das ganze Disconnect Callback:


    public OnPlayerDisconnect(playerid, reason)
    {
    new accFormat[68], pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof pname);
    GetPlayerFacingAngle(playerid,Spieler[playerid][LastAngle]);
    GetPlayerPos(playerid,Spieler[playerid][LastX],Spieler[playerid][LastY],Spieler[playerid][LastZ]);
    format(accFormat,sizeof accFormat,"%s.ini",pname);
    INI_Remove(accFormat);
    dini_Create(accFormat);
    INI_Open(accFormat);
    INI_WriteInt("Money",Spieler[playerid][Money]);
    INI_WriteInt("Admin",Spieler[playerid][Admin]);
    INI_WriteInt("Skin",Spieler[playerid][Skin]);
    INI_WriteInt("Team",Spieler[playerid][Team]);
    INI_WriteFloat("LastX",Spieler[playerid][LastX]);
    INI_WriteFloat("LastY",Spieler[playerid][LastY]);
    INI_WriteFloat("LastZ",Spieler[playerid][LastZ]);
    INI_WriteFloat("LastAngle",Spieler[playerid][LastAngle]);
    INI_WriteString("Passwort",Spieler[playerid][Passwort]);
    INI_WriteString("SecurityCode",Spieler[playerid][SecurityCode]);
    INI_Save();
    INI_Close();
    return 1;
    }

    Wie die überschrift bereits erklärt, speichert mein Login Register System die letzten Koordinaten und Passwörter nicht.


    INI_Remove(accFormat);
    dini_Create(accFormat);
    INI_Open(accFormat);
    INI_WriteInt("Money",Spieler[playerid][Money]);
    INI_WriteInt("Admin",Spieler[playerid][Admin]);
    INI_WriteInt("Skin",Spieler[playerid][Skin]);
    INI_WriteInt("Team",Spieler[playerid][Team]);
    INI_WriteFloat("LastX",Spieler[playerid][LastX]);
    INI_WriteFloat("LastY",Spieler[playerid][LastY]);
    INI_WriteFloat("LastZ",Spieler[playerid][LastZ]);
    INI_WriteFloat("LastAngle",Spieler[playerid][LastAngle]);
    INI_WriteString("Passwort",Spieler[playerid][Passwort]);
    INI_WriteString("SecurityCode",Spieler[playerid][SecurityCode]);
    INI_Save();
    INI_Close();



    Was kann ich tun?