#include //#include #include #include #define TEAM_Army 1 #define TEAM_Farmers 2 #define TEAM_Groove 3 #define TEAM_Ballas 4 #define TEAM_Vagos 5 #define TEAM_Aztecas 6 #define TEAM_Mafia 7 #define TEAM_GROOVE_COLOR 0x00FF00AA // Bright Green (in RGBA format) #define TEAM_BALLAS_COLOR 0xFF00FFAA // Bright Purple #define COLOR_GREY 0xAFAFAFAA #define COLOR_GREEN 0x33AA33AA #define COLOR_LIGHTGREEN 0x00FF00AA #define COLOR_DARKGREEN 0x004400AA #define COLOR_RED 0xAA3333AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_WHITE 0xFFFFFFAA #define BBLUE 0x00BFFFAA #define COLOR_LIGHTBLUE 0x1C86EEAA #define COLOR_ORANGE 0xFF9900AA #define COLOR_PINK 0xFF66FFAA #define COLOR_BRIGHTRED 0xB22222 #define MAX_SCORE 20 //max score for when the round's over #define OBJECTIVE_VEHICLE_BLUE 1 #define OBJECTIVE_COLOR 0xAA0000FF new TEXT[255]; static gHour; static gMinute; forward Timer_DayHeartbeat(); forward AutoReminder(); forward PayDay(); forward TimeFunction(playerid); forward unsafe(Kzone); forward OnPlayerUpdate(playerid); forward post_winners(winnerid); new gObjectiveBluePlayer=(-1); new gObjectiveReached=0; new gTeam[MAX_PLAYERS]; new exp[MAX_PLAYERS]; new XP[MAX_PLAYERS]; new level[MAX_PLAYERS] = 1; new Groove1; new Groove2; new Groove3; new Army1; new Army2; new Army4; new Army5; new Mafia1; new Mafia2; new Mafia3; new Mafia4; new Ballas1; new Ballas2; new Ballas3; new Ballas4; new Vagos1; new Vagos2; new Vagos; new Aztecas1; new Aztecas2; new Aztecas3; new Aztecas4; new Farmers1; new Farmers; new Farmers3; new Niekeno; new Visitors; new ownedcar[MAX_PLAYERS]; new owner[MAX_PLAYERS]; new ZoneOwner[25]={3,3,3,1,1,1,1,7,7,7,7,4,4,4,4,5,5,5 ,6,6,6,6,2,2,2}; new UnderAttack[25]; new KillCount[7][25]; new Float:ZoneLocations[25][4]= { {1988.037, -1752.921, 2611.702, -1614.75}, {1607.753, -1452.893, 2056.488, -1026.537}, {2216.207, -2321.396, 2391.137, -1768.712}, {70.06725, 1786.715, 373.692, 2113.696}, {2349.306, -2747.752, 2866.492, -2309.553}, {1132.754, -221.8796, 1950.205, 490.4708}, {151.8124, -268.5911, 478.7929, 140.1345}, {1025.919, -2372.717, 1524.091, -1910.831}, {1067.75, -1587.116, 1368.174, -1156.812}, {2615.505, -1606.855, 2896.915, -1263.401}, {1322.54, -1748.974, 1995.642, -1622.646}, {2067.896, -1377.886, 2269.447, -1223.924}, {1710.43, -2210.859, 2181.981, -1752.921}, {2064.094, -1614.75, 2265.644, -1381.833}, {1543.105, -2388.508, 1721.838, -1764.764}, {2296.066, -1247.61, 2866.492, -927.8433}, {200.7038, -2076.636, 987.8908, -1752.921}, {2216.207, -1847.667, 2615.505, -1752.921}, {2398.743, -2159.539, 2790.435, -1855.563}, {193.0981, -1705.548, 664.6498, -1156.812}, {2288.461, -1598.959, 2547.053, -1263.401}, {1482.26, -1598.959, 2064.094, -1464.736}, {-303.6248, -175.1681, 105.1009, 163.4902}, {2611.702, -1855.563, 2866.492, -1606.855}, {2008.595, -221.8796, 2709.267, 291.9469} }; IsInZone(playerid) { new i=0; new Float:X,Float:Y,Float:Z; GetPlayerPos(playerid,X,Y,Z); new NAME[40]; GetPlayerName(playerid,NAME,sizeof(NAME)); while (i<25) { if ((X>ZoneLocations[i][0])&&(XZoneLocations[i][1])&&(Y /help."); SendClientMessage(playerid, COLOR_BRIGHTRED, "Per qualsiasi altro aiuto chiedete pure all'admin. DjBlack"); SendClientMessage(playerid, COLOR_BRIGHTRED, "Best Site http://gtamania.forumcommunity.com "); GameTextForPlayer(playerid,"~w~[~g~I~w~T~r~A~w~]GtA MaNiA ~b~Server!",10000,1); GangZoneShowForPlayer(playerid, Groove1, 0x00FF0072); GangZoneShowForPlayer(playerid, Army2, 0x8040008F); GangZoneShowForPlayer(playerid, Mafia1, 0x0000FF74); GangZoneShowForPlayer(playerid, Ballas1, 0xCE16E976); GangZoneShowForPlayer(playerid, Vagos1, 0xFFFF0076); GangZoneShowForPlayer(playerid, Aztecas1, 0x00FFFF7C); GangZoneShowForPlayer(playerid, Vagos2, 0xFFFF0078); GangZoneShowForPlayer(playerid, Army1, 0x8040008F); GangZoneShowForPlayer(playerid, Groove2, 0x00FF007D); GangZoneShowForPlayer(playerid, Mafia2, 0x0000FF74); GangZoneShowForPlayer(playerid, Ballas2, 0x80008073); GangZoneShowForPlayer(playerid, Aztecas2, 0x00FFFF78); GangZoneShowForPlayer(playerid, Farmers1, 0x00000083); GangZoneShowForPlayer(playerid, Aztecas3, 0x00FFFF7D); GangZoneShowForPlayer(playerid, Mafia3, 0x0000FF74); GangZoneShowForPlayer(playerid, Farmers, 0x0000008B); GangZoneShowForPlayer(playerid, Vagos, 0xFFFF007C); GangZoneShowForPlayer(playerid, Ballas3, 0x80008070); GangZoneShowForPlayer(playerid, Groove3, 0x00FF007D); GangZoneShowForPlayer(playerid, Mafia4, 0x0000FF7C); GangZoneShowForPlayer(playerid, Aztecas4, 0x00FFFF81); GangZoneShowForPlayer(playerid, Ballas4, 0x80008070); GangZoneShowForPlayer(playerid, Army4, 0x80400096); GangZoneShowForPlayer(playerid, Farmers3, 0x00000083); GangZoneShowForPlayer(playerid, Army5, 0x8040008F); GangZoneShowForPlayer(playerid, Niekeno, 0xFFFFFF91); GameTextForPlayer(playerid,"~y~Los Santos ~r~Gang Wars",2500,5); GivePlayerMoney(playerid, 10000); SetPlayerColor(playerid, COLOR_GREY); // Set the player's color to inactive return 1; } public OnPlayerDisconnect(playerid, reason) { new pname[MAX_PLAYER_NAME],pmsg[256]; GetPlayerName(playerid, pname, MAX_PLAYER_NAME); format(pmsg,256,"%s E' uscito dal SERVER",pname); for(new j=0;j0) { if ((UnderAttack[Kzone]==gTeam[killerid])||(gTeam[playerid]==ZoneOwner[Kzone])) { KillCount[gTeam[killerid]][Kzone]++; if (KillCount[gTeam[killerid]][Kzone]==10) { UnderAttack[Kzone]=-1; SetTimerEx("unsafe",300000,0,"d",Kzone); KillCount[gTeam[killerid]][Kzone]=0; KillCount[gTeam[playerid]][Kzone]=0; new color=getColor(killerid); GangZoneShowForAll(Kzone,color); for (new i=0;i= 1) { if(XP[playerid] == 4) { GivePlayerMoney(playerid, -50000); level[playerid] ++; XP[playerid] = 0; GameTextForPlayer(playerid, "~g~You leveled up!", 5000, 5); } } if(level[playerid] == 1) { if(XP[playerid] < 4) { format(string, sizeof(string), "you need 4 XP, you currently have %d", XP[playerid]); SendClientMessage(playerid, COLOR_RED, string); } } if(level[playerid] == 2) { if(XP[playerid] >= 7) { GivePlayerMoney(playerid, -75000); level[playerid] ++; XP[playerid] = 0; GameTextForPlayer(playerid, "~g~You leveled up!", 5000, 5); } } if(level[playerid] == 2) { if(XP[playerid] < 7) { format(string, sizeof(string), "you need 7 XP, you currently have %d", XP[playerid]); SendClientMessage(playerid, COLOR_RED, string); } } return 1; } if (strcmp(cmdtext, "/morexp", true) == 0) { XP[playerid] ++; format(string, sizeof(string), "you gained XP, your XP is now %d", XP[playerid]); SendClientMessage(playerid, COLOR_GREY, string); return 1; } //--------------------------- if (strcmp(cmdtext, "/level", true) == 0) { format(string, sizeof(string), "Level: %d, XP: %d", level[playerid], XP[playerid]); SendClientMessage(playerid, COLOR_GREY, string); return 1; } //---------------------------------------- if (strcmp(cmdtext, "/lock", true)==0) { if (IsPlayerInAnyVehicle(playerid)) { new State=GetPlayerState(playerid); if (State!=PLAYER_STATE_DRIVER) { SendClientMessage(playerid,0xFFFF00AA,"You can Lock car Only While In Car."); return 1; } new i; for (i=0;i 0) { do { random_weather = getarg(random(len*1000)/1000); count++; } while(random_weather == weather && count < 10); // try up to 10 times to get a random weather } return random_weather; } GetSequencedWeather(hour) { static weather = 10; switch(weather) { // only normal weather changes are possible, eg clouds before rain and no sandstorm after rain case 0 .. 7, 10: { // blue skies/clouds switch(hour) { case 11 .. 14: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,11,17,18,20,27,28,29,35,36,37,38,39); case 17 .. 23: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,20); default: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,12,13,14,15,20,27,28,29); } } case 8: { // stormy weather = GetRandomWeather(weather,8,9,16,20,21,22,30,31,32,33); } case 9: { // cloudy and foggy switch(hour) { case 17 .. 23: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,20); default: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,20,27,28,29,30,31,32,33); } } case 11, 17, 18: { // scorching hot/bright switch(hour) { case 11 .. 14: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,11,17,18,20,27,28,29,35,26,37,38,39); default: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,20); } } case 12 .. 15: { // very dull, colorless, hazy switch(hour) { case 16 .. 19: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,12,13,14,15,16,20,21,22,33,35); default: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,12,13,14,15,16,20); } } case 16: { // dull, cloudy, rainy weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,12,13,14,15,16,20,33,35); } case 19: { // sandstorm weather = GetRandomWeather(weather,8,16); } case 20: { // foggy/greenish weather = GetRandomWeather(weather,9,16,20,21,22); } case 21, 22: { // very dark, gradiented skyline, purple/green weather = GetRandomWeather(weather,8,16,20,21,22); } case 23 .. 26: { // variations of pale orange switch(hour) { case 7 .. 11, 16 .. 20: GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,12,13,14,15,20,23,24,25,26,27,28,29,35,36,37,38); default: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,12,13,14,15,20); } } case 27 .. 29: { // variations of fresh blue switch(hour) { case 11 .. 14: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,11,17,18,20,27,28,29,35,36,37,38,39); case 17 .. 23: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,20); default: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,12,13,14,15,20); } } case 30 .. 32: { // variations of dark, cloudy, teal weather = GetRandomWeather(weather,8,9,16,20,21,22); } case 33: { // dark, cloudy, brown switch(hour) { case 17 .. 23: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,16,20); default: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,16,20); } } case 34: { // blue/purple, regular weather = GetRandomWeather(weather,16,20,21,22); } case 35: { // dull brown switch(hour) { case 11 .. 14: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,11,17,18,35,36,37,38); case 17 .. 23: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,23,24); default: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,12,13,14,15); } } case 36 .. 38: { // bright, foggy, orange switch(hour) { case 11 .. 14: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,11,17,18); case 17 .. 23: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,23,24); default: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9); } } case 39: { // extremely bright switch(hour) { case 11 .. 14: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,10,11,17,18,27,28,29,39); case 17 .. 23: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,10); default: weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,10); } } case 40 .. 42: { // blue/purple cloudy weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,16,20); } case 43: { // dark toxic clouds weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7); } case 44: { // black/white sky weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,12,13,14,15); } case 45: { // black/purple sky weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,12,13,14,15); } default: { weather = GetRandomWeather(weather,0,1,2,3,4,5,6,7,9,10,12,13,14,15); } } return weather; } public Timer_DayHeartbeat() { static hour = 0; SetWorldTime(hour); if(!(hour % 3)) SetWeather(GetSequencedWeather(hour)); hour++, hour %= 24; } public PayDay() { for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { GameTextForPlayer(i, "~w~PAY~y~DAY ~n~ ~n~ ~b~50000 $", 1000, 1); GivePlayerMoney(i, 50000); } } } public TimeFunction(playerid) { if(gHour < 24) { if(gMinute < 60) { gMinute ++; if(gMinute == 60) { gMinute = 0; gHour ++; if(gHour == 17) { XP[playerid] ++; } } } } else if(gHour == 24) { gHour = 0; } SetWorldTime(gHour); return 1; } public post_winners(winnerid) { new i; //paralize all for(i = 0; i < MAX_PLAYERS ; i++) if(IsPlayerConnected(i) && !IsPlayerAdmin(i)) TogglePlayerControllable(i,0); new string[256]; new winners[3]; //3 first players' ids winners[0] = winnerid; //first place winners[1] = 255; //second place winners[2] = 255; //third place printf("1. %d 2. %d 3. %d", winners[0], winners[1], winners[2]); new winames[3][MAX_PLAYER_NAME]; //names of the winners GetPlayerName(winners[0], winames[0], MAX_PLAYER_NAME); //winner name new x = -100; for(i = 0; i < MAX_PLAYERS ; i++) //finding 2nd place. { if (IsPlayerConnected(i) && GetPlayerScore(i) > x && i != winners[0]) { x = GetPlayerScore(i); winners[1] = i; } } if(winners[1] != 255) GetPlayerName(winners[1], winames[1], MAX_PLAYER_NAME); //if found 2nd place, get his name else winames[1] = "---"; //if not, just write --- x = -100; for(i = 0; i < MAX_PLAYERS ; i++) //finding 3rd place. { if (IsPlayerConnected(i) && GetPlayerScore(i) > x && i != winners[0] && i != winners[1]) { x = GetPlayerScore(i); winners[2] = i; } } if(winners[2] != 255) GetPlayerName(winners[2], winames[2], MAX_PLAYER_NAME); //if found 3rd place, get his name else winames[2] = "---"; //if not, just write --- format(string, sizeof(string),"~w~1. ~b~%s ~y~(%d)~n~~w~2. ~b~%s ~y~(%d)~n~~w~3. ~b~%s ~y~(%d)~n~", winames[0], GetPlayerScore(winners[0]), winames[1], GetPlayerScore(winners[1]), winames[2],GetPlayerScore(winners[2])); GameTextForAll(string,16000,3); SetTimer("GameModeExitFunc", 15000, 0); }