Jump to content
  • 0

Question

Posted

Salut , am un bug la comanda /heal , cand dau sa o utilizez imi spune ca mi-am pus armura dar de fapt nu este pusa , iar cand dau /heal intr-o casa imi pune armura . Tin sa precizez ca sunt in factiune ( PD , FBI , NG ), uitati comanda /heal

http://pastebin.com/d1B4R2qh

3 answers to this question

Recommended Posts

  • 0
Posted

intr-o casa , este normal sa iti dea heal cu armura cu tot (daca esti in departament) , uite o comanda facuta pentru server-ul meu , poate gasesti ce ai nevoie : 

 

//-----------------------------------[HEAL]-------------------------------------------------------------------------
    if(strcmp(cmd, "/heal", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            GetPlayerName(playerid, sendername, sizeof(sendername));
            new location = PlayerInfo[playerid][pLocal];
            new virtualworld = PlayerInfo[playerid][pVirWorld];
            if(!strlen(tmp))
            {
                if(location != 255 || virtualworld != 255)
                {
                    if(location < 199)
                    {
                        if(PlayerInfo[playerid][pInt] == 1 && PlayerInfo[playerid][pLocal] == 99 || PlayerInfo[playerid][pInt] == 0 && PlayerInfo[playerid][pLocal] == 103){ return 1;} //PlayerInfo[playerid][pInt] == 0 && PlayerInfo[playerid][pLocal] == 100
                        if(HouseInfo[location][hArm] == 1 && IsACop(playerid))
                        {
                            format(string, sizeof(string), "* %s puts on body armour.", sendername);
                            ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                            SetPlayerArmour(playerid, 100.0);
                        }
                        else
                        {
                            format(string, sizeof(string), "This place does not have armour 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), "You have been healed to 100 health.");
                                SendClientMessage(playerid, TEAM_GREEN_COLOR,string);
                            }
                            else
                            {
                                SendClientMessage(playerid, TEAM_GREEN_COLOR,"You are already healed to 100.");
                            }
                        }
                        else
                        {
                            format(string, sizeof(string), "This place does not have healing upgrades.");
                            SendClientMessage(playerid, TEAM_GREEN_COLOR,string);
                        }
                        return 1;
                    }
                    if(PlayerInfo[playerid][pJailed] == 1)
                    {
                       SendClientMessage(playerid,COLOR_GREY,"   You can`t use this command, you are in jail !");
                       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), "You have been healed to 100 health.");
                            SendClientMessage(playerid, TEAM_GREEN_COLOR,string);
                        }
                        else
                        {
                            SendClientMessage(playerid, TEAM_GREEN_COLOR,"You are already healed to 100.");
                        }
                    }
                    else if(virtualworld == 400 || virtualworld == 401 || virtualworld == 402 || virtualworld == 403 || virtualworld == 404 || virtualworld == 405 || virtualworld == 406)//training
                    {
                        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), "You have been healed to 100 health.");
                            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);
                        format(string, sizeof(string), "* %s puts on body armour.", sendername);
                        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                        TogglePlayerControllable(playerid, 0);
                        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, "USAGE: /heal [playerid/PartOfName] [price]");
                    return 1;
                }
            }
            giveplayerid = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /heal [playerid/PartOfName] [price]");
                return 1;
            }
            moneys = strval(tmp);
            if(moneys < 1 || moneys > 100) { SendClientMessage(playerid, COLOR_GREY, "   Healing price not below 1 or above 100 !"); return 1; }
            if (giveplayerid == playerid)
            {
                SendClientMessage(playerid, COLOR_GRAD1, "   You can not heal yourself!");
                return 1;
            }
            if (IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
                    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 >= 100.0)
                            {
                                SendClientMessage(playerid, TEAM_GREEN_COLOR,"   That person is fully healed.");
                                return 1;
                            }
                            if(GetPlayerMoney(giveplayerid) < moneys)
                            {
                                SendClientMessage(playerid, TEAM_GREEN_COLOR,"   That player don`t have money.");
                                return 1;
                            }
                            if(WantedLevel[giveplayerid] >= 1)
                            {
                                SendClientMessage(playerid,COLOR_GREY,"   You can`t heal this player !");
                                return 1;
                            }
                            format(string, sizeof(string), "~y~You healed ~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), "You have been healed to %d health -$%d",hp,moneys);
                            SendClientMessage(giveplayerid, TEAM_GREEN_COLOR,string);
                            if(STDPlayer[giveplayerid] > 0)
                            {
                                STDPlayer[giveplayerid] = 0;
                                SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "* You are no longer infected with a STD anymore because of the Medics help !");
                            }
                        }
                        else if(PlayerInfo[playerid][pKit] > 0 && !IsAnAmbulance(playambu))
                        {
                            new Float:tempheal;
                            GetPlayerHealth(giveplayerid,tempheal);
                            if(tempheal >= 100.0)
                            {
                                SendClientMessage(playerid, TEAM_GREEN_COLOR,"   That person is fully healed.");
                                return 1;
                            }
                            if(GetPlayerMoney(giveplayerid) < moneys)
                            {
                                SendClientMessage(playerid, TEAM_GREEN_COLOR,"   That person don`t have money.");
                                return 1;
                            }
                            if(PlayerInfo[playerid][pInt] == 1 || PlayerInfo[playerid][pLocal] == 100)
                            {
                                SendClientMessage(playerid,COLOR_GREY,"   You can`t use this command, reason: you are in gunshop or mini-events !");
                                return 1;
                            }
                            format(string, sizeof(string), "~y~You healed ~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);
                            }
                            GetPlayerName(playerid, sendername, sizeof(sendername));
                            PlayerPlaySound(playerid, 1150, 0.0, 0.0, 0.0);
                            PlayerPlaySound(giveplayerid, 1150, 0.0, 0.0, 0.0);
                            format(string, sizeof(string), "You have been healed to %d health -$%d by Medic %s",hp,moneys,sendername);
                            SendClientMessage(giveplayerid, TEAM_GREEN_COLOR,string);
                            PlayerInfo[playerid][pKit] -= 1;
                            format(string, sizeof(string), "* You can use healkit for %d times more.", PlayerInfo[playerid][pKit]);
                            SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                            if(STDPlayer[giveplayerid] > 0)
                            {
                                STDPlayer[giveplayerid] = 0;
                                SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "* You are no longer infected with a STD anymore because of the Medics help !");
                            }
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GRAD1, "   One of you is not in the Ambulance / Chopper or you don't have a healkit!");
                            return 1;
                        }
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_GRAD1, "   You are not authorized to use that command !");
                        return 1;
                    }
                }
            }
            else
            {
                format(string, sizeof(string), "   %d is not an active player.", giveplayerid);
                SendClientMessage(playerid, COLOR_GRAD1, string);
            }
        }
        return 1;
    }

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.