Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Regarding changing stats.


Fretless
 Share

Recommended Posts

I am trying to make attack speed become a more variably different stat. I want to make agility increase attack speed by 1 for each point in AGI. Yet whenever I modify the 

> ' attack speed from weapon
>         If GetPlayerEquipment(attacker, Weapon) > 0 Then
>             AttackSpeed = Item(GetPlayerEquipment(attacker, Weapon)).Speed
>         Else
>             AttackSpeed = 1000
>         End If

Statement I never see a difference in the output. I've tried subtracting stuff like (GetPlayerStat(attacker, Stats.Agility)) which had no effect. I have also tried setting the weaponless attackspeed to 1\. which again made no change. I am doing this all in vb6 btw.
Link to comment
Share on other sites

@shonist:

> Da faq?
>
> If you edit the Weapon with 5 of speed… doesnt change?? still atacking at 1 sec? (1000 ms)

No the wep will only go by the base attack speed of the item itself. I am trying to get the agility statistic to play a role in speed, and no change I have made seems to have any effect.
Link to comment
Share on other sites

@shonist:

> Da faq?
>
> If you edit the Weapon with 5 of speed… doesnt change?? still atacking at 1 sec? (1000 ms)

Obviously not.

On topic!

have you tried a stat subtraction of the speed?

like

```
' attack speed from weapon
        If GetPlayerEquipment(attacker, Weapon) > 0 Then
            AttackSpeed = Item(GetPlayerEquipment(attacker, Weapon)).Speed - ((Player(attacker).Stat(stats.Agility) / 2) * .1)
        Else
            AttackSpeed = 1000 - ((Player(attacker).Stat(stats.Agility) / 2) * .1)
        End If
```
This way it will subtract from the speed based on the Agi stat, but in a fair way too. It will take off a 10th of a second for every 2 agility. I can change this if you want.

Now I would recommend having a MAXIMUM amount that can be sub subtracted from the base speed too. So you prevent attacks that are TOO quick, or error when they get into the negative numbers.

Something like:
```
' attack speed from weapon
        If GetPlayerEquipment(attacker, Weapon) > 0 Then
            AttackSpeed = Item(GetPlayerEquipment(attacker, Weapon)).Speed - ((Player(attacker).Stat(stats.Agility) / 2) * .1)
            If AttackSpeed < Item(GetPlayerEquipment(attacker, Weapon)).Speed - 2 then
                AttaAttackSpeed = Item(GetPlayerEquipment(attacker, Weapon)).Speed - 2
            End If
            If AttackSpeed < 0 then
                AttaAttackSpeed = .1
            End If
        Else
            AttackSpeed = 1000 - ((Player(attacker).Stat(stats.Agility) / 2) * .1)
            If AttackSpeed < .5 then
                AttaAttackSpeed = .5
            End If
        End If
```
This will make it so that no more than 2 whole seconds can be taken away, OR that it cant go lower than 0 when you have a weapon.

For attacking without a weapon it will prevent you from going bellow .5 seconds.

These are just Ways to show you how to do it, you may change them to how you see fit.
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...