Батька
Компетентный
Всем привет.
Сегодня я вам покажу простенькую работу Санты.
Сделал её я, маппинг тоже мой.
Так как скоро Новый год тип.
Ваша задача развести 5 подарков по домам, за каждый отвезённый подарок вам даётся 100$.
Сразу говорю что и где менять на своё.
TOTALHOUSE - меняем на кол-во домов у вас на сервере
hCarx,hCary,hCarz - меняем на переменые координат машины у домов.
Скрины:
Маппинг в OnGameModeInit
Ко всем new.
new santacar[2];
new podarki[MAX_VEHICLES];
new santapic[2];
В enum pinfo
pSanta,
pPodarki,
В OnGameModeInit
В OnDialogResponse
В OnPlayerPickUpPickup
В OnPlayerStateChange
В OnPlayerEnterRaceCheckpoint
В OnPlayerExitVehicle
В конец мода
Сегодня я вам покажу простенькую работу Санты.
Сделал её я, маппинг тоже мой.
Так как скоро Новый год тип.
Ваша задача развести 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 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;
}
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;
}
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);
}
}
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;
}
}
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;
}
Последнее редактирование:
