AnGeL
Специалист
Привет всем. сегодня я расскажу вам как сделать так что бы респавнится после смерти в больнице. Если есть уже на форуме похожая тема то прошу прощения в поиске искал ну не нашел.
И так приступим.
Ко всем new добавляем следующее:
дальше создадим рандомный респавн
ниже вставите
В enum pinfo дабавте
В паблик OnPlayerConnect добавим
в public SetPlayerSpawn(playerid) вставим
И последний шаг. на нем мы в public SetPlayerUnjail() вставим следующее
ну вот вроде бы и все на этом.
Если не жалко то можно и мне +иг поставить.
а да кстати Вырезано с мода Энрико!
ВАЖНО: Если у кого то будут ероры типо error 017: undefined symbol "i" Замените i на playerid
И так приступим.
Ко всем new добавляем следующее:
PHP:
new MedicTime[MAX_PLAYERS];
new NeedMedicTime[MAX_PLAYERS];
new MedicBill[MAX_PLAYERS];
new JustDied[MAX_PLAYERS];
new deathcost;
ниже вставите
PHP:
new Float:gMedicSpawns[2][3] =
{
{348.9868,165.0690,1014.6947},
{348.8042,162.5563,1014.6947},
};
PHP:
pVirWorld
PHP:
JustDied[playerid] = 0; MedicTime[playerid] = 0; NeedMedicTime[playerid] = 0; MedicBill[playerid] = 0;
PHP:
if(MedicBill[playerid] == 1 && PlayerInfo[playerid][pJailed] == 0 && PlayerPaintballing[playerid] == 0)
{
if(FirstSpawn[playerid] != 1)
{
PlayerInfo[playerid][pDeaths] += 1;
SetPlayerHealth(playerid, 50.0);
SetPlayerInterior(playerid, 3);
PlayerInfo[playerid][pInt] = 3;
rand = random(sizeof(gMedicSpawns));
SetPlayerPos(playerid, gMedicSpawns[rand][0], gMedicSpawns[rand][1], gMedicSpawns[rand][2]);
SetPlayerFacingAngle(playerid, 0);
TogglePlayerControllable(playerid, 0);
GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~w~›ƒ…�E CBOE‚O BOˆƒAPOB‡Eì…• ...", 30000, 3);
JustDied[playerid] = 1;
MedicTime[playerid] = 1;
ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
if(PlayerInfo[playerid][pDonateRank] > 0)
{
NeedMedicTime[playerid] = 30; // время скок деражать будут..
}
else
{
NeedMedicTime[playerid] = 30; // время скок деражать будут в больнице
}
PlayerPlaySound(playerid, 1062, 0.0, 0.0, 0.0);
return 1;
}
}
if(JustDied[playerid] == 1)
{
if(GetPlayerVirtualWorld(playerid) != 0 || PlayerInfo[playerid][pVirWorld] != 0)
{
SetPlayerVirtualWorld(playerid, 0);//вирт мир
PlayerInfo[playerid][pVirWorld] = 0;
}
SetPlayerPos(playerid, 826.4158,-1369.9487,-0.5015);//куда выйдут
SetPlayerFacingAngle(playerid, 270.0);//поворот угла
SetPlayerInterior(playerid,0);//интерьер
PlayerInfo[playerid][pInt] = 0;//интерьер
return 1;
}
PHP:
if(MedicTime[i] > 0)
{
if(MedicTime[i] == 3)
{
SetPlayerInterior(i, 3);
PlayerInfo[i][pInt] = 3;
new Float:X, Float:Y, Float:Z;
GetPlayerPos(i, X,Y,Z);
SetPlayerCameraPos(i, X - 3, Y, Z);
SetPlayerCameraLookAt(i,X,Y,Z);
}
MedicTime[i] ++;
if(MedicTime[i] >= NeedMedicTime[i])
{
new cut = deathcost;
format(string, sizeof(string), " Доктор: Ваш медицинский счёт составляет $%d, Удачного дня. ", cut);
SendClientMessage(i, COLOR_YELLOW, string);
TogglePlayerControllable(i, 1);
MedicBill[i] = 0;
MedicTime[i] = 0;
NeedMedicTime[i] = 0;
PlayerInfo[i][pDeaths] += 1;
PlayerFixRadio(i);
ClearAnimations(i);
SetPlayerInterior(i, 0);
PlayerInfo[i][pInt] = 0;
SetPlayerPos(i, 1176.7842,-1323.8354,14.0384)//координаты выхода с больницы
SetCameraBehindPlayer(i);
SetPlayerHealth(i, 100);
}
}
Если не жалко то можно и мне +иг поставить.
а да кстати Вырезано с мода Энрико!
ВАЖНО: Если у кого то будут ероры типо error 017: undefined symbol "i" Замените i на playerid
Последнее редактирование:
