Beiträge von Sadi

    Gib mal bei Google "Photoshop Tutorials" ein und schau mal bei deviantART was die Anderen so machen (NICHT KOPIEREN!!!).. So habe ich vor 6 Jahren auch angefangen^^

    Also erstellen könnte ich euch eins, ganz nach Wunsch. Mache das bereits einige Jahre und habe es auch in einem 2-Jährigen Bildungsgang gelernt. Nur finde ich (wie mit Sicherheit jeder andere "vernünftige" Designer auch), dass 15€ ein bisschen Mager sind. Aber eventuell kann man sich ja auf etwas Anderem einigen als einem zusätzlichen TeamSpeak Server?


    Gruß, Jerome

    Nagut, den Sinn des Verbots möchte ich jetzt mal nicht in Frage stellen, ich kann mir vorstellen, dass einfach zu viele auf die SUFU verzichtet haben.. Dann werde ich mal fleißig weiter selbst suchen^^ Vill werde ich ja im englischen Forum fündig.. Übersetzen kann ich es ja selbst :)^^


    Trotzdem danke ;)


    // habs tatsächlich im englischen Forum gefunden^^


    Wenn es übersetzt und auf GUI-Login umgeschrieben ist, werde ich es mal für all die anderen Suchenden releasen, sofern das nicht verboten ist^^

    Das war es leider nicht.. Könnte es auch damit zusammenhängen?


    public SaveAccounts(playerid)
    {
    if(IsPlayerConnected(playerid)) {
    if(gPlayerLogged[playerid]) {
    new string3[32];
    new pname3[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname3, sizeof(pname3));
    format(string3, sizeof(string3), "/Accounts/%s.ini", pname3);
    new File: pFile = fopen(string3, io_write);
    if (pFile) {
    new var[32];
    format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(pFile, var);
    fclose(pFile);
    new File: hFile = fopen(string3, io_append);
    format(var, 32, "Admin=%d\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
    format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var);
    format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var);
    format(var, 32, "Warns=%d\n",PlayerInfo[playerid][pWarns]);fwrite(hFile, var);
    format(var, 32, "SkillPoints=%d\n",PlayerInfo[playerid][pSkillPoints]);fwrite(hFile, var);
    fclose(hFile);
    }
    }
    }
    return 1;
    }

    Hi Leute, ich stehe mal wieder vor einem Problem.. Und zwar habe ich ein GF-Edit auf GUI-Login umgebaut. Das funktioniert auch soweit wunderbar. Nach dem Registrieren speichert er alles wie es soll in die USERNAME.ini. Fast alles.. -.- Was nicht übernommen wird, ist das Passwort.. was den Effekt hat, dass man sich mit jedem beliebigen Passwort einloggen kann. Und das ist ja nicht der Sinn vom Zweck.. :D


    Kurz: das Passwort wird nicht in die USERNAME.ini gespeichert - soll es aber!^^


    Leider weiß ich nicht, wie ich Pawno sagen kann, dass der Inputtext das Passwort sein soll.. Sonst würde ich den Fehler wahrscheinlich selbst finden.. Umso mehr freue ich mich, wenn jemand den Fehler findet.. :) Eine kurze Erläuterung dazu wäre auch super :P


    Läuft beides über zwei neue Publics:



    public OnPlayerLogin(playerid,password[])
    {
    new string2[64];
    new pname2[MAX_PLAYER_NAME];
    new pname3[MAX_PLAYER_NAME];
    new string3[128];


    GetPlayerName(playerid, pname2, sizeof(pname2));
    format(string2, sizeof(string2), "/Accounts/%s.ini", pname2);
    new File: UserFile = fopen(string2, io_read);
    if ( UserFile )
    {
    new PassData[256];
    new keytmp[256], valtmp[256], val[128];
    fread( UserFile , PassData , sizeof( PassData ) );
    keytmp = ini_GetKey( PassData );
    if( strcmp( keytmp , "Key" , true ) == 0 )
    {
    valtmp = ini_GetValue( PassData );
    strmid(PlayerInfo[playerid][pPassword], valtmp, 0, strlen(valtmp)-1, 255);
    }
    if(strcmp(PlayerInfo[playerid][pPassword],password, true ) == 0 ){
    new key[128];
    new Data[128];
    while(fread(UserFile,Data,sizeof(Data))) {
    key = ini_GetKey(Data);
    if( strcmp( key , "Admin" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pAdmin] = strval( val ); }
    if( strcmp( key , "Kills" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); }
    if( strcmp( key , "Deaths" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKills] = strval( val ); }
    if( strcmp( key , "Warns" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pWarns] = strval( val ); }
    if( strcmp( key , "SkillPoints" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pSkillPoints] = strval( val ); }
    }
    fclose(UserFile);
    gPlayerLogged[playerid] = 1;
    gPlayerAccount[playerid] = 1;
    GetPlayerName(playerid, pname3, sizeof(pname3));
    SendClientMessage(playerid, COLOR_WHITE, "Erfolgreich eingeloggt.");
    format(string3, sizeof(string3), "Willkommen %s, du bist als Admin Level %d eingeloggt!", pname3, PlayerInfo[playerid][pAdmin]);
    SendClientMessage(playerid, COLOR_WHITE,string3);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL,100);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL_SILENCED,100);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_DESERT_EAGLE,100);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SHOTGUN,100);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SAWNOFF_SHOTGUN,100);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SPAS12_SHOTGUN,100);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_MICRO_UZI,100);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_MP5,100);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_AK47,100);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_M4,100);
    SetPlayerSkillLevel(playerid,WEAPONSKILL_SNIPERRIFLE,100);
    }
    else {
    SendClientMessage(playerid, COLOR_GREY, " Falsches Passwort");
    fclose(UserFile);
    }
    }
    return 1;
    }
    public OnPlayerRegister(playerid, password[])
    {
    new string[64];
    new playername[MAX_PLAYER_NAME];
    if(IsPlayerConnected(playerid))
    {
    strmid(PlayerInfo[playerid][pPassword], password, 0, strlen(password), 255);
    GetPlayerName(playerid, playername, sizeof(playername));
    format(string, sizeof(string), "/Accounts/%s.ini", playername);
    new File:hFile;
    hFile = fopen(string, io_append);
    new var[32];
    format(var, 32, "%s\n", PlayerInfo[playerid][pPassword]);fwrite(hFile, var);
    format(var, 32, "Admin=%d\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
    format(var, 32, "Kills=%d\n",PlayerInfo[playerid][pKills]);fwrite(hFile, var);
    format(var, 32, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var);
    format(var, 32, "Warns=%d\n",PlayerInfo[playerid][pWarns]);fwrite(hFile, var);
    format(var, 32, "SkillPoints=%d\n",PlayerInfo[playerid][pSkillPoints]);fwrite(hFile, var);
    fclose(hFile);
    SendClientMessage(playerid, COLOR_WHITE, "Erfolgreich registriert!");
    OnPlayerLogin(playerid,PlayerInfo[playerid][pPassword]);
    ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Server Regeln:","1. Beleidigen ist Verboten!\n2. Bugusing ist Verboten!\n3. Cheaten ist Verboten!\n4. Serverwerbung ist Verboten\n\n\nJedlicher Missbrauch der Regeln wird mit\nKick/Warn/Ban bestraft!","Akzeptieren","Ablehnen");
    }
    return 1;
    }


    OnDialogResponse:


    if(response)
    {
    switch(dialogid)
    {
    case DIALOG_LOG:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOG,1,"*** Login","Gib dein Passwort ein.","Weiter","Abbrechen");
    return SendClientMessage(playerid,COLOR_LIGHTRED,"Es wurde kein Passwort eingegeben!");
    }
    if(strlen(inputtext))
    {
    new tmppass[64];
    strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
    Encrypt(tmppass);
    OnPlayerLogin(playerid,tmppass);
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOG,1,"*** Login","Gib dein Passwort ein.","Weiter","Abbrechen");
    SendClientMessage(playerid,COLOR_LIGHTRED,"Das Passwort war falsch!");
    }
    }
    case DIALOG_REG:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"*** Registrieren","Wähle ein Passwort.","Weiter","Abbrechen");
    return SendClientMessage(playerid,COLOR_LIGHTRED,"Das Passwort ist zu kurz!");
    }
    new tmppass[64];
    strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
    Encrypt(tmppass);
    OnPlayerRegister(playerid,tmppass);
    }
    }
    }
    else
    {
    switch(dialogid)
    {
    case DIALOG_LOG:ShowPlayerDialog(playerid,DIALOG_LOG,1,"*** Login","Gib dein Passwort ein.","Weiter","Abbrechen");
    case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"*** Registrieren","Wähle ein Passwort.","Weiter","Abbrechen");
    }
    }


    Und zu allerlezt - Encrypt:


    public Encrypt(string[])
    {
    for(new x=0; x < strlen(string); x++)
    {
    string[x] += (3^x) * (x % 15);
    if(string[x] > (0xff))
    {
    string[x] -= 256;
    }
    }
    return 1;
    }



    Besten Gruß, Jerome ;)


    Edit: Hat echt keiner eine Idee??


    Kann mir vill jemand erklären wie ich den Textinput des Dialogs auslesen und verwenden kann? Vermute das es daran liegt..

    Hallo ich habe ein problem mit meinem Autokaufsystem, welches ich nach dem Tutorial von Simon gemacht habe.


    Undzwar kann ich ist das Auto nicht abgeschlossen, nachdem ich es abgeschlossen habe. Und ich kann das Auto nicht verkaufen.. (Es sei nicht mein Auto..)


    Befehle laufen als dcmd


    else if(strfind(msg,"zu",true) != -1)
    {
    new string2[2][10], vID;
    split(msg,string2,' ');
    vID = strval(string2[1]);
    if(strcmp(string2[0],"zu",true) || vID <= 0) return SendClientMessage(playerid,COLOR_GREY,"Benutzung: /fahrzeug zu [id]");
    else
    {
    for(new i = 0; i < 6; i++)
    {
    new Autodatei[100];
    format(Autodatei,sizeof(Autodatei),"/Autos/%s_Auto_%d.ini",name,i);
    if(dini_Exists(Autodatei))
    {
    if(vID == i)
    {
    Autos[playerid][i][Abgeschlossen] = 1;
    vInfo[Spielercar[playerid][i]][vClose] = 1;
    for(new pID = 0; pID < MAX_PLAYERS; pID++)
    {
    if(pID == playerid) continue;
    SetVehicleParamsForPlayer(Spielercar[playerid][i],pID,0,1);
    }
    SetVehicleParamsForPlayer(Spielercar[playerid][i],playerid,0,0);
    return SendClientMessage(playerid,COLOR_GREEN,"Fahrzeug wurde abgeschlossen!");
    }
    else continue;
    }
    else continue;
    }
    SendClientMessage(playerid,COLOR_GREY,"Ungültige ID!");
    }
    }


    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
    SetVehicleParamsForPlayer(vehicleid,forplayerid,0,vInfo[vehicleid][vClose]);
    for(new i = 0; i < 6; i++)
    {
    if(vehicleid == Spielercar[forplayerid][i]) SetVehicleParamsForPlayer(vehicleid,forplayerid,0,0);
    }
    return 1;
    }




    und verkauf:


    else if(!strcmp(msg,"verkaufen",true))
    {
    for(new i = 0; i < 6; i++)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(GetPlayerVehicleID(playerid) == Spielercar[playerid][i])
    {
    GivePlayerMoney(playerid,AutoV[playerid][i][Preis]/2);
    new Autodatei[100];
    format(Autodatei,sizeof(Autodatei),"/Autos/%s_Auto_%i.ini",(playerid),i);
    if(dini_Exists(Autodatei))
    {
    dini_Remove(Autodatei);
    }
    }
    return SendClientMessage(playerid,COLOR_GREY,"Das ist nicht dein Fahrzeug!");
    }
    else continue;
    }
    SendClientMessage(playerid,COLOR_GREY,"Sie müssen in Ihrem Auto sitzen um es zu verkaufen!");
    }


    Was ist dort falsch? :)

    Also nochmal zurück zum thema server4you ... kernel alle total veraltet, support total beschissen, wenn mal was is, darf mann sich 6 stunden lang anhören das der nächste supporter reserviert is um dann gesagt zu bekommen das doch keiner frei ist.. nun denn wer das gut findet, have fun mit s4y :D

    soweit eigendlich ganz gut, allerdings solltest du bedenken das dein hintergrundbild möglicherweise urheberechtlich geschützt ist.. und das ganze somit rechtliche folgen haben kann!

    Da es bei OnPlayerDeath is passiert das logischer weise wenn ein spieler stirbt.. da brauchste keinen befehl...
    befehle machste unter OnPlayerCommandText, vill solltest du dir nochmal die PAWN grundlagen anschauen bevor du versuchst wild irgendwas mit copy und paste zu basteln...