MaksxxRed |
Дата: Понедельник, 18.03.2019, 22:01 | Сообщение # 1
|
Новичок
Сообщений: 2
Статус: Offline
|
Приветствую всех читателей Cheat Master Автор скрипта: #Red | Максимус Стаменков
Помогаю бесплатно людям . Обращение: vk.com/maks.stamen
Подробнее о работе:Созданы несколько банкоматов, которые приходится чинить каждую минуту (можете поменять). | после починки банкомата искрение пропадает. Вы можете узнать местонахождение банкоматов командой /ms. | В команде уже встроенная команда, которая вычисляет сколько от Вас и до сломанного банкомата нужно добежать / доехать.
Код #include <Pawn.CMD> #include <streamer> #include <foreach> Обязательные инклуды
Код enum Job { Float:cobjX,Float:cobjY,Float:cobjZ, bool:is_cobj, sobj } new c_Obj[8][Job] = { {1919.324096, -1765.918701, 12.156874, true}, {2228.668945, -1716.418945, 12.239444,true}, {1496.197753, -1750.146240, 13.945310,true}, {1358.804321, -1759.618652, 11.862051,true}, {1171.856811, -1328.025024, 13.612185,true}, {773.661315, -1036.325073, 22.682752,true}, {457.765747, -1489.541870, 29.502471,true}, {1564.572387, -1331.018066, 15.204374,true} }; Объекты для их использование
Код public OnGameModeInit() { SetTimer(!"Jobtimer",500,true); // Упрощенный таймер для многочисленного использование SetTimer(!"Jobs",1000,true); // Таймер по обновлению объектов CreateDynamicObject(2754, 1919.235229, -1765.750000, 13.342815, 0.000000, 0.000000, -90.000000, -1, -1, -1, 300.00, 300.00); CreateDynamicObject(2754, 2228.554931, -1716.476440, 13.248940, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00); CreateDynamicObject(2754, 1496.247680, -1749.992553, 15.125315, 0.000000, 0.000000, -91.199951, -1, -1, -1, 300.00, 300.00); CreateDynamicObject(2754, 1358.931518, -1759.687011, 13.211816, 0.000000, 0.000000, -90.300025, -1, -1, -1, 300.00, 300.00); CreateDynamicObject(2754, 1171.814819, -1328.014770, 15.105312, 0.000000, 0.000000, -177.900039, -1, -1, -1, 300.00, 300.00); CreateDynamicObject(2754, 1367.075927, -1275.063354, 13.356878, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00); CreateDynamicObject(2754, 773.660644, -1036.112426, 23.840311, 0.000000, 0.000000, 99.400001, -1, -1, -1, 300.00, 300.00); CreateDynamicObject(2754, 457.768493, -1489.536132, 30.891502, 0.000000, 0.000000, 15.800003, -1, -1, -1, 300.00, 300.00); CreateDynamicObject(2754, 1564.548706, -1330.991699, 16.176691, 0.000000, 0.000000, -90.399993, -1, -1, -1, 300.00, 300.00); for(new i; i!=8; i++) c_Obj[i][sobj] = CreateDynamicObject(18718, c_Obj[i][cobjX],c_Obj[i][cobjY],c_Obj[i][cobjZ], 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.00, 300.00); AddPlayerClass(25, 1363.64,-1271.45,13.55, 269.1425, 0, 0, 0, 0, 0, 0); return 1; } Комментарии указаны
Код public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { switch(newkeys) { case KEY_WALK: { for(new i; i!=8;i++) { if IsPlayerInRangeOfPoint(playerid,2, c_Obj[i][cobjX],c_Obj[i][cobjY],c_Obj[i][cobjZ]) *then { if !c_Obj[i][is_cobj] *then continue; SetPVarInt(playerid, !"job", gettime()+6); SendClientMessage(playerid, -1, "Вы начали устранять искрение банкомата"); ApplyAnimation(playerid,"OTB","BETSLP_LOOP",4.1,1,0,0,0,0,1); } } } } return 1; } Когда вы находитесь возле сломанного банкомата, вы нажимаете l.alt и начинаете чинить банкомат
Код CMD:ms(playerid) { new str[600],serv[600]; for(new i; i<8; i++) { if c_Obj[i][is_cobj] == false *then continue; format(str,sizeof(str),"[Поломка]:\t\t%0.2f метров\n", GetPlayerDistanceFromPoint(playerid,c_Obj[i][cobjX],c_Obj[i][cobjY],c_Obj[i][cobjZ])); strcat(serv,str); } ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,"Список поломок", serv, "Закрыть", ""); return 1; } Команда, чтобы узнать сколько метров от Вас до поломанного банкомата
Код forward Jobs(); public Jobs() { for(new i; i!=8; i++) { if c_Obj[i][is_cobj]*then continue; switch(random(i)) { case 0..7: c_Obj[i][sobj] = CreateDynamicObject(18718, c_Obj[i][cobjX],c_Obj[i][cobjY],c_Obj[i][cobjZ], 0.000000, 0.000000, 0.000000, -1, -1, -1,300.00, 300.00), c_Obj[i][is_cobj] = true; default: continue; } } return 1; } forward Jobtimer(); public Jobtimer() { foreach(new h:Player) { if GetPVarInt(h, !"job") <= gettime() && GetPVarInt(h, !"job") != 0 *then { for(new i; i!=8; i++) { if IsPlayerInRangeOfPoint(h,2, c_Obj[i][cobjX],c_Obj[i][cobjY],c_Obj[i][cobjZ]) *then { if !c_Obj[i][is_cobj] *then continue; c_Obj[i][is_cobj] = false; ClearAnimations(h); SendClientMessage(h, -1, "Вы устранили поломку."); DestroyDynamicObject(c_Obj[i][sobj]); SetPVarInt(h, !"job", 0); } } } } return 1; } Комментарии указывал в OnGameModeInit()
Сообщение отредактировал MaksxxRed - Вторник, 26.03.2019, 18:29 |
|
|
|