[ODDITY] Druid

A Config Script for Counter-Strike: Source

Yo, buddy. 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 Soldier62994 points.
  • Post: Give Soldier62994 your thoughts on this Script.
  • Vote: Help Soldier62994 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

Join the community!

Sign up

Already a Bananite? Login

191 lines | 16 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
This is an AMAZING Race(Not Mine), It is coded by an advanced coder, [ODDITY] TeacherCreature, Credits go to him.  What the race does,

Skill 1 "ANIMAGUS"     The druid may cast a spell and randomly become a ~Huge Cave Bear~  ~Flying Bird~   or ~Stealthy Crab~
Skill 2 "POISON"         Nature has many herbal and animal toxins....The druid harnesses these and puts them on his blade
Skill 3 "Earthquake"    The druids connection to the earth allows him on higher levels to shake the very ground. (Often used as a distraction)
Skill 4 "Tangle Roots"  Any druid enemy must know that to fight a druid is to fight nature itself. Roots of near by trees will trap the druids enemies.
Skill 5 "Lightning"       The ultimate force of nature (LIGHTNING) can  be called to strike an opponent multiple times

This is hard to put in, but this is what you have to do....




This race requires specific installation also you should have the correct versions of estools and eventscripts Please read this post entirely so that you do not mess up


Step 1. Race file
  (this part is easy)


Code:
"oddity.counter-strike.com"
  {
    "name"              "[Oddity]Druid"
    "author"            "[Oddity]TeacherCreature ~{race of the week}~"
    "shortdescription"  "Shape Shifter (Earth Spellcaster)"
    "required_level"    "200"
    "maximum_level"     "0"
    "allow_only"        "0"
    "teamlimit"         "0"
    "preloadcmd"        "0"
    "player_spawn_cmd"  "es es_xdelayed 1.1 est_stripplayer event_var(userid) 1;es es_xdelayed 1.1 est_RestrictAll event_var(userid);es es_xdelayed 1.1 est_unrestrict event_var(userid) weapon_knife;es es_delayed 1.5 est_give server_var(wcs_userid) weapon_knife"
    "round_start_cmd"   "0"
    "round_end_cmd"     "0"
    "numberofskills"    "5"
    "numberoflevels"    "5"
    "skillnames"        "Animagus spell(say !druid)|Natural poisons|Earthquake Spell(say !quake)|Nature's entanglement Spell(say !tangle)|Ultimate Lightning spell"
    "skilldescr"        "Transform into animals type !druid|You put natural animal poison on your knife|Everything shakes from a massive earthquake type !quake|Vines from the ground trap victims type !tangle|Druid Ultimate Weapon of lightning"
    "skillcfg"          "player_say|player_attacker|player_say|player_say|player_ultimate"

    "skill1_setting"    "es_xrand wcs_rand 1 3;es_xsetinfo wcs_bonushp 70;es_xsetinfo wcs_speed 1.1;es_xsetinfo wcs_jump 1.1|es_xrand wcs_rand 1 3;es_xsetinfo wcs_bonushp 80;es_xsetinfo wcs_speed 1.2;es_xsetinfo wcs_jump 1.2|es_xrand wcs_rand 1 3;es_xsetinfo wcs_bonushp 90;es_xsetinfo wcs_speed 1.3;es_xsetinfo wcs_jump 1.3|es_xrand wcs_rand 1 3;es_xsetinfo wcs_bonushp 100;es_xsetinfo wcs_speed 1.4;es_xsetinfo wcs_jump 1.4|es_xrand wcs_rand 1 3;es_xsetinfo wcs_bonushp 110;es_xsetinfo wcs_speed 1.5;es_xsetinfo wcs_jump 1.5"
    "racealias_back2"   "es es_xkeysetvalue WCSuserdata server_var(wcs_userid) crabform 0;es es_xkeysetvalue WCSuserdata server_var(wcs_userid) birdform 0;es es_xkeysetvalue WCSuserdata server_var(wcs_userid) bearform 0;es est_Speed server_var(wcs_userid) 1;es es_xkeysetvalue WCSuserdata server_var(wcs_userid) speed 1;es es_xkeysetvalue WCSuserdata event_var(userid) longjump 1.0;es est_Jetpack server_var(wcs_userid) 0;es es_xkeysetvalue WCSuserdata server_var(wcs_userid) jetpack 0;es est_Health server_var(wcs_userid) - server_var(wcs_bonushp);es es_xdelayed 0.1 racealias_back4"
    "racealias_back4"   "es est_playplayer server_var(wcs_userid) npc/scanner/scanner_nearmiss2.wav;es es_xif (event_var(es_userteam) = 3) then est_SetModel server_var(wcs_userid) player/ct_urban;es es_xif (event_var(es_userteam) = 2) then est_SetModel server_var(wcs_userid) player/t_phoenix"
    "racealias_bear"    "es es_xif (event_var(text) = !druid) then est_gethealth wcs_health server_var(wcs_userid);es es_xif (event_var(text) = !druid) then es_xsetinfo wcs_bearform 0;es es_xif (event_var(text) = !druid) then es es_xkeygetvalue wcs_bearform WCSuserdata server_var(wcs_userid) bearform;es es_xif (event_var(text) = !druid) then es es_xif (server_var(wcs_bearform) = 0) then racealias_bear1;es es_xif (event_var(text) = !druid) then es es_xif (server_var(wcs_bearform) = 1) then racealias_back2"
    "racealias_bear1"   "es es_xkeysetvalue WCSuserdata server_var(wcs_userid) bearform 1;es est_Health server_var(wcs_userid) + server_var(wcs_bonushp);es es_xdelayed 0.1 racealias_bear3"
    "racealias_bear3"   "es es_xif (event_var(es_userteam) = 3) then est_playplayer server_var(wcs_userid) ambient/weather/thunder1.wav;es es_xif (event_var(es_userteam) = 3) then est_SetModel server_var(wcs_userid) antlion;es es_xif (event_var(es_userteam) = 2) then est_playplayer server_var(wcs_userid) ambient/weather/thunder1.wav;es es_xif (event_var(es_userteam) = 2) then est_SetModel server_var(wcs_userid) antlion;es es_xtell server_var(wcs_userid) #multi #lightgreenYou have #greentransformed into a #lightgreenbear"
    "racealias_bird"    "es es_xif (event_var(text) = !druid) then est_gethealth wcs_health server_var(wcs_userid);es es_xif (event_var(text) = !druid) then es_xsetinfo wcs_birdform 0;es es_xif (event_var(text) = !druid) then es es_xkeygetvalue wcs_birdform WCSuserdata server_var(wcs_userid) birdform;es es_xif (event_var(text) = !druid) then es es_xif (server_var(wcs_birdform) = 0) then racealias_bird1;es es_xif (event_var(text) = !druid) then es es_xif (server_var(wcs_birdform) = 1) then racealias_back2"
    "racealias_bird1"   "es es_xkeysetvalue WCSuserdata server_var(wcs_userid) birdform 1;es est_Jetpack server_var(wcs_userid) 1;es es_xkeysetvalue WCSuserdata server_var(wcs_userid) jetpack 1;es est_Speed server_var(wcs_userid) server_var(wcs_speed);es es_xkeysetvalue WCSuserdata server_var(wcs_userid) speed server_var(wcs_speed);es es_xdelayed 0.1 racealias_bird3"
    "racealias_bird3"   "es es_xif (event_var(es_userteam) = 3) then ;es es_xif (event_var(es_userteam) = 3) then est_SetModel server_var(wcs_userid) pigeon;es es_xif (event_var(es_userteam) = 2) then est_playplayer server_var(wcs_userid) npc/crow/alert3.wav;es es_xif (event_var(es_userteam) = 2) then est_SetModel server_var(wcs_userid) crow;es es_xtell server_var(wcs_userid) #multi #lightgreenYou have #greentransformed into a #lightgreenbird"
    "racealias_crab"    "es es_xif (event_var(text) = !druid) then es est_gethealth wcs_health server_var(wcs_userid);es es_xif (event_var(text) = !druid) then es_xsetinfo wcs_crabform 0;es es_xif (event_var(text) = !druid) then es es_xkeygetvalue wcs_crabform WCSuserdata server_var(wcs_userid) crabform;es es_xif (event_var(text) = !druid) then es es_xif (server_var(wcs_crabform) = 0) then racealias_crab1;es es_xif (event_var(text) = !druid) then es es_xif (server_var(wcs_crabform) = 1) then racealias_back2"
    "racealias_crab1"   "es es_xkeysetvalue WCSuserdata server_var(wcs_userid) crabform 1;es est_Speed server_var(wcs_userid) server_var(wcs_speed);es es_xkeysetvalue WCSuserdata server_var(wcs_userid) speed server_var(wcs_speed);es es_xkeysetvalue WCSuserdata event_var(userid) longjump server_Var(wcs_jump);es es_xdelayed 0.1 racealias_crab3"
    "racealias_crab3"   "es es_xif (event_var(es_userteam) = 3) then est_playplayer server_var(wcs_userid) ambient/machines/squeak_1.wav;es es_xif (event_var(es_userteam) = 3) then est_SetModel server_var(wcs_userid) headcrab;es es_xif (event_var(es_userteam) = 2) then est_playplayer server_var(wcs_userid) ambient/machines/squeak_1.wav;es es_xif (event_var(es_userteam) = 2) then est_SetModel server_var(wcs_userid) headcrabblack;es es_xtell server_var(wcs_userid) #multi #lightgreenYou have #greentransformed into a #lightgreencrab"
    "skill1_cmd"        "es es_xif (event_var(text) = !druid) then es es_xif (server_var(wcs_rand) = 1) then racealias_bear;es es_xif (event_var(text) = !druid) then es_xif (server_var(wcs_rand) = 2) then racealias_bird;es es_xif (event_var(text) = !druid) then es_xif (server_var(wcs_rand) = 3) then racealias_crab"
    "skill1_sfx"        "es es_xif (event_var(text) = !druid) then est_effect 4 #a 0 sprites/lgtning.vmt server_var(wcs_userid) 1 10 10 10 255 0 0 200"
   
    "skill2_setting"    "es_xsetinfo wcs_poison 1;es_xsetinfo wcs_chance 40|es_xsetinfo wcs_poison 2;es_xsetinfo wcs_chance 50|es_xsetinfo wcs_poison 3;es_xsetinfo wcs_chance 60|es_xsetinfo wcs_poison 4;es_xsetinfo wcs_chance 70|es_xsetinfo wcs_poison 5;es_xsetinfo wcs_chance 80"
    "racealias_poison"  "es es_xdelayed 1 wcs_dealdamage event_var(attacker) event_var(userid) server_var(wcs_poison);es es_xdelayed 1 es_xtell event_var(userid) #Lightgreen You got hit by #Green event_var(es_attackername) 's poison sting getting #Green server_var(wcs_poison) #Lightgreen in some time;es es_xdelayed 2 wcs_dealdamage event_var(attacker) event_var(userid) server_var(wcs_poison);es es_xdelayed 3 wcs_dealdamage event_var(attacker) event_var(userid) server_var(wcs_poison);es es_xdelayed 4 wcs_dealdamage event_var(attacker) event_var(userid) server_var(wcs_poison);es es_xdelayed 5 wcs_dealdamage event_var(attacker) event_var(userid) server_var(wcs_poison)"
    "skill2_cmd"        "es es_xif (server_var(wcs_dice) <= server_var(wcs_chance)) then racealias_poison;es est_playplayer server_var(wcs_userid) odditydruid/slowbeat.mp3;es es_xif (server_var(wcs_dice) <= server_var(wcs_chance)) then es_xtell event_var(attacker) #multi #Lightgreen You have #Green poisoned event_var(es_username) #Lightgreen dealing #Green server_var(wcs_poison) #Lightgreen in some time"
    "skill2_sfx"        "es est_Effect 3 #a 0 sprites/glow.vmt server_var(wcs_userid) 0.5 20 20 0 255 0 255"

    "skill3_setting"    "es_xsetinfo wcs_shaketime 1|es_xsetinfo wcs_shaketime 2|es_xsetinfo wcs_shaketime 3|es_xsetinfo wcs_shaketime 4|es_xsetinfo wcs_shaketime 5"
    "skill3_cmd"        "es es_xif (event_var(text) = !quake) then est_isalive wcs_alive event_var(userid) then est_playplayer #a ambient/levels/citadel/portal_beam_shoot3.wav;es es_xif (event_var(text) = !quake) then es_xif (server_var(wcs_alive) = 1) then then es_xtell server_var(wcs_userid) #multi #lightgreen : Produce #green earthquake #lightgreen for #greenserver_var(wcs_shaketime) seconds;es es_xif (event_var(text) = !quake) then es_xif (server_var(wcs_alive) = 1) then est_shake #all server_var(wcs_shaketime) 30 150"
    "skill3_sfx"        "es es_xif (event_var(text) = !quake) then est_Effect 3 #a 0 sprites/glow.vmt server_var(wcs_userid) 0.5 20 20 0 0 255 255"    

    "skill4_setting"    "es_xsetinfo wcs_radius 250;es_xsetinfo wcs_freezetime 1|es_xsetinfo wcs_radius 300;es_xsetinfo wcs_freezetime 2|es_xsetinfo wcs_radius 350;es_xsetinfo wcs_freezetime 3|es_xsetinfo wcs_radius 400;es_xsetinfo wcs_freezetime 4|es_xsetinfo wcs_radius 450;es_xsetinfo wcs_freezetime 5"
    "skill4_cmd"        "es es_xif (event_var(text) = !tangle) then es_xdoblock wcs/WCSultimates/wcs_ulti_roots;es est_playplayer server_var(wcs_userid) odditydruid/slowbeat.mp3"
    "skill4_sfx"        "0"
   
    "skill5_setting"    "es_xsetinfo wcs_maxtargets 1;es_xsetinfo wcs_radius 400|es_xsetinfo wcs_maxtargets 1;es_xsetinfo wcs_radius 600|es_xsetinfo wcs_maxtargets 1;es_xsetinfo wcs_radius 700|es_xsetinfo wcs_maxtargets 1;es_xsetinfo wcs_radius 800|es_xsetinfo wcs_maxtargets 2;es_xsetinfo wcs_radius 900"
    "skill5_cmd"        "es_xdoblock wcs/WCSultimates/wcs_ulti_lghtng;es est_playplayer server_var(wcs_userid) odditydruid/slowbeat.mp3"
    "skill5_sfx"        "0"
    "ultimate_cooldown" "5|4|3|2|1"
  }



Step 2. Ultimate

Skill 5 requires a new ultimate code. This will not alter or affect any other races. The code gets placed in this file
addons/eventscripts/wcs/wcsultimates/es_WCSultimates.txt


Code:
block wcs_ulti_lghtng
{
es es_xif (server_var(wcs_debug) = "1") then echo wcs_ulti_chain start
  es_xsetinfo wcs_team_target 0
  es es_xgetplayerteam wcs_team server_var(wcs_userid)
  // check teams (T=2, CT=3)
  es es_xif (server_var(wcs_team) = 2) do
  {
    es_xsetinfo wcs_team_target 3
    es_xsetinfo wcs_team_targetn "#c!d"
  }
  es es_xif (server_var(wcs_team) = 3) do
  {
    es_xsetinfo wcs_team_target 2
    es_xsetinfo wcs_team_targetn "#t!d"
  }
  es es_xif (server_var(wcs_team_target) != "0") do
  {
    es_xsetinfo wcs_pcount 0
    es es_xgetlivingplayercount wcs_pcount server_var(wcs_team_target)
    es es_xif (server_var(wcs_pcount) > 0) do
    {
        es est_Fade server_var(wcs_userid) 0 2 1 240 240 240 100
        es_xsetinfo wcs_wall "1"
      alias wcs_run_ulti_chain1 "es es_xgetplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_userid);es es_xgetplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_targetid);es_xmath wcs_z1 + 50;es_xmath wcs_z2 + 50;es est_getwallbetween wcs_wall server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2);es es_xif (server_var(wcs_wall) = 0) then wcs_run_ulti_chain2"
      alias wcs_run_ulti_chain2 "es_xsetinfo wcs_immunity 0;es es_xkeygetvalue wcs_immunity WCSuserdata server_var(wcs_targetid) ulti_immunity;es es_xif (server_var(wcs_immunity) = 0) then wcs_run_ulti_chain3;es es_xif (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng_ulti_immunity_a);es es_xif (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_targetid) #multi server_var(wcs_lng_ulti_immunity_v)"
      alias wcs_run_ulti_chain3 "es_xmath wcs_counter + 1;es es_xif (server_var(wcs_graphicfx) = 1) then est_effect 3 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 10 10 200 255 255 255;es wcs_dealdamage server_var(wcs_userid) server_var(wcs_targetid) 5"
      es_xsetinfo wcs_counter 0
      es est_Near wcs_targetid server_var(wcs_team_targetn) server_var(wcs_radius) server_var(wcs_userid) "es es_xexists wcs_exists userid server_var(wcs_targetid);es es_xif (server_var(wcs_exists) = 1) then es_xif (server_var(wcs_counter) < server_var(wcs_maxtargets)) then wcs_run_ulti_chain1"
      es es_xif (server_var(wcs_counter) > 0) do
      {
        wcs_getlanguage "wcs_lng" "wcs_lng_chainlightning"
        wcs_getlanguage "wcs_lng2" "wcs_lng_playersdamaged"
        esnq est_csay server_var(wcs_userid) server_var(wcs_lng) : server_var(wcs_counter) server_var(wcs_lng2)
      }
      es_xelse do
      {
        es_xsetinfo wcs_ultinotexec 1
      }
    }
    es_xelse do
    {
      es_xsetinfo wcs_ultinotexec 1
    }
  }
  wcs_getlanguage "wcs_lng" "wcs_lng_chainfailed"
  es es_xif (server_var(wcs_ultinotexec) = 1) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng)
