Beiträge von SHORE

    Sampi mir kam da gerade eine Idee.


    Premium > VIP


    Man sollte den VIP Rang erst bekommen wenn man mindestens 5-6 Stunden gespielt hat, Ich meine Wenn du die 5-6 Stunden Hast kommt eine Naricht
    Du hast einen VIP Rang Errhalten weil du 5-6 Stunden Gespielt hast.



    VIP Rang 1
    /ninja
    VIP Rang 2
    /afk /back
    VIP Rang 3
    Mehr Geld am Payday




    jo^^ das wars

    Hallo Leute,


    Mir ist Langweilig, also zeig ich euch mal wie man Automatische Narichten in euren Script macht die alle Belibigen Minuten kommt! Ist eigendlich nichts schweres aber einigen Leuten wird es bestimmt Helfen =)


    Also zu erst fügt ihr ganz oben ins Script das ein
    forward AutoNaricht();


    Dann Erstellt ihr einen Timer
    public OnGameModeInit()
    {
    SetTimer("AutoNaricht",600000,1);
    /*
    900000 Millisekunden = 15 Minuten
    600000 Millisekunden = 10 Minuten
    300000 Millisekunden = 5 Minuten
    */
    return 1;
    }
    Wer nicht ganz weis wie man Minuten in Millisekunden Umrechnet kann das hier machen =) KLICK


    Dann fügt ihr ganz unten ins Script das ein
    public AutoNaricht()
    {
    SendClientMessageToAll(COLOR_WHITE, "EUREN TEXT"); //Hier euren text eintragen
    SendClientMessageToAll(COLOR_WHITE, "EUREN TEXT");
    SendClientMessageToAll(COLOR_WHITE, "EUREN TEXT");
    SendClientMessageToAll(COLOR_WHITE, "EUREN TEXT");
    SendClientMessageToAll(COLOR_WHITE, "EUREN TEXT");
    SendClientMessageToAll(COLOR_WHITE, "EUREN TEXT");
    SendClientMessageToAll(COLOR_WHITE, "EUREN TEXT");
    }


    jo ich hoffe euch gefällt mein 1. Tutorial



    mfg. AmoK

    Hallo Leute,


    Ich habe ein Problem mit meinem Login System, man kann zwar wunderbar mit /register [Passwort} einen Account erstellen und er wird auch in den Scriptfiles Gespeichert..mein Problem ist nur wenn ich mich einloggen will mit /login [Passwort] wird mir die Naricht gesendet damit ich bereits Eingeloggt bin. Der loggt sich immer alleine ein und das will ich nicht. Kann mir jemand helfen.....


    forward OnPlayerUpdate(playerid);
    forward Encrypt(string[]);
    forward OnPlayerLogin(playerid,const string[]);


    enum pInfo
    {
    pPassword[128],
    pAdmin,
    };


    new PlayerInfo[MAX_PLAYERS][pInfo];
    new gPlayerLogged[MAX_PLAYERS];
    new gPlayerAccount[MAX_PLAYERS];


    public OnPlayerConnect(playerid)
    {


    new pName[MAX_PLAYER_NAME];
    new string[48];
    new playrname[MAX_PLAYER_NAME];
    new connect[128];
    GetPlayerName(playerid, playrname, sizeof(playrname));
    format(connect, sizeof(connect), "Accounts/%s.ini", playrname);
    if(fexist(connect))
    {
    gPlayerAccount[playerid] = 1;
    SendClientMessage(playerid, COLOR_YELLOW, "Der Account wurde gefunden!");
    SendClientMessage(playerid, COLOR_YELLOW, "Bitte Logge dich ein!");
    }
    else
    {
    gPlayerAccount[playerid] = 0;
    SendClientMessage(playerid, COLOR_YELLOW, "Dein Account muss erstellt werden, bitte Registriere dich!");
    SendClientMessage(playerid, COLOR_WHITE, "Drücke \"t\" und gib /register [passwort]");
    SendClientMessage(playerid, COLOR_YELLOW, "Herzlichen Glückwunsch dein Account wurde Erstellt");
    SendClientMessage(playerid, COLOR_YELLOW, "Bitte Logge dich ein!");
    }
    GetPlayerName(playerid, pName, sizeof(pName));
    format(string, sizeof(string), "%s hat den Server betreten.", pName);
    SendClientMessageToAll(0x931B00FF, string);
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    new pName[MAX_PLAYER_NAME], string[56];
    GetPlayerName(playerid, pName, sizeof(pName));
    switch(reason)
    {
    case 0: format(string, sizeof(string), "%s hat den Server verlassen. (timeout)", pName);
    case 1: format(string, sizeof(string), "%s hat den Server verlassen.", pName);
    case 2: format(string, sizeof(string), "%s hat den Server verlassen. (Kick)", pName);
    }
    SendClientMessageToAll(COLOR_GRAD5, string);
    OnPlayerUpdate(playerid);
    gPlayerLogged[playerid] = 0;
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new cmd[256];
    new idx;
    cmd = strtok(cmdtext, idx);
    new tmp[256];
    new playername[MAX_PLAYER_NAME];
    if (strcmp(cmd, "/login", true) ==0 )
    {
    if(IsPlayerConnected(playerid))
    {
    new tmppass[64];
    if(gPlayerLogged[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist bereits eingeloggt!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GREY, "Benutze: /login [password]");
    return 1;
    }
    strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
    Encrypt(tmppass);
    OnPlayerLogin(playerid,tmppass);
    }
    return 1;
    }
    if (strcmp(cmd, "/register", true)==0)
    {
    new string[265];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GREY, "Benutze: /register [password]");
    return 1;
    }
    if (gPlayerAccount[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Name ist bereits registriert");
    return 1;
    }


    strmid(PlayerInfo[playerid][pPassword], tmp, 0, strlen(cmdtext), 255);
    Encrypt(PlayerInfo[playerid][pPassword]);
    GetPlayerName(playerid, playername, sizeof(playername));
    format(string, sizeof(string), "Accounts/%s.ini", playername);
    new File: file = fopen(string, io_read);
    if (file)
    {
    SendClientMessage(playerid, COLOR_GREY, " Der Name ist bereits registriert");
    fclose(file);
    return 1;
    }
    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);
    fclose(hFile);
    SendClientMessage(playerid, COLOR_WHITE, "Erfolgreich registriert!");
    SendClientMessage(playerid, COLOR_WHITE, "Gebe nächstes mal /login <password> zum einloggen ein.");
    OnPlayerLogin(playerid,PlayerInfo[playerid][pPassword]);
    return 1;
    }


    public OnPlayerLogin(playerid,const string[])
    {
    new pname2[MAX_PLAYER_NAME];
    new pname3[MAX_PLAYER_NAME];
    new string2[64];
    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 valtmp[128];
    fread(UserFile, valtmp);strmid(PlayerInfo[playerid][pPassword], valtmp, 0, strlen(valtmp)-1, 255);


    if ((strcmp(PlayerInfo[playerid][pPassword], string, true, strlen(valtmp)-1) == 0))
    {
    new key[256],val[256];
    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 ); }
    }
    fclose(UserFile);
    gPlayerLogged[playerid] = 1;
    gPlayerAccount[playerid] = 1;
    GetPlayerName(playerid, pname3, sizeof(pname3));
    format(string3, sizeof(string3), "Willkommen %s, du bist bereits eingeloggt!", pname3);
    SendClientMessage(playerid, COLOR_WHITE,string3);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Falsches Passwort");
    fclose(UserFile);
    }
    }
    return 1;
    }

    public OnPlayerUpdate(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);
    fclose(hFile);
    }
    }
    }
    return 1;
    }


    stock ini_GetKey( line[] )
    {
    new keyRes[128];
    keyRes[0] = 0;
    if ( strfind( line , "=" , true ) == -1 ) return keyRes;
    strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
    return keyRes;
    }


    stock ini_GetValue( line[] )
    {
    new valRes[128];
    valRes[0]=0;
    if ( strfind( line , "=" , true ) == -1 ) return valRes;
    strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
    return valRes;
    }


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

    also mach mal das


    if(PlayerInfo[playerid][Level] >= 1 || IsPlayerAdmin(playerid))
    SetPlayerColor(playerid, 0x000000FF);
    SendClientMessageToAll(green,"A admin has logged in");
    }

    hab immer noch errors


    C:\Users\AmoK\Desktop\Samp Server\gamemodes\AmoK.pwn(395) : warning 225: unreachable code
    C:\Users\AmoK\Desktop\Samp Server\gamemodes\AmoK.pwn(396) : error 029: invalid expression, assumed zero
    C:\Users\AmoK\Desktop\Samp Server\gamemodes\AmoK.pwn(398) : error 029: invalid expression, assumed zero
    C:\Users\AmoK\Desktop\Samp Server\gamemodes\AmoK.pwn(398 -- 399) : warning 215: expression has no effect
    C:\Users\AmoK\Desktop\Samp Server\gamemodes\AmoK.pwn(399) : error 001: expected token: ";", but found "if"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.



    das sind die zeilen wo der error sein soll


    {
    if (IsPlayerAdmin(playerid))
    }
    if(aDuty[playerid] == 0)

    if((strcmp("/aduty", cmdtext, true, 10) == 0)
    {
    if (IsPlayerAdmin(playerid))
    }
    if(aDuty[playerid] == 0)
    {
    aDuty[playerid] = 1;
    SendClientMessageToAll(COLOR_ORANGEYELLOW, "Ein Admin meldet sich zum Dienst!!");
    SetPlayerColor(playerid, 0x05D1CDFF);
    }
    else
    {
    aDuty[playerid] = 0;
    if(gTeam[playerid] == TEAM_BALLAS)
    {
    SetPlayerColor(playerid, COLOR_PINK);
    SendClientMessageToAll(0x388EEAFF, "Ein Admin meldet sich zum Dienst ab!!");
    }
    else if(gTeam[playerid] == TEAM_GROVE)
    {
    SetPlayerColor(playerid, COLOR_GREEN);
    SendClientMessageToAll(0x388EEAFF, "Ein Admin meldet sich zum Dienst ab!!");
    }
    else if(gTeam[playerid] == TEAM_COPS)
    {
    SetPlayerColor(playerid, COLOR_BLUE);
    SendClientMessageToAll(0x388EEAFF, "Ein Admin meldet sich zum Dienst ab!!");
    }
    else if(gTeam[playerid] == TEAM_AZTECAS)
    {
    SetPlayerColor(playerid, COLOR_LIGHTLUE);
    SendClientMessageToAll(0x388EEAFF, "Ein Admin meldet sich zum Dienst ab!!");
    }
    else if(gTeam[playerid] == TEAM_BIKERS)
    {
    SetPlayerColor(playerid, COLOR_ORANGEYELLOW);
    SendClientMessageToAll(0x388EEAFF, "Ein Admin meldet sich zum Dienst ab!!");
    }
    }
    return 1;
    }


    und folgende Errors


    C:\Users\********\AmoK.pwn(395) : warning 225: unreachable code
    C:\Users\********\AmoK.pwn(396) : error 029: invalid expression, assumed zero
    C:\Users\********\AmoK.pwn(398) : error 029: invalid expression, assumed zero
    C:\Users\********\AmoK.pwn(398 -- 399) : warning 215: expression has no effect
    C:\Users\********\AmoK.pwn(399) : error 001: expected token: ";", but found "if"
    C:\Users\********\AmoK.pwn(399) : warning 217: loose indentation
    C:\Users\********\AmoK.pwn(425) : error 017: undefined symbol "COLOR_LIGHTLUE"
    C:\Users\********\AmoK.pwn(434) : warning 217: loose indentation
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    4 Errors.


    alle 4 Errors sind in dem Befehl drinne