Author
Topic: Deal Extra Damage for a Time Skill (Read 307 times)
« on: September 21, 2010, 03:15:03 AM »
Alright, so I got some good help with the swapping enemy skill. Now, I'm working on trying to get an ultimate that roots you in place for 3 seconds so that you're 'charging'. After 3 seconds, you're unrooted and any knife damage you do is increased by a multiplier. That extra knife damage should only last 10 seconds. Unfortunately, I've kind of hit a brick wall. I designed a few different skills to try and pull it off, but it's to no avail. I can't get the extra damage to work, nor can I figure out a real way to remove the extra damage after a certain duration.
"skill6_setting" "es_xset wcs_multiplier 0.2|es_xset wcs_multiplier 0.4|es_xset wcs_multiplier 0.6|es_xset wcs_multiplier 0.8|es_xset wcs_multiplier 1.0|es_xset wcs_multiplier 1.10|es_xset wcs_multiplier 1.15|es_xset wcs_multiplier 3.00" "skill6_cmd" "es est_freeze server_var(wcs_userid) 1;es_delayed 3 est_freeze server_var(wcs_userid) 0;es_msg #multi #lightgreen[#greenCharge#lightgreen] #defaultSomebody is charging an attack;racealias_raseng1" "racealias_raseng1" "es_xset wcs_dead 0;es playerget isdead wcs_dead event_var(userid);if (server_var(wcs_dead) = 0) then racealias_raseng2" "racealias_raseng2" "es_set wcs_dmg event_var(dmg_health);es_math wcs_dmg float;es_math wcs_dmg * server_var(wcs_multiplier);es est_rounddecimal wcs_dmg server_var(wcs_dmg) 0;es_xif (event_var(weapon) = knife) es wcs_dealdamage event_var(attacker) event_var(userid) server_var(wcs_dmg);racealias_raseng3" "racealias_raseng3" "es_delayed 3 es_msg #multi #lightgreen[#greenCharge#lightgreen] #defaultAttack Ready!;es_delayed 13 es_msg #multi #lightgreen[#greenCharge#lightgreen] #defaultAttack depleted" "skill6_sfx" "0" "ultimate_cooldown" "15" That's the first one.
"skill6_setting" "es_xset wcs_time 3|es_xset wcs_time 4|es_xset wcs_time 5|es_xset wcs_time 6|es_xset wcs_time 7|es_xset wcs_time 8|es_xset wcs_time 9|es_xset wcs_time 10" "skill6_cmd" "es est_freeze server_var(wcs_userid) 1;es_delayed 3 est_freeze server_var(wcs_userid) 0;es_msg #multi #lightgreen[#greenCharge#lightgreen] #defaultSomebody is charging an attack;racealias_raseng1" "racealias_raseng1" "es_xrand wcs_dmg 100 1000;es wcs_dealdamage event_var(attacker) event_var(userid) server_var(wcs_dmg);racealias_raseng2" "racealias_raseng2" "es_delayed server_var(wcs_time) es_xrand wcs_damage 0 0;racealias_raseng3" "racealias_raseng3" "es_delayed 3 es_msg #multi #lightgreen[#greenCharge#lightgreen] #defaultAttack Ready!;es_msg #multi #lightgreen[#greenCharge#lightgreen] #defaultAttack depleted" "skill6_sfx" "0" That's the second. So far, no such luck. Any tips?
« Reply #1 on: September 21, 2010, 09:31:40 AM »
Use the WCX command dealpoison for damage over time.
« Reply #2 on: September 21, 2010, 09:51:29 AM »
He doenst want damage over time i think. what he wants is: Be frozen for x seconds After x seconds unfreeze and only knife Knife extra damage for y seconds. Should be possible, ill have a look at it 
« Reply #3 on: September 21, 2010, 09:49:43 PM »
Yeah, it's for a knife only race. Frozen for x seconds, unfrozen after x seconds. Get damage for y seconds.
I tried to set the wcs_dmg to be high, and then delayed it so that it's set back to 0 after y seconds, but it didn't work out.
« Reply #4 on: September 24, 2010, 09:03:39 AM »
So, slight update, I tried setting a cooldown for the ultimate besides the actual ultimate cooldown, so that if that cooldown was set to 0, it would link to extra damage, but that cooldown would be set to 1 after 13 seconds. Didn't really work... All the message prompts work fine, and the freeze and everything works good, but it doesn't do the extra damage. Anybody think they know I'd be able to get this cracking?
« Reply #5 on: October 18, 2010, 04:47:16 AM »
Hit a brick wall on this a while back, so I kinda gave up on it for now. But, if anybody else can think of a way to set that up, drop me a hint.
« Reply #6 on: October 18, 2010, 06:52:23 AM »
If you really want, I can make something in sourcemod to do that, then you would call it in your code, similar to how a block works ;p
« Reply #7 on: October 18, 2010, 10:04:22 AM »
« Reply #8 on: October 18, 2010, 06:50:06 PM »
Logged
~The Sig Changes Each Time~ ~The Sigs Them Selfs Are By Hybrid Click The Sigs To See His Other Sigs~
« Reply #9 on: October 18, 2010, 11:23:13 PM »
Instead of saying: Very Easy You guys could help  It won't help as well. Here you are: Skill: "skill6_setting" "es_xset wcs_charge_time X;es_xset wcs_skill_duration X;es_xset wcs_amultiplier X|es_xset wcs_charge_time X;es_xset wcs_skill_duration X;es_xset wcs_amultiplier X|es_xset wcs_charge_time X;es_xset wcs_skill_duration X;es_xset wcs_amultiplier X|es_xset wcs_charge_time X;es_xset wcs_skill_duration X;es_xset wcs_amultiplier X" "skill6_cmd" "es_xdoblock yourscript/charging" "skill6_sfx" "0" "ultimate_cooldown" "15"Blocks: block charging { es est_freeze server_var(wcs_userid) 1 es_tell server_var(wcs_userid) You're charging bllalblalblalblala.... es_delayed server_var(wcs_charge_time) est_freeze server_var(wcs_userid) 0 es_delayed server_var(wcs_charge_time) es_xtell server_var(wcs_userid) You've charged blalblsllsslblbflsblsfbçslehUIOHRUuhudahduwdhauidWHd... es_keysetvalue WCSuserdata server_var(wcs_userid) attack 1 es_delayed server_var(wcs_skill_duration) es_xkeysetvalue WCSuserdata server_var(wcs_userid) attack 0 }
event player_hurt { if (event_var(weapon) == "weapon_knife") do { es_xset wcs_retrieve_value 0 es_keygetvalue wcs_retrieve_value WCSuserdata event_var(attacker) attack if (server_var(wcs_retrieve_value) == 1) do { if (event_var(es_attackerteam) != event_var(es_userteam)) do { es_set wcs_dmg event_var(dmg_health) es_xmath wcs_dmg float es_math wcs_dmg * server_var(wcs_amultiplier) es est_rounddecimal wcs_dmg server_var(wcs_dmg) 0 es wcs_dealdamage event_var(attacker) event_var(userid) server_var(wcs_dmg) es_tell event_var(attacker) You made server_var(wcs_dmg) damage ¬¬' es_tell event_var(userid) You ve been raped by event_var(es_attackername) xD } } } }Installing instructions: Make an new folder on eventscripts folder called whatever you want, then inside put an text document with the same name of your folder, with an es_ prefix in front of it, then put the blocks there, and add es_load scriptname to your autoexec.cfg. Don't forget to change the script name on es_xdoblock on your skill 
« Reply #10 on: October 19, 2010, 02:11:17 AM »
Blocks:
event player_hurt es_set wcs_dmg event_var(dmg_health) es_xmath wcs_dmg float es_math wcs_dmg * server_var(wcs_amultiplier) es est_rounddecimal wcs_dmg server_var(wcs_dmg) 0 es_set wcs_dmg event_var(dmg_health) es_xmathparse wcs_dmg "rint(wcs_dmg*wcs_amultiplier)"
Logged
I watch porn for the music.
« Reply #11 on: October 25, 2010, 06:57:09 AM »
Thanks for the help, Avast and Yiyas. It works perfectly fine, and I was able to use that same method for another race that I made. 
« Reply #12 on: October 29, 2010, 09:11:28 PM »
You're welcome 
|