Доступ к готовым решениям

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

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

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

Мануал Работа Санта-Клауса

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

Батька

Компетентный
Всем привет.
Сегодня я вам покажу простенькую работу Санты.
Сделал её я, маппинг тоже мой.
Так как скоро Новый год тип.
Ваша задача развести 5 подарков по домам, за каждый отвезённый подарок вам даётся 100$.
Сразу говорю что и где менять на своё.
TOTALHOUSE - меняем на кол-во домов у вас на сервере
hCarx,hCary,hCarz - меняем на переменые координат машины у домов.

Скрины:
Маппинг в OnGameModeInit
PHP:
 new tmpobjid1;
	tmpobjid1 = CreateDynamicObject(6300,1001.213,-2302.896,4.276,0.000,0.000,296.000,-1,-1,-1);
	SetDynamicObjectMaterial(tmpobjid1, 0, 10101, "2notherbuildsfe", "ferry_build14", 0);
	CreateDynamicObject(3598,988.5629883,-2324.1760254,14.6040001,0.0000000,0.0000000,144.9975586); //object(hillhouse01_la) (1)
	CreateDynamicObject(19076,1006.8259888,-2318.5849609,12.3319998,0.0000000,0.0000000,0.0000000); //object(xmastree1) (1)
	CreateDynamicObject(19076,984.4349976,-2309.4880371,12.3319998,0.0000000,0.0000000,0.0000000); //object(xmastree1) (2)
	CreateDynamicObject(19056,1007.8980103,-2318.3889160,12.9879999,0.0000000,0.0000000,0.0000000); //object(xmasbox3) (1)
	CreateDynamicObject(19056,1007.0419922,-2320.4699707,12.9879999,0.0000000,0.0000000,0.0000000); //object(xmasbox3) (2)
	CreateDynamicObject(19056,1005.6680298,-2318.5539551,12.9879999,0.0000000,0.0000000,0.0000000); //object(xmasbox3) (3)
	CreateDynamicObject(19055,986.1229858,-2308.7028809,12.9879999,0.0000000,0.0000000,0.0000000); //object(xmasbox2) (1)
	CreateDynamicObject(19057,984.1890259,-2308.1950684,12.9879999,0.0000000,0.0000000,0.0000000); //object(xmasbox4) (1)
	CreateDynamicObject(19057,982.8909912,-2310.8059082,12.9879999,0.0000000,0.0000000,0.0000000); //object(xmasbox4) (2)
	CreateDynamicObject(19057,986.0910034,-2310.2419434,12.9879999,0.0000000,0.0000000,0.0000000); //object(xmasbox4) (3)
	CreateDynamicObject(19058,1006.4739990,-2316.3859863,12.9879999,0.0000000,0.0000000,0.0000000); //object(xmasbox5) (1)
	CreateDynamicObject(19315,998.4030151,-2323.0449219,12.8199997,0.0000000,0.0000000,70.0000000); //object(deer01) (1)
	CreateDynamicObject(19315,997.2230225,-2322.6289062,12.8199997,0.0000000,0.0000000,69.9993896); //object(deer01) (2)
	CreateDynamicObject(19315,995.8079834,-2322.1298828,12.8199997,0.0000000,0.0000000,69.9993896); //object(deer01) (3)
	CreateDynamicObject(19315,997.0859985,-2320.4599609,12.8199997,0.0000000,0.0000000,69.9993896); //object(deer01) (4)
	CreateDynamicObject(19315,998.2650146,-2320.8759766,12.8199997,0.0000000,0.0000000,69.9993896); //object(deer01) (5)
	CreateDynamicObject(19315,998.3060303,-2318.5039062,12.8199997,0.0000000,0.0000000,69.9993896); //object(deer01) (6)
	CreateDynamicObject(19315,989.4219971,-2316.8369141,12.8199997,0.0000000,0.0000000,60.0000000); //object(deer01) (7)
	CreateDynamicObject(19315,987.9119873,-2315.9519043,12.8199997,0.0000000,0.0000000,59.9963379); //object(deer01) (8)
	CreateDynamicObject(19315,986.4010010,-2315.0659180,12.8199997,0.0000000,0.0000000,59.9963379); //object(deer01) (9)
	CreateDynamicObject(19315,988.1480103,-2314.0620117,12.8199997,0.0000000,0.0000000,59.9963379); //object(deer01) (10)
	CreateDynamicObject(19315,989.8729858,-2315.0729980,12.8199997,0.0000000,0.0000000,59.9963379); //object(deer01) (11)
	CreateDynamicObject(19315,990.2360229,-2312.9680176,12.8199997,0.0000000,0.0000000,59.9963379); //object(deer01) (12)
	CreateDynamicObject(3406,1545.2239990,-1611.8000488,11.7040005,0.0000000,1.0000000,0.0000000); //object(cxref_woodjetty) (1)
	CreateDynamicObject(3406,1545.3439941,-1608.4949951,11.6789999,0.0000000,0.7500000,0.0000000); //object(cxref_woodjetty) (2)
	CreateDynamicObject(3406,1552.7889404,-1608.5140381,9.6789999,0.0000000,26.0000000,0.0000000); //object(cxref_woodjetty) (3)
	CreateDynamicObject(3406,1552.6419678,-1611.7259521,9.6789999,0.0000000,25.9967041,0.0000000); //object(cxref_woodjetty) (4)
	CreateDynamicObject(18864,940.9459839,-2383.0559082,15.5570002,0.0000000,0.0000000,0.0000000); //object(fakesnow1) (5)
	CreateDynamicObject(18864,948.5319824,-2379.3190918,15.5570002,0.0000000,0.0000000,0.0000000); //object(fakesnow1) (6)
	CreateDynamicObject(18864,944.9149780,-2371.5139160,15.5570002,0.0000000,0.0000000,0.0000000); //object(fakesnow1) (7)
	CreateDynamicObject(18864,950.2680054,-2367.6579590,15.5570002,0.0000000,0.0000000,0.0000000); //object(fakesnow1) (8)
	CreateDynamicObject(18864,950.2675781,-2367.6572266,15.5570002,0.0000000,0.0000000,0.0000000); //object(fakesnow1) (9)
Ко всем new.
new santacar[2];
new podarki[MAX_VEHICLES];
new santapic[2];
В enum pinfo
pSanta,
pPodarki,
В OnGameModeInit
PHP:
santacar[0] =CreateVehicle(498,985.2299805,-2284.0729980,13.5419998,242.0000000,1,3,15); //Boxville
CreateVehicle(498,979.8959961,-2287.5639648,13.5419998,241.9958496,1,3,15); //Boxville
CreateVehicle(498,974.3280029,-2289.8020020,13.5419998,241.9958496,1,3,15); //Boxville
CreateVehicle(498,968.7139893,-2292.5969238,13.5419998,241.9958496,1,3,15); //Boxville
CreateVehicle(498,963.6119995,-2295.9951172,13.5419998,241.9958496,1,3,15); //Boxville
CreateVehicle(498,967.1049805,-2305.5581055,13.5419998,297.9958496,1,3,15); //Boxville
santacar[1] =CreateVehicle(498,970.3640137,-2310.6059570,13.5419998,297.9931641,1,3,15); //Boxville 
santapic[0] = CreatePickup(1318,23,991.4918,-2320.1392,13.3307);

В OnDialogResponse
PHP:
case 1643:
		{
			if(!response) return true;
			if(PlayerInfo[playerid][pSanta] == 0)
			{
			PlayerInfo[playerid][pSanta] = 1;
			PlayerInfo[playerid][pPodarki] = 0;
   			SendMes(playerid,CBLUE,"Рабочий день начат");
   			
			SetPlayerAttachedObject(playerid,2, 19064, 2, 0.13, 0.0, 0.0, 0.0, 80.0, 80.0);
   			}
   			else
   			{
   			SendMes(playerid,CBLUE,"Рабочий день окончен");
   			SendMes(playerid,CWHITE,"Вы доставили {FFA938}%i{FFFFFF} подарков и получили {FFA938}%i{FFFFFF} долларов",PlayerInfo[playerid][pPodarki],PlayerInfo[playerid][pPodarki]*100);
   			GiveMoney(playerid,PlayerInfo[playerid][pPodarki]*100);
   			PlayerInfo[playerid][pPodarki] = 0;
   			SetPlayerColor(playerid, TEAM_HIT_COLOR);
   			RemovePlayerAttachedObject(playerid,2);
   			DisablePlayerRaceCheckpoint(playerid);
   			PlayerInfo[playerid][pSanta] = 0;
   			SetArmour(playerid,0);
			SetPlayerSkin(playerid,PlayerInfo[playerid][pChar]);
   			}
 			return true;
		}
В OnPlayerPickUpPickup
PHP:
if(pickupid == santapic[0])
	{
    	if(PlayerInfo[playerid][pSanta] == 0)
    	{
		SPD(playerid,1643,DIALOG_STYLE_MSGBOX, "{FF8800}Раздевалка:","{FFFFFF}Вы хотите {53FF19}начать {FFFFFF}работу Санты?","Да","Нет");
		}
		else
		{
		 SPD(playerid,1643,DIALOG_STYLE_MSGBOX, "{FF8800}Раздевалка:","{FFFFFF}Вы хотите {FF0303}завершить{FFFFFF}работу Санты?","Да","Нет");
		 }
		return true;
	}
