Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Больница немного похожая на Адванс!

Статус
В этой теме нельзя размещать новые ответы.

Franklin

Умник
Всем привет решил выложить больницу !
Интерьер делайте сами!
1. это ко всем new
PHP:
new HospitalBed[4];
далее в форварды вставляем это
PHP:
forward HP(playerid);
Теперь в pInfo вставляем это
PHP:
pKouka1,
pKouka2,
pKouka3,
pKouka4,
pBolnica
в public OnPlayerDeath(playerid, killerid, reason) добавляете
PHP:
new para1;
PlayerInfo[para1][pBolnica] = 1;
в public OnPlayerSpawn(playerid) добавляете вот это!
PHP:
    if(PlayerInfo[playerid][pBolnica] == 1)
    {
	    SetPlayerHealthAC(playerid, 30.0);
	    SetPlayerFacingAngle(playerid, 90);
	    SetPlayerInterior(playerid, 0);
	    SetPlayerVirtualWorld(playerid, 0);
	    SetPlayerPos(playerid,1027.9110107422,72.166999816895,3356.2351074219);
	    new Bolnica1[] = "{29ff00}Ваш текст при попадание в больницу и цвет счас стоит зеленый";
	    ShowPlayerDialog(playerid,32121,DIALOG_STYLE_MSGBOX,"Справка",Bolnica1,"Хорошо","");
	    return 1;
    }
Далее делаем паблик выдачи ХП
PHP:
public HP(playerid)
{
    new string[312];
    if(PlayerInfo[playerid][pKouka1] == 1 || PlayerInfo[playerid][pKouka2] == 1 || PlayerInfo[playerid][pKouka3] == 1 || PlayerInfo[playerid][pKouka4] == 1)
    {
        new Float:health;
        GetPlayerHealth(playerid, health);
        if (health < 95)
        {
            SetPlayerHealthAC(playerid, health + 5.0);
            format(string, sizeof(string), "+5hp");
            GameTextForPlayer(playerid, string, 1000, 3);
        }
        else
        {
            if(PlayerInfo[playerid][pKouka1] == 1 || PlayerInfo[playerid][pKouka2] == 1 || PlayerInfo[playerid][pKouka3] == 1 || PlayerInfo[playerid][pKouka4] == 1)
            {
                SendClientMessage(playerid, COLOR_GREY, "Вы здоровы!");
                PlayerInfo[playerid][pKouka1] = 0;
                PlayerInfo[playerid][pKouka2] = 0;
                PlayerInfo[playerid][pKouka3] = 0;
                PlayerInfo[playerid][pKouka4] = 0;
                PlayerInfo[playerid][pBolnica] = 0;
                for(new d; d < 4; d++)
                {
                    if(HospitalBed[d] != playerid) continue;
                    else
                    {
                        HospitalBed[d] = INVALID_PLAYER_ID;
                        break;
                    }
                }
            }
        }
    }
    return 1;
}
теперь добавьте в public OnPlayerRegister(playerid, password[]) и в public OnPlayerUpdateRL(playerid)
PHP:
ini_setInteger(File,"Больница",PlayerInfo[playerid][pBolnica]);
ini_setInteger(File,"Kouka1",PlayerInfo[playerid][pKouka1]);
ini_setInteger(File,"Kouka2",PlayerInfo[playerid][pKouka2]);
ini_setInteger(File,"Kouka3",PlayerInfo[playerid][pKouka3]);
ini_setInteger(File,"Kouka4",PlayerInfo[playerid][pKouka4]);
в public OnPlayerLogin(playerid,password[])

PHP:
ini_getInteger(File,"Больница",PlayerInfo[playerid][pBolnica]);
ini_getInteger(File,"Kouka1",PlayerInfo[playerid][pKouka1]);
ini_getInteger(File,"Kouka2",PlayerInfo[playerid][pKouka2]);
ini_getInteger(File,"Kouka3",PlayerInfo[playerid][pKouka3]);
ini_getInteger(File,"Kouka4",PlayerInfo[playerid][pKouka4]);
В public OnPlayerDisconnect(playerid, reason)
PHP:
for(new d; d < 4; d++)
    {
	    if(HospitalBed[d] != playerid) continue;
	    else
	    {
	        HospitalBed[d] = INVALID_PLAYER_ID;
	        break;
	    }
    }
    PlayerInfo[playerid][pKouka1] = 0;
	PlayerInfo[playerid][pKouka2] = 0;
	PlayerInfo[playerid][pKouka3] = 0;
	PlayerInfo[playerid][pKouka4] = 0;
Добавляю команду /hospital кто не знает это в паблик OnPlayerCommandText
PHP:
else if(strcmp(cmd, "/hospital", true) == 0)
    {
	    new Float:health;
	    GetPlayerHealth(playerid, health);
	    if(health > 95) return 1;
	    if(PlayerInfo[playerid][pKouka1] == 1 || PlayerInfo[playerid][pKouka2] == 1
	    || PlayerInfo[playerid][pKouka3] == 1 || PlayerInfo[playerid][pKouka4] == 1)
	    return SendClientMessage(playerid, COLOR_GREY, "Вы уже лежите в больниц!");
	    if(PlayerToPoint(3.0,playerid,1025.7496,80.0536,3356.8826))//1
	    {
	        if(HospitalBed[0] != INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "Койка под номером 1 уже занята!");
	        SendClientMessage(playerid, COLOR_GREY, "Вы заняли койку под номером 1!");
	        PlayerInfo[playerid][pKouka1] = 1;
	        HospitalBed[0] = playerid;
	    }
	    else if(PlayerToPoint(3.0,playerid,1025.7427,83.6644,3356.8826))//2
	    {
	        if(HospitalBed[1] != INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "Койка под номером 2 уже занята!");
	        SendClientMessage(playerid, COLOR_GREY, "Вы заняли койку под номером 2!");
	        PlayerInfo[playerid][pKouka2] = 1;
	        HospitalBed[1] = playerid;
	    }
	    else if(PlayerToPoint(3.0,playerid,1034.0323,80.2212,3356.8826))//3
	    {
	        if(HospitalBed[2] != INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "Койка под номером 3 уже занята!");
	        SendClientMessage(playerid, COLOR_GREY, "Вы заняли койку под номером 3!");
	        PlayerInfo[playerid][pKouka3] = 1;
	        HospitalBed[2] = playerid;
	    }
	    else if(PlayerToPoint(3.0,playerid,1034.0118,83.7613,3356.8826))//4
	    {
	        if(HospitalBed[3] != INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "Койка под номером 4 уже занята!");
	        SendClientMessage(playerid, COLOR_GREY, "Вы заняли койку под номером 4!");
	        PlayerInfo[playerid][pKouka4] = 1;
	        HospitalBed[3] = playerid;
	    }
	    return 1;
    }
Теперь в OnGameModeInIt

PHP:
HospitalBed[0] = INVALID_PLAYER_ID; 
HospitalBed[1] = INVALID_PLAYER_ID; 
HospitalBed[2] = INVALID_PLAYER_ID; 
HospitalBed[3] = INVALID_PLAYER_ID;
SetTimer("HP", 10000, true);
Авторы:
Я Franklin
И немного взял из работы DmX
Координаты меняйте на свои
​
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу