Beiträge von petmax113


    if(strcmp("/makeadmin",cmdtext,true)==0)
    {
    new string[256], pID;
    if(IsPlayerAnAdmin(playerid,6))
    {
    if(sscanf(params,"i",pID)) return SendClientMessage(playerid,RED,"Benutze: /makeadmin [ID]");
    SetPVarInt(pID,"Adminlevel",10);
    format(string,sizeof(string),"{00FFF0} %s {FAFAFA} wurde von Admin {00FFF0} %s {FAFAFA} zum Admin ernannt.",PlayerName(pID),PlayerName(playerid));
    SendClientMessageToAll(WHITE,string);
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    }
    else
    {
    SendClientMessage(playerid,RED,"Du bist kein Admin!");


    }
    return 1;
    }


    so hab ich es im script ;D


    Tipp von mir: benutze sscanf


    LG
    petmax113


    new bool:duty[MAX_PLAYERS];


    public OnGameModeInit()
    {
    CreatePickup(1247,1,198.1107,168.8240,1003.0234,0);
    return 1;
    }



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/duty", cmdtext, true, 10) == 0)
    {
    new string1[256], string2[256] ,name[MAX_PLAYER_NAME];
    if(!IsPlayerInRangeOfPoint(playerid,7.0,198.1107,168.8240,1003.0234)) return SendClientMessage(playerid,DEINE_FARBE,"Du bist nicht am Duty-Punkt.");
    if(duty[playerid]==true)
    {
    format(string1,sizeof(string1),"Officer %s legt seine Marke in den Schrank und macht Feierabend.",GetPlayerName(playerid,name,sizeof(name)));
    SendClientMessageToAll(DEINE_FARBE,string1);
    duty[playerid]=false;
    }
    else
    {
    format(string2,sizeof(string2),"Officer %s nimmt seine Marke aus dem Schrank und meldet sich zum Dienst.",GetPlayerName(playerid,name,sizeof(name)));
    SendClientMessageToAll(DEINE_FARBE,string2);
    duty[playerid]=true;
    }
    return 1;
    }
    return 0;
    }

    jz kommt die Nachricht auch!


    new bool:duty[MAX_PLAYERS];


    public OnGameModeInit()
    {
    CreatePickup(1247,1,198.1107,168.8240,1003.0234,0);
    return 1;
    }



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/duty", cmdtext, true, 10) == 0)
    {
    if(!IsPlayerInRangeOfPoint(playerid,7.0,198.1107,168.8240,1003.0234)) return SendClientMessage(playerid,DEINE_FARBE,"Du bist nicht am Duty-Punkt.");
    if(duty[playerid]==true)
    {
    duty[playerid]=false;
    }
    else
    {
    duty[playerid]=true;
    }
    return 1;
    }
    return 0;
    }



    so gehts , denk ich!


    LG


    new bool:fuehrerschein;


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/führerscheinkauf", cmdtext, true, 10) == 0)
    {

    //weitere funktionen
    fuehrerschein=true;
    return 1;
    }
    return 0;
    }


    new bool:swat;


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/swat", cmdtext, true, 10) == 0)
    {
    if(swat==false)
    {
    //Deine Funktion
    swat=true;



    }
    else
    {


    //Deine Funktion
    swat=false;
    }
    return 1;
    }
    return 0;
    }



    oder so ginge es auch!


    LG



    #include <a_samp>
    #include <Dini>


    public OnPlayerConnect(playerid)
    {
    SetPlayerSkin(playerid,dini_Int(DeinDateiName,"Skin"));
    return 1;
    }
    public OnPlayerDisconnect(playerid)
    {


    dini_IntSet(DeinDateiName,"Skin",GetPlayerSkin(playerid));
    return 1;
    }


    So dürfte es funktionieren!


    LG
    petmax113


    #include <a_samp>
    #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    dcmd(arep,4,cmdtext);
    return 0;
    }
    dcmd_arep(playerid,params[])
    {
    if(IsPlayerAdmin(playerid))
    {
    new pID, vID, float:vhealth;
    vID = GetPlayerVehicleID(pID);
    if(sscanf(params,"if",pID,vhealth)) return SendClientMessage(playerid,0xFF0041FF,"Benutze: /arep [ID] [Health]!");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,0xFF0041FF,"Dieser Spieler ist nicht eingeloggt.");
    if(!IsPlayerInAnyVehicle(pID)) return SendClientMessage(playerid,0xFF0041FF,"Der Spieler ist in keinem Auto.");
    SetVehicleHealth(vID,Float:vhealth);
    SendClientMessage(playerid,0x00FF1EFF,"Du hast das Auto des gewünschten Spielers repariert.");
    }
    else
    {
    SendClientMessage(playerid,0xFF0041FF,"Du bist kein Admin.");
    }



    return 1;
    }


    //sscanf


    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;
    }


    So müsste es gehen! Der lange Stock ist damit sscanf geht!


    LG
    petmax113