Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CMD:wt(playerid, params[])
- {
- if(isnull(params))
- return SendClientMessage(playerid, GREY, "SYNTAX: /wt [msg]");
- if(Player[playerid][WalkieTalkie] == 0)
- return SendClientMessage(playerid, -1, "You don't own a walkietalkie!");
- if(Player[playerid][Gagged] == 1)
- return SendClientMessage(playerid, -1, "You can't do that, your mouth is covered!");
- if(Player[playerid][WalkieFrequency] == 0)
- return SendClientMessage(playerid, -1, "You must first set a frequency, type /setfrequency");
- if(Player[playerid][Tied] || Player[playerid][Tazed] || Player[playerid][Cuffed] >= 1 || (Player[playerid][PrisonID] > 0 && Player[playerid][PrisonDuration] > 0))
- return SendClientMessage(playerid, -1, "You cannot do this right now.");
- if(Player[playerid][ToggedWT])
- return SendClientMessage(playerid, -1, "Your walkie-talkie is currently turned off. Use /togwt to turn it on.");
- new msg[128], inRange[MAX_PLAYERS];
- format(msg, sizeof(msg), "[Walkie] %s says: %s", GetNameEx(playerid), params);
- new Float:pos[6];
- GetPlayerPos(playerid, pos[3], pos[4], pos[5]);
- if(Player[playerid][InHouse] > 0)
- {
- new id = Player[playerid][InHouse];
- pos[3] = Houses[id][hExteriorX];
- pos[4] = Houses[id][hExteriorY];
- pos[5] = Houses[id][hExteriorZ];
- }
- if(Player[playerid][InBusiness] > 0)
- {
- new id = Player[playerid][InBusiness];
- pos[3] = Businesses[id][bExteriorX];
- pos[4] = Businesses[id][bExteriorY];
- pos[5] = Businesses[id][bExteriorZ];
- }
- if(Player[playerid][InGroupHQ] > 0)
- {
- new id = Player[playerid][InGroupHQ];
- pos[3] = Groups[id][HQExteriorX];
- pos[4] = Groups[id][HQExteriorY];
- pos[5] = Groups[id][HQExteriorZ];
- }
- if(Player[playerid][InGangHQ] > 0)
- {
- new id = Player[playerid][InGangHQ];
- pos[3] = Gangs[id][ExtPos][0];
- pos[4] = Gangs[id][ExtPos][1];
- pos[5] = Gangs[id][ExtPos][2];
- }
- foreach(Player, i)
- {
- if(!(Player[i][WalkieFrequency] == Player[playerid][WalkieFrequency]) || Player[i][ToggedWT] || !Player[playerid][WalkieTalkie])
- continue;
- if(Player[i][PrisonID] > 0 && Player[i][PrisonDuration] > 0)
- continue;
- 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))
- {
- inRange[i] = 1;
- }
- new inside;
- if(Player[i][InHouse] > 0)
- {
- new id = Player[i][InHouse];
- pos[0] = Houses[id][hExteriorX];
- pos[1] = Houses[id][hExteriorY];
- pos[2] = Houses[id][hExteriorZ];
- inside = 1;
- }
- if(Player[i][InBusiness] > 0)
- {
- new id = Player[i][InBusiness];
- pos[0] = Businesses[id][bExteriorX];
- pos[1] = Businesses[id][bExteriorY];
- pos[2] = Businesses[id][bExteriorZ];
- inside = 1;
- }
- if(Player[i][InGroupHQ] > 0)
- {
- new id = Player[i][InGroupHQ];
- pos[0] = Groups[id][HQExteriorX];
- pos[1] = Groups[id][HQExteriorY];
- pos[2] = Groups[id][HQExteriorZ];
- inside = 1;
- }
- if(Player[i][InGangHQ] > 0)
- {
- new id = Player[i][InGangHQ];
- pos[0] = Gangs[id][ExtPos][0];
- pos[1] = Gangs[id][ExtPos][1];
- pos[2] = Gangs[id][ExtPos][2];
- inside = 1;
- }
- if(inside && GetDistanceBetweenPoints(pos[0], pos[1], pos[2], pos[3], pos[4], pos[5]) > WT_RANGE)
- continue;
- GetPlayerPos(i, pos[0], pos[1], pos[2]);
- // if(inRange[i] != 1 && !IsPlayerInRangeOfPoint(i, WT_RANGE, pos[3], pos[4], pos[5]))
- // continue;
- foreach(Player, j)
- {
- if(IsPlayerInRangeOfPoint(j, 5, pos[0], pos[1], pos[2]) && GetPlayerVirtualWorld(i) == GetPlayerVirtualWorld(j))
- inRange[j] = 1;
- }
- }
- foreach(Player, i)
- {
- if(!inRange[i])
- continue;
- if(Player[i][WalkieFrequency] == Player[playerid][WalkieFrequency] && !Player[i][ToggedWT] && Player[playerid][WalkieTalkie])
- SendClientMessage(i, WT_ORANGE, msg);
- else
- SendClientMessage(i, GREY, msg);
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement