Hab problem mit ocmd

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • also es geht um admin auto spawning befehl da gibts ein problem


    D:\Rockstar Games\GTA SAN ANDREAS\GTforceReallifeServer\gamemodes\gfrl.pwn(144) : error 017: undefined symbol "sscanf"



    ocmd:auto(playerid, params[])
    {
    new Auto, Autonummer, Float:X, Float:Y, Float:Z, Float:F, Farbe1, Farbe2;
    if(sscanf(params, "ddd", Autonummer, Farbe1, Farbe2))return SendClientMessage(playerid, Rot, "Der Befehl lautet: /auto [Autonummer] [Farbe1] [Farbe2]");
    if(Autonummer > 611 || Autonummer < 400)return SendClientMessage(playerid, Rot, "Diese Autonummer existiert nicht!");
    if(Farbe1 > 126 || Farbe1 < 0 || Farbe2 > 126 || Farbe2 < 0)return SendClientMessage(playerid, Rot, "Diese Wagenfarbe existiert nicht!");
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, F);
    Auto = AddStaticVehicleEx(Autonummer, X, Y, Z, F, Farbe1, Farbe2, -1);
    PutPlayerInVehicle(playerid, Auto, 0);
    return 1;
    }


    hab auch das neuste ocmd.inc weiß einer den problem

  • Der Fehler hat nichts mit OCMD zu tun.
    Antwort obiger Frage wäre nicht schlecht.



    MFG

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • also ich habe mir das sscanf include geholt aber meine include hieß sscanf2.inc d.h. ich msuste auch #include<sscanf2> machen damit es ging ist es nicht definiert oben richtig also richtig includet bekommst du die fehler meldung die oben beschrieben wird

  • IN der Server.cfg unter Plugins eingetragen :D ?

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • füg das in deinen script ganz unten ein, dann sollte es gehen:


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



    //edit
    eingefügt in pwn

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Das sind Funktionen die nicht standart gemäß von SA-MP eingefügt sind. Diese könntest du über einen stock erstellen. Beispiel dafür wäre:

    stock IsPlayerInFrac(playerid, fid)
    {
    if(PlayerInfo[playerid][pFraktion] == fid)return 1;
    return 0;
    }


    Wenn der Spieler in der angegebenen Fraktion ist, wird 1 bzw. true returnt. Wenn nicht wird 0 bzw. false returnt. ;)