Advertisement
Guest User

[FS] iMaxPhone

a guest
Jun 29th, 2011
1,610
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 19.53 KB | None | 0 0
  1.  
  2. /******************************/
  3. /* iMaxPhone FS © by iPLEOMAX */
  4. /* Basic Version              */
  5. /******************************/
  6.  
  7. #include <a_samp>
  8. #include <zcmd>
  9.  
  10. #define COLOR_WHITE 0xFFFFFFAA
  11. #define COLOR_BRIGHTRED 0xFF0000AA
  12. #define COLOR_LIGHTGREEN 0x24FF0AB9
  13. #define COLOR_LIGHTBLUE 0x33CCFFAA
  14.  
  15. new CallingAnimTimer;
  16. new CANIMval;
  17.  
  18. /* For Next Version.
  19. new Counter[MAX_PLAYERS];
  20. new Text:CounterT[MAX_PLAYERS];
  21. */
  22.  
  23. new Text:Textdraw0;
  24. new Text:Textdraw1;
  25. new Text:Textdraw2;
  26. new Text:Textdraw3;
  27. new Text:Textdraw4;
  28. new Text:Textdraw5;
  29. new Text:Textdraw6;
  30. new Text:Textdraw7;
  31. new Text:Textdraw8;
  32. new Text:Textdraw9;
  33. new Text:Textdraw10;
  34. new Text:Textdraw12;
  35. //new Text:Textdraw13;
  36. new Text:Textdraw14;
  37. new Text:Textdraw15;
  38.  
  39. new Text:Textdraw11[MAX_PLAYERS];
  40.  
  41. new PhoneState[MAX_PLAYERS]; // -1 = Switched Off, 0 = Not Shown, 1 = Shown
  42. new CallState[MAX_PLAYERS]; // 0 = Free, 1 = Calling..., 2 = Busy, 3 = ScreenBusy, 4 = Incoming..., 5 = on going call.
  43.  
  44. #define FILTERSCRIPT
  45.  
  46. public OnFilterScriptInit()
  47. {
  48.     CANIMval = 0;
  49.  
  50.     CallingAnimTimer = SetTimer("CANIM", 700, true);
  51.    
  52.     print("\n--------------------------------------");
  53.     print(" > iMaxPhone FilterScript by iPLEOMAX <");
  54.     print("--------------------------------------\n");
  55.    
  56.     Textdraw0 = TextDrawCreate(501.000000,425.000000,"X"); //ForAll
  57.     Textdraw1 = TextDrawCreate(494.000000,260.000000,"X"); //ForAll
  58.     Textdraw2 = TextDrawCreate(435.000000,400.000000,"O"); //ForAll
  59.     Textdraw3 = TextDrawCreate(437.000000,404.000000,"]"); //ForAll
  60.     Textdraw4 = TextDrawCreate(457.000000,402.000000,"]"); //ForAll
  61.     Textdraw5 = TextDrawCreate(393.000000,402.000000,"["); //ForAll
  62.     Textdraw6 = TextDrawCreate(434.000000,242.000000,"-"); //ForAll
  63.     Textdraw7 = TextDrawCreate(482.000000,241.000000,"O"); //ForAll
  64.    
  65.     Textdraw8 = TextDrawCreate(394.000000,383.000000,"Answer");
  66.     Textdraw9 = TextDrawCreate(453.000000,383.000000,"Hangup");
  67.    
  68.     Textdraw10 = TextDrawCreate(395.000000,290.000000,"Incoming call...");
  69.     Textdraw12 = TextDrawCreate(395.000000,290.000000,"___Calling...");
  70.     //Textdraw13 = TextDrawCreate(395.000000,290.000000,"___/call [name]");
  71.     Textdraw14 = TextDrawCreate(395.000000,290.000000,"__Number Busy.");
  72.     Textdraw15 = TextDrawCreate(395.000000,290.000000,"___Active Call.");
  73.    
  74.     TextDrawUseBox(Textdraw0,1);
  75.     TextDrawBoxColor(Textdraw0,0x000000cc);
  76.     TextDrawTextSize(Textdraw0,383.000000,3.000000);
  77.     TextDrawUseBox(Textdraw1,1);
  78.     TextDrawBoxColor(Textdraw1,0xffffffff);
  79.     TextDrawTextSize(Textdraw1,390.000000,16.000000);
  80.    
  81.     TextDrawAlignment(Textdraw0,0);
  82.     TextDrawAlignment(Textdraw1,0);
  83.     TextDrawAlignment(Textdraw2,0);
  84.     TextDrawAlignment(Textdraw3,0);
  85.     TextDrawAlignment(Textdraw4,0);
  86.     TextDrawAlignment(Textdraw5,0);
  87.     TextDrawAlignment(Textdraw6,0);
  88.     TextDrawAlignment(Textdraw7,0);
  89.     TextDrawAlignment(Textdraw8,0);
  90.     TextDrawAlignment(Textdraw9,0);
  91.     TextDrawAlignment(Textdraw10,0);
  92.     TextDrawAlignment(Textdraw12,0);
  93.     //TextDrawAlignment(Textdraw13,0);
  94.     TextDrawAlignment(Textdraw14,0);
  95.     TextDrawAlignment(Textdraw15,0);
  96.    
  97.     TextDrawBackgroundColor(Textdraw0,0x000000ff);
  98.     TextDrawBackgroundColor(Textdraw1,0xffffff99);
  99.     TextDrawBackgroundColor(Textdraw2,0x000000ff);
  100.     TextDrawBackgroundColor(Textdraw3,0x000000ff);
  101.     TextDrawBackgroundColor(Textdraw4,0x000000ff);
  102.     TextDrawBackgroundColor(Textdraw5,0x000000ff);
  103.     TextDrawBackgroundColor(Textdraw6,0x000000ff);
  104.     TextDrawBackgroundColor(Textdraw7,0x000000ff);
  105.     TextDrawBackgroundColor(Textdraw8,0x000000ff);
  106.     TextDrawBackgroundColor(Textdraw9,0x000000ff);
  107.     TextDrawBackgroundColor(Textdraw10,0x000000ff);
  108.     TextDrawBackgroundColor(Textdraw12,0x000000ff);
  109.     //TextDrawBackgroundColor(Textdraw13,0x000000ff);
  110.     TextDrawBackgroundColor(Textdraw14,0x000000ff);
  111.     TextDrawBackgroundColor(Textdraw15,0x000000ff);
  112.    
  113.     TextDrawFont(Textdraw0,3);
  114.     TextDrawLetterSize(Textdraw0,-0.000000,-21.400001);
  115.     TextDrawFont(Textdraw1,3);
  116.     TextDrawLetterSize(Textdraw1,-0.000000,14.699998);
  117.     TextDrawFont(Textdraw2,3);
  118.     TextDrawLetterSize(Textdraw2,0.799999,1.900000);
  119.     TextDrawFont(Textdraw3,3);
  120.     TextDrawLetterSize(Textdraw3,1.000000,1.000000);
  121.     TextDrawFont(Textdraw4,3);
  122.     TextDrawLetterSize(Textdraw4,2.399999,0.999997);
  123.     TextDrawFont(Textdraw5,3);
  124.     TextDrawLetterSize(Textdraw5,2.299999,1.000000);
  125.     TextDrawFont(Textdraw6,3);
  126.     TextDrawLetterSize(Textdraw6,1.000000,1.000000);
  127.     TextDrawFont(Textdraw7,3);
  128.     TextDrawLetterSize(Textdraw7,0.499999,1.100000);
  129.     TextDrawFont(Textdraw8,1);
  130.     TextDrawLetterSize(Textdraw8,0.299999,1.100000);
  131.     TextDrawFont(Textdraw9,1);
  132.     TextDrawLetterSize(Textdraw9,0.299999,1.100000);
  133.     TextDrawFont(Textdraw10,1);
  134.     TextDrawLetterSize(Textdraw10,0.299999,1.300000);
  135.     TextDrawFont(Textdraw12,1);
  136.     TextDrawLetterSize(Textdraw12,0.299999,1.300000);
  137.     //TextDrawFont(Textdraw13,1);
  138.     //TextDrawLetterSize(Textdraw13,0.299999,1.300000);
  139.     TextDrawFont(Textdraw14,1);
  140.     TextDrawLetterSize(Textdraw14,0.299999,1.300000);
  141.     TextDrawFont(Textdraw15,1);
  142.     TextDrawLetterSize(Textdraw15,0.299999,1.300000);
  143.    
  144.     TextDrawColor(Textdraw0,0xffffffff);
  145.     TextDrawColor(Textdraw1,0xffffffff);
  146.     TextDrawColor(Textdraw2,0xffffffff);
  147.     TextDrawColor(Textdraw3,0x00000066);
  148.     TextDrawColor(Textdraw4,0xff0000cc);
  149.     TextDrawColor(Textdraw5,0x00ff00cc);
  150.     TextDrawColor(Textdraw6,0xffffff33);
  151.     TextDrawColor(Textdraw7,0xffffff66);
  152.     TextDrawColor(Textdraw8,0xffffffff);
  153.     TextDrawColor(Textdraw9,0xffffffff);
  154.     TextDrawColor(Textdraw10,0x00ff00cc);
  155.     TextDrawColor(Textdraw12,0x00ff00cc);
  156.     //TextDrawColor(Textdraw13,0x00ff00cc);
  157.     TextDrawColor(Textdraw14,0xff0000ff);
  158.     TextDrawColor(Textdraw15,0x00ff00cc);
  159.    
  160.     TextDrawSetOutline(Textdraw0,1);
  161.     TextDrawSetOutline(Textdraw1,1);
  162.     TextDrawSetOutline(Textdraw2,1);
  163.     TextDrawSetOutline(Textdraw3,1);
  164.     TextDrawSetOutline(Textdraw4,1);
  165.     TextDrawSetOutline(Textdraw5,1);
  166.     TextDrawSetOutline(Textdraw6,1);
  167.     TextDrawSetOutline(Textdraw7,1);
  168.     TextDrawSetOutline(Textdraw8,1);
  169.     TextDrawSetOutline(Textdraw9,1);
  170.     TextDrawSetOutline(Textdraw10,1);
  171.     TextDrawSetOutline(Textdraw12,1);
  172.     //TextDrawSetOutline(Textdraw13,1);
  173.     TextDrawSetOutline(Textdraw14,1);
  174.     TextDrawSetOutline(Textdraw15,1);
  175.    
  176.     TextDrawSetProportional(Textdraw1,1);
  177.     TextDrawSetProportional(Textdraw2,1);
  178.     TextDrawSetProportional(Textdraw3,1);
  179.     TextDrawSetProportional(Textdraw4,1);
  180.     TextDrawSetProportional(Textdraw5,1);
  181.     TextDrawSetProportional(Textdraw6,1);
  182.     TextDrawSetProportional(Textdraw7,1);
  183.     TextDrawSetProportional(Textdraw8,1);
  184.     TextDrawSetProportional(Textdraw9,1);
  185.     TextDrawSetProportional(Textdraw10,1);
  186.     TextDrawSetProportional(Textdraw12,1);
  187.     //TextDrawSetProportional(Textdraw13,1);
  188.     TextDrawSetProportional(Textdraw14,1);
  189.     TextDrawSetProportional(Textdraw15,1);
  190.    
  191.     TextDrawSetShadow(Textdraw0,1);
  192.     TextDrawSetShadow(Textdraw1,1);
  193.     TextDrawSetShadow(Textdraw2,1);
  194.     TextDrawSetShadow(Textdraw3,1);
  195.     TextDrawSetShadow(Textdraw4,1);
  196.     TextDrawSetShadow(Textdraw5,1);
  197.     TextDrawSetShadow(Textdraw6,1);
  198.     TextDrawSetShadow(Textdraw7,1);
  199.     TextDrawSetShadow(Textdraw8,1);
  200.     TextDrawSetShadow(Textdraw9,1);
  201.     TextDrawSetShadow(Textdraw10,1);
  202.     TextDrawSetShadow(Textdraw12,1);
  203.     //TextDrawSetShadow(Textdraw13,1);
  204.     TextDrawSetShadow(Textdraw14,1);
  205.     TextDrawSetShadow(Textdraw15,1);
  206.  
  207.     return true;
  208. }
  209.  
  210. public OnFilterScriptExit()
  211. {
  212.     KillTimer(CallingAnimTimer);
  213.     return true;
  214. }
  215.  
  216. forward CANIM();
  217. public CANIM()
  218. {
  219.     if(CANIMval == 0) {
  220.         TextDrawSetString(Textdraw12, "___Calling"); CANIMval = CANIMval+1;
  221.         TextDrawColor(Textdraw10,0xccffddff);
  222.     } else if(CANIMval == 1) {
  223.         TextDrawSetString(Textdraw12, "___Calling."); CANIMval = CANIMval+1;
  224.         TextDrawColor(Textdraw10,0x00ff00cc);
  225.     } else if(CANIMval == 2) {
  226.         TextDrawSetString(Textdraw12, "___Calling.."); CANIMval = CANIMval+1;
  227.         TextDrawColor(Textdraw10,0xccffddff);
  228.     } else if(CANIMval == 3) {
  229.         TextDrawSetString(Textdraw12, "___Calling..."); CANIMval = 0;
  230.         TextDrawColor(Textdraw10,0x00ff00cc);
  231.     }
  232.     return true;
  233. }
  234.  
  235. public OnPlayerConnect(playerid)
  236. {
  237.     /* For Next Version.
  238.     CounterT[playerid] = TextDrawCreate(419.000000,264.000000,"00:00");
  239.     TextDrawAlignment(CounterT[playerid],0);
  240.     TextDrawBackgroundColor(CounterT[playerid],0x000000ff);
  241.     TextDrawFont(CounterT[playerid],1);
  242.     TextDrawLetterSize(CounterT[playerid],0.399999,1.300000);
  243.     TextDrawColor(CounterT[playerid],0xffffffff);
  244.     TextDrawSetOutline(CounterT[playerid],1);
  245.     TextDrawSetProportional(CounterT[playerid],1);
  246.     TextDrawSetShadow(CounterT[playerid],1);
  247.     */
  248.     Textdraw11[playerid] = TextDrawCreate(395.000000,333.000000,GetName(playerid));// MAIN
  249.     TextDrawSetShadow(Textdraw11[playerid],1);
  250.     TextDrawSetProportional(Textdraw11[playerid],1);
  251.     TextDrawSetOutline(Textdraw11[playerid],1);
  252.     TextDrawColor(Textdraw11[playerid],0xffffffff);
  253.     TextDrawFont(Textdraw11[playerid],1);
  254.     TextDrawLetterSize(Textdraw11[playerid],0.199999,0.899999);
  255.     TextDrawBackgroundColor(Textdraw11[playerid],0x000000ff);
  256.     TextDrawAlignment(Textdraw11[playerid],0);
  257.    
  258.     TextDrawHideForPlayer(playerid, Textdraw11[GetPVarInt(playerid, "Caller")]);
  259.     TextDrawHideForPlayer(GetPVarInt(playerid, "Caller"), Textdraw11[playerid]);
  260.    
  261.     SetPVarInt(playerid, "Caller", -1);
  262.    
  263.     return true;
  264. }
  265.  
  266. public OnPlayerDisconnect(playerid, reason)
  267. {
  268.     if(CallState[playerid] >= 4)
  269.     {
  270.         SetPVarInt(playerid, "Answered", 0);
  271.         SetPVarInt(GetPVarInt(playerid, "Caller"), "Caller", -1);
  272.         if(CallState[playerid] == 4) SendClientMessage(GetPVarInt(playerid, "Caller"), COLOR_BRIGHTRED, "[PHONE] Sorry, the person you are trying to call is busy, Try again later.");
  273.         TextDrawHideForPlayer(GetPVarInt(playerid, "Caller"), Textdraw12);
  274.         TextDrawShowForPlayer(GetPVarInt(playerid, "Caller"), Textdraw14);
  275.         SetTimerEx("ScreenReset",2000,false,"d",GetPVarInt(playerid, "Caller"));
  276.         if(CallState[playerid] == 5) {
  277.             SendClientMessage(GetPVarInt(playerid, "Caller"), COLOR_BRIGHTRED, "[PHONE] Call ended.");
  278.         }
  279.         CallState[playerid] = 0;
  280.         CallState[GetPVarInt(playerid, "Caller")] = 0;
  281.     }
  282.    
  283.     TextDrawHideForPlayer(playerid, Textdraw11[GetPVarInt(playerid, "Caller")]);
  284.     TextDrawHideForPlayer(GetPVarInt(playerid, "Caller"), Textdraw11[playerid]);
  285.     SetPVarInt(playerid, "Caller", -1);
  286.     return true;
  287. }
  288.  
  289. public OnPlayerDeath(playerid, killerid, reason)
  290. {
  291.     if(CallState[playerid] >= 4)
  292.     {
  293.         TextDrawHideForPlayer(playerid, Textdraw11[GetPVarInt(playerid, "Caller")]);
  294.         TextDrawHideForPlayer(GetPVarInt(playerid, "Caller"), Textdraw11[playerid]);
  295.         SetPVarInt(playerid, "Answered", 0);
  296.         SetPVarInt(GetPVarInt(playerid, "Caller"), "Caller", -1);
  297.         if(CallState[playerid] == 4) SendClientMessage(GetPVarInt(playerid, "Caller"), COLOR_BRIGHTRED, "[PHONE] Sorry, the person you are trying to call is busy, Try again later.");
  298.         TextDrawHideForPlayer(GetPVarInt(playerid, "Caller"), Textdraw12);
  299.         TextDrawShowForPlayer(GetPVarInt(playerid, "Caller"), Textdraw14);
  300.         SetTimerEx("ScreenReset",2000,false,"d",GetPVarInt(playerid, "Caller"));
  301.         SetTimerEx("ScreenReset",1000,false,"d",playerid);
  302.         if(CallState[playerid] == 5) {
  303.             SendClientMessage(GetPVarInt(playerid, "Caller"), COLOR_BRIGHTRED, "[PHONE] Call ended.");
  304.             SendClientMessage(playerid, COLOR_BRIGHTRED, "[PHONE] Call ended.");
  305.         } else SendClientMessage(playerid, COLOR_BRIGHTRED, "[PHONE] Call auto rejected because of death.");
  306.         CallState[playerid] = 0;
  307.         CallState[GetPVarInt(playerid, "Caller")] = 0;
  308.     }
  309.     SetPVarInt(playerid, "Caller", -1);
  310.     return true;
  311. }
  312.  
  313. CMD:cellphone(playerid, params[])
  314. {
  315.     if(PhoneState[playerid] != 1)
  316.     {
  317.         PhoneState[playerid] = 1;
  318.         TextDrawShowForPlayer(playerid, Textdraw0);
  319.         TextDrawShowForPlayer(playerid, Textdraw1);
  320.         TextDrawShowForPlayer(playerid, Textdraw2);
  321.         TextDrawShowForPlayer(playerid, Textdraw3);
  322.         TextDrawShowForPlayer(playerid, Textdraw4);
  323.         TextDrawShowForPlayer(playerid, Textdraw5);
  324.         TextDrawShowForPlayer(playerid, Textdraw6);
  325.         TextDrawShowForPlayer(playerid, Textdraw7);
  326.         //TextDrawShowForPlayer(playerid, Textdraw13);
  327.         SendClientMessage(playerid, COLOR_LIGHTGREEN, "Here is your Cell Phone.");
  328.         SendClientMessage(playerid, COLOR_LIGHTGREEN, "You can use /call [player name] to call a person.");
  329.     } else {
  330.         PhoneState[playerid] = 0;
  331.         TextDrawHideForPlayer(playerid, Textdraw0);
  332.         TextDrawHideForPlayer(playerid, Textdraw1);
  333.         TextDrawHideForPlayer(playerid, Textdraw2);
  334.         TextDrawHideForPlayer(playerid, Textdraw3);
  335.         TextDrawHideForPlayer(playerid, Textdraw4);
  336.         TextDrawHideForPlayer(playerid, Textdraw5);
  337.         TextDrawHideForPlayer(playerid, Textdraw6);
  338.         TextDrawHideForPlayer(playerid, Textdraw7);
  339.         TextDrawHideForPlayer(playerid, Textdraw8);
  340.         TextDrawHideForPlayer(playerid, Textdraw9);
  341.         TextDrawHideForPlayer(playerid, Textdraw10);
  342.         TextDrawHideForPlayer(playerid, Textdraw11[GetPVarInt(playerid, "Caller")]);
  343.         TextDrawHideForPlayer(playerid, Textdraw12);
  344.         //TextDrawHideForPlayer(playerid, Textdraw13);
  345.         return true;
  346.     }
  347.     return true;
  348. }
  349.  
  350. CMD:call(playerid, params[])
  351. {
  352.     if(CallState[playerid] == 3) return SendClientMessage(playerid, COLOR_BRIGHTRED, "[PHONE] Please wait for your Home screen to reset.");
  353.     if(PhoneState[playerid] != 1) return SendClientMessage(playerid, COLOR_BRIGHTRED, "[PHONE] Please take out your /cellphone first.");
  354.     if(CallState[playerid] == 0)
  355.     {
  356.         new id;
  357.         id = GetIdFromName(params);
  358.         //TextDrawHideForPlayer(playerid, Textdraw13);
  359.         TextDrawShowForPlayer(playerid, Textdraw12);
  360.         CallState[playerid] = 3;
  361.         SetTimerEx("iCallPlayer",5000,false,"dd",playerid,id);
  362.     }
  363.     return true;
  364. }
  365.  
  366. forward iCallPlayer(playerid, targetplayer);
  367. public iCallPlayer(playerid, targetplayer)
  368. {
  369.     if(!IsPlayerConnected(targetplayer) && !IsPlayerNPC(targetplayer)) {
  370.         SendClientMessage(playerid, COLOR_BRIGHTRED, "[PHONE] Sorry, the number you have dialled is invalid.");
  371.         TextDrawHideForPlayer(playerid, Textdraw12);
  372.         TextDrawShowForPlayer(playerid, Textdraw14);
  373.         SetTimerEx("ScreenReset",2000,false,"d",playerid);
  374.     } else if(playerid == targetplayer || CallState[targetplayer] != 0) {
  375.         SendClientMessage(playerid, COLOR_BRIGHTRED, "[PHONE] Sorry, the person you are trying to call is busy, Try again later.");
  376.         TextDrawHideForPlayer(playerid, Textdraw12);
  377.         TextDrawShowForPlayer(playerid, Textdraw14);
  378.         SetTimerEx("ScreenReset",2000,false,"d",playerid);
  379.     } else if(CallState[targetplayer] == 0) {
  380.         iRecieveCall(targetplayer, playerid);
  381.         TextDrawShowForPlayer(playerid, Textdraw11[targetplayer]);
  382.         SetPVarInt(targetplayer, "Caller", playerid);
  383.         SetPVarInt(playerid, "Caller", targetplayer);
  384.         SetPVarInt(playerid, "Answered", 0);
  385.         SetPVarInt(targetplayer, "Answered", 0);
  386.         CallState[targetplayer] = 4;
  387.         SendClientMessage(targetplayer, COLOR_LIGHTGREEN, "You have a call, use /answer to answer it or /hangup to reject.");
  388.     }
  389.     return true;
  390. }
  391.  
  392. forward iRecieveCall(playerid, fromplayer);
  393. public iRecieveCall(playerid, fromplayer)
  394. {
  395.     CallState[playerid] = 2;
  396.     PhoneState[playerid] = 1;
  397.     //TextDrawHideForPlayer(playerid, Textdraw13);
  398.     TextDrawShowForPlayer(playerid, Textdraw0);
  399.     TextDrawShowForPlayer(playerid, Textdraw1);
  400.     TextDrawShowForPlayer(playerid, Textdraw2);
  401.     TextDrawShowForPlayer(playerid, Textdraw3);
  402.     TextDrawShowForPlayer(playerid, Textdraw4);
  403.     TextDrawShowForPlayer(playerid, Textdraw5);
  404.     TextDrawShowForPlayer(playerid, Textdraw6);
  405.     TextDrawShowForPlayer(playerid, Textdraw7);
  406.     TextDrawShowForPlayer(playerid, Textdraw10);
  407.     TextDrawShowForPlayer(playerid, Textdraw11[fromplayer]);
  408.     TextDrawShowForPlayer(playerid, Textdraw8);
  409.     TextDrawShowForPlayer(playerid, Textdraw9);
  410.     return true;
  411. }
  412.  
  413. CMD:answer(playerid, params[])
  414. {
  415.     if(CallState[playerid] == 5) return SendClientMessage(playerid, COLOR_BRIGHTRED, "[PHONE] You already have a call going on.");
  416.     if(CallState[playerid] == 4)
  417.     {
  418.         TextDrawShowForPlayer(playerid, Textdraw15);
  419.         TextDrawShowForPlayer(GetPVarInt(playerid, "Caller"), Textdraw15);
  420.         TextDrawHideForPlayer(playerid, Textdraw10);
  421.         TextDrawHideForPlayer(GetPVarInt(playerid, "Caller"), Textdraw12);
  422.         CallState[playerid] = 5;
  423.         CallState[GetPVarInt(playerid, "Caller")] = 5;
  424.         TextDrawHideForPlayer(playerid, Textdraw12);
  425.         //TextDrawHideForPlayer(playerid, Textdraw13);
  426.         //TextDrawHideForPlayer(GetPVarInt(playerid, "Caller"), Textdraw13);
  427.         SetPVarInt(playerid, "Answered", 1);
  428.         SetPVarInt(GetPVarInt(playerid, "Caller"),"Answered", 1);
  429.         SendClientMessage(GetPVarInt(playerid, "Caller"), COLOR_LIGHTGREEN, "[PHONE] Call Accepted.");
  430.         SendClientMessage(playerid, COLOR_LIGHTGREEN, "[PHONE] You answered, now you can talk to each other in main chat privately.");
  431.     } else SendClientMessage(playerid, COLOR_BRIGHTRED, "[PHONE] You don't have any call to answer.");
  432.     return true;
  433. }
  434.  
  435. CMD:hangup(playerid, params[])
  436. {
  437.     if(CallState[playerid] >= 4)
  438.     {
  439.         TextDrawHideForPlayer(playerid, Textdraw11[GetPVarInt(playerid, "Caller")]);
  440.         TextDrawHideForPlayer(GetPVarInt(playerid, "Caller"), Textdraw11[playerid]);
  441.         SetPVarInt(playerid, "Answered", 0);
  442.         SetPVarInt(GetPVarInt(playerid, "Caller"), "Caller", -1);
  443.         if(CallState[playerid] == 4) SendClientMessage(GetPVarInt(playerid, "Caller"), COLOR_BRIGHTRED, "[PHONE] Sorry, the person you are trying to call is busy, Try again later.");
  444.         TextDrawHideForPlayer(GetPVarInt(playerid, "Caller"), Textdraw12);
  445.         TextDrawHideForPlayer(GetPVarInt(playerid, "Caller"), Textdraw15);
  446.         TextDrawShowForPlayer(GetPVarInt(playerid, "Caller"), Textdraw14);
  447.         SetTimerEx("ScreenReset",2000,false,"d",GetPVarInt(playerid, "Caller"));
  448.         SetTimerEx("ScreenReset",1000,false,"d",playerid);
  449.         if(CallState[playerid] == 5) {
  450.             SendClientMessage(GetPVarInt(playerid, "Caller"), COLOR_BRIGHTRED, "[PHONE] Call ended.");
  451.             SendClientMessage(playerid, COLOR_BRIGHTRED, "[PHONE] Call ended.");
  452.         } else SendClientMessage(playerid, COLOR_BRIGHTRED, "[PHONE] You rejected the call.");
  453.         CallState[playerid] = 0;
  454.         CallState[GetPVarInt(playerid, "Caller")] = 0;
  455.     } else SendClientMessage(playerid, COLOR_BRIGHTRED, "[PHONE] You don't have any active call.");
  456.     SetPVarInt(playerid, "Caller", -1);
  457.     return true;
  458. }
  459.  
  460. public OnPlayerText(playerid, text[])
  461. {
  462.     if(GetPVarInt(playerid, "Caller") >= 0 && GetPVarInt(playerid, "Answered") == 1)
  463.     {
  464.         new msg[256];
  465.         format(msg,sizeof(msg),"{33CCFF}[PHONE TALK][%i]%s:{FFFFFF} %s",playerid,GetName(playerid),text);
  466.         SendClientMessage(GetPVarInt(playerid, "Caller"),COLOR_WHITE,msg);
  467.         SendClientMessage(playerid,COLOR_WHITE,msg);
  468.         return false;
  469.     }
  470.     return true;
  471. }
  472.  
  473. forward ScreenReset(playerid);
  474. public ScreenReset(playerid)
  475. {
  476.     CallState[playerid] = 0;
  477.     TextDrawHideForPlayer(playerid, Textdraw8);
  478.     TextDrawHideForPlayer(playerid, Textdraw9);
  479.     TextDrawHideForPlayer(playerid, Textdraw10);
  480.     TextDrawHideForPlayer(playerid, Textdraw12);
  481.     //TextDrawShowForPlayer(playerid, Textdraw13);
  482.     TextDrawHideForPlayer(playerid, Textdraw14);
  483.     TextDrawHideForPlayer(playerid, Textdraw15);
  484.     return true;
  485. }
  486.  
  487. stock GetIdFromName(playername[]) // © by iPLEOMAX
  488. {
  489.     for(new i=0; i<MAX_PLAYERS; i++)
  490.     {
  491.         if(IsPlayerConnected(i) && !IsPlayerNPC(i))
  492.         {
  493.             new pname[MAX_PLAYER_NAME];
  494.             GetPlayerName(i,pname,MAX_PLAYER_NAME);
  495.             if(strfind(pname,playername,true) != -1 && strlen(playername) != 0)
  496.             {
  497.                 return i;
  498.             }
  499.         }
  500.     }
  501.     if(strfind(playername, "0",true) != -1 && strlen(playername) <= 1) return 0;
  502.     if(strval(playername) > 0 && strval(playername) <= MAX_PLAYERS) return strval(playername);
  503.     return -1;
  504. }
  505.  
  506. stock GetName(playerid)
  507. {
  508.     new pname[MAX_PLAYER_NAME];
  509.     GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
  510.     return pname;
  511. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement