• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

Skills

Status
Not open for further replies.

xplicitjohn

X

xplicitjohn

Hey making a Modern Warfare map

i need to create a skill that gives you accuracy if you learn it on your hero and also a Grenade skill?
 
Level 33
Joined
Mar 27, 2008
Messages
8,035
By means of Accuracy is... ?
A certain % chance to critical hit ?

Would you want an instant-grenade skill or timed-grenade skill ?
Would you want the knockback effect on the damaged unit ?

Answer this and I'll try to cook you up some spells ;D
 

xplicitjohn

X

xplicitjohn

Grenade skill will be like a missile from the casting unit to AoE. It will be probably timed.

If you played A Modern Warfare map youll see a skill called
" Increase Accuracy "
Which gives the hero more accuracy if you learn the skill.
 
Level 33
Joined
Mar 27, 2008
Messages
8,035
If you played A Modern Warfare map youll see a skill called

WHICH I didn't played it, thank you =.=''
I know WHAT is the meaning of accuracy, but in Warcraft III Gaming, accuracy can only be related with % upon critical hit (strike) OR % to hit the enemy increase (although the enemy has Evasion-type skill)

Anyway, this is your grenade skill, enjoy ^_^
 

Attachments

  • Test.w3x
    15 KB · Views: 52

xplicitjohn

X

xplicitjohn

WHICH I didn't played it, thank you =.=''
I know WHAT is the meaning of accuracy, but in Warcraft III Gaming, accuracy can only be related with % upon critical hit (strike) OR % to hit the enemy increase (although the enemy has Evasion-type skill)

Anyway, this is your grenade skill, enjoy ^_^

probably % to hit the enemy increase then
 
Level 33
Joined
Mar 27, 2008
Messages
8,035
Have you tested grenade skill ?
Is it okay or you need something to change ?
Just tell me

For the Accuracy, I don't even have idea on HOW to trigger it
Do you want it like: Enemy's Evasion % - Accuracy = % to hit ?
Let's say the enemy has 25% Evasion, the NORMAL value for a unit to hit is 100% (without negative buffs / etc)
So, your Accuracy will be 75% (since Normal Value - Evasion = 75)
But, when your Accuracy is 10%, it will be like: (Normal Value(100) - Evasion(25)) + Accuracy(10) = Chance to hit target(85) ???

Scenario example:
Enemy - 20% Evasion
Unit (our unit) - 5% Accuracy

So, the % of chance to hit is (100% - 20%) + 5% = 85% chance to hit the target, correct ?
I, myself, confused what I had typed @.@
 

xplicitjohn

X

xplicitjohn

Have you tested grenade skill ?
Is it okay or you need something to change ?
Just tell me

For the Accuracy, I don't even have idea on HOW to trigger it
Do you want it like: Enemy's Evasion % - Accuracy = % to hit ?
Let's say the enemy has 25% Evasion, the NORMAL value for a unit to hit is 100% (without negative buffs / etc)
So, your Accuracy will be 75% (since Normal Value - Evasion = 75)
But, when your Accuracy is 10%, it will be like: (Normal Value(100) - Evasion(25)) + Accuracy(10) = Chance to hit target(85) ???

Scenario example:
Enemy - 20% Evasion
Unit (our unit) - 5% Accuracy


So, the % of chance to hit is (100% - 20%) + 5% = 85% chance to hit the target, correct ?
I, myself, confused what I had typed @.@

I actually get it... Mhmm... Yeh thats correct. Thats the skill i wanted

And tyvm for Grenade Skill it works 100% i credited you for the skill. Just had to change the dmg to 300 and im done :)
 
Level 11
Joined
Sep 12, 2008
Messages
657
and this is VERY odd,
since im not sure you can reduce evasion,
but you can make the whole evasion spell scripted,
then do some stuff, in a hashtable, get the key,
if key is true, run the code again, and check for another %, just lower.
if key is false, increase damage, and thats it.
 

xplicitjohn

X

xplicitjohn

Indexing or Hashtable will produce the best result ?

DW About the Accuracy LOL

I need to find a skill that damages unit over time :

So a Creep attacks a Hero (Us) . The hero will get infected with a skill and the skill will dmg the hero 5dmg/sec.
 

xplicitjohn

X

xplicitjohn

Why don't you just use Plague Cloud ability ?
When a creep comes in contact of a nearby Hero / unit, it instantly effected by the Plague Cloud
Plague ability can be found from Abomination's default ability, Plague Cloud

I dont want contact of a nearby hero/unit....... I want the effect to happen when attacked.
 

xplicitjohn

X

xplicitjohn

Hey, why don't you just use default ability, the "Slow Poison" and edit the fields a bit ?


Alrights! Ty it works perfectly. Just wondering can you fix me this skill?

It bugs when 2 players use the skill @ the same time.

  • Create MedKit
    • Events
      • Unit - A unit Begins channeling an ability
    • Conditions
      • (Ability being cast) Equal to Create MedicKit
    • Actions
      • Set TempPoint = (Position of (Casting unit))
      • Unit - Pause (Casting unit)
      • Wait 1.00 seconds
      • Floating Text - Create floating text that reads 15 at TempPoint with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Floating Text - Change (Last created floating text): Enable permanence
      • Floating Text - Show (Last created floating text) for (All players)
      • Wait 1.00 seconds
      • Floating Text - Destroy (Last created floating text)
      • Floating Text - Create floating text that reads 14 at TempPoint with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Floating Text - Change (Last created floating text): Enable permanence
      • Floating Text - Show (Last created floating text) for (All players)
      • Wait 1.00 seconds
      • Floating Text - Destroy (Last created floating text)
      • Floating Text - Create floating text that reads 13 at TempPoint with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Floating Text - Change (Last created floating text): Enable permanence
      • Floating Text - Show (Last created floating text) for (All players)
      • Wait 1.00 seconds
      • Floating Text - Destroy (Last created floating text)
      • Floating Text - Create floating text that reads 12 at TempPoint with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Floating Text - Change (Last created floating text): Enable permanence
      • Floating Text - Show (Last created floating text) for (All players)
      • Wait 1.00 seconds
      • Floating Text - Destroy (Last created floating text)
      • Floating Text - Create floating text that reads 11 at TempPoint with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Floating Text - Change (Last created floating text): Enable permanence
      • Floating Text - Show (Last created floating text) for (All players)
      • Wait 1.00 seconds
      • Floating Text - Destroy (Last created floating text)
      • Floating Text - Create floating text that reads 10 at TempPoint with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Floating Text - Change (Last created floating text): Enable permanence
      • Floating Text - Show (Last created floating text) for (All players)
      • Wait 1.00 seconds
      • Floating Text - Destroy (Last created floating text)
      • Floating Text - Create floating text that reads 9 at TempPoint with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Floating Text - Change (Last created floating text): Enable permanence
      • Floating Text - Show (Last created floating text) for (All players)
      • Wait 1.00 seconds
      • Floating Text - Destroy (Last created floating text)
      • Floating Text - Create floating text that reads 8 at TempPoint with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Floating Text - Change (Last created floating text): Enable permanence
      • Floating Text - Show (Last created floating text) for (All players)
      • Wait 1.00 seconds
      • Floating Text - Destroy (Last created floating text)
      • Floating Text - Create floating text that reads 7 at TempPoint with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Floating Text - Change (Last created floating text): Enable permanence
      • Floating Text - Show (Last created floating text) for (All players)
      • Wait 1.00 seconds
      • Floating Text - Destroy (Last created floating text)
      • Floating Text - Create floating text that reads 6 at TempPoint with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Floating Text - Change (Last created floating text): Enable permanence
      • Floating Text - Show (Last created floating text) for (All players)
      • Wait 1.00 seconds
      • Floating Text - Destroy (Last created floating text)
      • Floating Text - Create floating text that reads 5 at TempPoint with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Floating Text - Change (Last created floating text): Enable permanence
      • Floating Text - Show (Last created floating text) for (All players)
      • Wait 1.00 seconds
      • Floating Text - Destroy (Last created floating text)
      • Floating Text - Create floating text that reads 4 at TempPoint with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Floating Text - Change (Last created floating text): Enable permanence
      • Floating Text - Show (Last created floating text) for (All players)
      • Wait 1.00 seconds
      • Floating Text - Destroy (Last created floating text)
      • Floating Text - Create floating text that reads 3 at TempPoint with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Floating Text - Change (Last created floating text): Enable permanence
      • Floating Text - Show (Last created floating text) for (All players)
      • Wait 1.00 seconds
      • Floating Text - Destroy (Last created floating text)
      • Floating Text - Create floating text that reads 2 at TempPoint with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Floating Text - Change (Last created floating text): Enable permanence
      • Floating Text - Show (Last created floating text) for (All players)
      • Wait 1.00 seconds
      • Floating Text - Destroy (Last created floating text)
      • Floating Text - Create floating text that reads 1 at TempPoint with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
      • Floating Text - Change (Last created floating text): Enable permanence
      • Floating Text - Show (Last created floating text) for (All players)
      • Wait 1.00 seconds
      • Floating Text - Destroy (Last created floating text)
      • Unit - Unpause (Casting unit)
      • Hero - Add 50 experience to (Triggering unit), Show level-up graphics
      • Hero - Create MedKit and give it to (Triggering unit)
 
Level 33
Joined
Mar 27, 2008
Messages
8,035
That is because the spell/trigger is non-MUI
MUI means Multi-Unit Instanceable
Meaning, if the spell/trigger is non-MUI, only 1 player can cast the spell at one time
This problem can be avoided by replacing Waits action with something else; either Indexing/Hashtabling OR Timer
I can help you, but first, I'm gonna need a full description of the spell
Also, your Event is wrong

Use these following actions instead:

  • Unit - A unit Starts the effect of an ability
  • Set TempPoint = (Position of (Triggering unit))
It is more efficient

Also, you did not clean the leaks:

  • Custom script: call RemoveLocation(udg_TempPoint)
The leak was Point-type
 

xplicitjohn

X

xplicitjohn

That is because the spell/trigger is non-MUI
MUI means Multi-Unit Instanceable
Meaning, if the spell/trigger is non-MUI, only 1 player can cast the spell at one time
This problem can be avoided by replacing Waits action with something else; either Indexing/Hashtabling OR Timer
I can help you, but first, I'm gonna need a full description of the spell
Also, your Event is wrong

Use these following actions instead:

  • Unit - A unit Starts the effect of an ability
  • Set TempPoint = (Position of (Triggering unit))
It is more efficient

Also, you did not clean the leaks:

  • Custom script: call RemoveLocation(udg_TempPoint)
The leak was Point-type

The skill is a Medic-class. The skill is called " Create MedicKit ". The caster will be paused and a 15sec countdown (floating text) will be shown.

After 15sec. The caster will be unpaused and a medickit will be created with +50exp will be given to the caster.
 

xplicitjohn

X

xplicitjohn

I've uploaded a test map
If you've any question regarding the test map, feel free to ask ;D

WOW the trigger is 2x better. I just tested with 3 other marines and the floating text only appears on 1 Marine only.
 

xplicitjohn

X

xplicitjohn

Other than floating text, is the spell okay ?
I meant, did other Marines paused at the same time, and get MedKit + 50 EXP at the same time ?


Nop the other marines still got paused.
 

xplicitjohn

X

xplicitjohn

Use a Hashtable
I've uploaded a second test map, edited version
Credits to Pharaoh_

When i test map i get an error,
Line 451: Type mismatch in assingment

Line 451: set udg_Duration = 15.00

Edit : NVM FIXED TY!
 
Level 3
Joined
Dec 9, 2009
Messages
35
For accuracy system you can use Curse ability and make it have 100 lvls. Make it like 1lvl - 1%, 2lvl - 2%.... Then every second create dummy unit and set level of curse ability to (100 - accuracy). So if you want to set unit accuracy to 35% then create dummy unit, set level of ability to 65 and cast it on your unit. Problem with this system is becouse it can lag and you will have buff on units all the time.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,202
PB_L, No need to rebuff units unless they undergo some change.

The buff is meant to be permant so should have a duration of 0 (infinite).
If the buff is dispelled (somehow) then you need to rebuff. If their accuracy changes you need to rebuff. If they are freshly revived / spawned you need to buff them.

If they are already buffed to the required level, there is no need to rebuff them. Thus the system described has no perodic loading on the map.
 
Level 3
Joined
Dec 9, 2009
Messages
35
Yes, then i should create hashtable and store 2 integers values. First integer shows what is level of your current buff on you and second show what it should be, ex. if someone cast some spell on you it will increases your accuracy by 5%. Then every second if First integer not equal to Second then rebuff and then set First integer to value of Second.
 
Status
Not open for further replies.
Top