es es_xif (server_var(wcs_debug) = "1") then echo wcs_ulti_chain end
}





Step 3.  SOUND  
 
This race has its own interesting sounds...
Please add the sound folder to your sound folder:

Code:
Sound/odditydruid/slowbeat.mp3
You will need to make this sound file downloadable there are two ways I can think of to do this.
method 1 (you need mani admin)
and you'll need to put this in downloads in mani-admin-plugin


Code:
"downloads.txt"
{
   // Add any files you wish to have downloaded to a clients system in here
   // The key can be any name you wish.
   // The value must be the location on your server of the file

   "downloads"
   {
      "my_file"   "materials/decals/custom/mani_admin_plugin/mani_logo.vmt"
      "druid"     "sounds/odditydruid/slowbeat.mp3"
   }
}
For those users without mani admin
method 2 eventscript (i know you all have this)
Change your autoexec.cfg file or server.cfg or however you load your server and add...  (this is for method 2 only)


Code:
es_load skins
Create a folder cstrike/addons/eventscripts/skins
Create a text file in this folder called es_skins.txt
Copy paste this into the file....


Code:
block load
{
    // Mark a sound as downloadable.

    downloadable sound/odditydruid/slowbeat.mp3
}
event es_map_start
{
    // We must mark it as downloadable again on map change.
   
    downloadable sound/odditydruid/slowbeat.mp3
}

Posts

Embed

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

Credits

Key Authors
[Oddity]TeacherCreature
Unknown

Submitter

Soldier62994 avatar
Member Joined 10y
532 points Ranked 8436th

Soldier62994
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
3
Views
1,782
Date Added
10y
Date Modified
10y
bcp.crwdcntrl.net tracking pixel