Advertisement
BernarsK

Untitled

Nov 30th, 2015
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 7.17 KB | None | 0 0
  1. #define MAX_MBIZZ 5
  2. new OnMafiaZONE[MAX_MBIZZ][20];
  3. new allowedmafiafactions[] = { 16, 17, 18};
  4. new MafiaOnBattle[MAX_MBIZZ];
  5. new MafiaTimer[MAX_MBIZZ];
  6. new MZSafeTime[MAX_MBIZZ];
  7. enum maf_bizz
  8. {
  9.     id,
  10.     ID,
  11.     Float:mCoord[4],
  12.     mFraction,
  13.     mFractTime,
  14.     mMatsPrice,
  15.     mDrugsPrice,
  16.     mMineral,
  17.     mFuels[128],
  18.     mFuel[5],
  19.     mEntPrice,
  20.     mBarPrice,
  21.     mMetals[128],
  22.     mNapad
  23. }
  24. new MafiaInfo[MAX_MBIZZ][maf_bizz];
  25. new MafiaCD[20];
  26.  
  27. stock LoadMafia()
  28. {
  29.     new time = GetTickCount();
  30.     mysql_query("SELECT * FROM `"TABLE_MAFIA"`");
  31.     mysql_store_result();
  32.     if(mysql_num_rows() > 0)
  33.     {
  34.         for(new idx = 1; idx <= mysql_num_rows(); idx++)
  35.         {
  36.             mysql_fetch_row(query);
  37.             sscanf(query, "p<|>iiffffiiis[128]iiis[128]fi",
  38.             MafiaInfo[idx][id],
  39.             MafiaInfo[idx][mMatsPrice],
  40.             MafiaInfo[idx][mCoord][0],
  41.             MafiaInfo[idx][mCoord][1],
  42.             MafiaInfo[idx][mCoord][2],
  43.             MafiaInfo[idx][mCoord][3],
  44.             MafiaInfo[idx][mFraction],
  45.             MafiaInfo[idx][mFractTime],
  46.             MafiaInfo[idx][mMineral],
  47.             MafiaInfo[idx][mFuels],
  48.             MafiaInfo[idx][mEntPrice],
  49.             MafiaInfo[idx][mBarPrice],
  50.             MafiaInfo[idx][mDrugsPrice],
  51.             MafiaInfo[idx][mMetals]);
  52.             TOTALMAFIA++;
  53.             sscanf(MafiaInfo[idx][mFuels], "p<,>a<i>[5]", MafiaInfo[idx][mFuel]);
  54.             MafiaInfo[idx][ID] = GangZoneCreate(MafiaInfo[idx][mCoord][0],MafiaInfo[idx][mCoord][1],MafiaInfo[idx][mCoord][2],MafiaInfo[idx][mCoord][3]);
  55.             MafiaOnBattle[idx] = 0;
  56.             MZSafeTime[idx] = 0;
  57.         }
  58.         sscanf(MafiaInfo[1][mMetals], "p<,>iiiii", MafiaMetal[1], MafiaMetal[2], MafiaMetal[3], MafiaMetal[4], MafiaMetal[5]);
  59.     }
  60.     mysql_free_result();
  61.     printf(" [Ielade mafijas]: Tikka ieladetas - %d pings %d (ms)", TOTALMAFIA,GetTickCount() - time);
  62. }
  63.  
  64. stock SaveMZ(idx)
  65. {
  66.     format(query, sizeof(query), "UPDATE "TABLE_MAFIA" SET minx = '%f', miny = '%f', maxx = '%f', maxy = '%f', fraction = %i WHERE id = %i",
  67.     MafiaInfo[idx][mCoord][0], MafiaInfo[idx][mCoord][1],MafiaInfo[idx][mCoord][2],MafiaInfo[idx][mCoord][3],MafiaInfo[idx][mFraction], idx);
  68.     mysql_query(query);
  69.     return 1;
  70. }
  71.  
  72. stock MzCheck()
  73. {
  74.     for(new i =0;i<sizeof(MafiaInfo);i++)
  75.     {
  76.         if(MafiaOnBattle[i] == 1 && MZSafeTime[i] == 0)
  77.         {
  78.             MafiaTimer[i] -=5;
  79.             new faction;
  80.             new zl;
  81.             zl = i;
  82.             if(MafiaTimer[i] <=0)
  83.             {
  84.                 SendFMes(i,COLOR_RED,"[F] Time is up!");
  85.                 MafiaOnBattle[i] =0;
  86.                 GangZoneStopFlashForAll(MafiaInfo[i][id]);
  87.                 SaveMZ(zl);
  88.             }
  89.             for(new x =0;x<MAX_PLAYERS;x++)
  90.             {
  91.                 if(PlayerToKvadrat(x,MafiaInfo[i][mCoord][0], MafiaInfo[i][mCoord][1],MafiaInfo[i][mCoord][2],MafiaInfo[i][mCoord][3])&&IsInAllowedMafia(x))
  92.                 {
  93.                     if(PlayerInfo[x][pLeader] !=0) {faction = PlayerInfo[x][pLeader];}
  94.                     else { faction = PlayerInfo[x][pMember];}
  95.                     OnMafiaZONE[i][faction] ++;
  96.                 }
  97.             }
  98.             new asd;
  99.             for(new x =0;x<20;x++)
  100.             {
  101.                 if(OnMafiaZONE[i][x] > 0 && IsInAllowedMafiaF(x)) asd ++;
  102.             }
  103.             if(asd == 1)
  104.             {
  105.                 for(new x =0;x<20;x++)
  106.                 {
  107.                     if(OnMafiaZONE[i][x] > 0)
  108.                     {
  109.                         new zx;
  110.                         zx = x;
  111.                         if(MafiaInfo[i][mFraction] == x) {format(string,90,"[F] %s mafia protected his teritorry!",GetMafiaName(zx)); }
  112.                         else
  113.                         {format(string,90,"[F] %s mafia won and got new territory!",GetMafiaName(zx)); }
  114.                         for(new ads = 8; ads <= 12;ads++) SendFMes(ads, COLOR_LIGHTRED,string);
  115.                         MafiaOnBattle[zl] =0;
  116.                         MafiaInfo[zl][mNapad] = 0;
  117.                         MafiaInfo[zl][mFraction] = zx;
  118.                         GangZoneStopFlashForAll(MafiaInfo[zl][ID]);
  119.                         GangZoneHideForAll(MafiaInfo[zl][ID]);
  120.                         GangZoneShowForAll(MafiaInfo[zl][ID],GetMafiaZoneColor(zl));
  121.                         SaveMZ(zl);
  122.                         break;
  123.                     }
  124.                 }
  125.             }
  126.         }
  127.     }
  128.     for(new i =0;i<120;i++)
  129.     {
  130.         for(new z = 0;z<20;z++)
  131.         {
  132.             OnMafiaZONE[i][z] =0;
  133.         }
  134.     }
  135.     return 1;
  136. }
  137.  
  138. forward SecUpdate();
  139. public SecUpdate()
  140. {
  141. MzCheck();
  142.     for(new i = 1; i <= TOTALMAFIA; i++)
  143.     {
  144.         if(MZSafeTime[i] > 0)
  145.         {
  146.             MZSafeTime[i]--;
  147.             if(MZSafeTime[i] == 60 || MZSafeTime[i] == 120)
  148.             {
  149.                 format(string,127,"[F] You have %d seconds to get ready!",MZSafeTime[i]);
  150.                 SendFMes(MafiaInfo[i][mNapad],COLOR_LIGHTRED,string);
  151.                 SendFMes(MafiaInfo[i][mFraction],COLOR_LIGHTRED,string);
  152.             }
  153.             if(MZSafeTime[i] == 0)
  154.             {
  155.                 format(string,127,"[F] Warm-up time is over! When there are no your mafia players left, the territory will pass to oponnents.");
  156.                 SendFMes(MafiaInfo[i][mNapad],COLOR_LIGHTRED,string);
  157.                 SendFMes(MafiaInfo[i][mFraction],COLOR_LIGHTRED,string);
  158.             }
  159.         }
  160.     }
  161. }
  162.  
  163. CMD:mafbizz(playerid, params[])
  164. {
  165.     if(PlayerLogged[playerid] == 0) return 1;
  166.     if(IsAMafia(playerid))
  167.     {
  168.         if(PlayerInfo[playerid][pRank] < 7) return SendClientMessage(playerid,COLOR_LIGHTRED,"This command is available from rank 7!");
  169.         new faction = PlayerInfo[playerid][pMember];
  170.         if(MafiaCD[faction] > 0) return SendClientMessage(playerid, COLOR_GREY, "You can conquer a territory only one time in 40 minutes!");
  171.         if(!IsInAllowedMafia(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Conquering is already in progress!");
  172.         for(new i = 1;i<=TOTALMAFIA;i++)
  173.         {
  174.             if(PlayerToKvadrat(playerid,MafiaInfo[i][mCoord][0], MafiaInfo[i][mCoord][1],MafiaInfo[i][mCoord][2],MafiaInfo[i][mCoord][3]) && MafiaOnBattle[i] == 0)
  175.             {
  176.                 if(MafiaInfo[i][mFraction] == faction) return SendClientMessage(playerid, COLOR_GREY, "This terrtitory already belongs to you faction!");
  177.                
  178.                 format(string, 127,"[F] Mafia %s is attacking, you have 5 minutes to ready-up!", FracInfo[PlayerInfo[playerid][pMember]][fName]);
  179.                 SendFMes(MafiaInfo[i][mFraction],COLOR_LIGHTRED,string);
  180.                 format(string, 127, "[F] If after 5 mintues you wont be at territory, %s will conquer it!",FracInfo[PlayerInfo[playerid][pMember]][fName]);
  181.                 SendFMes(MafiaInfo[i][mFraction],COLOR_LIGHTRED,string);
  182.                 format(string,128,"[F] %s started attacking %s. You have 5 minutes to ready-up!",sendername(playerid),GetMafiaName(MafiaInfo[i][mFraction]));
  183.                 SendFMes(faction,COLOR_LIGHTRED,string);
  184.                 GangZoneFlashForAll(MafiaInfo[i][ID],GetMZColorF(faction));
  185.                 MZSafeTime[i] = 300;
  186.                 MafiaCD[faction]  = 4200;
  187.                 MafiaInfo[i][mNapad] = faction;
  188.                 MafiaTimer[i] = 720;
  189.                 MafiaOnBattle[i] = 1;
  190.                 break;
  191.             }
  192.         }
  193.     }
  194.     else SendClientMessage(playerid, COLOR_GREY, YouCanNot);
  195.     return 1;
  196. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement