Nächstes Problem mit Pawn

  • Nächstes Problem mit Pawn

    Yo heute habe ich mit mal an die DCMD-Befehle gemacht und alles reingemacht.
    Ich bekomme diese Fehler:

    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(125) : error 004: function "dcmd_heal" is not implemented
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(148) : error 055: start of function body without function header
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(150) : error 010: invalid function or declaration
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(153) : error 010: invalid function or declaration
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(159) : error 010: invalid function or declaration
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(165) : error 010: invalid function or declaration
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(249) : warning 203: symbol is never used: "i"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    Quelltext:


    //Includes
    #include
    //Farben
    #define GELB 0xFFE600FF
    #define ROT 0xC30000FF
    #define ORANGE 0xFFF000FF
    #define ROSA 0xFF0073FF
    #define GRÜN 0x00FF00FF
    #define BLAU 0x0023FFFF
    #define TÜRKIS 0x00FFFAFF
    #define LILA 0xF000FFFF
    #define SCHWARZ 0x050000FF
    #define WEISS 0xF0F0F0FF

    //Variablen
    new Variable = 1, Varileer;
    new waffenp;
    new array[5];
    new BSNein, BSNaus;

    //DCMD
    #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

    main()
    {
    print("\n----------------------------------");
    print(" Willkommen auf meinem Gamemode V.1.0");
    print("----------------------------------\n");
    }


    public OnGameModeInit()
    {
    DisableInteriorEnterExits();
    SetGameModeText("Einfacher Gamemode by Logan Adams v.1.0");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 31, 150, 0, 0, 0, 0);
    //Pickups
    waffenp = CreatePickup(1239, 2, 1203.9703,-922.2975,42.9772, -1);
    BSNein = CreatePickup(1239, 2,1199.3522,-919.9260,43.1091, -1);
    BSNaus = CreatePickup(1239, 2,362.9939,-75.2921,1001.5078, -1);
    //Autos
    AddStaticVehicleEx(420,1227.7639,-917.5938,42.6804,11.0669,-1,-1,60000); // Autos beim BSN
    //3D-Texte
    Create3DTextLabel("Willkommen am Spawnpunkt:\nBurgershot North",0xFFF000FF,1225.1832,-916.1227,42.9057+0.5,40.0,0);
    printf("%d",Variable);
    if(array[1] < array[2])
    {
    OnGameModeExit();
    }

    return 1;
    }

    public OnGameModeExit()
    {
    return 1;
    }

    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerVirtualWorld(playerid,1+playerid);
    SetPlayerPos(playerid, 1216.7814,-906.4591,48.0557);
    SetPlayerCameraPos(playerid,1227.5497,-904.1034,42.8983);
    SetPlayerCameraLookAt(playerid, 1225.2118,-904.4745,42.9024+1);
    return 1;
    }

    public OnPlayerRequestSpawn(playerid)
    {

    return 1;
    }

    public OnPlayerConnect(playerid)
    {
    new string[100];
    Varileer = 100;
    SendClientMessage(playerid,GELB," {141414}Willkommen {00D7FF}auf meinem Gamemode");
    format(string,sizeof(string),"Hier kommt die Zahl %d.",Varileer);
    SendClientMessage(playerid,ORANGE,string);
    return 1;
    }

    public OnPlayerDisconnect(playerid, reason)
    {
    SendClientMessage(playerid,0x004BFFFF," Tschöö");
    return 1;
    }

    public OnPlayerSpawn(playerid)
    {
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerPos(playerid,1225.1832,-916.1227,42.9057);
    SetPlayerFacingAngle(playerid,11.0060);
    return 1;
    }

    public OnPlayerDeath(playerid, killerid, reason)
    {
    SendClientMessage(playerid,ROT,"Du bist gestorben!Ein Artzt wird dich wieder zusammenflicken!");
    SetPlayerPos(playerid,2030.1937,-1414.7202,16.9922);
    SetPlayerFacingAngle(playerid,144.7118);
    return 1;
    }

    public OnVehicleSpawn(vehicleid)
    {
    return 1;
    }

    public OnVehicleDeath(vehicleid, killerid)
    {
    return 1;
    }

    public OnPlayerText(playerid, text[])
    {
    return 1;
    }



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    dcmd(heal,4,cmdtext);
    if (strcmp(" /help ", cmdtext, true, 10) == 0)
    {
    SendClientMessage(playerid,ROT," Gibts noch nicht ");
    return 1;
    }
    if (strcmp("/hp100",cmdtext, true, 10) == 0)
    {
    SetPlayerHealth(playerid,10000.0);
    SendClientMessage(playerid,ORANGE," Du Cheater! ");
    return 1;
    }
    if (strcmp("/telespawn",cmdtext, true, 10) == 0)
    {
    SetPlayerPos(playerid,1225.1832,-916.1227,42.9057);
    SendClientMessage(playerid,GRÜN," Du bist nun wieder am Spawnpunkt! ");
    return 1;
    }
    return 0;
    }

    //DCMD-Befehle:
    dcmd_heal(playerid,params[]);
    {
    new i;
    if(strlen(params))
    {
    i= strval(params);
    if(IsPlayerConnected(i))
    {
    SetPlayerHealth(i,100.0);
    SendClientMessage(i,GRÜN," Du wurdest erfolgreich geheilt! ");
    SendClientMessage(playerid,GRÜN," Du hast den Spieler erfolgreich geheilt! ");
    }
    else
    {
    SendClientMessage(playerid,ROT," Der Spieler wurde nicht gefunden! ");
    }
    }

    return 1;
    }

    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    return 1;
    }

    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    return 1;
    }

    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    return 1;
    }

    public OnPlayerEnterCheckpoint(playerid)
    {
    return 1;
    }

    public OnPlayerLeaveCheckpoint(playerid)
    {
    return 1;
    }

    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    return 1;
    }

    public OnPlayerLeaveRaceCheckpoint(playerid)
    {
    return 1;
    }

    public OnRconCommand(cmd[])
    {
    return 1;
    }

    public OnObjectMoved(objectid)
    {
    return 1;
    }

    public OnPlayerObjectMoved(playerid, objectid)
    {
    return 1;
    }

    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid==waffenp)
    {
    SendClientMessage(playerid,ROSA,"Hier ist deine Deagle!");
    GivePlayerWeapon(playerid,24,50);
    }
    if(pickupid==BSNein)
    {
    SetPlayerPos(playerid,364.0000,-74.2244,1001.5078);
    SetPlayerFacingAngle(playerid,295.8410);
    SetPlayerInterior(playerid,10);
    }
    if(pickupid==BSNaus)
    {
    SetPlayerPos(playerid,1198.6436,-922.6721,43.0340);
    SetPlayerFacingAngle(playerid,162.5094);
    SetPlayerInterior(playerid,0);
    }
    return 1;
    }

    public OnPlayerSelectedMenuRow(playerid, row)
    {
    return 1;
    }

    public OnPlayerExitedMenu(playerid)
    {
    return 1;
    }</a_samp>
  • [pwn]dcmd_heal(playerid,params[])
    {
    new pID;
    if(sscanf(params("u",pID)) return SendClientMessage(playerid, Farbe, "/heal [ID]");
    if(IsPlayerConnected(pID))
    {
    SetPlayerHealth(i,100.0);
    SendClientMessage(i,GRÜN," Du wurdest erfolgreich geheilt! ");
    SendClientMessage(playerid,GRÜN," Du hast den Spieler erfolgreich geheilt! ");
    }
    else
    {
    SendClientMessage(playerid,ROT," Der Spieler wurde nicht gefunden! ");
    }
    return 1;
    }[/pwn]

    So sollte es gehen.
    Du benötigst nun noch das sscanf-Code, findest du in meinem OCMD-Tutorial.
    "Das müsste jetzt funktionieren..."

    ---
    Mit freundlichen Grüßen,
    Vincent Petritz
  • Sag ich ja, aber warte, ich geb die dir direkt hier im Thread:
    [pwn]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;
    }
    [/pwn]
    "Das müsste jetzt funktionieren..."

    ---
    Mit freundlichen Grüßen,
    Vincent Petritz
  • So habe nun alles nach dir gemacht aber
    es kommen noch diese Fehler:

    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(150) : error 012: invalid function call, not a valid address
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(150) : warning 215: expression has no effect
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(150) : warning 215: expression has no effect
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(150) : error 001: expected token: ";", but found ")"
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(150) : error 029: invalid expression, assumed zero
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(150) : fatal error 107: too many error messages on one line

    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
  • Script:
    [pwn]
    //Includes
    #include <a_samp>
    //Farben
    #define GELB 0xFFE600FF
    #define ROT 0xC30000FF
    #define ORANGE 0xFFF000FF
    #define ROSA 0xFF0073FF
    #define GRÜN 0x00FF00FF
    #define BLAU 0x0023FFFF
    #define TÜRKIS 0x00FFFAFF
    #define LILA 0xF000FFFF
    #define SCHWARZ 0x050000FF
    #define WEISS 0xF0F0F0FF

    //Variablen
    new Variable = 1, Varileer;
    new waffenp;
    new array[5];
    new BSNein, BSNaus;

    //DCMD
    #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

    main()
    {
    print("\n----------------------------------");
    print(" Willkommen auf meinem Gamemode V.1.0");
    print("----------------------------------\n");
    }


    public OnGameModeInit()
    {
    DisableInteriorEnterExits();
    SetGameModeText("Einfacher Gamemode by Logan Adams v.1.0");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 31, 150, 0, 0, 0, 0);
    //Pickups
    waffenp = CreatePickup(1239, 2, 1203.9703,-922.2975,42.9772, -1);
    BSNein = CreatePickup(1239, 2,1199.3522,-919.9260,43.1091, -1);
    BSNaus = CreatePickup(1239, 2,362.9939,-75.2921,1001.5078, -1);
    //Autos
    AddStaticVehicleEx(420,1227.7639,-917.5938,42.6804,11.0669,-1,-1,60000); // Autos beim BSN
    //3D-Texte
    Create3DTextLabel("Willkommen am Spawnpunkt:\nBurgershot North",0xFFF000FF,1225.1832,-916.1227,42.9057+0.5,40.0,0);
    printf("%d",Variable);
    if(array[1] < array[2])
    {
    OnGameModeExit();
    }

    return 1;
    }

    public OnGameModeExit()
    {
    return 1;
    }

    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerVirtualWorld(playerid,1+playerid);
    SetPlayerPos(playerid, 1216.7814,-906.4591,48.0557);
    SetPlayerCameraPos(playerid,1227.5497,-904.1034,42.8983);
    SetPlayerCameraLookAt(playerid, 1225.2118,-904.4745,42.9024+1);
    return 1;
    }

    public OnPlayerRequestSpawn(playerid)
    {

    return 1;
    }

    public OnPlayerConnect(playerid)
    {
    new string[100];
    Varileer = 100;
    SendClientMessage(playerid,GELB," {141414}Willkommen {00D7FF}auf meinem Gamemode");
    format(string,sizeof(string),"Hier kommt die Zahl %d.",Varileer);
    SendClientMessage(playerid,ORANGE,string);
    return 1;
    }

    public OnPlayerDisconnect(playerid, reason)
    {
    SendClientMessage(playerid,0x004BFFFF," Tschöö");
    return 1;
    }

    public OnPlayerSpawn(playerid)
    {
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerPos(playerid,1225.1832,-916.1227,42.9057);
    SetPlayerFacingAngle(playerid,11.0060);
    return 1;
    }

    public OnPlayerDeath(playerid, killerid, reason)
    {
    SendClientMessage(playerid,ROT,"Du bist gestorben!Ein Artzt wird dich wieder zusammenflicken!");
    SetPlayerPos(playerid,2030.1937,-1414.7202,16.9922);
    SetPlayerFacingAngle(playerid,144.7118);
    return 1;
    }

    public OnVehicleSpawn(vehicleid)
    {
    return 1;
    }

    public OnVehicleDeath(vehicleid, killerid)
    {
    return 1;
    }

    public OnPlayerText(playerid, text[])
    {
    return 1;
    }



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    dcmd(heal,4, cmdtext );
    if (strcmp(" /help ", cmdtext, true, 10) == 0)
    {
    SendClientMessage(playerid,ROT," Gibts noch nicht ");
    return 1;
    }
    if (strcmp("/hp100",cmdtext, true, 10) == 0)
    {
    SetPlayerHealth(playerid,10000.0);
    SendClientMessage(playerid,ORANGE," Du Cheater! ");
    return 1;
    }
    if (strcmp("/telespawn",cmdtext, true, 10) == 0)
    {
    SetPlayerPos(playerid,1225.1832,-916.1227,42.9057);
    SendClientMessage(playerid,GRÜN," Du bist nun wieder am Spawnpunkt! ");
    return 1;
    }
    return 0;
    }

    //DCMD-Befehle:
    dcmd_heal(playerid,params[])
    {
    new pID;
    if(sscanf(params("u",pID)) return SendClientMessage(playerid, Farbe, "/heal [ID]");
    if(IsPlayerConnected(pID))
    {
    SetPlayerHealth(i,100.0);
    SendClientMessage(i,GRÜN," Du wurdest erfolgreich geheilt! ");
    SendClientMessage(playerid,GRÜN," Du hast den Spieler erfolgreich geheilt! ");
    }
    else
    {
    SendClientMessage(playerid,ROT," Der Spieler wurde nicht gefunden! ");
    }
    return 1;
    }
    }

    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    return 1;
    }

    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    return 1;
    }

    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    return 1;
    }

    public OnPlayerEnterCheckpoint(playerid)
    {
    return 1;
    }

    public OnPlayerLeaveCheckpoint(playerid)
    {
    return 1;
    }

    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    return 1;
    }

    public OnPlayerLeaveRaceCheckpoint(playerid)
    {
    return 1;
    }

    public OnRconCommand(cmd[])
    {
    return 1;
    }

    public OnObjectMoved(objectid)
    {
    return 1;
    }

    public OnPlayerObjectMoved(playerid, objectid)
    {
    return 1;
    }

    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid==waffenp)
    {
    SendClientMessage(playerid,ROSA,"Hier ist deine Deagle!");
    GivePlayerWeapon(playerid,24,50);
    }
    if(pickupid==BSNein)
    {
    SetPlayerPos(playerid,364.0000,-74.2244,1001.5078);
    SetPlayerFacingAngle(playerid,295.8410);
    SetPlayerInterior(playerid,10);
    }
    if(pickupid==BSNaus)
    {
    SetPlayerPos(playerid,1198.6436,-922.6721,43.0340);
    SetPlayerFacingAngle(playerid,162.5094);
    SetPlayerInterior(playerid,0);
    }
    return 1;
    }

    public OnPlayerSelectedMenuRow(playerid, row)
    {
    return 1;
    }

    public OnPlayerExitedMenu(playerid)
    {
    return 1;
    }

    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;
    }[/pwn]

    Fehlercode:


    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(150) : error 012: invalid function call, not a valid address
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(150) : warning 215: expression has no effect
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(150) : warning 215: expression has no effect
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(150) : error 001: expected token: ";", but found ")"
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(150) : error 029: invalid expression, assumed zero
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(150) : fatal error 107: too many error messages on one line
  • Immernoch diese Fehler:

    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(150) : error 017: undefined symbol "Farbe"
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(153) : error 017: undefined symbol "i"
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(154) : error 017: undefined symbol "i"
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(163) : error 054: unmatched closing brace ("}")
  • Sorry, kommt von meiner schlampigkeit:
    [pwn]dcmd_heal(playerid,params[])
    {
    new pID;
    if(sscanf(params("u",pID)) return SendClientMessage(playerid, Farbe, "/heal [ID]");
    if(IsPlayerConnected(pID))
    {
    SetPlayerHealth(pID,100.0);
    SendClientMessage(pID,GRÜN," Du wurdest erfolgreich geheilt! ");
    SendClientMessage(playerid,GRÜN," Du hast den Spieler erfolgreich geheilt! ");
    }
    else
    {
    SendClientMessage(playerid,ROT," Der Spieler wurde nicht gefunden! ");
    }
    return 1;
    }[/pwn]
    "Das müsste jetzt funktionieren..."

    ---
    Mit freundlichen Grüßen,
    Vincent Petritz
  • Ich blick solangsam gar nicht mehr duch.
    Habe das wieder von deinem neuen ersetzt dohc wieder:


    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(150) : error 012: invalid function call, not a valid address
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(150) : warning 215: expression has no effect
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(150) : warning 215: expression has no effect
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(150) : error 001: expected token: ";", but found ")"
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(150) : error 029: invalid expression, assumed zero
    C:\Users\McBastad's\Desktop\SAMP-Windows-Pack\gamemodes\Reallife4Fun.pwn(150) : fatal error 107: too many error messages on one line
  • [pwn]dcmd_heal(playerid, params[])
    {
    new pID;
    if(sscanf(params, "u", pID)) return SendClientMessage(playerid, Farbe, "/heal [ID]");
    if(IsPlayerConnected(pID))
    {
    SetPlayerHealth(pID, 100);
    SendClientMessage(pID,GRÜN," Du wurdest erfolgreich geheilt! ");
    SendClientMessage(playerid,GRÜN," Du hast den Spieler erfolgreich geheilt! ");
    }
    else { SendClientMessage(playerid, Farbe, "Der Spieler ist nicht online!");
    }
    return 1;
    }[/pwn]

    Das muss gehen jetzt ... :|
    Sorry, bin gerade selbst erschrocken von mir.
    "Das müsste jetzt funktionieren..."

    ---
    Mit freundlichen Grüßen,
    Vincent Petritz
  • Das selbe hat Vincent auch oben gesagt, also bitte.

    Was mir aber auffällt ist, dass du irwie nie aus den Fehlern lernst oder?
    Wie wäre es mal vorher die Sachen zu übersetzen, dann verstehst du es vielleicht, klar es hier ein Support Forum wenns um solche Dinge geht, dennoch sollte man mal selber zusehn wie man klar kommt.

    #close