Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2014
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.07 KB | None | 0 0
  1. CMD:wt(playerid, params[])
  2. {
  3.     if(isnull(params))
  4.         return SendClientMessage(playerid, GREY, "SYNTAX: /wt [msg]");
  5.  
  6.     if(Player[playerid][WalkieTalkie] == 0)
  7.         return SendClientMessage(playerid, -1, "You don't own a walkietalkie!");
  8.  
  9.     if(Player[playerid][Gagged] == 1)
  10.         return SendClientMessage(playerid, -1, "You can't do that, your mouth is covered!");
  11.  
  12.     if(Player[playerid][WalkieFrequency] == 0)
  13.         return SendClientMessage(playerid, -1, "You must first set a frequency, type /setfrequency");
  14.  
  15.     if(Player[playerid][Tied] || Player[playerid][Tazed] || Player[playerid][Cuffed] >= 1 || (Player[playerid][PrisonID] > 0 && Player[playerid][PrisonDuration] > 0))
  16.         return SendClientMessage(playerid, -1, "You cannot do this right now.");
  17.  
  18.     if(Player[playerid][ToggedWT])
  19.         return SendClientMessage(playerid, -1, "Your walkie-talkie is currently turned off. Use /togwt to turn it on.");
  20.  
  21.     new msg[128], inRange[MAX_PLAYERS];
  22.     format(msg, sizeof(msg), "[Walkie] %s says: %s", GetNameEx(playerid), params);
  23.  
  24.     new Float:pos[6];
  25.            
  26.     GetPlayerPos(playerid, pos[3], pos[4], pos[5]);
  27.     if(Player[playerid][InHouse] > 0)
  28.     {
  29.         new id = Player[playerid][InHouse];
  30.         pos[3] = Houses[id][hExteriorX];
  31.         pos[4] = Houses[id][hExteriorY];
  32.         pos[5] = Houses[id][hExteriorZ];
  33.     }
  34.        
  35.     if(Player[playerid][InBusiness] > 0)
  36.     {
  37.         new id = Player[playerid][InBusiness];
  38.         pos[3] = Businesses[id][bExteriorX];
  39.         pos[4] = Businesses[id][bExteriorY];
  40.         pos[5] = Businesses[id][bExteriorZ];
  41.     }
  42.        
  43.     if(Player[playerid][InGroupHQ] > 0)
  44.     {
  45.         new id = Player[playerid][InGroupHQ];
  46.         pos[3] = Groups[id][HQExteriorX];
  47.         pos[4] = Groups[id][HQExteriorY];
  48.         pos[5] = Groups[id][HQExteriorZ];
  49.     }
  50.        
  51.     if(Player[playerid][InGangHQ] > 0)
  52.     {
  53.         new id = Player[playerid][InGangHQ];
  54.         pos[3] = Gangs[id][ExtPos][0];
  55.         pos[4] = Gangs[id][ExtPos][1];
  56.         pos[5] = Gangs[id][ExtPos][2];
  57.     }
  58.  
  59.     foreach(Player, i)
  60.     {
  61.         if(!(Player[i][WalkieFrequency] == Player[playerid][WalkieFrequency]) || Player[i][ToggedWT] || !Player[playerid][WalkieTalkie])
  62.             continue;
  63.  
  64.         if(Player[i][PrisonID] > 0 && Player[i][PrisonDuration] > 0)
  65.             continue;
  66.            
  67.         if((Player[playerid][InHouse] == Player[i][InHouse] && Player[playerid][InHouse] > 0) || (Player[playerid][InBusiness] == Player[i][InBusiness] && Player[playerid][InBusiness] > 0) || (Player[playerid][InGroupHQ] == Player[i][InGroupHQ] && Player[playerid][InGroupHQ] > 0) || (Player[playerid][InGangHQ] == Player[i][InGangHQ] && Player[playerid][InGangHQ] > 0))
  68.         {
  69.             inRange[i] = 1;
  70.         }
  71.            
  72.         new inside;
  73.         if(Player[i][InHouse] > 0)
  74.         {
  75.             new id = Player[i][InHouse];
  76.             pos[0] = Houses[id][hExteriorX];
  77.             pos[1] = Houses[id][hExteriorY];
  78.             pos[2] = Houses[id][hExteriorZ];
  79.             inside = 1;
  80.         }
  81.            
  82.         if(Player[i][InBusiness] > 0)
  83.         {
  84.             new id = Player[i][InBusiness];
  85.             pos[0] = Businesses[id][bExteriorX];
  86.             pos[1] = Businesses[id][bExteriorY];
  87.             pos[2] = Businesses[id][bExteriorZ];
  88.             inside = 1;
  89.         }
  90.            
  91.         if(Player[i][InGroupHQ] > 0)
  92.         {
  93.             new id = Player[i][InGroupHQ];
  94.             pos[0] = Groups[id][HQExteriorX];
  95.             pos[1] = Groups[id][HQExteriorY];
  96.             pos[2] = Groups[id][HQExteriorZ];
  97.             inside = 1;
  98.         }
  99.            
  100.         if(Player[i][InGangHQ] > 0)
  101.         {
  102.             new id = Player[i][InGangHQ];
  103.             pos[0] = Gangs[id][ExtPos][0];
  104.             pos[1] = Gangs[id][ExtPos][1];
  105.             pos[2] = Gangs[id][ExtPos][2];
  106.             inside = 1;
  107.         }
  108.            
  109.         if(inside && GetDistanceBetweenPoints(pos[0], pos[1], pos[2], pos[3], pos[4], pos[5]) > WT_RANGE)
  110.             continue;
  111.  
  112.        
  113.            
  114.         GetPlayerPos(i, pos[0], pos[1], pos[2]);
  115.            
  116.         // if(inRange[i] != 1 && !IsPlayerInRangeOfPoint(i, WT_RANGE, pos[3], pos[4], pos[5]))
  117.             // continue;
  118.        
  119.  
  120.         foreach(Player, j)
  121.         {
  122.             if(IsPlayerInRangeOfPoint(j, 5, pos[0], pos[1], pos[2]) && GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(j))
  123.                 inRange[j] = 1;
  124.         }
  125.     }
  126.  
  127.     foreach(Player, i)
  128.     {
  129.         if(!inRange[i])
  130.             continue;
  131.  
  132.         if(Player[i][WalkieFrequency] == Player[playerid][WalkieFrequency] && !Player[i][ToggedWT] && Player[playerid][WalkieTalkie])
  133.             SendClientMessage(i, WT_ORANGE, msg);
  134.         else
  135.             SendClientMessage(i, GREY, msg);
  136.     }
  137.     return 1;
  138. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement