/heal - Problem
#1

if player is in ambulance I cant give him /heal because it says that I don't have upgrade at house.


PHP код:
if(strcmp(cmd"/heal"true) == 0)
                    {
                        if(
IsPlayerConnected(playerid))
                        {
                            
tmp strtok(cmdtextidx);
                            
//new bouse = PlayerInfo[playerid][pPhousekey];
                            
new location PlayerInfo[playerid][pLocal];
                            if(!
strlen(tmp))
                            {
                                if(
location != 255)
                                {
                                    if(
location 99)
                                    {
                                        if(
HouseInfo[location][hArm] == 1)
                                        {
                                            
format(stringsizeof(string), "* %s puts on body armour."sendername);
                                            
ProxDetector(30.0playeridstringCOLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
                                            
SetPlayerArmour(playerid50.0);
                                        }
                                        else
                                        {
                                            
format(stringsizeof(string), "This place does not have armour upgrades.");
                                            
SendClientMessage(playeridTEAM_GREEN_COLOR,string);
                                        }
                                        if(
HouseInfo[location][hHel] == 1)
                                        {
                                            new 
Float:tempheal;
                                            
GetPlayerHealth(playerid,tempheal);
                                            if ( 
tempheal 100.0)
                                            {
                                                
SetPlayerHealth(playerid,100.0);
                                                
PlayerPlaySound(playerid11500.00.00.0);
                                                
format(stringsizeof(string), "You have been healed to 100 health.");
                                                
SendClientMessage(playeridTEAM_GREEN_COLOR,string);
                                            }
                                            else
                                            {
                                                
SendClientMessage(playeridTEAM_GREEN_COLOR,"You are already healed to 100.");
                                            }
                                        }
                                        else
                                        {
                                            
format(stringsizeof(string), "This place does not have healing upgrades.");
                                            
SendClientMessage(playeridTEAM_GREEN_COLOR,string);
                                        }
                                        return 
1;
                                    }
                                }
                                else
                                {
                                    
SendClientMessage(playeridCOLOR_GRAD2"{00A1FF}USAGE{FFFFFF}: /heal [playerid/PartOfName] [price]");
                                    return 
1;
                                }
                            }
                            
giveplayerid ReturnUser(tmp);
                            
tmp strtok(cmdtextidx);
                            if(!
strlen(tmp))
                            {
                                
SendClientMessage(playeridCOLOR_GRAD2"{00A1FF}USAGE{FFFFFF}: /heal [playerid/PartOfName] [price]");
                                return 
1;
                            }
                            
moneys strval(tmp);
                            if(
moneys || moneys 1000) { SendClientMessage(playeridCOLOR_GREY"   Healing price not below 1 or above 1000!"); return 1; }
                            if (
giveplayerid == playerid)
                            {
                                
SendClientMessage(playeridCOLOR_GRAD1"   You can not heal yourself!");
                                return 
1;
                            }
                            if (
IsPlayerConnected(giveplayerid))
                            {
                                if(
giveplayerid != INVALID_PLAYER_ID)
                                {
                                    
GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));
                                    new 
giveambu GetPlayerVehicleID(giveplayerid);
                                    new 
playambu GetPlayerVehicleID(playerid);
                                    if(
gTeam[playerid] == 1||PlayerInfo[playerid][pJob] == 19)//model
                                    
{
                                        if (
IsAAmbulanceCar(playambu) && playambu == giveambu)
                                        {
                                            new 
Float:tempheal;
                                            
GetPlayerHealth(giveplayerid,tempheal);
                                            if(
tempheal >= 100.0)
                                            {
                                                
SendClientMessage(playeridTEAM_GREEN_COLOR,"   That person is fully healed.");
                                                return 
1;
                                            }
                                            
format(stringsizeof(string), "~y~You healed ~n~~w~%s~n~~g~$%d"giveplayer,moneys);
                                            
GameTextForPlayer(playeridstring50001);
                                            
GivePlayerCash(playerid,moneys);
                                            
GivePlayerCash(giveplayerid,-moneys);
                                            new 
hp 0;
                                            if(
PlayerInfo[playerid][pPainPerk] > 0)
                                            {
                                                
hp 20 PlayerInfo[playerid][pPainPerk]; hp += 100;
                                                
SetPlayerHealth(giveplayeridhp);
                                            }
                                            else
                                            {
                                                
hp 100;
                                                
SetPlayerHealth(giveplayerid100);
                                            }
                                            
PlayerPlaySound(playerid11500.00.00.0);
                                            
PlayerPlaySound(giveplayerid11500.00.00.0);
                                            
format(stringsizeof(string), "You have been healed to %d health -$%d",hp,moneys);
                                            
SendClientMessage(giveplayeridTEAM_GREEN_COLOR,string);
                                            if(
STDPlayer[giveplayerid] > 0)
                                            {
                                                
STDPlayer[giveplayerid] = 0;
                                                
SendClientMessage(giveplayeridCOLOR_WHITE"* You are no longer infected with a STD anymore because of the Medics help!");
                                            }
                                        }
                                        else
                                        {
                                            
SendClientMessage(playeridCOLOR_GRAD1"** One of you is not in the Ambulance / Chopper!");
                                            return 
1;
                                        }
                                    }
                                    else
                                    {
                                        
SendClientMessage(playeridCOLOR_GRAD1"** You are not authorized to use that command!");
                                        return 
1;
                                    }
                                }
                            }
                            else
                            {
                                
format(stringsizeof(string), "   %d is not an active player."giveplayerid);
                                
SendClientMessage(playeridCOLOR_GRAD1string);
                            }
                        }
                        return 
1;
                    } 
Reply
#2

anyone help?
Reply
#3

There's some issue with this HouseInfo[location][hHel]. Check the code where you assign values to this variable.
Reply
#4

I tested many /heal cmd from different gamemodes.ex:Ravens..and lots.. they don't work..
Reply
#5

Copies never work, you have to make your own commands or change carefully the coped ones to your own needs.
Reply
#6

I put my own and it doesent work..
Reply
#7

Quote:
Originally Posted by Akcent_Voltaj
Посмотреть сообщение
I put my own and it doesent work..
Can you show us the code then?
Reply
#8

The heal command requires a parameter to be used inside an ambulance.
Example: '/HEAL Joe_Staff'

if it says 'one of you is not inside the ambulance' you have to change your function known as "IsAAmbulanceCar" so it's as follows
pawn Код:
stock IsAAmbulanceCar(vehicleid) //ignore the really bad English
{
    return (GetVehicleModel(vehicleid)==416)
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)