Дима_98
Умник
Здраствуйте. Помогите сделать команду для передачи аптечки др. игроку (чтоб, можно было передать аптечку игроку). Например команда для передачи аптечки /giveheal.Буду благодарен.
команда /heal
Дам +
команда /heal
PHP:
if(strcmp(cmd, "/heal", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
GetPlayerName(playerid, sendername, sizeof(sendername));
new location = PlayerInfo[playerid][pPhousekey];
if(!strlen(tmp))
{
if(location != 255)
{
if(PlayerToPoint(3, playerid, HouseInfo[location][hExitx], HouseInfo[location][hExity], HouseInfo[location][hExitz]))
{
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), "Вы были вылечены до 100 процентов.");
SendClientMessage(playerid, TEAM_GREEN_COLOR,string);
}
else
{
SendClientMessage(playerid, TEAM_GREEN_COLOR,"Вы не нуждаетесь в лечении.");
}
}
else
{
format(string, sizeof(string), "В этом месте нет аптечки.");
SendClientMessage(playerid, TEAM_GREEN_COLOR,string);
}
return 1;
}
new loc = GetPlayerVirtualWorld(playerid);
if(loc == 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), "Вы были вылечены на 100 процентов.");
SendClientMessage(playerid, TEAM_GREEN_COLOR,string);
}
else
{
SendClientMessage(playerid, TEAM_GREEN_COLOR,"Вы не нуждаетесь в лечении.");
}
}
else if(loc == 102 && IsACop(playerid))//Police Armoury
{
SetPlayerHealth(playerid,100.0);
format(string, sizeof(string), "одел бронежилет.");
Action(playerid, string);
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);
}
}
if(PlayerInfo[playerid][pChest] > 0)
{
SendClientMessage(playerid,COLOR_WHITE,"Вы воспользовались аптечкой");
format(string, sizeof(string), "воспользовался аптечкой.");
Action(playerid, string);
SetPlayerHealth(playerid,80);
PlayerInfo[playerid][pChest] = 0;
return 1;
}
else
{
if(PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4)
{
SendClientMessage(playerid, COLOR_PINFO, "Russian Style: /heal [Ид игрока / Часть ника] [цена]");
return 1;
}
}
}
giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp) && (PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4) && AmbulanceVeh(playerid))
{
SendClientMessage(playerid, COLOR_PINFO, "Russian Style: /heal [Ид игрока / Часть ника] [цена]");
return 1;
}
moneys = strval(tmp);
if(moneys < 1 || moneys > 500 && (PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4) && AmbulanceVeh(playerid))
{
SendClientMessage(playerid, COLOR_PINFO, "Цена лечения не может быть больше 500$"); return 1;
}
if (giveplayerid == playerid)
{
SendClientMessage(playerid, COLOR_PINFO, "Вы не можете лечить самого себя.");
return 1;
}
if (IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if (PlayerInfo[giveplayerid][pMoney] < moneys)
{
SendClientMessage(playerid, COLOR_PINFO, "У игрока не достаточно денег.");
return 1;
}
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new giveambu = GetPlayerVehicleID(giveplayerid);
new playambu = GetPlayerVehicleID(playerid);
if(PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4)
{
if (AmbulanceVeh(playambu) && playambu == giveambu)
{
new Float:tempheal;
GetPlayerHealth(giveplayerid,tempheal);
if(tempheal >= 100.0)
{
SendClientMessage(playerid, TEAM_GREEN_COLOR,"Игрок не нуждается в лечении.");
return 1;
}
format(string, sizeof(string), "~y~‹‘ ‹‘‡EЌ…‡… ~n~~w~%s~n~~g~$%d", giveplayer,moneys);
GameTextForPlayer(playerid, string, 5000, 1);
PlayerInfo[playerid][pMoney] += moneys;
PlayerInfo[giveplayerid][pMoney] -= moneys;
PlayerInfo[playerid][pMedicaments]--;
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), "Вы были вылечены до %d HP. Цена лечения: $%d",hp,moneys);
SendClientMessage(giveplayerid, TEAM_GREEN_COLOR,string);
if(STDPlayer[giveplayerid] > 0)
{
STDPlayer[giveplayerid] = 0;
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, "");
}
}
else
{
SendClientMessage(playerid, COLOR_PINFO, "Один из вас не находится в санитарной машине/вертолете!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_PINFO, "Команда недоступна");
return 1;
}
}
}
else
{
format(string, sizeof(string), "%d неактивный игрок.", giveplayerid);
SendClientMessage(playerid, COLOR_PINFO, string);
}
}
return 1;
}
Последнее редактирование:
