Beiträge von BloodyEric

    ocmd:admin(playerid,params[])
    {
    print("1");
    if (PlayerInfo[playerid][admin] == 1)
    {
    ShowPlayerDialog(playerid,4,DIALOG_STYLE_LIST,"Adminstrator System","Adminstrator 1","Auswählen","Beenden");
    }
    if (PlayerInfo[playerid][admin] == 2)
    {
    ShowPlayerDialog(playerid,5,DIALOG_STYLE_LIST,"Adminstrator System","Adminstrator 1\nAdminstrator 2","Auswählen","Beenden");
    }
    if (PlayerInfo[playerid][admin] == 3)
    {
    ShowPlayerDialog(playerid,6,DIALOG_STYLE_LIST,"Adminstrator System","Adminstrator 1\nAdminstrator 2\nAdminstrator 3","Auswählen","Beenden");
    print("2");
    }
    return 1;
    }


    Das mal einfügen, /admin eingeben und bitte sagen, was in der Konsole ausgegeben wird.

    Um dir deine Illusionen zu zerstören: Das kann nix werden und wird nix werden. Du scheinst keinerlei Erfahrung zu haben, sonst müsstest du so einen Post nicht machen. Und die ist für so ein Projekt absolut wichtig. Wenn du unbedingt nen Server aufmachen willst fang klein an, aber nimm dir nicht so ne Zielsetzung.

    ... mit tausenden schlecht gedrehten, nichts sagenden, sinnlosen Videos aller Art?


    Yo. Und da drin ne handvoll wirklich gute. Im offiziellen SAMP Forum gibt es ja auch so eine Kategorie und ich zumindest schau da gerne mal rein, sieht man oft sehr cooles Zeugs. (Klar ist auch viel Müll dabei).

    if(strcmp("/stats", cmdtext, true, 10) == 0)
    {
    new DHand, CHand, Stats[1500], Berufe[300], Person[500], Finanzen[350], str1[256], str3[256], str2[256], str4[50], name[MAX_PLAYER_NAME],Spielerdatei[125];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/User/%s.ini",name);
    DHand = GetPlayerMoney(playerid)/100;
    CHand = GetPlayerMoney(playerid)%100;


    if(gTeam[playerid] == Team_Nichts)
    {
    format(str1,sizeof(str1),"Hartz IV");
    }
    else if(gTeam[playerid] == Team_Taxi)
    {
    format(str1,sizeof(str1),"Taxifahrer");
    }
    else if(gTeam[playerid] == Team_Bus)
    {
    format(str1,sizeof(str1),"Busfahrer");
    }
    else if(gTeam[playerid] == Team_Zug)
    {
    format(str1,sizeof(str1),"Zugführer");
    }
    else if(gTeam[playerid] == Team_Dd)
    {
    format(str1,sizeof(str1),"Drogen Dealer");
    }
    else if(gTeam[playerid] == Team_Wd)
    {
    format(str1,sizeof(str1),"Waffen Dealer");
    }

    if(Spieler[playerid][Leader] == 0)
    {
    if(Spieler[playerid][Member] == 0)
    {
    format(str2,sizeof(str2),"Zivilist");
    }
    else
    {
    format(str2,sizeof(str2),"%s", Fraks[Spieler[playerid][Member]]);
    }
    format(str3,sizeof(str3),"%d",Spieler[playerid][Rank]);
    }
    else
    {
    format(str2,sizeof(str2),"%s", Fraks[Spieler[playerid][Leader]]);
    format(str3,sizeof(str3),"Leader");
    }

    if(Spieler[playerid][Konto] == 1)
    {
    format(str4,sizeof(str4),"Los Santos");
    }
    else if(Spieler[playerid][Konto] == 2)
    {
    format(str4,sizeof(str4),"San Fierro");
    }
    else if(Spieler[playerid][Konto] == 3)
    {
    format(str4,sizeof(str4),"Las Venturas");
    }
    else
    {
    format(str4,sizeof(str4),"Keins");
    }

    format(Person,sizeof(Person),"Person: Name: %s Alter: %d\n Geschlecht: %s\n Herkunft: %s\n Partner: Keine(r)\n Wohnhaft: Keine\n\n Level: %d\n Levelpunkte: 0/0 Level Kosten: $0", name, Spieler[playerid][Alter], dini_Get(Spielerdatei,"Geschlecht"), dini_Get(Spielerdatei,"Staat"), Spieler[playerid][Score]);
    format(Berufe,sizeof(Berufe),"Berufe: Nebenjob: %s\n Fraktion: %s Rank: %s", str1, str2, str3);
    format(Finanzen,sizeof(Finanzen),"Finanzen: Bargeld: %d.%d\n Bankguthaben: %d\n Bankkonto: %s\n Festgeld: $0 Zinssatz: 0.00\n Kredit: $0",DHand, CHand, Spieler[playerid][Bank], str4);


    format(Stats,sizeof(Stats)," %s\n\n %s\n\n %s", Person, Berufe, Finanzen);
    ShowPlayerDialog(playerid,DIALOG_TEST,DIALOG_STYLE_MSGBOX,"Stats Test", Stats, "---", "---");


    return 1;
    }

    /*----------------------------------------------------------------------------*-
    Function:
    sscanf
    Params:
    string[] - String to extract parameters from.
    format[] - Parameter types to get.
    {Float,_}:... - Data return variables.
    Return:
    0 - Successful, not 0 - fail.
    Notes:
    A fail is either insufficient variables to store the data or insufficient
    data for the format string - excess data is disgarded.

    A string in the middle of the input data is extracted as a single word, a
    string at the end of the data collects all remaining text.

    The format codes are:

    c - A character.
    d, i - An integer.
    h, x - A hex number (e.g. a colour).
    f - A float.
    s - A string.
    z - An optional string.
    pX - An additional delimiter where X is another character.
    '' - Encloses a litteral string to locate.
    u - User, takes a name, part of a name or an id and returns the id if they're connected.

    Now has IsNumeric integrated into the code.

    Added additional delimiters in the form of all whitespace and an
    optioanlly specified one in the format string.
    -*----------------------------------------------------------------------------*/

    stock sscanf(string[], format[], {Float,_}:...)
    {
    #if defined isnull
    if (isnull(string))
    #else
    if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
    #endif
    {
    return format[0];
    }
    #pragma tabsize 4
    new
    formatPos = 0,
    stringPos = 0,
    paramPos = 2,
    paramCount = numargs(),
    delim = ' ';
    while (string[stringPos] && string[stringPos] <= ' ')
    {
    stringPos++;
    }
    while (paramPos < paramCount && string[stringPos])
    {
    switch (format[formatPos++])
    {
    case '\0':
    {
    return 0;
    }
    case 'i', 'd':
    {
    new
    neg = 1,
    num = 0,
    ch = string[stringPos];
    if (ch == '-')
    {
    neg = -1;
    ch = string[++stringPos];
    }
    do
    {
    stringPos++;
    if ('0' <= ch <= '9')
    {
    num = (num * 10) + (ch - '0');
    }
    else
    {
    return -1;
    }
    }
    while ((ch = string[stringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num * neg);
    }
    case 'h', 'x':
    {
    new
    num = 0,
    ch = string[stringPos];
    do
    {
    stringPos++;
    switch (ch)
    {
    case 'x', 'X':
    {
    num = 0;
    continue;
    }
    case '0' .. '9':
    {
    num = (num << 4) | (ch - '0');
    }
    case 'a' .. 'f':
    {
    num = (num << 4) | (ch - ('a' - 10));
    }
    case 'A' .. 'F':
    {
    num = (num << 4) | (ch - ('A' - 10));
    }
    default:
    {
    return -1;
    }
    }
    }
    while ((ch = string[stringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num);
    }
    case 'c':
    {
    setarg(paramPos, 0, string[stringPos++]);
    }
    case 'f':
    {

    new changestr[16], changepos = 0, strpos = stringPos;
    while(changepos < 16 && string[strpos] && string[strpos] != delim)
    {
    changestr[changepos++] = string[strpos++];
    }
    changestr[changepos] = '\0';
    setarg(paramPos,0,_:floatstr(changestr));
    }
    case 'p':
    {
    delim = format[formatPos++];
    continue;
    }
    case '\'':
    {
    new
    end = formatPos - 1,
    ch;
    while ((ch = format[++end]) && ch != '\'') {}
    if (!ch)
    {
    return -1;
    }
    format[end] = '\0';
    if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
    {
    if (format[end + 1])
    {
    return -1;
    }
    return 0;
    }
    format[end] = '\'';
    stringPos = ch + (end - formatPos);
    formatPos = end + 1;
    }
    case 'u':
    {
    new
    end = stringPos - 1,
    id = 0,
    bool:num = true,
    ch;
    while ((ch = string[++end]) && ch != delim)
    {
    if (num)
    {
    if ('0' <= ch <= '9')
    {
    id = (id * 10) + (ch - '0');
    }
    else
    {
    num = false;
    }
    }
    }
    if (num && IsPlayerConnected(id))
    {
    setarg(paramPos, 0, id);
    }
    else
    {
    #if !defined foreach
    #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
    #define __SSCANF_FOREACH__
    #endif
    string[end] = '\0';
    num = false;
    new
    name[MAX_PLAYER_NAME];
    id = end - stringPos;
    foreach (Player, playerid)
    {
    GetPlayerName(playerid, name, sizeof (name));
    if (!strcmp(name, string[stringPos], true, id))
    {
    setarg(paramPos, 0, playerid);
    num = true;
    break;
    }
    }
    if (!num)
    {
    setarg(paramPos, 0, INVALID_PLAYER_ID);
    }
    string[end] = ch;
    #if defined __SSCANF_FOREACH__
    #undef foreach
    #undef __SSCANF_FOREACH__
    #endif
    }
    stringPos = end;
    }
    case 's', 'z':
    {
    new
    i = 0,
    ch;
    if (format[formatPos])
    {
    while ((ch = string[stringPos++]) && ch != delim)
    {
    setarg(paramPos, i++, ch);
    }
    if (!i)
    {
    return -1;
    }
    }
    else
    {
    while ((ch = string[stringPos++]))
    {
    setarg(paramPos, i++, ch);
    }
    }
    stringPos--;
    setarg(paramPos, i, '\0');
    }
    default:
    {
    continue;
    }
    }
    while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
    {
    stringPos++;
    }
    while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
    {
    stringPos++;
    }
    paramPos++;
    }
    do
    {
    if ((delim = format[formatPos++]) > ' ')
    {
    if (delim == '\'')
    {
    while ((delim = format[formatPos++]) && delim != '\'') {}
    }
    else if (delim != 'z')
    {
    return delim;
    }
    }
    }
    while (delim > ' ');
    return 0;
    }

    Ganz falsche Idee.

    if(sscanf(params, "d", Stunde)) return SendClientMessage(playerid, 0xFF0000FF, "Benutzung: /zeit [STUNDE]");


    So einfach und du hast es. Den strlen und IsNumeric Kram kannst dann auch lassen.

    Da ich es noch nirgendwo anders gefunden habe hier mal eine kurze Auflistung aller CMDs, die auf jedem SAMP Server funktionieren, da sie vom SAMP Team eingebaut worden sind:
    (Wenn schon vorhanden - löschen und vergessen bitte)



    Zitat

    Ausschließlich in 0.3a vorhanden:


    /ofc [WERT] - Ändert die Synchronisierungsrate des eigenen Spielers, wenn er zu Fuß unterwegs ist.
    /icc [WERT] - Ändert die Synchronisierungsrate des eigenen Spielers, wenn er im Fahrzeug unterwegs ist.


    ACHTUNG: Änderungen können zu starken Laggs bzgl. des eigenen Spielers für andere führen!