/heal problem

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
  • Huhu Liebe Brotfishe ;)
    Und zwar möchte ich einen Befehl mach , mit dem der Medic jemanden healen kann.
    Und dann nur 4 mal Pro "lebenszeit".
    Heißt wenn er tot ist und respawnt kann er wieder 4 mal healen.
    Jo hab mal was probiert 4 errors :D


    if (strcmp("/heal", cmdtext, true, 10) == 0)
    {
    if(GetPlayerSkin(playerid) == 124 || GetPlayerSkin(playerid) == 274) {
    if(healed[playerid] > 4) return SendClientMessage(playerid,weiß,"Du hast keine Medicboxen mehr!");


    healed[playerid]++;
    SetPlayerHealth(pID,100);
    }
    return 1;
    }


    C:\Programme\Rockstar Games\Reallife\gamemodes\Counterstrike.pwn(232) : error 017: undefined symbol "healed"
    C:\Programme\Rockstar Games\Reallife\gamemodes\Counterstrike.pwn(232) : warning 215: expression has no effect
    C:\Programme\Rockstar Games\Reallife\gamemodes\Counterstrike.pwn(232) : error 001: expected token: ";", but found "]"
    C:\Programme\Rockstar Games\Reallife\gamemodes\Counterstrike.pwn(232) : error 029: invalid expression, assumed zero
    C:\Programme\Rockstar Games\Reallife\gamemodes\Counterstrike.pwn(232) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

  • Jo habs gerade gesehen , schon done , bin nun soweit.


    if (strcmp("/heal", cmdtext, true, 10) == 0)
    {
    if(GetPlayerSkin(playerid) == 124 || GetPlayerSkin(playerid) == 274) {
    if(healed[playerid] > 4) return SendClientMessage(playerid,weiß,"Du hast keine Medicboxen mehr!");
    healed[playerid]++;
    SetPlayerHealth(pID,100);
    }
    return 1;
    }



    C:\Programme\Rockstar Games\Reallife\gamemodes\Counterstrike.pwn(233) : error 017: undefined symbol "pID"

  • Ich würde dir zu OCMD + SSCANF raten.
    Ist einfach einzufügen.
    OCMD Include suchen. ( Klick )
    SSCANF Code suchen. ( Klick )


    Dann einfach so ca.:

    ocmd:heal(playerid, params[])
    {
    new money, pID;
    if(sscanf(params,"ii", pID, money))return SendClientMessage(playerid, farbe, "Benutze: /heal ID Preis");
    if(GetPlayerSkin(playerid) != 124 || GetPlayerSkin(playerid) != 274)return SendClientMessage(playerid, farbe, "Du brauchst den Medic-Skin.");
    if(money < 0 || money > 1000)return SendClientMessage(playerid, farbe, "Preis nicht unter 0 oder über 1000!");
    if(GetPlayerMoney(pID) < money)return SendClientMessage(playerid, farbe, "Der Spieler hat nicht genug Geld.");
    new sendername[MAX_PLAYER_NAME];
    new giveplayer[MAX_PLAYER_NAME];
    GetPlayerName(playerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(pID, sendername ,sizeof(sendername));
    format(string, sizeof(string), "Du wurdest von Medic %s geheilt für $%d.", giveplayer, money);
    SendClientMessage(pID, farbe, string);
    format(string ,sizeof(string), "Du hast %s für $%d geheilt.", sendername, money);
    SendClientMessage(playerid, farbe, string);
    SetPlayerHealth(pID, 100);
    return 1;
    }


    Sollte so gehn. :)


    //edit


    Pwn-code vergessen. :rolleyes: