Guest User

CamelJoe JoeShk Roy

a guest
Jun 4th, 2009
1,617
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.60 KB | None | 0 0
  1. /*
  2. ~~~~~~~~~~~~~~~~~~~~~~~
  3. TVC System By - "Roy_Omer / JoeShk / CamelJoe"
  4. ~~~~~~~~~~~~~~~~~~~~~~~
  5. */
  6.  
  7. //Includes:
  8. #include "a_samp"
  9. #tryinclude "dutils" // try this include dutils
  10.  
  11. //Unused:
  12. #pragma unused ret_memcpy
  13.  
  14. //Colors:
  15. #define RED 0xFF0000AA
  16. #define ORANGE 0xFF9900AA
  17. #define WHITE 0xFFFFFFAA
  18.  
  19. enum Camrea
  20. {
  21. bool:air,cameraman,Float:campostion[4],tup
  22. };
  23. //static's / new's
  24. new bool:player_viewer[200];
  25. new CamreaInfo[Camrea];
  26. static string[128];
  27. new CPU[200];
  28.  
  29. //forward:
  30. forward public PlayerUpdateCamrea(playerid);
  31.  
  32.  
  33. public OnPlayerDisconnect(playerid, reason)
  34. {
  35. if(!player_viewer[playerid]) RemovePlayer(playerid);
  36. return true;
  37. }
  38.  
  39. public OnPlayerCommandText(playerid, cmdtext[])
  40. {
  41. new cmd[256],
  42. idx;
  43. cmd = strtok(cmdtext, idx);
  44.  
  45. if (!strcmp(cmd, "/cretv", true)) return SendClientMessage(playerid,WHITE,"� all copyright's about the \"Television Channel\" reserved to \"Roy_Omer (JoeShk / CamelJoe)\"");
  46. if (!strcmp(cmd, "/tv", true))
  47. {
  48. new desctoreide[256];
  49. desctoreide = strtok(cmdtext,idx);
  50.  
  51. if(!strlen(desctoreide))
  52. {
  53. if(CamreaInfo[cameraman] != playerid)
  54. {
  55. SendClientMessage(playerid,WHITE,"to watch: /tv watch");
  56. SendClientMessage(playerid,WHITE,"to stop watching: /tv stopw");
  57. }
  58. else if(CamreaInfo[cameraman] == playerid)
  59. {
  60. SendClientMessage(playerid,WHITE,"to start TV: /tv onair");
  61. SendClientMessage(playerid,WHITE,"to stop TV: /tv offair");
  62. }
  63. if(IsPlayerAdmin(playerid))
  64. SendClientMessage(playerid,WHITE,"to give camreaman: /tv setcm");
  65. return true;
  66. }
  67.  
  68. if(!strcmp(desctoreide,"onair") && CamreaInfo[cameraman] == playerid) return
  69. (CamreaInfo[air])? SendClientMessage(playerid,RED,"The TV Is online!"): OnAir(playerid,true);
  70.  
  71. if(!strcmp(desctoreide,"offair") && CamreaInfo[cameraman] == playerid) return
  72. (!CamreaInfo[air])? SendClientMessage(playerid,RED,"The TV Is'nt Online!"): OffAir();
  73.  
  74. else if(!strcmp(desctoreide,"stopw")) return
  75. (player_viewer[playerid] && playerid != CamreaInfo[cameraman])? RemovePlayer(playerid) : SendClientMessage(playerid,RED,"you'r not watching at the TV!");
  76.  
  77.  
  78. else if(!strcmp(desctoreide,"watch")) return
  79. (playerid != CamreaInfo[cameraman])? Watching(playerid) :SendClientMessage(playerid,RED,"you'r the camrea man, you'r cant can to watch at the TV!");
  80.  
  81. else if(!strcmp(desctoreide,"setcm"))
  82. {
  83. if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,RED,"you'r not an admin!");
  84.  
  85. new cam[256];
  86. cam = strtok(cmdtext, idx);
  87. if(!strlen(cam)) return SendClientMessage(playerid,WHITE,"Usage: /tv setcm [playerid]");
  88. return (strval(cam) == CamreaInfo[cameraman])? SendClientMessage(playerid,RED,"this player is camrea man!") : OnAir(strval(cam),false);
  89. }
  90.  
  91. return SendClientMessage(playerid,RED,"Error Command TV!");
  92. }
  93.  
  94.  
  95. return false;
  96. }
  97.  
  98. public PlayerUpdateCamrea(playerid)
  99. {
  100. if(!CamreaInfo[air]) return RemovePlayer(playerid);
  101. GetPlayerPos(CamreaInfo[cameraman],CamreaInfo[campostion][0],CamreaInfo[campostion][1],CamreaInfo[campostion][2]);
  102. SetPlayerCameraPos(playerid,CamreaInfo[campostion][0],CamreaInfo[campostion][1],CamreaInfo[campostion][2]);
  103. SetPlayerCameraLookAt(playerid,CamreaInfo[campostion][0],CamreaInfo[campostion][1]+20.0,CamreaInfo[campostion][2]);
  104. return true;
  105. }
  106.  
  107. OnAir(playerid,bool:ss)
  108. {
  109. if(ss)
  110. {
  111. CamreaInfo[cameraman] = playerid;
  112. CamreaInfo[air] = true;
  113. }
  114. else if(!ss)
  115. {
  116. CamreaInfo[cameraman] = playerid;
  117. format(string,sizeof(string),"The player: %s is the camrea man now!",GetName(playerid));
  118. SendClientMessageToAll(ORANGE,string);
  119. }
  120. return true;
  121. }
  122.  
  123.  
  124. OffAir()
  125. {
  126. KillTimer(CamreaInfo[tup]);
  127. CamreaInfo[air] = false;
  128. SendClientMessageToAll(ORANGE,"The TV Is Off Now!");
  129. for(new i = 0; i < GetMaxPlayers(); i++) RemovePlayer(i);
  130. return true;
  131. }
  132.  
  133.  
  134. Watching(playerid)
  135. {
  136. if(player_viewer[playerid]) return SendClientMessage(playerid,RED,"to stop the Wathicng: /tv stopw");
  137. if(!CamreaInfo[air]) return SendClientMessage(playerid,RED,"The tv now is off!");
  138. CPU[playerid] = SetTimerEx("PlayerUpdateCamrea",50,true,"d",playerid);
  139. SetPlayerCameraPos(playerid,CamreaInfo[campostion][0],CamreaInfo[campostion][1],CamreaInfo[campostion][2]);
  140. SetPlayerCameraLookAt(playerid,CamreaInfo[campostion][0],CamreaInfo[campostion][1]+20.0,CamreaInfo[campostion][2]);
  141. player_viewer[playerid] = true;
  142. return true;
  143. }
  144.  
  145. RemovePlayer(playerid)
  146. {
  147. SpawnPlayer(playerid);
  148. player_viewer[playerid] = false;
  149. KillTimer(CPU[playerid]);
  150. return true;
  151. }
  152.  
  153.  
  154.  
  155. stock GetName(playerid)
  156. {
  157. new N[24+1];
  158. GetPlayerName(playerid,N,sizeof(N));
  159. return N;
  160. }
Advertisement
Add Comment
Please, Sign In to add comment