Beiträge von theTV

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums

    Niemand?


    meinst du sowas?

    Spoiler anzeigen


    ocmd:saveauto(playerid,params[])
    {
    new Autodatei[64];
    new Float:x,Float:y,Float:z,Float:rotation;
    new vehicle=GetPlayerVehicleID(playerid);
    new vehicleid=GetVehicleModel(vehicle);
    GetPlayerPos(playerid,x,y,z);
    GetVehicleZAngle(vehicle,rotation);
    format(Autodatei,sizeof(Autodatei),"/Autos/%d.dat",vehicleid);
    if(dini_Exists(Autodatei))
    {
    dini_IntSet(Autodatei,"Modelid",vehicleid);
    dini_FloatSet(Autodatei,"x_pos",x);
    dini_FloatSet(Autodatei,"y_pos",y);
    dini_FloatSet(Autodatei,"z_pos",z);
    dini_FloatSet(Autodatei,"Rotation",rotation);
    }
    else
    {
    dini_Create(Autodatei);
    dini_IntSet(Autodatei,"Modelid",vehicleid);
    dini_FloatSet(Autodatei,"x_pos",x);
    dini_FloatSet(Autodatei,"y_pos",y);
    dini_FloatSet(Autodatei,"z_pos",z);
    dini_FloatSet(Autodatei,"Rotation",rotation);
    }

    SendClientMessage(playerid,-1,"Auto erfolgreich gespeichert");
    return 1;
    }
    stock AutoLaden()
    {
    new Autodatei[64];
    for(new i=0;i<612;i++)
    {
    new CAR;
    new Float:X, Float:Y, Float:Z,Float:R;
    format(Autodatei,sizeof(Autodatei),"/Autos/%d.dat",i);
    CAR=dini_Int(Autodatei,"Modelid");
    X=dini_Float(Autodatei,"x_pos");
    Y=dini_Float(Autodatei,"y_pos");
    Z=dini_Float(Autodatei,"z_pos");
    R=dini_Float(Autodatei,"Rotation");
    CreateVehicle(i,X,Y,Z,R,-1,-1,-1);
    }
    return 1;
    }

    manno ...... Leute Köpfchen anstrengen! Ist das so schwer?
    if(strcmp(cmd, "/orten", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(!IsACop(playerid))
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Polizist!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /orten [Spieler ID]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(giveplayerid, X,Y,Z);
    SetPlayerCheckpoint(playerid, X,Y,Z, 6);
    SetTimerEx("OrtenUpdate",1000,1,"ii",playerid,giveplayerid);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Falsche ID!");
    }
    }
    return 1;
    }

    (playerid, Float:x, Float:y, Float:z, Float:size)


    playerid The ID of the player to set the checkpoint of
    Float:x The X coordinate to set the checkpoint at
    Float:y The Y coordinate to set the checkpoint at
    Float:z The Z coordinate to set the checkpoint at
    Float:size The size of the checkpoint

    bsp.:
    SetTimerEx("OrtenUpdate",1000,1,"ii",playerid,giveplayerid);


    forward OrtenUpdate(playerid,giveplayerid);
    public OrtenUpdate(playerid,giveplayerid)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(giveplayerid, X,Y,Z);
    SetPlayerCheckpoint(playerid, X,Y,Z, 6);
    return 1;
    }


    if(!strcmp("/stats", cmdtext, true))
    {
    new string[128],name[24];
    GetPlayerName(playerid,name,24);
    format(string,sizeof(string),"Name: %s\nLevel: %d\nMoney: %d\nPing: %d\nAdminlevel: %d",name,GetPlayerScore(playerid),GetPlayerMoney(playerid),GetPlayerPing(playerid),GetPVarInt(playerid,"Adminlevel")); // i% zu %d und ein Komma hinzugefügt
    ShowPlayerDialog(playerid,STATS,DIALOG_STYLE_MSGBOX,"Deine Statistik",string,"OK","");
    return 1;
    }

    Genau so funktioniert er bei mir:

    ocmd:kick(playerid,params[])
    {
    new pID, reason[128],str[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,blau,"/kick [id] [grund]");
    if(pID==playerid)return SendClientMessage(playerid,blau,"Du kannst dich nicht selber kicken");
    format(str,sizeof(str),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(rot,str);
    Kick(pID);
    return 1;
    }


    Falls du kein sscanf hast hier der stock:

    Spoiler anzeigen

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

    einfach unten in den Gamemode einfügen

    Zitat


    SetPlayerAttachedObject(playerid,0,1550,1,0.070999,-0.285000,0.016999,3.200000,84.000015,0.699999,0.913000,0.907999,0.778000);


    Probier mal.

    enum kasse // ich habe ; entfernt
    {
    1, //LSPD
    2, //FBI
    3, //Bundeswehr
    4, //Ordnungamt
    5, //News
    6, //Medic
    7, //Fahrschule
    8, //Staat
    9, //Terrioristen
    10, //Hitman
    11, //Wheelman
    12, //Yakuza
    13, //La Cosa Nostra
    14, //Grove Street
    15 //Ballas
    }; // habe ; hinzugefügt

    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Bitte geben Sie ihr gewünschtes Passwort an:","Registrieren";"Abbrechen");


    ich hab ; zu , gemacht.

    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Bitte geben Sie ihr gewünschtes Passwort an:","Registrieren","Abbrechen");