В OnPlayerStateChange
PHP:
new vehicleid = GetPlayerVehicleID(playerid);
if(vehicleid >= santacar[0] && vehicleid <= santacar[1])
					{
					if(PlayerInfo[playerid][pSanta] == 0)
					{
					SendClientMessage(playerid,CGREY,"Сначала начните рабочий день Санты");
					RemovePlayerFromVehicle(playerid);
					}
					else
					{
					new hui = GetPlayerVehicleID(playerid);
					if(podarki[hui] == 0)
					{
					SetPVarInt(playerid, "Razvoz",0);
    	                                SetPlayerRaceCheckpoint(playerid,1, 991.5023,-2320.1392,13.3317,0.0,0.0,0.0,8);
    	                               SendClientMessage(playerid,CWHITE,"В машине закончились подарки, загрузите их");
    	                              SetPVarInt(playerid, "Zagruzka",1);
    	                            return 1;
					}
					SendMes(playerid,CWHITE,"В машине: {FFA938}%i{FFFFFF} подарков",podarki[hui]);
					new rh = random(TOTALHOUSE) + 1; 
					SetPlayerRaceCheckpoint(playerid,1, HouseInfo[rh][hCarx],HouseInfo[rh][hCary],HouseInfo[rh][hCarz],0.0,0.0,0.0,8);
					SetPVarInt(playerid, "Razvoz",1);
					}
					}
В OnPlayerEnterRaceCheckpoint
PHP:
if(GetPVarInt(playerid,"Zagruzka") == 1)
	{
	new hui1 = GetPlayerVehicleID(playerid);
	podarki[hui1] = 5;
	SendMes(playerid,CWHITE,"В машине: {FFA938}%i{FFFFFF} подарков",podarki[hui1]);
	
	new rh = random(TOTALHOUSE) + 1;
	SetPlayerRaceCheckpoint(playerid,1, HouseInfo[rh][hCarx],HouseInfo[rh][hCary],HouseInfo[rh][hCarz],0.0,0.0,0.0,8);
	SetPVarInt(playerid, "Razvoz",1);
	SetPVarInt(playerid, "Zagruzka",0);
	return 1;
	}
	if(GetPVarInt(playerid,"Razvoz") == 1)
	{
    new hui1 = GetPlayerVehicleID(playerid);
	if(podarki[hui1] == 1)
	{
	   SetPVarInt(playerid, "Razvoz",0);
	   SendClientMessage(playerid,CWHITE,"Вы доставили один подарок");
	   podarki[hui1]--;
	   PlayerInfo[playerid][pPodarki] += 1;
	   SetPlayerRaceCheckpoint(playerid,1, 991.5023,-2320.1392,13.3317,0.0,0.0,0.0,8);
	   SendClientMessage(playerid,CWHITE,"В машине закончились подарки загрузите их");
	   SetPVarInt(playerid, "Zagruzka",1);
	   return 1;
	}
	else
	{
    SendClientMessage(playerid,CWHITE,"Вы доставили один подарок");
    PlayerInfo[playerid][pPodarki] += 1;
    podarki[hui1]--;
    SendMes(playerid,CWHITE,"В машине: {FFA938}%i{FFFFFF} подарков",podarki[hui1]);
	new rh = random(TOTALHOUSE) + 1;
	SetPlayerRaceCheckpoint(playerid,1, HouseInfo[rh][hCarx],HouseInfo[rh][hCary],HouseInfo[rh][hCarz],0.0,0.0,0.0,8);
	return 1;
	
	}
	}
В OnPlayerExitVehicle
PHP:
if(GetPVarInt(playerid,"Zagruzka") == 1 || GetPVarInt(playerid,"Razvoz") == 1)
	{
	SendClientMessage(playerid,CWHITE,"У вас есть 30 секунд чтобы вернуться в транспорт");
        SetTimer("santaoff", 30000, 0);
	
	}
В конец мода
PHP:
forward santaoff(playerid);
public santaoff(playerid)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(vehicleid >= santacar[0] && vehicleid <= santacar[1]) return false;
DisablePlayerRaceCheckpoint(playerid);
PlayerInfo[playerid][pSanta] = 0;
SendClientMessage(playerid,CWHITE,"Вы завершили свой рабочий день");
SendClientMessage(playerid,CWHITE,"Санта обиделся, что ты не заехал к нему и не дал тебе денег");
PlayerInfo[playerid][pPodarki] = 0;
SetPVarInt(playerid, "Zagruzka",0);
SetPVarInt(playerid, "Razvoz",0);
return true;
}
​
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу