# [Summer Competition] My AI!

#### genusis

##### Member
Member
you have to take the admin thing out so they can attack admins haha.

#### Dragoons Master

##### Member
Member
Ops, sry about that xD

#### TehGrunt

##### Member
Member
I wasn't an admin when I tested this. My players have also reported this happening , so..

#### Dragoons Master

##### Member
Member
It just does not happen to me, sry.

#### TehGrunt

##### Member
Member
Ok, well, thanks for trying Dragoons.

#### El_Dindonnier

##### Member
Member
When I add all the code on a blank ms3.0.3.

I have a runtime error 9 :

Code:
``````Runtime-error 9
While (PathLine(Start) <> -1 And Flag = 0)``````
Help me please
Thanks you in advance.

#### Lea

##### Member
Member
What value is start when it crashes?

#### GIAKEN

##### Member
Member
It's obvious start is either < lbound or > ubound.

#### El_Dindonnier

##### Member
Member
Lea said:
What value is start when it crashes?
Start = 192

What is the problem ? :|

#### Lea

##### Member
Member
NV = (MAX_MAPX + 1) * (MAX_MAPY + 1) - 1

what are MAX_MAPX and MAX_MAPY?
I'd be willing to bet 11 million dollars they are 15 and 11.

which makes NV 191

Which makes UBOUND(Path) 191

using subscript start = 192 is out of range for array path which is has 191 elements.

#### El_Dindonnier

##### Member
Member
Lea said:
NV = (MAX_MAPX + 1) * (MAX_MAPY + 1) - 1

what are MAX_MAPX and MAX_MAPY?
I'd be willing to bet 11 million dollars they are 15 and 11.

which makes NV 191

Which makes UBOUND(Path) 191

using subscript start = 192 is out of range for array path which is has 191 elements.
Yes my map is 15 and 11.

but how to fix the bug please ?

EDIT :
My bug is fixed
I have lost to add :
Code:
``````                                        o = MapNpc(y, x).y * (MAX_MAPX + 1) + MapNpc(y, x).x
d = GetPlayerY(Target) * (MAX_MAPX + 1) + GetPlayerX(Target)
For I = 0 To NV
Marked(I) = 0
PathLine(I) = -1
Path(I) = -1
Next I

For I = 0 To NV
VY = Int(I / (MAX_MAPX + 1))
VX = I Mod (MAX_MAPX + 1)

If VX >= 0 And VX < MAX_MAPX Then Mat(I, I + 1) = 1
If VX > 0 And VX <= MAX_MAPX Then Mat(I, I - 1) = 1
If VY >= 0 And VY < MAX_MAPY Then Mat(I, I + MAX_MAPX + 1) = 1
If VY > 0 And VY <= MAX_MAPY Then Mat(I, I - MAX_MAPX - 1) = 1
Next I``````
Now it's work