Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <Sscanf>
- #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
- enum Boom { PLAYERS, BOOM_ON, NOW_PLAYING, MAX_PLAYING, PRICE }
- new Timers[MAX_PLAYERS], BoomInfo[Boom], InBoom[MAX_PLAYERS], str[128], DO_BOOMS;
- new Float:Objects[][7] = {
- {10766.00,689.59997559,-2142.50000000,2.20000005,0.00000000,0.00000000,0.00000000}, //Object number 10766
- {10766.00,631.70001221,-2142.60009766,2.20000005,0.00000000,0.00000000,0.00000000}, //Object number 10766
- {8493.00,605.70001221,-2078.89990234,17.50000000,0.00000000,0.00000000,343.50000000}, //Object number 8493
- {8210.00,632.40002441,-2032.69995117,7.30000019,0.00000000,0.00000000,0.01998901}, //Object number 8210
- {8210.00,688.70001221,-2032.59997559,7.30000019,0.00000000,0.00000000,0.01647949}, //Object number 8210
- {8210.00,716.70001221,-2060.69995117,7.30000019,0.00000000,0.00000000,270.00000000}, //Object number 8210
- {8210.00,661.59997559,-2032.59997559,7.30000019,0.00000000,0.00000000,0.01647949}, //Object number 8210
- {8210.00,716.70001221,-2116.30004883,7.30000019,0.00000000,0.00000000,269.99450684}, //Object number 8210
- {8210.00,716.70001221,-2157.00000000,7.30000019,0.00000000,0.00000000,269.99450684}, //Object number 8210
- {8210.00,688.70001221,-2185.00000000,7.30000019,0.00000000,0.00000000,180.00000000}, //Object number 8210
- {8210.00,652.79998779,-2185.10009766,7.30000019,0.00000000,0.00000000,179.99450684}, //Object number 8210
- {8210.00,632.70001221,-2185.19995117,7.30000019,0.00000000,0.00000000,179.99450684}, //Object number 8210
- {8210.00,604.50000000,-2157.30004883,7.30000019,0.00000000,0.00000000,90.00000000}, //Object number 8210
- {8210.00,604.50000000,-2101.69995117,7.30000019,0.00000000,0.00000000,90.00000000}, //Object number 8210
- {8210.00,604.50000000,-2060.69995117,7.30000019,0.00000000,0.00000000,90.00000000}, //Object number 8210
- {9159.00,605.59997559,-2078.69995117,17.29999924,0.00000000,0.00000000,343.50000000}, //Object number 9159
- {10764.00,688.09997559,-2149.19995117,7.50000000,0.00000000,0.00000000,85.99993896}, //Object number 10764
- {10764.00,641.50000000,-2142.69995117,7.50000000,0.00000000,0.00000000,169.99548340}, //Object number 10764
- {10764.00,639.59997559,-2065.39990234,7.50000000,0.00000000,0.00000000,91.99145508}, //Object number 10764
- {10764.00,687.00000000,-2066.30004883,7.50000000,0.00000000,0.00000000,183.98855591}, //Object number 10764
- {620.00,716.20001221,-2183.50000000,4.50000000,0.00000000,0.00000000,0.00000000}, //Object number 620
- {620.00,716.70001221,-2034.19995117,4.50000000,0.00000000,0.00000000,0.00000000}, //Object number 620
- {620.00,606.09997559,-2033.50000000,4.50000000,0.00000000,0.00000000,0.00000000}, //Object number 620
- {620.00,606.00000000,-2184.69995117,4.50000000,0.00000000,0.00000000,0.00000000}, //Object number 620
- {712.00,609.59997559,-2064.10009766,12.10000038,0.00000000,0.00000000,24.99938965}, //Object number 712
- {712.00,605.20001221,-2098.50000000,12.10000038,0.00000000,0.00000000,24.99938965}, //Object number 712
- {805.00,629.09997559,-2168.30004883,5.30000019,0.00000000,0.00000000,0.00000000}, //Object number 805
- {805.00,673.00000000,-2120.00000000,5.30000019,0.00000000,0.00000000,0.00000000}, //Object number 805
- {805.00,652.90002441,-2077.89990234,5.30000019,0.00000000,0.00000000,0.00000000}, //Object number 805
- {805.00,621.50000000,-2048.39990234,5.30000019,0.00000000,0.00000000,0.00000000}, //Object number 805
- {805.00,699.40002441,-2053.50000000,5.30000019,0.00000000,0.00000000,0.00000000}, //Object number 805
- {805.00,685.59997559,-2146.60009766,5.30000019,0.00000000,0.00000000,0.00000000} //Object number 805
- };
- new Objectid[sizeof(Objects)];
- public OnFilterScriptInit()
- return print("\n--------------------------------------\n BOOM Aactivitie BY RaFaeL loaded \n"), BoomInfo[BOOM_ON] = 0, BoomInfo[NOW_PLAYING] = 0, BoomInfo[PLAYERS] = 0, KillTimer(DO_BOOMS), 1;
- public OnPlayerDisconnect(playerid, reason)
- {
- if(InBoom[playerid] == 1) BoomInfo[PLAYERS] --; InBoom[playerid] = 0, CheckWiner();
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(InBoom[playerid] == 1) BoomInfo[PLAYERS] --; InBoom[playerid] = 0, SetPlayerTime(playerid,12,0), CheckWiner();
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- dcmd(StartBoom, 9, cmdtext);
- dcmd(StopBoom, 8, cmdtext);
- if(InBoom[playerid]) return SendClientMessage(playerid, 0xFF533BFF, "אתה לא יכל לבצע פקודות בזמן פעילות הבום!");
- dcmd(Boom, 4, cmdtext);
- return 0;
- }
- //=====================================================================
- dcmd_StartBoom(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid)) return 0;
- if(BoomInfo[BOOM_ON] || BoomInfo[NOW_PLAYING]) return SendClientMessage(playerid, 0xFF533BFF, "The activitie \"Boom\" has been started");
- if (sscanf(params, "ii", BoomInfo[MAX_PLAYING], BoomInfo[PRICE])) return SendClientMessage(playerid, 0xFF533BFF, "Usage: /StartBoom [Max Players] [Price]");
- SendClientMessageToAll(0xFFFFFFFF, ""), SendClientMessageToAll(0xFFFFFFFF, "========= /Boom ========");
- format(str, sizeof(str), "הפעילות את פעילות הבומים {F5F272}%s{FFFFFF} האדמין", GetName(playerid)), SendClientMessageToAll(0xFFFFFFFF, str);
- format(str, sizeof(str), "${2C99D1}%d{FFFFFF} :פרס", BoomInfo[PRICE]), SendClientMessageToAll(0xFFFFFFFF, str);
- SendClientMessageToAll(0xFFFFFFFF, "המטרה: לשרוד אחרון ולא להתפוצץ"), SendClientMessageToAll(0xFFFFFFFF, "(c) RaFaeL - St0p נבנה על ידי"), SendClientMessageToAll(0xFFFFFFFF, "========= בהצלחה! ========"), SendClientMessageToAll(0xFFFFFFFF, "");
- return BoomInfo[BOOM_ON] = 1,JoiningCountDown(30);
- }
- dcmd_StopBoom(playerid, params[])
- {
- #pragma unused params
- if(!BoomInfo[BOOM_ON]) return SendClientMessage(playerid, 0xFF533BFF, "The activitie \"Boom\" has not been started");
- BoomInfo[BOOM_ON] = 0, BoomInfo[NOW_PLAYING] = 0, BoomInfo[PLAYERS] = 0, KillTimer(DO_BOOMS);
- for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && InBoom[i])InBoom[i] = 0, SpawnPlayer(i);
- for(new i = 0; i < sizeof(Objects); i++) DestroyObject(Objectid[i]);
- return format(str, sizeof(str), "ביטל את פעילות הבומים {F5F272}%s{FFFFFF} האדמין", GetName(playerid)), SendClientMessageToAll(0xFFFFFFFF, str);
- }
- dcmd_Boom(playerid, params[])
- {
- #pragma unused params
- if(!BoomInfo[BOOM_ON] || BoomInfo[NOW_PLAYING]) return SendClientMessage(playerid, 0xFF533BFF, !BoomInfo[BOOM_ON]? ("הפעילות לא פעילה כרגע"):("הפעילות כבר החלה"));
- if(BoomInfo[PLAYERS] > BoomInfo[MAX_PLAYING] || InBoom[playerid]) return SendClientMessage(playerid, 0xFF533BFF, InBoom[playerid]? ("כבר נרשמת, חכה בסבלנות"):("מצטערים, כל המקומות נתפסו"));
- return SendClientMessage(playerid,0x91EA85FF,"! הצטרפת בהצלחה"), InBoom[playerid] = 1, BoomInfo[PLAYERS]++, BoomInfo[PLAYERS] == BoomInfo[MAX_PLAYING]? SendClientMessageToAll(0x91EA85FF, "כל המקומות נתפסו!"):1, 1;
- }
- //==============================================================================
- forward JoiningCountDown(cd);
- public JoiningCountDown(cd){
- if(!BoomInfo[BOOM_ON]) return 0;
- format(str,sizeof(str),"~r~/~g~B~b~O~y~O~p~M ~w~%d",cd),GameTextForAll(str,1000,6);
- if(cd >= 1) cd--,SetTimerEx("JoiningCountDown",1000,0,"%d",cd);
- else
- {
- if(BoomInfo[PLAYERS] < 2) return SendClientMessageToAll(0xFF533BFF, "פעילות בוטלה עקב חוסר משתמשים"), BoomInfo[BOOM_ON] = 0, BoomInfo[NOW_PLAYING] = 0, BoomInfo[PLAYERS] = 0;
- for(new i = 0; i < sizeof(Objects); i++) Objectid[i] = CreateObject(floatround(Objects[i][0]), Objects[i][1], Objects[i][2], Objects[i][3], Objects[i][4], Objects[i][5], Objects[i][6], 300);
- for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && InBoom[i]) SetPlayerInArea(i,606.5390, -2184.1294, 714.4244, -2033.5969, 6), SetPlayerInterior(i,0), ResetPlayerWeapons(i), TogglePlayerControllable(i, false), SetPlayerTime(i,0,0);
- Wait10SecToStart(10);
- }
- return 1;
- }
- forward Wait10SecToStart(cd);
- public Wait10SecToStart(cd){
- if(!BoomInfo[BOOM_ON]) return 0;
- format(str,sizeof(str),"~g~%d",cd),GameTextForAll(str,1000,6);
- if(cd >= 1) cd--,SetTimerEx("Wait10SecToStart",1000,0,"%d",cd);
- else
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- if(IsPlayerConnected(i) && InBoom[i]) TogglePlayerControllable(i, true), SetPlayerHealth(i, 100), SetPlayerArmour(i, 100), Timers[i] = SetTimerEx("GetOut",5000,0,"%d",cd);
- BoomInfo[NOW_PLAYING] = 1, DO_BOOMS = SetTimer("DoBoom",500,1), GameTextForAll("~r~G~g~O~b~O~w~O~y~O~p~!~h~!",1000,6);
- }
- return 1;
- }
- forward DoBoom();
- public DoBoom()
- return CreateExplosionInArea(602.6973, -2185.3198, 718.2797, -2030.8037, 5.3, 10, 0);
- //==============================================================================
- stock GetName(playerid)
- return GetPlayerName(playerid, str, sizeof(str)), str;
- stock SetPlayerInArea(playerid, Float:minx, Float:miny, Float:maxx, Float:maxy, Float:maxz)
- return SetPlayerPos(playerid, float(floatround(random(floatround(maxx-minx))+minx)), float(floatround(random(floatround(maxy-miny))+miny)), maxz);
- stock CreateExplosionInArea(Float:minx, Float:miny, Float:maxx, Float:maxy, Float:maxz, type, Float:radius)
- return CreateExplosion(float(floatround(random(floatround(maxx-minx))+minx)), float(floatround(random(floatround(maxy-miny))+miny)), maxz, type, radius);
- stock CheckWiner()
- {
- if(BoomInfo[BOOM_ON] && BoomInfo[NOW_PLAYING] && BoomInfo[PLAYERS]==1)
- {
- BoomInfo[BOOM_ON] = 0, BoomInfo[NOW_PLAYING] = 0, BoomInfo[PLAYERS] = 0, KillTimer(DO_BOOMS);
- for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && InBoom[i]) format(str, sizeof(str), "$%d שרד אחרון וקיבל %s השחקן", BoomInfo[PRICE], GetName(i)), SendClientMessageToAll(0xFFFFFFFF, str), SpawnPlayer(i), GivePlayerMoney(i, BoomInfo[PRICE]), InBoom[i] = 0;
- for(new i = 0; i < sizeof(Objects); i++) DestroyObject(Objectid[i]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement