Brauche Hilfe

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
  • Hallo ich habe ein problem bei mir wird immer dieser Error Angzeigt:\Users\Dome\Desktop\scripts\ByDome2011.pwn(204) : error 017: undefined symbol "sscanf"
    C:\Users\Dome\Desktop\scripts\ByDome2011.pwn(225) : error 017: undefined symbol "sscanf"
    C:\Users\Dome\Desktop\scripts\ByDome2011.pwn(247) : error 017: undefined symbol "sscanf"
    C:\Users\Dome\Desktop\scripts\ByDome2011.pwn(312) : error 017: undefined symbol "sscanf"
    C:\Users\Dome\Desktop\scripts\ByDome2011.pwn(323) : error 017: undefined symbol "sscanf"
    C:\Users\Dome\Desktop\scripts\ByDome2011.pwn(334) : error 017: undefined symbol "sscanf"


    Hier die Zeilen
    Zeile 204
    ocmd:f(playerid,params[])
    {
    new text[128];
    if(sscanf(params,"s",text))return SendClientMessage(playerid,ROT,"/f [text]");
    format(text,sizeof(text),"Member %s: %s",SpielerName(playerid),text);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerInFrakt(i,GetPVarInt(playerid,"Fraktion")))
    {
    SendClientMessage(i,BLAU,text);
    }
    }
    }
    return 1;
    }


    Zeile 225
    ocmd:o(playerid,params[])
    {
    new string[120],text[111];
    if(!isPlayerAnAdmin(playerid,1))
    {
    return SendClientMessage(playerid,BLAU,"Du bist kein Admin");
    }
    if(sscanf(params,"s",text))
    {
    return SendClientMessage(playerid,BLAU,"Benutzung: /o [text]");
    }
    format(string,sizeof(string),"|OOC|Admin %s: %s",SpielerName(playerid),text);
    SendClientMessageToAll(BLAU,string);
    return 1;
    }


    Zeile 247
    ocmd:makeleader(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid,ROT,"Du bist kein Admin der diesen Befehl ausführen kann."); new pID, fraktname;
    if(sscanf(params,"ui",pID,fraktname))return SendClientMessage(playerid,ROT,"/makeleader [Name/ID] [FraktionsID]");
    if(fraktname<0||fraktname>19)return SendClientMessage(playerid,ROT,"Bitte gültige Fraktion angeben."); SetPVarInt(pID,"Fraktion",fraktname);
    SetPVarInt(pID,"Leader",fraktname);
    switch(fraktname)
    {
    case 0:{SetPlayerSkin(pID,26);SendClientMessage(pID,BLAU,"** Dir wurden deine Rechte als Leader entzogen! **");}
    case 1:{SetPlayerSkin(pID,280);SendClientMessage(pID,BLAU,"** Du wurdest zum Leader des LSPD ernannt! **");}
    case 2:{SetPlayerSkin(pID,274);SendClientMessage(pID,BLAU,"** Du wurdest zum Medic ernannt! **");}
    case 3:{SetPlayerSkin(pID,277);SendClientMessage(pID,BLAU,"** Du wurdest zum Feuerwehr ernannt! **");}
    case 4:{SetPlayerSkin(pID,275);SendClientMessage(pID,BLAU,"** Du wurdest zum Ballas ernannt! **");}
    case 5:{SetPlayerSkin(pID,115);SendClientMessage(pID,BLAU,"** Du wurdest zum Streetsytle ernannt! **");}
    case 6:{SetPlayerSkin(pID,164);SendClientMessage(pID,BLAU,"** Du wurdest zum Taxi ernannt! **");}
    }
    SpielerSpeichern(pID);
    SetPlayerSkin(playerid,GetPlayerSkin(playerid));
    return 1;
    }


    Könnt ihr mir Villt Helfen?

  • Du willst die sscanf Funktion benutzen, hast aber die Include nich verwendet :)
    Mach oben unter#include mal#include </a_samp>

    Ja ich weiß Finde dafür aber die Include nicht
    Kannst du mir villt den Download Link Schicken?

  • Möchtes du SSCanf V2 eigentlich nutzen ? Mit dem Plugin.
    Oder eher das alte was man im Script einkopiert ?




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

    RFT