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

Events Multiple Activation REAL FIX


Tic Tac 2
 Share

Recommended Posts

EO3.0 has a gamebreaking flaw. You can activate an event more than once by holding CTRL down and getting a reward 100 times.

For this, we're gonna put a check at HandleEvent to make sure you can only run 1 event at a time per player.

**SERVER SIDE**

**Step 1: In HandleEvent Sub, find this**

```
If TempPlayer(Index).EventMap.CurrentEvents > 0 Then

```
Step 2: Above that, paste this

```
If TempPlayer(Index).EventProcessingCount >= 1 Then
begineventprocessing = False
Else

```
Step 3: Add an "End If" under the other End Ifs to the bottom of the **If TempPlayer(Index).EventProcessingCount >= 1** **Then** part.

Now you are done.

There is no client side fix needed.
Link to comment
Share on other sites

> Already done by someone in Sub CheckAttack you need to delete line of code with event and It wont happen again.This is also nice and you can put 2 fixes in your source to be sure.  NICE AND SHORT

If you do it in Sub CheckAttack people with high ping can still activate it 2-4 times.

Plus, if you use another client or modify your client you can also bypass it.

This is entirely server-sided, so it's better.
Link to comment
Share on other sites

Wait… this way you only allow one event to run at once, so if there's a paralel event running you won't be able to run more events.

Edit: I've been looking at multiple sources and Eclipse World's server has this fixed. It checks if an event is already running so it doesn't run again, but it allows multiple different events to run at the same time.

Just go to Sub Handle Data and below this:

```
   If tempplayer(index).EventMap.CurrentEvents > 0 Then
        For z = 1 To tempplayer(index).EventMap.CurrentEvents
```
Add this:

```
' Don't process events that are already processing
            If tempplayer(index).EventProcessingCount >= z Then
                If tempplayer(index).EventProcessing(z).eventID = I Then Exit Sub
            End If
```
I think this is a better way to fix the bug.
Link to comment
Share on other sites

> _**Wait… this way you only allow one event to run at once, so if there's a paralel event running you won't be able to run more events.**_
>
>  
>
> Edit: I've been looking at multiple sources and Eclipse World's server has this fixed. It checks if an event is already running so it doesn't run again, but it allows multiple different events to run at the same time.
>
> Just go to Sub Handle Data and below this:
>
> ```
>    If tempplayer(index).EventMap.CurrentEvents > 0 Then
>         For z = 1 To tempplayer(index).EventMap.CurrentEvents
> ```
> Add this:
>
> ```
> ' Don't process events that are already processing
>             If tempplayer(index).EventProcessingCount >= z Then
>                 If tempplayer(index).EventProcessing(z).eventID = I Then Exit Sub
>             End If
> ```
> I think this is a better way to fix the bug.

This exactly. Try to make sure it actually fixes the bug without causing more before you post a tutorial. 

Cheers.
Link to comment
Share on other sites

> This exactly. Try to make sure it actually fixes the bug without causing more before you post a tutorial. 
>
>  
>
> Cheers.

It does fix the bug, although Peaverin's version allows multiple events to run at a time without activating the same one, so it's just a better solution.
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...