Prison call help.
#1

Ok i want to make that prisoners/jailed players can use the phone (mapped pay phone ik how to make that isplayerinrangeofpoint) but i dont know how to make it for jailed players...

I will show you the normal /call.

Ps: its a ravin edit.


Код:
		if(strcmp(cmd, "/call", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
		{
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /call [phonenumber]");
				SendClientMessage(playerid, COLOR_GRAD2, "HINT: /calllist (for a list for short numbers)");
				return 1;
			}
			if(PlayerInfo[playerid][pPnumber] == 0)
			{
				SendClientMessage(playerid, COLOR_GRAD2, "** You don't have a cell phone!");
				return 1;
			}
			if(PlayerInfo[playerid][pMuted] == 1)
			{
				SendClientMessage(playerid, TEAM_CYAN_COLOR, "You cannot speak, you have been silenced");
				return 1;
			}

			format(string, sizeof(string), "* %s takes out a cellphone.", sendername);
			SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
			ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
			new phonenumb = strval(tmp);
			if(phonenumb == 115)
			{
			    SendClientMessage(playerid, COLOR_GREEN, "____________Services number list____________");
			    SendClientMessage(playerid, COLOR_WHITE, "111 - pizza stack co., 222 - bus services");
			    SendClientMessage(playerid, COLOR_WHITE, "103 - medics, 444 - taxi, 555 - mechanic");
			    SendClientMessage(playerid, COLOR_WHITE, "151 - Advertisement Agency, 150 - ABC Studios");
			    SendClientMessage(playerid, COLOR_GREEN, "____________________________________________");
			    return 1;
			}
			if(phonenumb == 111)
			{
				new pizzaworkers = 0;
			    for(new i=0; i<MAX_PLAYERS; i++)
			    {
			        if(IsPlayerConnected(i))
			        {
			            if(PlayerInfo[i][pJob] == 17 && JobDuty[i] == 1)
			            {
			                pizzaworkers++;
			            }
			        }
			    }

			    if(pizzaworkers < 1)
          		{
          		    SendClientMessage(playerid, TEAM_GROVE_COLOR, "** They Picked up the call.");
          		    SendClientMessage(playerid, 0xF4E19FAA, "Men voice Says (cellphone): Well stacked pizza here.");
          		    SendClientMessage(playerid, 0xF4E19FAA, "Men voice Says (cellphone): We are sorry, we do not have any pizza boys on duty.");
          		    SendClientMessage(playerid, TEAM_CYAN_COLOR, "** They hang up.");
              		return 1;
          		}

       			format(string, sizeof(string), "** %s is in need of a Pizza. (use /accept Pizza to accept the call)", sendername);
       			SendJobMessage(17, COLOR_WHITE, string);
       			SendClientMessage(playerid, TEAM_GROVE_COLOR, "** They Picked up the call.");
       			SendClientMessage(playerid, 0xF4E19DAA, "Mans' voice Says (cellphone): Well stacked pizza here.");
       			if(pizzaworkers == 1) { format(string, sizeof(string), "Mans' voice Says (cellphone): Pizza boy has been informed about your order, sir."); }
       			else { format(string, sizeof(string), "Mans' voice Says (cellphone): We have %d pizza boys on duty, they were all informed about your order !", pizzaworkers); }
				SendClientMessage(playerid, 0xF4E19DAA, string);
 			    SendClientMessage(playerid, TEAM_CYAN_COLOR, "** They hang up.");
       			PizzaCall = playerid;
			    return 1;
			}
   			if(phonenumb == 222)
   			{
   			    new routezonecheck = IsInBusrouteZone(playerid);
				new drivercount = 0;
				if (routezonecheck == 0)
				{
					for (new i=0; i<=MAX_PLAYERS; i++)
					{
						if (IsPlayerConnected(i) && BusrouteEast[i][0] != 0) drivercount++;
					}
					if (drivercount != 0)
					{
						format(string, sizeof(string), "There are currently %d bus drivers on the east route. The route is as follows:", drivercount);
						SendClientMessage(playerid, COLOR_WHITE, string);
						SendBusRoute(playerid, 0);
					}
					else SendClientMessage(playerid, COLOR_GREY, "There are no bus drivers on the east route at this time.");
				}
				else if (routezonecheck == 1)
				{
					for (new i=0; i<=MAX_PLAYERS; i++)
					{
						if (IsPlayerConnected(i) && BusrouteWest[i][0] != 0) drivercount++;
					}
					if (drivercount != 0)
					{
						format(string, sizeof(string), "There are currently %d bus drivers on the west route. The route is as follows:", drivercount);
						SendClientMessage(playerid, COLOR_WHITE, string);
						SendBusRoute(playerid, 1);
					}
					else SendClientMessage(playerid, COLOR_GREY, "There are no bus drivers on the west route at this time.");
				}
				else SendClientMessage(playerid, COLOR_GREY, "No bus services are running in this area at the current time.");
				return 1;
   			}
   			if(phonenumb == 103)
   			{
   			    if(Medics < 1)
		        {
		            SendClientMessage(playerid, COLOR_GREY, "** There are no Medics On Duty at the moment, try again later !");
		            return 1;
		        }

			    format(string, sizeof(string), "** %s is in need of a Medic. (use /accept medic to accept the call)", sendername);
		    	SendRadioMessage(4, TEAM_AZTECAS_COLOR, string);
		    	SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have called for a Medic, wait for a reply.");
		    	MedicCall = playerid;
		    	return 1;
   			}
   			if(phonenumb == 444)
   			{
			    if(TaxiDrivers < 1)
		        {
          			 SendClientMessage(playerid, COLOR_GREY, "** There are no Taxi Drivers On Duty at the moment, try again later!");
				     return 1;
		        }
		        if(TransportDuty[playerid] > 0)
		        {
		            SendClientMessage(playerid, COLOR_GREY, "** You can't call for a Taxi now !");
		            return 1;
		        }

			    format(string, sizeof(string), "** %s is in need of a Taxi Driver. (use /accept taxi to accept the call)", sendername);
		    	SendJobMessage(13, TEAM_AZTECAS_COLOR, string);
	    		SendClientMessage(playerid, TEAM_GROVE_COLOR, "** They Picked up the call.");
		    	SendClientMessage(playerid, 0xF4E19FAA, "Men voice Says (cellphone): All taxi drivers have been informed about your call.");
		    	SendClientMessage(playerid, TEAM_CYAN_COLOR, "** They hang up.");
		    	TaxiCall = playerid;
		    	return 1;
	    	}
   			if(phonenumb == 555)
   			{
   			    new mechanicworkers = 0;
			    for(new i=0; i<MAX_PLAYERS; i++)
			    {
			        if(IsPlayerConnected(i))
			        {
			            if(PlayerInfo[i][pJob] == 7 && JobDuty[i] == 1)
			            {
			                mechanicworkers++;
			            }
			        }
			    }
   			    if(mechanicworkers < 1)
		        {
		            SendClientMessage(playerid, TEAM_GROVE_COLOR, "** They Picked up the call.");
		            SendClientMessage(playerid, 0xBBE1F2AA, "Men voice Says (cellphone): Sorry we have no mechanics available at the moment.");
		            SendClientMessage(playerid, TEAM_CYAN_COLOR, "** They hang up.");
		            return 1;
		        }

			    format(string, sizeof(string), "** %s is in need of a Car Mechanic. (use /accept mechanic to accept the call)", sendername);
		    	SendJobMessage(7, COLOR_WHITE, string);
		    	SendClientMessage(playerid, TEAM_GROVE_COLOR, "** They Picked up the call.");
		       	SendClientMessage(playerid, 0xBBE1F2AA, "Men voice Says (cellphone): Hello, all mechanics at your area have been informed about your call.");
				SendClientMessage(playerid, TEAM_CYAN_COLOR, "** They hang up.");
		    	MechanicCall = playerid;
		    	return 1;
   			}
   			if(phonenumb == 151)
   			{
   			    if(PlayerInfo[playerid][pLevel] < 2)
   			    {
   			        SendClientMessage(playerid, COLOR_GREEN, "Advertisement business: We're only advertising well known people's ads.");
   			        SendClientMessage(playerid, TEAM_CYAN_COLOR, "** They hang up...");
   			    }
   			    else
   			    {
   			    	SendClientMessage(playerid, COLOR_WHITE, "HINT: You now use T to talk on your cellphone, type /hangup to hang up");
   			    	SendClientMessage(playerid, COLOR_GREEN, "Advertisement business: Welcome to the advertisement business, what would you like to advertise?");
   			    	SendClientMessage(playerid, COLOR_WHITE, "HINT: Type your ad here. Ex: Selling my Comet");
   			    	Mobile[playerid] = 1180;
				}
   			    return 1;
   			}
   			if(phonenumb == 150)
   			{
   			    SendClientMessage(playerid, COLOR_WHITE, "HINT: You now use T to talk on your cellphone, type /hangup to hang up");
   			    SendClientMessage(playerid, COLOR_GREEN, "ABC Studio: Please leave the message after beep!");
   			    SendClientMessage(playerid, COLOR_WHITE, "Beep!");
   			    Mobile[playerid] = 3900;
   			    return 1;
   			}
			if(phonenumb == 911)
			{
				SendClientMessage(playerid, TEAM_GROVE_COLOR, "HINT: You now use T to talk on your cellphone, type /hangup to hang up");
				SendClientMessage(playerid, COLOR_BLUE, "EMERGENCY: Which Service Do You Require, Police or Paramedic?");
				Mobile[playerid] = 911;
				return 1;
			}
			if(phonenumb == PlayerInfo[playerid][pPnumber])
			{
				SendClientMessage(playerid, TEAM_CYAN_COLOR, "** You just get a busy tone...");
				return 1;
			}
			if(Mobile[playerid] != 255)
			{
				SendClientMessage(playerid, TEAM_CYAN_COLOR, "** You are already on a call...");
				return 1;
			}
			for(new i = 0; i < MAX_PLAYERS; i++)
			{
				if(IsPlayerConnected(i))
				{
					if(PlayerInfo[i][pPnumber] == phonenumb && phonenumb != 0)
					{
						giveplayerid = i;
						Mobile[playerid] = giveplayerid; //caller connecting
						if(IsPlayerConnected(giveplayerid))
						{
						    if(giveplayerid != INVALID_PLAYER_ID)
						    {
						        if(PhoneOnline[giveplayerid] > 0)
						        {
						            SendClientMessage(playerid, COLOR_GREY, "** That players Phone is Offline!");
						            return 1;
						        }
								if (Mobile[giveplayerid] == 255)
								{
									format(string, sizeof(string), "Your Mobile is Ringing Type (/pickup) CallerID: %s", sendername);
									SendClientMessage(giveplayerid, COLOR_YELLOW, string);
									GetPlayerName(giveplayerid, sendername, sizeof(sendername));
									RingTone[giveplayerid] = 10;
									format(string, sizeof(string), "* %s's phone begins to ring.", sendername);
									SendClientMessage(playerid, COLOR_WHITE, "HINT: You now use T to talk on your cellphone, type /hangup to hang up");
									ProxDetector(30.0, i, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
									CellTime[playerid] = 1;
									return 1;
								}
							}
						}
					}
				}
			}
			SendClientMessage(playerid, TEAM_CYAN_COLOR, "** You just get a Busy tone...");
		}
		return 1;
	}
Reply
#2

Well, the Raven's Roleplay /call command is a command for civillians. You need to set the command to like /prisonphone or something other than /call.
Reply
#3

I know that but how can i set it for Prisoners?
Reply
#4

Look to see if Raven's roleplay has a variable like

pawn Код:
PlayerInfo[playerid][pJailed]
or something like that. Then add an if statement.

pawn Код:
if(PlayerInfo[playerid][pJailed] == 1)
That says if they are jailed then they can use the phone. I hope you understand.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)