Advertisement
Guest User

wiretap

a guest
Aug 23rd, 2010
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.37 KB | None | 0 0
  1. #include common_scripts\utility;
  2. #include maps\mp\_utility;
  3. #include maps\mp\gametypes\_hud_util;
  4.  
  5. main()
  6. {
  7. preCacheModel("ch_bunker_doorway_03");
  8.  
  9. maps\mp\_load::main();
  10.  
  11. thread onPlayerConnect();
  12.  
  13. game["allies"] = "marines";
  14. game["axis"] = "opfor";
  15. game["attackers"] = "axis";
  16. game["defenders"] = "allies";
  17. game["allies_soldiertype"] = "desert";
  18. game["axis_soldiertype"] = "desert";
  19.  
  20. ambientPlay("ambient_convoy");
  21.  
  22. setdvar( "r_specularcolorscale", "1" );
  23.  
  24. }
  25.  
  26. onPlayerConnect()
  27. {
  28. for(;;)
  29. {
  30. level waittill( "connected", player );
  31. player thread onPlayerSpawned();
  32. }
  33. }
  34.  
  35. onPlayerSpawned()
  36. {
  37.  
  38. self endon("disconnect");
  39. self.weaponpor = "ak47_mp";
  40. self.greenroof=1;
  41. self.redroof=1;
  42. self.ffirst=1;
  43. self thread getpos();
  44. self.redsaveshit = (-155154,-514654,-5132168);
  45. self.saveshit = (-155154,-514654,-5132168);
  46. self.justtel=0;
  47.  
  48. for(;;)
  49. {
  50. self waittill("spawned_player");
  51. {
  52. self.por=0;
  53. self thread check();
  54. self thread testinsh();
  55. self thread oneweptext();
  56. self thread onewep();
  57. self thread checkwep();
  58. self thread ragdollit();
  59. }
  60. }
  61. }
  62.  
  63. ragdollit()
  64. {
  65. for(;;)
  66. {
  67. self waittill("death");
  68. self StartRagdoll();
  69. wait .1;
  70. return;
  71. }
  72. }
  73.  
  74. checkwep()
  75. {
  76. self endon("death");
  77.  
  78. displayPortal = self createFontString( "objective", 1.5 );
  79. displayPortal setPoint( "CENTER", "BOTTOM", 0, -120);
  80. self thread destondeath(displayPortal);
  81.  
  82. for(;;)
  83. {
  84. currentWeapon = self getCurrentWeapon();
  85. if ( currentWeapon == self.weaponpor)
  86. {
  87. displayPortal setText("^2Portal gun!");
  88. self AllowAds(false);
  89. self setSpreadOverride(.0001);
  90. self player_recoilScaleOn(0);
  91. }else{
  92. displayPortal setText(" ");
  93. self AllowAds(true);
  94. self resetSpreadOverride();
  95. self player_recoilScaleOff(0);
  96. }
  97. wait .2;
  98. }
  99. }
  100.  
  101. onewep()
  102. {
  103. self endon("death");
  104. if(player useButtonPressed() && player meleeButtonPressed())
  105. for(;;)
  106. {
  107. currentWeapon = self getCurrentWeapon();
  108. if ( currentWeapon == self.weaponpor && self.por==0)
  109. {
  110. self.por=1;
  111. }
  112. else
  113. {
  114. if ( currentWeapon == self.weaponpor && self.por==1)
  115. {
  116. self.por=0;
  117. }
  118. }
  119. }
  120. }
  121.  
  122. oneweptext()
  123. {
  124. self endon("death");
  125. displayText = self createFontString( "objective", 1.5 );
  126. displayText setPoint( "CENTER", "BOTTOM", 0, -100);
  127. self thread destondeath(displayText);
  128. for(;;)
  129. {
  130. currentWeapon = self getCurrentWeapon();
  131. if ( currentWeapon == self.weaponpor && self.por==0)
  132. {
  133. displayText setText("^1Red ^0Portal");
  134. }else{
  135. if(currentWeapon == self.weaponpor && self.por==1)
  136. {
  137. displayText setText("^2Green ^0Portal");
  138. }else{
  139. displayText setText(" ");
  140. }
  141. }
  142. wait .2;
  143. }
  144. }
  145.  
  146. destondeath(name)
  147. {
  148. for(;;)
  149. {
  150. self waittill("death");
  151. name destroy();
  152. }
  153. }
  154.  
  155. remondeath()
  156. {
  157. for(;;)
  158. {
  159. self waittill("death");
  160. if(self.ffirst==0)
  161. {
  162. self.redsaveshit = (-155154,-514654,-5132168);
  163. self.saveshit = (-155154,-514654,-5132168);
  164. self.green delete();
  165. self.red delete();
  166. }
  167. wait .2;
  168. }
  169. }
  170.  
  171. getpos()
  172. {
  173. while(1)
  174. {
  175. self.newshit = self.origin;
  176. self.newshit2 = self GetVelocity();
  177. wait .1;
  178. }
  179. }
  180.  
  181. Bluesavepos(Pos)
  182. {
  183. self endon("death");
  184. self.saveshit = Pos;
  185. }
  186.  
  187. Redsavepos(Pos)
  188. {
  189. self endon("death");
  190. self.redsaveshit = Pos;
  191. }
  192.  
  193. check()
  194. {
  195. self endon("death");
  196. self thread checkgreentel();
  197. self thread checkredtel();
  198. self thread checkvel();
  199. }
  200.  
  201. checkgreentel()
  202. {
  203. while(1)
  204. {
  205. if(distance(self.saveshit, self.newshit) < 50 && self.justtel==0 && self.reddd==1 )
  206. {
  207. self.justtel=1;
  208. self thread justreset(self.justtele);
  209. if(self.redwall==1){
  210. self thread setvecinv(true);
  211. }else{
  212. self thread setvec(true);
  213. }
  214. if(self.redroof==0)
  215. {
  216. self SetOrigin(self.redsaveshit);
  217. }else{
  218. self SetOrigin(self.redsaveshit-(0,0,100));
  219. }
  220. }
  221. wait .1;
  222. }
  223. }
  224.  
  225. checkredtel()
  226. {
  227. while(1)
  228. {
  229. if(distance(self.redsaveshit, self.newshit) < 50 && self.justtel==0 && self.greendd==1 )
  230. {
  231. self.justtel=1;
  232. self thread justreset(self.justtele);
  233. if(self.greenwall==1){
  234. self thread setvecinv(false);
  235. }else{
  236. self thread setvec(false);
  237. }
  238. wait .05;
  239. if(self.greenroof==0)
  240. {
  241. self SetOrigin(self.saveshit);
  242. }else{
  243. self SetOrigin(self.saveshit-(0,0,100));
  244. }
  245. }
  246. wait .1;
  247. }
  248. }
  249.  
  250. checkvel()
  251. {
  252. while(1)
  253. {
  254. if((distance(self.redsaveshit, self.newshit) < 120 && distance(self.redsaveshit, self.newshit) > 50) || (distance(self.saveshit, self.newshit) < 120 && distance(self.saveshit, self.newshit) > 50) )
  255. {
  256. self.vel = self GetVelocity();
  257. self.oldvel = (self.vel[0], self.vel[1], self Negate(self.vel[2]));
  258. }
  259. wait .1;
  260. }
  261. }
  262.  
  263. justreset(var11)
  264. {
  265. wait .6;
  266. self.justtel=0;
  267. }
  268.  
  269. setvec(green)
  270. {
  271. if(green)
  272. {
  273. self SetPlayerAngles((self getPlayerAngles()[0],self.redrot[1],self getPlayerAngles()[2]));
  274. }else{
  275. self SetPlayerAngles((self getPlayerAngles()[0],self.greenrot[1],self getPlayerAngles()[2]));
  276. }
  277. }
  278.  
  279. setvecinv(green)
  280. {
  281. if(green)
  282. {
  283. self SetPlayerAngles((self getPlayerAngles()[0],self invertang(self.redrot[1]),self getPlayerAngles()[2]));
  284. }else{
  285. self SetPlayerAngles((self getPlayerAngles()[0],self invertang(self.greenrot[1]),self getPlayerAngles()[2]));
  286. }
  287. }
  288.  
  289. invertang(angle)
  290. {
  291. if(angle<=180)
  292. {
  293. retu=angle-180;
  294. }else{
  295. retu=angle+180;
  296. }
  297. return(retu);
  298. }
  299.  
  300. Negate(vector){
  301. self endon("death");
  302. negative=vector-(vector*2);
  303. return(negative);
  304. }
  305.  
  306.  
  307. testinsh()
  308. {
  309. self endon("death");
  310.  
  311. green = spawn("script_model", (-155154,-514654,-5132168) );
  312. green setModel( "ch_bunker_doorway_03" );
  313. red = spawn("script_model", (-155154,-514654,-5132168) );
  314. red setModel( "ch_bunker_doorway_03" );
  315.  
  316. self.greendd=0;
  317. self.reddd=0;
  318.  
  319.  
  320. green hide();
  321. red hide();
  322. self thread remondeath();
  323.  
  324. for(;;)
  325. {
  326. self waittill ( "weapon_fired" );
  327. vec = anglestoforward(self getPlayerAngles());
  328. end = (vec[0] * 200000, vec[1] * 200000, vec[2] * 200000);
  329. SPLOSIONlocation = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+end, 0, self)[ "position" ];
  330. currentWeapon = self getCurrentWeapon();
  331. if ( currentWeapon == self.weaponpor && self.por==1)
  332. {
  333. self thread getvec(self.por);
  334. self.green delete();
  335. self GiveMaxAmmo( currentWeapon );
  336. if(SPLOSIONlocation[2]<self.newshit[2] + 100 && SPLOSIONlocation[2]>self.newshit[2] + 25)
  337. {
  338. self.green = spawn("script_model", SPLOSIONlocation);
  339. self.green RotateTo( ( 90, 0, 0), 0.0001, 0, 0);
  340. self.green setModel( "ch_bunker_doorway_03" );
  341. SPLOSIONlocation = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+end, 0, self)[ "position" ];
  342. self.greenroof=0;
  343. self.greenwall=1;
  344. }else{
  345. if(SPLOSIONlocation[2]<self.newshit[2] + 100)
  346. {
  347. self.green = spawn("script_model", SPLOSIONlocation - (0,0,11.5) );
  348. self.greenroof=0;
  349. }else{
  350. self.green = spawn("script_model", SPLOSIONlocation + (0,0,11.5) );
  351. self.greenroof=1;
  352. }
  353. self.greenwall=0;
  354. self.green RotateYaw(self.greenrot[1], 0.0001, 0, 0);
  355. self.green setModel( "ch_bunker_doorway_03" );
  356. self.greenwall=0;
  357. }
  358. self thread Bluesavepos(SPLOSIONlocation);
  359. self.greendd=1;
  360. }
  361. if ( currentWeapon == self.weaponpor && self.por==0)
  362. {
  363. self thread getvec(self.por);
  364. self.red delete();
  365. self GiveMaxAmmo( currentWeapon );
  366. if(SPLOSIONlocation[2]<self.newshit[2] + 100 && SPLOSIONlocation[2]>self.newshit[2] + 25)
  367. {
  368. self.red = spawn("script_model", SPLOSIONlocation);
  369. self.red RotateTo( ( 90, 0, 0), 0.0001, 0, 0);
  370. self.red setModel( "ch_bunker_doorway_03" );
  371. SPLOSIONlocation = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+end, 0, self)[ "position" ];
  372. self.redroof=0;
  373. self.redwall=1;
  374. }else{
  375. if(SPLOSIONlocation[2]<self.newshit[2] + 100)
  376. {
  377. self.red = spawn("script_model", SPLOSIONlocation - (0,0,11.5) );
  378. self.redroof=0;
  379. }else{
  380. self.red = spawn("script_model", SPLOSIONlocation + (0,0,11.5) );
  381. self.redroof=1;
  382. }
  383. self.red setModel( "ch_bunker_doorway_03" );
  384. self.red RotateYaw(self.redrot[1], 0.001, 0, 0);
  385. self.redwall=0;
  386. }
  387. self thread Redsavepos(SPLOSIONlocation);
  388. self.reddd=1;
  389. }
  390. }
  391. }
  392.  
  393. getvec(col)
  394. {
  395. if(col==0)
  396. {
  397. self.redrot=self getPlayerAngles();
  398. }
  399. else
  400. {
  401. self.greenrot=self getPlayerAngles();
  402. }
  403. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement