Перейти к содержанию
Авторизация  
Zishka

Спавн в больнице

Рекомендуемые сообщения

Zishka

Игрок после смерти не спавнится в болнице.

static const stock Float:MedicSpawn[4][3] = {
	{1622.8694,1222.5065,2513.4299},
	{1622.3442,1206.8600,2513.4299},
	{1624.6713,1213.9592,2513.4299},
	{1624.9022,1203.8031,2513.4299}
};
	else if(PlayerDied[playerid] == true)
	{
	    InHospital[playerid] = true;
	    SetHealth(playerid, 10+random(40));
	    SetPlayerFacingAngle(playerid, 270);
	    switch(PI[playerid][pCity])
	    {
	        case 1:
			{
			    SetPlayerVirtualWorld(playerid,4);
			    SetPlayerInterior(playerid,0);
			}
	        case 2:
	        {
	            SetPlayerVirtualWorld(playerid,4);
	            SetPlayerInterior(playerid,0);
	        }
	        default:
	        {
	            SetPlayerVirtualWorld(playerid,4);
	            SetPlayerInterior(playerid,0);
	        }
	    }
	    FreezePlayer(playerid, 2000);
		new Random = random(sizeof(MedicSpawn));
        SetPlayerPos(playerid, MedicSpawn[Random][0], MedicSpawn[Random][1], MedicSpawn[Random][2]);
        SendClientMessage(playerid,COLOR_WHITE,"Вам придется пройти курс лечения или вылечиться у медика. Войдите в палату и делайте процедуру.");
	}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

А где он спавнится? Кинь паблик OnPlayerDeath(как-то так)

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Zishka

 

 


OnPlayerDeath
 
public OnPlayerDeath(playerid, killerid, reason)
{
    if(playerid == killerid)
    {
	    new mes[100];
		format(mes, sizeof(mes), ""cAD"%s[%d] кикнут за использование читов (SelfKill)", GetName(playerid), playerid);
		SendAdminMessage(COLOR_GREY, mes);
		SendLog("CheatLog",mes);
		CheatKick(playerid, 2746);
	}
	if(noclipdata[playerid][cameramode] == CAMERA_MODE_FLY) CancelFlyMode(playerid);
    if(GetPVarInt(playerid, "DeathTime") > GetTickCount()) return CheatKick(playerid, 2179);
	else SetPVarInt(playerid, "DeathTime", GetTickCount()+230);
	new string[128];
	PlayerEnterTime[playerid] += 221;
	ResetPlayerWeaponsAC(playerid);
	if(GetPVarInt(playerid, "Animation"))
	{
	    DeletePVar(playerid, "Animation");
	    TextDrawHideForPlayer(playerid, AnimDraw);
	}
	PlayerMenuExit(playerid);
	DeletePVar(playerid,"car_spawn");
	SetPlayerSpecialAction(playerid,SPECIAL_ACTION_NONE);
	PlayerSpawned[playerid] = false;
	if(IsPlayerAttachedObjectSlotUsed(playerid, 7)) RemovePlayerAttachedObject(playerid, 7);
    Air_Gettime(playerid,4);
	SetPVarInt(playerid,"K_Times",GetPVarInt(playerid,"K_Times") + 1);
	if(GetPVarInt(playerid,"K_Times") > 1) return CheatKick(playerid, 5244);
	if(UseGPS[playerid])
	{
    	DisablePlayerRaceCheckpoint(playerid);
    	UseGPS[playerid] = false;
    	for(new i; i < 3; i++) TextDrawHideForPlayer(playerid, GPSEnabled[i]);
	}
	if(pCuff[playerid][pCuffee] == playerid)
	{
		new id = playerid;
		new cuffer = pCuff[id][pCuffer];
		SetPlayerSpecialAction(id, SPECIAL_ACTION_NONE);
		RemovePlayerAttachedObject(id, 0);
		pCuff[id][pCuffer] = INVALID_PLAYER_ID;
		pCuff[id][pCuffee] = INVALID_PLAYER_ID;
		pCuff[cuffer][pCuffee] = INVALID_PLAYER_ID;
		pCuff[cuffer][pCuffer] = INVALID_PLAYER_ID;
		SendClientMessage(cuffer, COLOR_BLUE, "Арестованный умер");
	}
	if(INVALID_PLAYER_ID != killerid)
	{
		if(reason >= 1 && reason <= 46 && GetPlayerWeapon(killerid) != reason && PI[playerid][pLevel] <= 3) return CheatKick(playerid, 5255);
		if(reason == 38 && GetPlayerState(killerid) == PLAYER_STATE_PASSENGER) return CheatKick(playerid, 8881);
		new bandkiller = (PI[killerid][pLeader] != 0) ? (PI[killerid][pLeader]) : (PI[killerid][pMember]);
		new bandkill = (PI[playerid][pLeader] != 0) ? (PI[playerid][pLeader]) : (PI[playerid][pMember]);
        for(new i = 0; i < sizeof(GZInfo); i++)
        {
            if(IsPlayerToSquare(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]))
            {
				if(bandkiller != bandkill)
				{
				    if(bandkiller < sizeof(GangInfo) && bandkill < sizeof(GangInfo))
				    {
						if(GangInfo[bandkiller][capture] && GangInfo[bandkill][capture] == 1)
						{
							if(GangInfo[bandkiller][captureid] == GangInfo[bandkill][captureid])
							{
								new str[128];
								GangInfo[bandkiller][score] = GangInfo[bandkiller][score]+1;
								CaptureUpd(bandkiller);
						        format(str,sizeof(str),"%s[%d] погиб на территории",GetName(playerid),playerid);
						        SendFMes(PI[playerid][pMember],COLOR_LIGHTRED,str);
						        format(str,sizeof(str),"%s[%d] убил на территории %s",GetName(killerid),killerid,GetName(playerid),playerid);
						        SendFMes(PI[killerid][pMember],COLOR_LIME,str);
							}
						}
					}
				}
			}
		}
	}
 	if(PlayerUseMask[playerid])
	{
        PlayerUseMask[playerid] = false;
		KillTimer(MaskTimer[playerid]);
	}
	if(PI[playerid][pWanted] > 0)
	{
		if(killerid == INVALID_PLAYER_ID) return 1;
		if(!IsACop(killerid)) return 1;
		if(PI[killerid][pMember] == TEAM_POLICIA || PI[killerid][pMember] == TEAM_FBI)
		{
			format(string, sizeof(string), "Вы посажены в камеру на %i секунд!", PI[playerid][pWanted]*600);
			SendClientMessage(playerid, COLOR_LIGHTRED, string);
			SetPlayerInterior(playerid, 0);
			SetPlayerPos(playerid, 585.3808,2785.6555,1253.9860);
			SetPlayerFacingAngle(playerid, 273.0160);
			FreezePlayer(playerid, 2000);
			PI[playerid][pJail] = 1;
		}
		PI[playerid][pJailTime] = PI[playerid][pWanted] * 600;
		SetPlayerColorEx(playerid, TeamColors[0]);
		SetHealth(playerid, 100);
		PI[playerid][pWanted] = 0;
		SetPlayerWantedLevel(playerid, 0);
		TogglePlayerControllable(playerid, 1);
		format(string, 80, "~n~~n~~n~~n~~n~~n~~n~~n~~n~~n~~y~JAILED: ~w~%d", PI[playerid][pJailTime]);
		GameTextForPlayer(playerid, string, 3000, 3);
	}
	if(GetPVarInt(playerid, "PriceBus") > 0)
	{
		DeletePVar(playerid, "BusTime");
		DeletePVar(playerid, "TypeBus");
		DeletePVar(playerid, "PriceBus");
		DeletePVar(playerid, "BusStop");
		DeletePVar(playerid, "BusMoney");
		PI[playerid][pBusTime] = 0;
		pPressed[playerid] = 0;
		if(IsValidDynamic3DTextLabel(BusText3D[playerid])) DestroyDynamic3DTextLabel(BusText3D[playerid]);
		SetVehicleToRespawn(PI[playerid][BusCarID]);
		PI[playerid][BusCarID] = INVALID_VEHICLE_ID;
		DisablePlayerRaceCheckpoint(playerid);
	}
	if(PI[playerid][pJob] == JOB_TRUCKER) ResetTruck(playerid);
	if(!PI[playerid][pAdmin])
	{
		if(!PI[playerid][pJailTime])
		{
		    if(IsPlayerToSquare(playerid,-891.3302,-2950.0190,2915.9917,560.3257)) PI[playerid][pCity] = 1;
			else if(IsPlayerToSquare(playerid,-2929.6589,-2889.1660,-1326.9077,1493.1770)) PI[playerid][pCity] = 2;
			else PI[playerid][pCity] = 3;
			PlayerDied[playerid] = true;
		}
	}
	SetHunger(playerid, 40);
	DisablePlayerCheckpoint(playerid);
	if(IsPlayerAttachedObjectSlotUsed(playerid, 3)) RemovePlayerAttachedObject(playerid,3);
	if(UseWork[playerid] == 2)
	{
	    UseWork[playerid] = 0;
	    DeletePVar(playerid, "OldLessSkin");
		DeletePVar(playerid, "Derevo");
		DeletePVar(playerid, "LessProgress");
		DeletePVar(playerid, "LessStatus");
		if(IsPlayerAttachedObjectSlotUsed(playerid, 3)) RemovePlayerAttachedObject(playerid, 3);
		if(IsPlayerAttachedObjectSlotUsed(playerid, 4)) RemovePlayerAttachedObject(playerid, 4);
	}
	for(new i; i < 6; i++) PlayerTextDrawHide(playerid, StatusWork[playerid][i]);
	new callerid = Mobile[playerid];
	if(callerid != -1)
	{
		SendClientMessage(callerid,  COLOR_GRAD2, "Связь оборвалась");
		CellTime[callerid] = -1;
		Mobile[callerid] = -1;
		Mobile[playerid] = -1;
		CellTime[playerid] = -1;
		DeletePVar(playerid, "CallTime");
		DeletePVar(callerid, "CallTime");
	}
	if(InShop[playerid] > 0 || GetPVarInt(playerid, "InShop") > 0)
	{
	    if(PI[playerid][SalonCarID] != INVALID_VEHICLE_ID) DestroyVehicle(PI[playerid][SalonCarID]);
		DeletePVar(playerid, "InShop");
		InShop[playerid] = 0;
		PI[playerid][SalonCarID] = INVALID_VEHICLE_ID;
		for(new i; i < 2; i++) PlayerTextDrawHide(playerid, JRP_TD[playerid][i]);
		for(new i; i < 11; i++) TextDrawHideForPlayer(playerid, JRPTD[i]);
		CancelSelectTextDraw(playerid);
	}
	if(GetPVarInt(playerid, "DrivingTest"))
	{
		DeletePVar(playerid, "DrivingTest");
		DeletePVar(playerid, "DrivingTestHealth");
		DeletePVar(playerid, "DrivingTestError");
		SendClientMessage(playerid, COLOR_RED, ""cER"Вы провалили экзамен на управление наземным транспортом");
	}
	if(GetPVarInt(playerid, "FlyTest"))
	{
		DeletePVar(playerid, "FlyTest");
		DeletePVar(playerid, "FlyTestHealth");
		DeletePVar(playerid, "FlyTestError");
		SendClientMessage(playerid, COLOR_RED, ""cER"Вы провалили экзамен на управление воздушным транспортом");
	}
	if(GetPVarInt(playerid, "WaterTest"))
	{
		DeletePVar(playerid, "WaterTest");
		DeletePVar(playerid, "WaterTestTimeOn");
		DeletePVar(playerid, "WaterTestHealth");
		DeletePVar(playerid, "WaterTestError");
		SendClientMessage(playerid, COLOR_RED, ""cER"Вы провалили экзамен на управление водным транспортом");
	}
	if(killerid != INVALID_PLAYER_ID)
	{
		if(PI[playerid][pJail] == 0)
		{
		    if(!PI[killerid][pAdmin])
		    {
				if(IsACop(killerid) || IsAArmy(killerid) || IsAGang(killerid) || IsAMafia(killerid)) { }
				else
				{
					if(PI[killerid][pWanted] >= 6) return 1;
					PI[killerid][pWanted] += 2;
					if(PI[killerid][pWanted] >= 6) PI[killerid][pWanted] = 6;
					PI[killerid][pWantedTime] = 1800 + random(300);
					SetPlayerWantedLevel(killerid,PI[killerid][pWanted]);
					format(string,128,""cAD"%s[%d] был убит игроком %s[%d]", GetName(playerid),playerid,GetName(killerid),killerid);
					SendAdminMessage(COLOR_GREY,string);
					AC_GunCheattime[playerid]=3+floatround(GetPlayerPing(playerid)/100);
					SetPlayerCriminal(killerid, "Неизвестный", "Убийство человека");
				}
			}
		}
	}
	if(Ether[playerid] == true)
	{
		new CB[16];
		Ether[playerid] = false;
		Convert(GetPVarInt(playerid,"InEther"),CB);
		if(EtherSms[PI[playerid][pNews]-1] == true)
		{
			format(string, 90, "[F] %s выключил прием СМС", GetName(playerid));
			SendFMes(PI[playerid][pMember], COLOR_LIGHTRED, string);
		}
		if(EtherCall[PI[playerid][pNews]-1] == true)
		{
			format(string, 90, "[F] %s выключил прием звонков", GetName(playerid));
			SendFMes(PI[playerid][pMember], COLOR_LIGHTRED, string);
		}
		format(string, 90, "[F] %s вышел из прямого эфира [Время в эфире: %s, звонков: %i, СМС: %i]",GetName(playerid), CB, CallNews[PI[playerid][pNews]-1],SmsNews[PI[playerid][pNews]-1]);
		SendFMes(PI[playerid][pMember], COLOR_LIGHTBLUE, string);
		EtherSms[PI[playerid][pNews]-1] = false;
		EtherCall[PI[playerid][pNews]-1] = false;
		SmsNews[PI[playerid][pNews]-1] = 0;
		CallNews[PI[playerid][pNews]-1] = 0;
		DeletePVar(playerid, "InEther");
		if(Mobile[playerid] != -1) MobileCrash(playerid);
	}
	if(EtherLive[playerid] == true)
	{
		EtherLive[playerid] = false;
		DeletePVar(playerid, "Etherfrac");
		SendClientMessage(playerid, COLOR_LIGHTBLUE, "Вы вышли из прямого эфира");
	}
	return 1;
}

