| This topic has not yet been rated!
|
You have not rated this topic. Select a rating:
|
|
Author |
Topic: Tracking skill (Read 100 times)
|
bretalemeau
Level 1 Trained Beginner
Offline
 United States
Posts: 29
|
 |
« on: September 07, 2009, 05:33:33 PM » |
|
I'm trying to make a skill that creates an effect under the feet of all your enemies within a certain range, so that you can track them from underground.As of now I'm unsure how to go about making it and all attempts have failed. Any help/suggestions would be nice. Thanks!
|
|
|
|
« Last Edit: September 07, 2009, 05:35:16 PM by bretalemeau »
|
Logged
|
|
|
|
Gen.GenitalZ
Level 1 Trained Beginner
Offline
 United States
Posts: 20
|
 |
« Reply #1 on: September 08, 2009, 05:00:15 AM » |
|
Ive edited Necrolytes Aura Damage Skill, (Credit Still Goes To H&S Project, For The Base Of The Skill) But I Edited Quite A Bit. Edits Include: Different effect. [Instead of an combine sphere, Its A Bright Muzzle Flash] [Whitch Is A Good Canidate To See Through Walls] Faster Proc Time (.2 secs). [That Means Youll See The Muzzle Flash 5 Times A Second.] [This May Be A Bit Spammy, You Can Edit It To Your Prefference] [Just Search For The "es_xdelayed 0.2"]No Damage is dealt. [This is purly the traking skill you asked for] [Activated on spawn] [Proced WhenAn Enemy Gets With Range (wcs_tmp3)]Also Different Tell Commands [You Should be Able To See Exaclty Who Your Are Tracking] [And Your EnemyIs Told That They Are Beind Tracked.]With this skill you shout be able to see people who are near you, through walls by a little muzzle flash type icon. GeSHi (eventscripts): "skill_cfg" "player_spawn" "skill1_setting" "es_xsetinfo wcs_tmp3 300|es_xsetinfo wcs_tmp3 340|es_xsetinfo wcs_tmp3 380|es_xsetinfo wcs_tmp3 410|es_xsetinfo wcs_tmp3 435" "racealias_track2" "es_getplayerprop wcs_dead server_var(wcs_tmp2) CCSPlayer.baseclass.pl.deadflag;if (server_var(wcs_dead) = 0) then racealias_track3" "racealias_track3" "es_getplayerteam wcs_team server_var(wcs_tmp2);if (server_var(wcs_team) = 2) then es_xsetinfo wcs_team #c!d;if (server_var(wcs_team) = 3) then es_xsetinfo wcs_team #t!d;es est_Near wcs_targetid server_var(wcs_team) server_var(wcs_tmp3) server_var(wcs_tmp2) racealias_track4;racealias_track1" "racealias_track4" "es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_targetid);es_xmath wcs_z1 + 50;es est_effect 11 #a 0 sprites/ar2_muzzle4b.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) 0.7 0.5 255;es est_effect 11 #a 0 sprites/physring1.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) 0.4 0.4 255;es_getplayername wcs_name server_var(wcs_targetid);es_getplayername wcs_name2 server_var(wcs_tmp2);es_tell server_var(wcs_targetid) #multi #lightgreenYou Are Being #greenTracked #lightgreenBy #default server_var(wcs_name2).;es_tell server_var(wcs_tmp2) #multi #lightgreenYou Are #greenTracking #default server_var(wcs_name)." "racealias_track1" "es_keygetvalue wcs_round WCSuserdata server_var(wcs_tmp2) aura_round;if (server_var(wcs_roundcounter) = server_var(wcs_round)) then es_xdelayed 0.2 wcs_dalias racealias_track2 server_var(wcs_tmp2) server_var(wcs_tmp3)" "skill1_cmd" "es_xsetinfo wcs_name2 0;es_xsetinfo wcs_round 0;es_keysetvalue WCSUserdata event_var(userid) aura_round server_var(wcs_roundcounter);es_setinfo wcs_tmp2 event_var(userid);racealias_track1" "skill1_sfx" "0"
"es_xsetinfo wcs_tmp3" Set to your prefference of distance.
|
|
|
|
« Last Edit: September 08, 2009, 05:04:05 AM by Gen.GenitalZ »
|
Logged
|
|
|
|
bretalemeau
Level 1 Trained Beginner
Offline
 United States
Posts: 29
|
 |
« Reply #2 on: September 08, 2009, 05:40:18 AM » |
|
Hmmmm, your script doesn't seem to be working. I put it in, but got no message and no effect was drawn on the enemy.
|
|
|
|
|
Logged
|
|
|
|
|
Yiyas
|
 |
« Reply #3 on: September 08, 2009, 06:14:22 AM » |
|
Only problem with that skill is the effect is viewable by all. I doubt you have "wcs_dalias" installed/loaded bretalmeau which is why it isn't working.
A proper way to do this would be in a block which is a slightly more advanced level of ESS than what you're used to. I can code it up for you if you wish and provide some stalwart instuctions but I'll not have it done until maybe 18-24 hours after this post as I have other things to do.
Blocks can be quite off putting if you're just starting out but can be quite intruiging too, up to you.
I'm curious as to how you are testing the codes, are you doing it on "Source Dedicated Server" or "create a lan game"?
|
|
|
|
|
Logged
|
|
|
|
|
|
bretalemeau
Level 1 Trained Beginner
Offline
 United States
Posts: 29
|
 |
« Reply #5 on: September 09, 2009, 01:57:06 AM » |
|
@Yiyas:Is the block coding you would be doing the same as the block Gen. posted? I want to make this type of skill w/o adding to the ultimates file. If your way doesn't need anything added to the ultimates file, do you think you could write out an explanation for the block you make? I'd really appreciate it (Oh, and no rush if you decide to explain it, I'm in no hurry. Oh, and I've been testing on a dedicated server with bots.
EDIT: Actually, I think I'm going to try and code this skill myself now, I'm pretty sure i can get it semi-working myself with est_near (now that i found this command), but will need help with the bugs/stupid errors that are bound to occur.
|
|
|
|
« Last Edit: September 09, 2009, 03:41:53 AM by bretalemeau »
|
Logged
|
|
|
|
Gen.GenitalZ
Level 1 Trained Beginner
Offline
 United States
Posts: 20
|
 |
« Reply #6 on: September 09, 2009, 04:17:09 PM » |
|
@Yiyas:Is the block coding you would be doing the same as the block Gen. posted? I want to make this type of skill w/o adding to the ultimates file. If your way doesn't need anything added to the ultimates file, do you think you could write out an explanation for the block you make? I'd really appreciate it (Oh, and no rush if you decide to explain it, I'm in no hurry. Oh, and I've been testing on a dedicated server with bots.
EDIT: Actually, I think I'm going to try and code this skill myself now, I'm pretty sure i can get it semi-working myself with est_near (now that i found this command), but will need help with the bugs/stupid errors that are bound to occur.
Though youve just found the est_near command it will only work the once. the wcs_dalias block is a great block to have, because it repeats the block, without losing any saved information. where as if you were to use est_near on a spawn command, it would just activate that one time at spawn. seeing as both teams are spawning. it probably wont hit anybody. The good thing about adding to the wcs_ultimates file,is if it doesnt work you can always delete what u added, I dont know of a way of doing this without the ultimate block.
|
|
|
|
|
Logged
|
|
|
|
bretalemeau
Level 1 Trained Beginner
Offline
 United States
Posts: 29
|
 |
« Reply #7 on: September 10, 2009, 01:35:29 AM » |
|
Hmm, well I should be able to repeat the est_near command if I have something like:
racealias_b1: if player alive racealias_b2 racealias_b2:est_near blah blah blah;es_delayed .5;racealias_b1
I've used a repeating thing like this in a healing skill, and it works like a charmEDIT: Ok so I have gotten the skill working, but in the console of my dedicated server, "Did not find a player matching #t!d" is being spammed, but i don't know why, seeing as the skill is working. Any Ideas? GeSHi (eventscripts): "skill2_setting" "es_xset wcs_range 200|es_xset wcs_range 400|es_xset wcs_range 600|es_xset wcs_range 800|es_xset wcs_range 1000" "racealias_r1" "es_xsetinfo wcs_group #c!d;racealias_r3" "racealias_r2" "es_xsetinfo wcs_group #t!d;racealias_r3" "racealias_r3" "if (server_var(wcs_dead) = 0) then est_near wcs_tracked server_var(wcs_group) server_var(wcs_range) event_var(userid) racealias_r4;es_delayed .5 racealias_r3" "racealias_r4" "es es_xgetplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_tracked);es_xmath wcs_z1 - 30;es est_effect 10 #a 0 sprites/blood.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) 40 90 0.5 50 30 0 255 0 0 210 1" "skill2_cmd" "es_xset wcs_tracked 0;if (server_var(wcs_team) = 2) then racealias_r1;if (server_var(wcs_team) = 3) then racealias_r2" "skill2_sfx" "0"
|
|
|
|
« Last Edit: September 10, 2009, 04:51:09 AM by bretalemeau »
|
Logged
|
|
|
|
|
Yiyas
|
 |
« Reply #8 on: September 10, 2009, 08:16:40 AM » |
|
If it can't find players its probably because you haven't got anyone to target. Do "bot_add" in SDS console to add bots. Do "sv_cheats1;bot_dont_shoot 1" so they dont shoot you or "sv_cheats 1;bot_zombie 1" so they dont move from spawn.
Unfortunately what you did won't work. The variables will be overwritten too easily. Someone can use entangling roots and boom! The radius is set to 600. A cheap way which I think you could do it is by doing "es_delayed 0.5 es_set variable server_var(variable)" for each of your variables. Although this is an extremely offhand way of doing it and could result in slowing things down a lot, to which I reccomend going the ultimates file and block path, I'll show you an example:
The first alias, is to set all the commands beforehand: "racealias_trackgo" "es_set user event_var(userid);<< important;es_set round server_var(wcs_roundcounter);<<EXTREMELY important;set range set group 0 set dead 0 ect;get team;racealias_trackingloop1"
then goes onto loop 1, which checks if you are alive, and the round is still the same. Make sure any event_var(userid) is put to server_Var(user) from here on in. "racealias_trackingloop1" "get alive of server_var(user);if alive = 1 then if round = wcs_roundcounter then racealias_trackingloop2"
then onto your est_near, and the repetition of the racealiases "racealias_trackingloop2" "est_near of server_var(user) bla bla racealias_tracking;racealias_trackingloopreset" "racealias_tracking" "getplayerloc;est effect 10 server_var(user) 0 yada yada"
by resetting all the variables at the delayed time the racealias has the correct variables to use when it reruns. "racealias_trackingloopreset" "es_delayed 0.5 es_set user server_var(user);es_delayed 0.5 es_set group server_var(group);es_delayed 0.5 es_set range server_var(range);es_delayed 0.5 set group group;es_delayed 0.5 set round round;es_delayed 0.5 racealias_trackingloop1"
Technically that should work flawlessly, although somewhat slowly. If you do it up properly I'll have another look at it to see if there are any mistakes.
|
|
|
|
|
Logged
|
|
|
|
bretalemeau
Level 1 Trained Beginner
Offline
 United States
Posts: 29
|
 |
« Reply #9 on: September 11, 2009, 02:22:49 AM » |
|
Hmmm ok...where did i go wrong now? racealias_loop2 isnt running racealias_tracking GeSHi (eventscripts): "skill2_setting" "es_xset wcs_range 200|es_xset wcs_range 400|es_xset wcs_range 600|es_xset wcs_range 800|es_xset wcs_range 1000" "racealias_trackgo" "es_set wcs_user event_var(userid);es_set wcs_round server_var(wcs_roundcounter);es_set wcs_distance server_var(wcs_range);if (server_var(wcs_team) = 3) then es_set wcs_team #t!d;if (server_var(wcs_team) = 2) then es_set wcs_team #c!d;racealias_loop1" "racealias_loop1" "es_get wcs_dead server_var(wcs_user);if (server_var(wcs_dead) = 0) then if (server_var(wcs_round) = server_var(wcs_roundcounter)) then racealias_loop2" "racealias_loop2" "est_near wcs_tracked server_var(wcs_team) server_var(wcs_distance) server_var(wcs_user) racealias_tracking;racealias_reset" "racealias_tracking""es es_xgetplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_tracked);es_xmath wcs_z1 - 40;es est_effect 10 #a 0 sprites/blood.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) 40 90 0.5 50 30 0 255 0 0 210 1" "racealias_reset" "es_delayed 0.5 es_set wcs_user server_var(wcs_userid);es_delayed 0.5 if (server_var(wcs_team) = 3) then es_set wcs_team #t!d;es_delayed 0.5 if (server_var(wcs_team) = 2) then es_set wcs_team #c!d;es_delayed 0.5 es_set wcs_distance server_var(wcs_range);es_delayed 0.5 set wcs_round server_var(wcs_roundcounter);es_delayed 0.5 racealias_loop1" "skill2_cmd" "racealias_trackgo" "skill2_sfx" "0"
|
|
|
|
« Last Edit: September 11, 2009, 02:24:42 AM by bretalemeau »
|
Logged
|
|
|
|
|
Yiyas
|
 |
« Reply #10 on: September 11, 2009, 07:04:15 PM » |
|
This works fine for me: Notice it's a 10 levels skill, skill#4 now... Only massive change is the effect shows up only to the user. GeSHi (eventscripts): "preloadcmd" "es_xset wcs_tracked 0;es_xset wcs_user 0;es_xset wcs_round 0;es_xset wcs_distance 0;es_xset wcs_team 0" "skill4_setting" "es_xset wcs_range 100|es_xset wcs_range 200|es_xset wcs_range 300|es_xset wcs_range 400|es_xset wcs_range 500|es_xset wcs_range 600|es_xset wcs_range 700|es_xset wcs_range 800|es_xset wcs_range 900|es_xset wcs_range 1000" "racealias_loop1" "es est_isalive wcs_dead server_var(wcs_user);if (server_var(wcs_dead) = 1) then if (server_var(wcs_round) = server_var(wcs_roundcounter)) then racealias_loop2" "racealias_loop2" "es est_near wcs_tracked server_var(wcs_team) server_var(wcs_distance) server_var(wcs_user) racealias_tracking;racealias_reset" "racealias_tracking""es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_tracked);es_xmath wcs_z1 + 40;es est_effect 10 server_var(user) 0 sprites/blood.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) 40 90 0.5 50 30 0 255 0 0 210 1" "racealias_reset" "es_delayed 0.5 es_set wcs_user server_var(wcs_user);es_delayed 0.5 es_set wcs_team server_var(wcs_team);es_delayed 0.5 es_set wcs_distance server_var(wcs_distance);es_delayed 0.5 es_set wcs_round server_var(wcs_round);es_delayed 0.5 racealias_loop1" "skill4_cmd" "es_set wcs_user event_var(userid);es_set wcs_round server_var(wcs_roundcounter);es_set wcs_distance server_var(wcs_range);es est_getteam wcs_team server_var(user);if (server_var(wcs_team) = 3) then es_set wcs_team #t!d;if (server_var(wcs_team) = 2) then es_set wcs_team #c!d;racealias_loop1" "skill4_sfx" "0"
|
|
|
|
« Last Edit: September 11, 2009, 07:09:43 PM by Yiyas »
|
Logged
|
|
|
|
bretalemeau
Level 1 Trained Beginner
Offline
 United States
Posts: 29
|
 |
« Reply #11 on: September 11, 2009, 11:45:20 PM » |
|
So it worked for you? It's not drawing the effect, and it is spamming "Did not find a player matching 0" in sds console for me... (I inserted the preload cmd and this is the harldy edited code..) GeSHi (eventscripts): "skill2_setting" "es_xset wcs_range 200|es_xset wcs_range 400|es_xset wcs_range 600|es_xset wcs_range 800|es_xset wcs_range 1000" "racealias_loop1" "es est_isalive wcs_dead server_var(wcs_user);if (server_var(wcs_dead) = 1) then if (server_var(wcs_round) = server_var(wcs_roundcounter)) then racealias_loop2" "racealias_loop2" "es est_near wcs_tracked server_var(wcs_team) server_var(wcs_distance) server_var(wcs_user) racealias_tracking;racealias_reset" "racealias_tracking""es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_tracked);es_xmath wcs_z1 + 40;es est_effect 10 server_var(user) 0 sprites/blood.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) 40 90 0.5 50 30 0 255 0 0 210 1" "racealias_reset" "es_delayed 0.5 es_set wcs_user server_var(wcs_user);es_delayed 0.5 es_set wcs_team server_var(wcs_team);es_delayed 0.5 es_set wcs_distance server_var(wcs_distance);es_delayed 0.5 es_set wcs_round server_var(wcs_round);es_delayed 0.5 racealias_loop1" "skill2_cmd" "es_set wcs_user event_var(userid);es_set wcs_round server_var(wcs_roundcounter);es_set wcs_distance server_var(wcs_range);es est_getteam wcs_team server_var(user);if (server_var(wcs_team) = 3) then es_set wcs_team #t!d;if (server_var(wcs_team) = 2) then es_set wcs_team #c!d;racealias_loop1" "skill2_sfx" "0"
|
|
|
|
|
Logged
|
|
|
|
|
Yiyas
|
 |
« Reply #12 on: September 12, 2009, 01:18:53 AM » |
|
Did you replace the preload_cmd line in the race with the one i provided?
|
|
|
|
|
Logged
|
|
|
|
bretalemeau
Level 1 Trained Beginner
Offline
 United States
Posts: 29
|
 |
« Reply #13 on: September 12, 2009, 01:23:35 AM » |
|
yes i did... So in skill2_cmd: es est_getteam wcs_team server_var(user) ---> server_var(wcs_user) but it wouldn't show me the effect so i changed it to #a (which got rid of the spamming of "Did not find a player matching 0" that was occuring in sds console)
There is a bug however, where the effect will start to be created on me and not the enemy
|
|
|
|
« Last Edit: September 12, 2009, 02:55:07 AM by bretalemeau »
|
Logged
|
|
|
|
|
Yiyas
|
 |
« Reply #14 on: September 12, 2009, 06:14:23 AM » |
|
Yeah I thought in effects you could choose it to yourself (not my strong point)
It should always target the right guy, did you say you removed:
"es est_getteam wcs_team server_var(user);if (server_var(wcs_team) = 3) then es_set wcs_team #t!d;if (server_var(wcs_team) = 2) then es_set wcs_team #c!d"
Cause thats where it selects who to aim for.
|
|
|
|
|
Logged
|
|
|
|
|
|
|