/heal Befehl geht nicht richtig

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
  • if(strcmp(cmd, "/heal", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /heal [ID/NAME] [Preis]");
    return 1;
    }
    moneys = strval(tmp);
    if(moneys < 1 || moneys > 1000) { SendClientMessage(playerid, COLOR_GREY, " Behandlungspreis nicht weniger als: 1€ und höher als 3000€ !"); return 1; }
    if (giveplayerid == playerid)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du kannst dich leider nicht selber Heilen!");
    return 1;
    }
    if (IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new giveambu = GetPlayerVehicleID(giveplayerid);
    new playambu = GetPlayerVehicleID(playerid);
    if(gTeam[playerid] == TEAM_CYAN || PlayerInfo[playerid][pMember]== 4||PlayerInfo[playerid][pLeader] == 4 )//model
    {
    if (IsAnAmbulance(playambu) && playambu == giveambu)
    {
    new Float:tempheal;
    GetPlayerHealth(giveplayerid,tempheal);
    if(tempheal >= 160)
    {
    SendClientMessage(playerid, TEAM_GREEN_COLOR," Diese Person ist schon Geheilt.");
    return 1;
    }
    format(string, sizeof(string), "~y~Du heilst: ~n~~w~%s~n~~g~€%d", giveplayer,moneys);
    GameTextForPlayer(playerid, string, 5000, 1);
    GivePlayerMoney(playerid,moneys);
    GivePlayerMoney(giveplayerid,-moneys);
    new hp = 0;
    if(PlayerInfo[playerid][pPainPerk] > 0)
    {
    hp = 20 * PlayerInfo[playerid][pPainPerk];
    hp += 100;
    SetPlayerHealth(giveplayerid, hp);
    }
    else
    {
    hp = 100;
    SetPlayerHealth(giveplayerid, 100);
    }
    PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0);
    PlayerPlaySound(giveplayerid, 1150, 0.0, 0.0, 0.0);
    format(string, sizeof(string), "Du wurdest für €%d geheilt.",moneys);
    SendClientMessage(giveplayerid, TEAM_GREEN_COLOR,string);
    if(STDPlayer[giveplayerid] > 0)
    {
    STDPlayer[giveplayerid] = 0;
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "* Du bist nun nicht mehr an STD erkrankt. Die Ärzte konnten dich retten! !");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Nicht im Rettungswagen / Rettungshelikopter!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du darfst diesen Befehl nicht benutzen !");
    return 1;
    }
    }
    }
    else
    {
    format(string, sizeof(string), " %d ist kein aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }


    Wenn ich /heal mache und jemanden healen will kommt 564 ist kein Aktiver spieler und so was...

  • if (!IsPlayerConnected(giveplayerid))


    Hier kommt nen ! davor.. -.-


    Nein, da der den ausführenden code in der if abfrage hat.

    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • Was hast du den hier gemacht:

    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /heal [ID/NAME] [Preis]");
    return 1;
    }
    moneys = strval(tmp);


    versuch es mal mit dcmd , ocmd oder zcmd.


    MFG Piet

  • //-----------------------------------[HEAL]-------------------------------------------------------------------------
    if(strcmp(cmd, "/heal", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new location = PlayerInfo[playerid][pLocal];
    if(!strlen(tmp))
    {
    if(location != 255)
    {
    if(location < 255)
    {
    if(HouseInfo[location][hArm] == 1)
    {
    format(string, sizeof(string), "* %s legt die Schutzweste an.", sendername);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    FreezePlayer(playerid);
    GetPlayerPos(playerid, Unspec[playerid][sPx], Unspec[playerid][sPy], Unspec[playerid][sPz]);
    Unspec[playerid][sPint] = PlayerInfo[playerid][pInt];
    Unspec[playerid][sLocal] = PlayerInfo[playerid][pLocal];
    SetPlayerPos(playerid,1527.5,-12.1,1002.0);
    PlayerInfo[playerid][pLocal] = 255;
    SetPlayerInterior(playerid,99);
    Spectate[playerid] = 257;
    }
    else
    {
    format(string, sizeof(string), "Dieser Ort hat keine Upgrades.");
    SendClientMessage(playerid, TEAM_GREEN_COLOR,string);
    }
    if(HouseInfo[location][hHel] == 1)
    {
    new Float:tempheal;
    GetPlayerHealth(playerid,tempheal);
    if ( tempheal < 100.0)
    {
    SetPlayerHealth(playerid,100.0);
    PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0);
    format(string, sizeof(string), "Du wurdest wieder zu 100% geheilt.");
    SendClientMessage(playerid, TEAM_GREEN_COLOR,string);
    }
    else
    {
    SendClientMessage(playerid, TEAM_GREEN_COLOR,"Du wurdest wieder zu 100% geheilt.");
    }
    }
    else
    {
    format(string, sizeof(string), "Dieser Ort ist nicht zum Healing Upgrade.");
    SendClientMessage(playerid, TEAM_GREEN_COLOR,string);
    }
    return 1;
    }
    else if(location == 101)//Restaurant
    {
    new Float:tempheal;
    GetPlayerHealth(playerid,tempheal);
    if ( tempheal < 100.0)
    {
    SetPlayerHealth(playerid,100.0);
    PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0);
    format(string, sizeof(string), "Du wurdest wieder zu 100% geheilt.");
    SendClientMessage(playerid, TEAM_GREEN_COLOR,string);
    }
    else
    {
    SendClientMessage(playerid, TEAM_GREEN_COLOR,"You are already healed to 100.");
    }
    }
    else if(location == 102 && IsACop(playerid))//Police Armoury
    {
    SetPlayerHealth(playerid,100.0);
    SetPlayerArmour(playerid,100.0);
    format(string, sizeof(string), "* %s legt die Schutzweste an.", sendername);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    FreezePlayer(playerid);
    GetPlayerPos(playerid, Unspec[playerid][sPx], Unspec[playerid][sPy], Unspec[playerid][sPz]);
    Unspec[playerid][sPint] = PlayerInfo[playerid][pInt];
    Unspec[playerid][sLocal] = PlayerInfo[playerid][pLocal];
    SetPlayerPos(playerid,1527.5,-12.1,1002.0);
    PlayerInfo[playerid][pLocal] = 255;
    SetPlayerInterior(playerid,99);
    Spectate[playerid] = 257;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /heal [ID/NAME] [Preis]");
    return 1;
    }
    }
    giveplayerid = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /heal [ID/NAME] [Preis]");
    return 1;
    }
    moneys = strval(tmp);
    if(moneys < 1 || moneys > 1000) { SendClientMessage(playerid, COLOR_GREY, " Behandlungspreis nicht weniger als: 1$ und höher als 3000$ !"); return 1; }
    if (giveplayerid == playerid)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du kannst dich leider nicht selber Heilen!");
    return 1;
    }
    if (IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new giveambu = GetPlayerVehicleID(giveplayerid);
    new playambu = GetPlayerVehicleID(playerid);
    if(gTeam[playerid] == TEAM_CYAN || PlayerInfo[playerid][pMember]== 4||PlayerInfo[playerid][pLeader] == 4 )//model
    {
    if (IsAnAmbulance(playambu) && playambu == giveambu)
    {
    new Float:tempheal;
    GetPlayerHealth(giveplayerid,tempheal);
    if(tempheal >= 160)
    {
    SendClientMessage(playerid, TEAM_GREEN_COLOR," Diese Person ist schon Geheilt.");
    return 1;
    }
    format(string, sizeof(string), "~y~Du heilst: ~n~~w~%s~n~~g~$%d", giveplayer,moneys);
    GameTextForPlayer(playerid, string, 5000, 1);
    GivePlayerMoney(playerid,moneys);
    GivePlayerMoney(giveplayerid,-moneys);
    new hp = 0;
    if(PlayerInfo[playerid][pPainPerk] > 0)
    {
    hp = 20 * PlayerInfo[playerid][pPainPerk];
    hp += 100;
    SetPlayerHealth(giveplayerid, hp);
    }
    else
    {
    hp = 100;
    SetPlayerHealth(giveplayerid, 100);
    }
    PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0);
    PlayerPlaySound(giveplayerid, 1150, 0.0, 0.0, 0.0);
    format(string, sizeof(string), "Du wurdest für $%d geheilt.",moneys);
    SendClientMessage(giveplayerid, TEAM_GREEN_COLOR,string);
    if(STDPlayer[giveplayerid] > 0)
    {
    STDPlayer[giveplayerid] = 0;
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "* Du bist nun nicht mehr an STD erkrankt. Die Ärzte konnten dich retten! !");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Nicht im Rettungswagen / Rettungshelikopter!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du darfst diesen Befehl nicht benutzen !");
    return 1;
    }
    }
    }
    else
    {
    format(string, sizeof(string), " %d ist kein aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }


  • ähm ich meine eig. den /heal befehl für die medics...