Как-то так)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

@Zishka,

PlayerDied[playerid] == true; 

в начало паблика.

А там, где у тебя спавн, он должен быть в паблике со спавном.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Zishka

@SCRIPTMAN,

C:\Users\Данил\Desktop\JRP\gamemodes\JRP.pwn(3191) : warning 215: expression has no effect

C:\Users\Данил\Desktop\JRP\gamemodes\JRP.pwn(5069) : warning 215: expression has no effect 


@SCRIPTMAN,

stock SpawnPlayerEx(playerid)
{
    PlayerDied[playerid] == true;
	PlayerEnterTime[playerid] += 221;
	return SpawnPlayer(playerid);
}
 и

public OnPlayerDeath(playerid, killerid, reason)
{
    PlayerDied[playerid] == true;
    if(playerid == killerid)
    {
	    new mes[100];
		format(mes, sizeof(mes), ""cAD"%s[%d] кикнут за использование читов (SelfKill)", GetName(playerid), playerid);
		SendAdminMessage(COLOR_GREY, mes);
		SendLog("CheatLog",mes);
		CheatKick(playerid, 2746);
	} 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

 

 


SpawnPlayerEx
убери отсюда ее

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Zishka

@SCRIPTMAN, C:\Users\Данил\Desktop\JRP\gamemodes\JRP.pwn(5068) : warning 215: expression has no effect

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

@Zishka,строку 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Zishka

public OnPlayerDeath(playerid, killerid, reason)
{
PlayerDied[playerid] == true; (ЭТА)
if(playerid == killerid)
{
new mes[100];
format(mes, sizeof(mes), ""cAD"%s[%d] кикнут за использование читов (SelfKill)", GetName(playerid), playerid);
SendAdminMessage(COLOR_GREY, mes);
SendLog("CheatLog",mes);
CheatKick(playerid, 2746);
}
Изменено пользователем Zishka

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Zishka

Up!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
oleg1394

@Zishka,

	else if(PlayerDied[playerid] == true) // ищем вот эту строку
	{
	    PlayerDied[playerid] = true;      ////здесь будет другая строка ее убираем ставим эту
	    SetHealth(playerid, 10+random(40));
	    SetPlayerFacingAngle(playerid, 270);
	    switch(PI[playerid][pCity])
	    {



public OnPlayerDeath(playerid, killerid, reason)  //ищем эту строку
{
    PlayerDied[playerid] = true;  // сюда вставляем эту строку
    if(playerid == killerid)
    { 
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
SCRIPTMAN

Вопрос решен.

Проблема решена, проблема была в том, что он был администратор и его не спавнило.
Тема закрыта.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.