Piss Mod

A Config Script for Counter-Strike: Source

SEX! Ok, we got your attention. We are one of the oldest mod sites on the Interwebs. Sign up and maximize your browsing experience.

  • Subscribe: Get notified of new submissions like this.
  • Say Thanks: Show your appreciation by sending Jsick7x points.
  • Post: Give Jsick7x your thoughts on this Script.
  • Vote: Help Jsick7x win the Monthly Awards.
  • Rate: Give this Script a rating out of 10.
  • Flag: Alert moderators and warn members of a problem with this Script.
  • Watch: Get notified when this Script is updated.
Mascot

Resistance is futile...

Sign up

Already a Bananite? Login

764 lines | 25 kb | Raw Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
I DID NOT MAKE THIS
You can also get it here
http://forums.mattie.info/cs/forums/viewtopic.php?t=8194&highlight=

<img src="http://i140.photobucket.com/albums/r39/RightAngle_bucket/cs_crackhouse0000.jpg">

<img src="http://i140.photobucket.com/albums/r39/RightAngle_bucket/cs_crackhouse0001.jpg">




////////////////////////////////////
//PISS MOD V0.8 by McFly//
////////////////////////////////////
//s-
//--------------------//
//--------------------//
//
// - This script allows players
//      to urinate wherever they
//      want and whenever they
//      want just for fun.
//      They're frozen while peeing
//      and their weapons could be stripped.
//
// - To install THIS file must be in a folder
//      called 'pissmod' located inside
//      'cstrike/addons/eventscripts'.
//
// - You'll need to have latest EventScripts
//      and at least ES_Tools .416 Delta
//      plugins installed on your server.
//
// - Don't forget to add 'es_load pissmod'
//      to your 'autoexec.cfg' file
//
// - Check the configuration part below
//      to customize this mod to your liking
//
// - I included custom sounds but you could
//      use your own if you prefer.
//
//  - I will update this soon to restrict pissing
//      to some specified players and things like that.
//
//Hope you enjoy :D
//
//
//  CHANGES HISTORY
//------------------
//
// * V0.2
// - playing all sound as if coming from players now
//
// * V0.3
// - Fixed a little issue that would make players unable to retrieve
//      their guns after they zipped up
// - Added custom sounds to auto-downloads
//
// * V0.4
// - Fixed an issue that allowed players to go away pissing
//      if they had quickly released their key after starting peeing
// - Lowered the effect points a little
//
// * V0.5
// - Added players restrictions with max use per round
// - Added an admins config file for use if you want admins only
//      to be allowed to use it
// - Added public cvars (you can choose to display or not in HLSW and such)
// - Added a cvar to choose wether to force players to stop peeing after a certain time or not
// - Added a cvar to define 'piss max time'
//
// * V0.6
// - Added multi-flag cvar to choose which goups can use it and which cannot.
//      See 'Configuration' to know how to use.
// - Now you can really use custom sounds for downloads by just changing their
//      location respectively in the 'Configuration' part.
//
// * V0.7
// - Fixed sound not played from correct player
// - Added new cvar to allow players to retrieve some health while pissing.
//      Max is 100hp.
// - Added another cvar to set the amount of HP to be given per loop iteration
//
// * V0.8
// - Fixed bombs and defusers not being given back to players
//
// - McFly -
//e-
//s-
//////////////////////
//Configuration//
/////////////////////

block load
{
        //Loop frequency (will create a new effect and remove previous)
        es_xsetinfo PISStime 0.2
       
        //Delays
        es_xsetinfo PISSstartdelay 1
        es_xsetinfo PISSstopdelay 1
       
        //Smooth pissing increment
        es_xsetinfo PISSsmooth 0.1
       
        //Values added to the Z coord of the intermediate points of the line
        es_xsetinfo Aup 40
        es_xsetinfo Cup 40
        es_xsetinfo Dup 30
        es_xsetinfo Eup 15
       
        //Pitch values for all new points
        es_xsetinfo Cp 70
        es_xsetinfo Dp 60
        es_xsetinfo Ep 55
        es_xsetinfo Fp 52
       
        //Color of the effects
        es_xsetinfo PISSred 100
        es_xsetinfo PISSgreen 100
        es_xsetinfo PISSblue 30
        es_xsetinfo PISSalpha 150
       
        //Effect width
        es_xsetinfo PISSwidth 3
        es_xsetinfo PISSendwidth 2
       
        //Sounds
        //Zipper Down
        es_xsetinfo ZIPdown pissmod/piss_ZipperDown.wav
        //Zipper Up
        es_xsetinfo ZIPup pissmod/piss_ZipperUp.wav
        //Pissing
        es_xsetinfo PISSloop pissmod/Piss_Start.wav
        //Start Voice
        es_xsetinfo VOICEstart pissmod/dude_ohyeah.wav
        //End Voice
        es_xsetinfo VOICEend pissmod/dude_ifeelbetter.wav
       
        //Wether to strip player's weapons when pissing or not (0/1)
        es_xsetinfo PISSstrip 1
       
       
        //**********//*//////////*//**********//
        //**********//*//V0.5//*//**********//
        //**********//*//////////*//**********//
       
        //Public cvars
        es_xsetinfo PISSpublic 1
       
        //Force stopping after a predefined amount of time
        es_xsetinfo PISSforcestop 1
       
        //Piss max time in seconds if 'PISSforcestop' is set to 1
        es_xsetinfo PISSmaxtime 5
       
        //-------------//
        //RESTRICTIONS//
        //-------------//
       
        //0 = no restriction, 1 = everyone  with pedefined count per round, 2 = admins only (see admin file)
        es_xsetinfo PISSrestrict 1
       
        //Number of times a player can pee per round if 'PISSrestrict' is set to 1
        es_xsetinfo PISSmax 1
       
        //**********//*//////////*//**********//
        //**********//*//V0.6//*//**********//
        //**********//*//////////*//**********//
       
        //Choose which groups can piss (for example 'csd' would mean 'CTs and Spec but Living)
        //Or 'ad' would mean 'all but dead' so would be the same as 'l')
        //Flags: a=All - c=CTs - t=Ts - s=Spec - l=Living - d=Dead
        //'ctl' would mean CTs and Ts but Dead, however it would be just the same as 'l' as spec and unassigned are considered as dead
        es_xsetinfo PISSgroups l
       
        //-------------//
       
        //**********//*//////////*//**********//
        //**********//*//V0.7//*//**********//
        //**********//*//////////*//**********//
       
        //Enable/disable health being given back to player while pissing
        es_xsetinfo PISShealthboost 1
       
        //Frequency for health given back (in HP per loop iteration)
        //(see PISStime for frequency, 100HP will be the max players can get to)
        es_xsetinfo PISShpfrequency 1
       
        /////////////////////
        //End of Config//
        /////////////////////
       
       
       
        //************************************************//
        //----------DO NOT EDIT BELOW THIS----------//
        //************************************************//
       
        es_xsetinfo PissMod V0.8
        es_makepublic PissMod
       
        if(server_var(PISSpublic) = 1) do
        {
                es_makepublic PISSrestrict
                es_makepublic PISSgroups
                es_makepublic PISSmax
                es_makepublic PISSstrip
                es_makepublic PISSwidth
                es_makepublic PISSendwidth
                es_makepublic PISStime
                es_makepublic PISSsmooth
                es_xsetinfo PISScolour 0
                es_format PISScolour "R=%1 - G=%2 - B=%3 - A=%4" server_var(PISSred) server_var(PISSgreen) server_var(PISSblue) server_var(PISSalpha)
                es_makepublic PISScolour
        }
       
        es_xkeygroupdelete PISSadmins
        es_xkeygroupload PISSadmins |pissmod/Config
}
//e-
//e-
event server
{
        es_xkeygroupdelete PISSplayers
        es_xkeygroupcreate PISSplayers
        es_xkeygroupdelete pissing
        es_xkeygroupcreate pissing
        es_xkeygroupdelete PISSadmins
        es_xkeygroupload PISSadmins |pissmod/Config
       
        es_setinfo ZIPdownSnd server_var(ZIPdown)
        es_setinfo ZIPupSnd server_var(ZIPup)
        es_setinfo PISSloopSnd server_var(PISSloop)
        es_setinfo VOICEstartSnd server_var(VOICEstart)
        es_setinfo VOICEendSnd server_var(VOICEend)
        es_format ZIPdownSnd "sound/%1" server_var(ZIPdownSnd)
        es_format ZIPupSnd "sound/%1" server_var(ZIPupSnd)
        es_format PISSloopSnd "sound/%1" server_var(PISSloopSnd)
        es_format VOICEstartSnd "sound/%1" server_var(VOICEstartSnd)
        es_format VOICEendSnd "sound/%1" server_var(VOICEendSnd)
        es est_AddDownload server_var(ZIPdownSnd)
        es est_AddDownload server_var(ZIPupSnd)
        es est_AddDownload server_var(PISSloopSnd)
        es est_AddDownload server_var(VOICEstartSnd)
        es est_AddDownload server_var(VOICEendSnd)
       
        es_delayed 5 es_xdoblock pissmod/loop
}
//e-
event player_activate
{
        es_keycreate PISSplayers event_var(userid)
        es_keysetvalue PISSplayers event_var(userid) used 0
        es_keysetvalue PISSplayers event_var(userid) pissing 0
        es_keysetvalue PISSplayers event_var(userid) primary 0
        es_keysetvalue PISSplayers event_var(userid) secondary 0
        es_keysetvalue PISSplayers event_var(userid) he 0
        es_keysetvalue PISSplayers event_var(userid) smoke 0
        es_keysetvalue PISSplayers event_var(userid) flash 0
        es_cexec event_var(userid) alias +piss "menuselect !+piss"
        es_cexec event_var(userid) alias -piss "menuselect !-piss"
}
//e-
event player_disconnect
{
        es_keydelete PISSplayers event_var(userid)
}
//e-
event es_client_command
{
        if(event_var(command) = menuselect) do
        {
                //s-
                if(event_var(commandstring) = "!+piss") do
                {
                        //Check flags
                        es_setinfo PISSplayer event_var(userid)
                        es_xdoblock pissmod/checkflags
                        if(server_var(PISSallowed) = 0) do
                        {
                                es_tell event_var(userid) #multi #green [PIssMod]>#lightgreenYou're not part of an authorized group
                                es_tell event_var(userid) #multi #green [PIssMod]>#lightgreenAuthorized flags:#green server_var(PISSgroups)
                        }
                        else do
                        {
                                //Check if player is admin
                                if(server_var(PISSrestrict) = 2) do
                                {
                                        es_xsetinfo PISScount 0
                                        es_keygetvalue PISScount PISSadmins event_var(es_steamid) count
                                        if(server_var(PISScount) = 0) do
                                        {
                                                es_tell event_var(userid) #multi #green [PissMod]>#lightgreen You're not an admin
                                        }
                                        else do
                                        {
                                                //Check count
                                                es_xsetinfo PISSused 0
                                                es_keygetvalue PISSused PISSplayers event_var(userid) used
                                                if(server_var(PISSused) < server_var(PISScount)) do
                                                {
                                                        //Update keyvalue
                                                        es_xmath PISSused + 1
                                                        es_keysetvalue PISSplayers event_var(userid) used server_var(PISSused)
                                                       
                                                        //Actions
                                                        es_xdoblock pissmod/allow
                                                }
                                                else do
                                                {
                                                        es_tell event_var(userid) #multi #green [PissMod]>#lightgreen You cannot pee anymore this round (#green server_var(PISScount) #lightgreentimes max per round )
                                                }
                                        }
                                }
                                else do
                                {
                                        //Everyone - max per round
                                        if(server_var(PISSrestrict) = 1) do
                                        {
                                                //Check count
                                                es_xsetinfo PISSused 0
                                                es_keygetvalue PISSused PISSplayers event_var(userid) used
                                                if(server_var(PISSused) < server_var(PISSmax)) do
                                                {
                                                        //Update keyvalue
                                                        es_xmath PISSused + 1
                                                        es_keysetvalue PISSplayers event_var(userid) used server_var(PISSused)
                                                       
                                                        //Actions
                                                        es_xdoblock pissmod/allow
                                                }
                                                else do
                                                {
                                                        es_tell event_var(userid) #multi #green [PissMod]>#lightgreen You cannot pee anymore this round (#green server_var(PISSmax) #lightgreentimes max per round )
                                                }
                                        }
                                        else do
                                        {
                                                //Everyone - no restriction
                                                es_xdoblock pissmod/allow
                                        }
                                }
                        }
                }
                else do
                {
                //e-
                        //s-
                        if(event_var(commandstring) = "!-piss") do
                        {
                                es_xsetinfo PISSispissing 0
                                es_keygetvalue PISSispissing PISSplayers event_var(userid) pissing
                                if(server_var(PISSispissing) = 1) do
                                {
                                        es_keysetvalue PISSplayers event_var(userid) pissing 0
                                        es_xsetinfo PISSexists 0
                                        es_exists PISSexists key PISSplayers event_var(userid)
                                        if(server_var(PISSexists) = 1) then es_keydelete pissing event_var(userid)
                                        es_delayed server_var(PISSstopdelay) es_xsetinfo PISSexists 0
                                        es_delayed server_var(PISSstopdelay) es_exists PISSexists key PISSplayers event_var(userid)
                                        es_delayed server_var(PISSstopdelay) if(server_var(PISSexists) = 1) then es_keydelete pissing event_var(userid)
                                        es_delayed server_var(PISSstopdelay) es_emitsound player event_var(userid) server_var(ZIPup) 1.0 0.5
                                        es_xmath PISSstopdelay + 1
                                        es_delayed server_var(PISSstopdelay) es_cexec event_var(userid) playgamesound server_var(VOICEend)
                                        es_delayed server_var(PISSstopdelay) es_setplayerprop event_var(userid) "CBasePlayer.m_fFlags" 66177
                                        es_delayed server_var(PISSstopdelay) es_xif(server_var(PISSstrip) = 1) then es_setinfo PISSplayer event_var(userid)
                                        es_delayed server_var(PISSstopdelay) es_xif(server_var(PISSstrip) = 1) then es_xdoblock pissmod/retrieve
                                        es_xmath PISSstopdelay - 1
                                }
                        }
                        //e-
                }
        }
}
//e-
event player_spawn
{
        es_keysetvalue PISSplayers event_var(userid) used 0
}
//e-
event player_say
{
        if(event_var(text) = +piss) do
        {
                //Check flags
                es_setinfo PISSplayer event_var(userid)
                es_xdoblock pissmod/checkflags
                if(server_var(PISSallowed) = 0) do
                {
                        es_tell event_var(userid) #multi #green [PIssMod]>#lightgreenYou're not part of an authorized group
                        es_tell event_var(userid) #multi #green [PIssMod]>#lightgreenAuthorized flags:#green server_var(PISSgroups)
                }
                else do
                {
                        //Check if player is admin
                        if(server_var(PISSrestrict) = 2) do
                        {
                                es_xsetinfo PISScount 0
                                es_keygetvalue PISScount PISSadmins event_var(es_steamid) count
                                if(server_var(PISScount) = 0) do
                                {
                                        es_tell event_var(userid) #multi #green [PissMod]>#lightgreen You're not an admin
                                }
                                else do
                                {
                                        //Check count
                                        es_xsetinfo PISSused 0
                                        es_keygetvalue PISSused PISSplayers event_var(userid) used
                                        if(server_var(PISSused) < server_var(PISScount)) do
                                        {
                                                //Update keyvalue
                                                es_xmath PISSused + 1
                                                es_keysetvalue PISSplayers event_var(userid) used server_var(PISSused)
                                               
                                                //Actions
                                                es_xdoblock pissmod/allow
                                        }
                                        else do
                                        {
                                                es_tell event_var(userid) #multi #green [PissMod]>#lightgreen You cannot pee anymore this round (#green server_var(PISScount) #lightgreentimes max per round )
                                        }
                                }
                        }
                        else do
                        {
                                //Everyone - max per round
                                if(server_var(PISSrestrict) = 1) do
                                {
                                        //Check count
                                        es_xsetinfo PISSused 0
                                        es_keygetvalue PISSused PISSplayers event_var(userid) used
                                        if(server_var(PISSused) < server_var(PISSmax)) do
                                        {
                                                //Update keyvalue
                                                es_xmath PISSused + 1
                                                es_keysetvalue PISSplayers event_var(userid) used server_var(PISSused)
                                               
                                                //Actions
                                                es_xdoblock pissmod/allow
                                        }
                                        else do
                                        {
                                                es_tell event_var(userid) #multi #green [PissMod]>#lightgreen You cannot pee anymore this round (#green server_var(PISSmax) #lightgreentimes max per round )
                                        }
                                }
                                else do
                                {
                                        //Everyone - no restriction
                                        es_xdoblock pissmod/allow
                                }
                        }
                }
        }
        else do
        {
                if(event_var(text) = -piss) do
                {
                        es_xsetinfo PISSispissing 0
                        es_keygetvalue PISSispissing PISSplayers event_var(userid) pissing
                        if(server_var(PISSispissing) = 1) do
                        {
                                es_keysetvalue PISSplayers event_var(userid) pissing 0
                                es_xsetinfo PISSexists 0
                                es_exists PISSexists key PISSplayers event_var(userid)
                                if(server_var(PISSexists) = 1) then es_keydelete pissing event_var(userid)
                                es_delayed server_var(PISSstopdelay) es_xsetinfo PISSexists 0
                                es_delayed server_var(PISSstopdelay) es_exists PISSexists key PISSplayers event_var(userid)
                                es_delayed server_var(PISSstopdelay) if(server_var(PISSexists) = 1) then es_keydelete pissing event_var(userid)
                                es_delayed server_var(PISSstopdelay) es_emitsound player event_var(userid) server_var(ZIPup) 1.0 0.5
                                es_xmath PISSstopdelay + 1
                                es_delayed server_var(PISSstopdelay) es_cexec event_var(userid) playgamesound server_var(VOICEend)
                                es_delayed server_var(PISSstopdelay) es_setplayerprop event_var(userid) "CBasePlayer.m_fFlags" 66177
                                es_delayed server_var(PISSstopdelay) es_xif(server_var(PISSstrip) = 1) then es_setinfo PISSplayer event_var(userid)
                                es_delayed server_var(PISSstopdelay) es_xif(server_var(PISSstrip) = 1) then es_xdoblock pissmod/retrieve
                                es_xmath PISSstopdelay - 1
                        }
                }
        }
}
//e-
event player_death
{
        es_xsetinfo PISSexists 0
        es_exists PISSexists key pissing event_var(userid)
        if(server_var(PISSexists) = 1) then es_msg #multi #green [PissMod]>#green event_var(es_username) #lightgreenhas been caught with his pants down !
}
//e-
block allow
{
        es_keysetvalue PISSplayers event_var(userid) pissing 1
        es_setplayerprop event_var(userid) "CBasePlayer.m_fFlags" 32.0
        if(server_var(PISSstrip) = 1) then es_xdoblock pissmod/stripplayer
        es_emitsound player event_var(userid) server_var(ZIPdown) 1.0 0.5
        es_delayed server_var(PISSstartdelay) es_cexec event_var(userid) playgamesound server_var(VOICEstart)
        es_delayed server_var(PISSstartdelay) es_soon es_keycreate pissing event_var(userid)
       
        //Force stop
        if(server_var(PISSforcestop) = 1) then es_delayed server_var(PISSmaxtime) es_cexec event_var(userid) -piss
}
//e-
block piss
{
        //Point A - player
        es_xsetinfo Ax 0
        es_xsetinfo Ay 0
        es_xsetinfo Az 0
        es_getplayerlocation Ax Ay Az server_var(PISSplayer)
       
        //Point B - crosshair
        es_xsetinfo Bx 0
        es_xsetinfo By 0
        es_xsetinfo Bz 0
        es est_GetViewCoord server_var(PISSplayer) Bx By Bz
       
        //Get angle to point B
        es_xsetinfo Bpitch 0
        es_xsetinfo Byaw 0
        es_xsetinfo Broll 0
        es est_GetAngleTopoint server_var(PISSplayer) server_var(Bx) server_var(By) server_var(Bz) Bpitch Byaw Broll
       
        //Get a C point
        es_xsetinfo Cx 0
        es_xsetinfo Cy 0
        es_xsetinfo Cz 0
        es est_SetViewAngle server_var(PISSplayer) server_var(Cp) server_var(Byaw) server_var(Broll)
        es est_GetViewCoord server_var(PISSplayer) Cx Cy Cz
       
        //Get a D point
        es_xsetinfo Dx 0
        es_xsetinfo Dy 0
        es_xsetinfo Dz 0
        es est_SetViewAngle server_var(PISSplayer) server_var(Dp) server_var(Byaw) server_var(Broll)
        es est_GetViewCoord server_var(PISSplayer) Dx Dy Dz
       
        //Get and E point
        es_xsetinfo Ex 0
        es_xsetinfo Ey 0
        es_xsetinfo Ez 0
        es est_SetViewAngle server_var(PISSplayer) server_var(Ep) server_var(Byaw) server_var(Broll)
        es est_GetViewCoord server_var(PISSplayer) Ex Ey Ez
       
        //Get an F point
        es_xsetinfo Fx 0
        es_xsetinfo Fy 0
        es_xsetinfo Fz 0
        es est_SetViewAngle server_var(PISSplayer) server_var(Fp) server_var(Byaw) server_var(Broll)
        es est_GetViewCoord server_var(PISSplayer) Fx Fy Fz
       
        //Raise points
        es_math Az + server_var(Aup)
        es_math Cz + server_var(Cup)
        es_math Dz + server_var(Dup)
        es_math Ez + server_var(Eup)
       
        es_xsetinfo PISStemp 0
       
        //Add an effect from A to C
        es est_Effect 3 #a 0 "sprites/lgtning.vmt" server_var(Ax) server_var(Ay) server_var(Az) server_var(Cx) server_var(Cy) server_var(Cz) server_var(PISStime) server_var(PISSwidth) server_var(PISSendwidth) server_var(PISSred) server_var(PISSgreen) server_var(PISSblue) server_var(PISSalpha)
       
        es_math PISStime + server_var(PISSsmooth)
        es_math PISStemp + server_var(PISSsmooth)
       
        //Add effect from C to D
        es est_Effect 3 #a server_var(PISStemp) "sprites/lgtning.vmt" server_var(Cx) server_var(Cy) server_var(Cz) server_var(Dx) server_var(Dy) server_var(Dz) server_var(PISStime) server_var(PISSwidth) server_var(PISSendwidth) server_var(PISSred) server_var(PISSgreen) server_var(PISSblue) server_var(PISSalpha)
       
        es_math PISStime + server_var(PISSsmooth)
        es_math PISStemp + server_var(PISSsmooth)
       
        //Add effect from D to E
        es est_Effect 3 #a server_var(PISStemp) "sprites/lgtning.vmt" server_var(Dx) server_var(Dy) server_var(Dz) server_var(Ex) server_var(Ey) server_var(Ez) server_var(PISStime) server_var(PISSwidth) server_var(PISSendwidth) server_var(PISSred) server_var(PISSgreen) server_var(PISSblue) server_var(PISSalpha)
       
        es_math PISStime + server_var(PISSsmooth)
        es_math PISStemp + server_var(PISSsmooth)
       
        //Add effect from E to F
        es est_Effect 3 #a server_var(PISStemp) "sprites/lgtning.vmt" server_var(Ex) server_var(Ey) server_var(Ez) server_var(Fx) server_var(Fy) server_var(Fz) server_var(PISStime) server_var(PISSwidth) server_var(PISSendwidth) server_var(PISSred) server_var(PISSgreen) server_var(PISSblue) server_var(PISSalpha)
       
        es_math PISStime - server_var(PISSsmooth)
        es_math PISStime - server_var(PISSsmooth)
        es_math PISStime - server_var(PISSsmooth)
       
        //Reset player's angle
        //es est_SetViewAngle server_var(PISSplayer) server_var(Bpitch) server_var(Byaw) server_var(Broll)
       
        //Add splash effect on D point
        es_remove env_explosion
        es_give server_var(PISSplayer) env_explosion
        es_xsetinfo PISSoutput 0
        es_format PISSoutput "origin %1 %2 %3" server_var(Fx) server_var(Fy) server_var(Fz)
        es_fire server_var(PISSplayer) env_explosion addoutput server_var(PISSoutput)
        es_format PISSoutput "angles %1 %2 %3" -90 0 0
        es_fire server_var(PISSplayer) env_explosion addoutput server_var(PISSoutput)
        es_fire server_var(PISSplayer) env_explosion DispatchEffect waterripple
        es est_effect 10 #a server_var(PISStemp) "sprites/lgtning.vmt" server_var(Fx) server_var(Fy) server_var(Fz) 0 30 1 10 10 3 server_var(PISSred) server_var(PISSgreen) server_var(PISSblue) server_var(PISSalpha) 0
       
        //Sounds
        es_emitsound player server_var(PISSplayer) server_var(PISSloop) 1.0 0.5
       
        //Health
        if(server_var(PISShealthboost) = 1) do
        {
                es_xsetinfo PISSphealth 0
                es est_GetHealth PISSphealth server_var(PISSplayer)
                es_math PISSphealth + server_var(PISShpfrequency)
                if(server_var(PISSphealth) > 100) then es_xsetinfo PISSphealth 100
                es est_SetHealth server_var(PISSplayer) server_var(PISSphealth)
        }
       
        es_soon es_remove env_explosion
}
//e-
block loop
{
        es_xsetinfo PISSplayer 0
        es_foreachkey PISSplayer in pissing "es_xdoblock pissmod/piss"
       
        es_delayed server_var(PISStime) es_xdoblock pissmod/loop
}
//e-
block stripplayer
{
        es_xsetinfo PISSprimary 0
        es_xsetinfo PISSsecondary 0
        es_xsetinfo PISShe 0
        es_xsetinfo PISSsmoke 0
        es_xsetinfo PISSflash 0
        es_xsetinfo PISSinv 0
        es est_GetPrimary PISSprimary event_var(userid)
        es est_GetSecondary PISSsecondary event_var(userid)
        es est_GetHE PISShe event_var(userid)
        es est_GetSG PISSsmoke event_var(userid)
        es est_GetFB PISSflash event_var(userid)
        es est_HasDefuser PISSinv event_var(userid)
        if(server_var(PISSinv) = 0) then est_IsBomber PISSinv event_var(userid)
        es_keysetvalue PISSplayers event_var(userid) primary server_var(PISSprimary)
        es_keysetvalue PISSplayers event_var(userid) secondary server_var(PISSsecondary)
        es_keysetvalue PISSplayers event_var(userid) he server_var(PISShe)
        es_keysetvalue PISSplayers event_var(userid) smoke server_var(PISSsmoke)
        es_keysetvalue PISSplayers event_var(userid) flash server_var(PISSflash)
        es_keysetvalue PISSplayers event_var(userid) inv server_var(PISSinv)
        es est_StripPlayer event_var(userid)
}
//e-
block retrieve
{
        es_xsetinfo PISSprimary 0
        es_xsetinfo PISSsecondary 0
        es_xsetinfo PISShe 0
        es_xsetinfo PISSsmoke 0
        es_xsetinfo PISSflash 0
        es_xsetinfo PISSinv 0
        es_keygetvalue PISSprimary PISSplayers server_var(PISSplayer) primary
        es_keygetvalue PISSsecondary PISSplayers server_var(PISSplayer) secondary
        es_keygetvalue PISShe PISSplayers server_var(PISSplayer) he
        es_keygetvalue PISSsmoke PISSplayers server_var(PISSplayer) smoke
        es_keygetvalue PISSflash PISSplayers server_var(PISSplayer) flash
        es_keygetvalue PISSinv PISSplayers server_var(PISSplayer) inv
        es_give server_var(PISSplayer) weapon_knife
        if(server_var(PISSprimary) != 0) then es_xgive server_var(PISSplayer) server_var(PISSprimary)
        if(server_var(PISSsecondary) != 0) then es_xgive server_var(PISSplayer) server_var(PISSsecondary)
        if(server_var(PISShe) = 1) then es_xgive server_var(PISSplayer) weapon_hegrenade
        if(server_var(PISSsmoke) = 1) then es_xgive server_var(PISSplayer) weapon_smokegrenade
        if(server_var(PISSflash) > 0) do
        {
                es_give server_var(PISSplayer) weapon_flashbang
                if(server_var(PISSflash) = 2) then es_xgive server_var(PISSplayer) weapon_flashbang
        }
        if(server_var(PISSinv) != 0) then es_xgive server_var(PISSplayer) server_var(PISSinv)
}
//e-
block checkflags
{
        es_xsetinfo PISSallowed 0
        es_xsetinfo PISSwrong 0
        if(a in server_var(PISSgroups)) do
        {
                //All
                es_xsetinfo PISSallowed 1
        }
        else do
        {
                if(c in server_var(PISSgroups)) do
                {
                        //CTs
                        es_xsetinfo PISSteam 0
                        es_getplayerteam PISSteam server_var(PISSplayer)
                        if(server_var(PISSteam) = 3) then es_xsetinfo PISSallowed 1
                }
                else do
                {
                        if(t in server_var(PISSgroups)) do
                        {
                                //Ts
                                es_xsetinfo PISSteam 0
                                es_getplayerteam PISSteam server_var(PISSplayer)
                                if(server_var(PISSteam) = 2) then es_xsetinfo PISSallowed 1
                        }
                        else do
                        {
                                if(s in server_var(PISSgroups)) do
                                {
                                        //Spec
                                        es_xsetinfo PISSteam 0
                                        es_getplayerteam PISSteam server_var(PISSplayer)
                                        if(server_var(PISSteam) = 1) then es_xsetinfo PISSallowed 1
                                }
                                else do
                                {
                                        es_xsetinfo PISSwrong 1
                                }
                        }
                }
        }
        if(l in server_var(PISSgroups)) do
        {
                es_xsetinfo PISSwrong 0
               
                //Living
                es_xsetinfo PISSstatus 0
                es_getplayerprop PISSstatus server_var(PISSplayer) CCSPlayer.baseclass.pl.deadflag
                if(server_var(PISSstatus) = 0) then es_xsetinfo PISSallowed 1
        }
        else do
        {
                if(d in server_var(PISSgroups)) do
                {
                        es_xsetinfo PISSwrong 0
                       
                        //Dead
                        es_xsetinfo PISSstatus 0
                        es_getplayerprop PISSstatus server_var(PISSplayer) CCSPlayer.baseclass.pl.deadflag
                        if(server_var(PISSstatus) = 1) then es_xsetinfo PISSallowed 1
                }
        }
       
        //Didn't find any good flag
        if(server_var(PISSwrong) = 1) do
        {
                //Check for valid single player
                es_xsetinfo PISSok 0
                es_exists PISSok key PISSplayers server_var(PISSgroups)
                if(server_var(PISSok) = 0) do
                {
                        echo [PissMod] Wrong flags specified for PISSgroups cvar
                        echo [PissMod] Possible choices: a - c - t - s - l - d - player ID
                }
                else do
                {
                        es_xsetinfo PISSwrong 0
                        if(server_var(PISSplayer) = server_var(PISSgroups)) do
                        {
                                es_xsetinfo PISSallowed 1
                        }
                        else do
                        {
                                es_xsetinfo PISSallowed 0
                        }
                }
        }
}
//e-

Posts

Share

Shareable Image:
Share banner
HTML embed code:
BB embed code:
Markdown embed code:

More embeddable images

Bookmark and Share

Credits

Key Authors
rightangle
Unknown

Submitter

Jsick7x avatar
Jsick7x Offline
Member Joined 12y
803 points Ranked 5733rd

Jsick7x
Redistributor
Are you the owner? Request Ownership
Sign up to access this!
Sign up to access this!
Sign up to access this!
Sign up to access this!

Stats

Posts
8
Views
9,038
Date Added
10y

Scores

  • Not yet rated
Sign up to access this!
bcp.crwdcntrl.net tracking pixel