Jump to content

Anti-Bounce


Megadreams

Recommended Posts

anti-bounce-small.png

(Versie 1.3.2)

>> Download Hier <<

Wat is een bounce en wat doet de Anti-Bounce?

Indien je een MTA speler bent en zeker als je iemand bent nogal veel DD/DM (race) speelt dan zal je het probleem van het bouncen wel kennen. Maar wat is dit nu exact? Het is mogelijk, zeker op oudere maps, dat bij het landen je wagen opeens omdraait of deze op een erg rare manier een "flip" maakt. Dit is veroorzaakt door een bug in GTA: San Andreas die vanzelfsprekend niet gemaakt is om dergelijke jumps goed te behandelen. Wat doet deze resource dan? De naam doet het al vermoeden, de Anti-Bounce resource zorgt ervoor dat deze bounces niet meer gebeuren.

Hoe worden bounces tegengehouden?

Naast de normale velocity die aantoont met welke kracht een bepaald voertuig in een bepaalde richting gaat is er ook een turn velocity. Die turn velocity duid de kracht aan waarmee een voertuig begint te draaien en laat dat nu net zijn wat een bounce doet. De anti-bounce resource zal op het moment dat je de grond raakt meteen kijken naar de turn velocity van het voertuig. Aan de hand van de turn velocity kunnen we dan meteen bepalen of er een bounce aan de gang is en hierop resetten we de volledige turn velocity van het voertuig. Er was echter een nadeel aan verbonden, het voertuig kon hierdoor vertraagd worden wat ot het falen van de map kon leiden. Hierop werd echter een oplossing gevonden in de latere versies van de Anti-Bounce.

Denk eraan dat de standaard getVehicleTurnVelocity functie van MTA niet voldoet voor een dergelijk script! Deze werkt alleen maar goed op bepaalde momenten. Wij hebben voor deze resource zelf een getVehicleTurnVelocity functie moeten schrijven die accurate informatie geeft in alle richtingen.

Commando's

De volgende commando's zijn beschikbaar:

/ab

Dit commando activeert/deactiveert de Anti-Bounce zelf. Dit is nodig op sommige maps die bounces forceren op bepaalde stukken.

/ntb

Dit commando activeert/deactiveert het notificatie systeem van de Anti-Bounce. Wanneer een bounce werd tegengehouden zal er kort een tekstje verschijnen op de bodem van het scherm. Dit kan handig zijn wanneer je denkt dat dit script helemaal geen effect heeft.

/abupdate

Dit commando heeft enkel nut indien de auto-updater aanstaat maar ingesteld is om eerst toestemming te vragen voor het echte updaten. Dit commando kan enkel uitgevoerd worden door een admin.

Auto-Updater

De Auto-Updater heeft toegang nodig tot de fetchRemote commando. Dit vereist in sommige gevallen admin rechten. Indien je de Auto-Updater automatisch de Anti-Bounce wil laten herstarten dan zullen admin rechten gegeven moeten worden aan de Anti-Bounce resource.

Tijdens het starten van de Anti-Bounce en daarna elke vijf minuten zal de Auto-Updater kijken of er een update beschikbaar is. Indien dit zo is zal deze de nodige informatie over deze update verkrijgen en zal allereerst een nieuwe "meta.xml" file worden aangemaakt. Deze zal automatisch worden ingevuld met alle correcte informatie en in sommige gevallen nieuwe scripts en instellingen. Je oude instellingen worden echter wel netjes behouden! Dankzij de Auto-Updater is het niet nodig om zelf continue na te kijken of er een update beschikbaar is. De Auto-Updater heeft ook enkele instellingen in de "meta.xml" file maar deze kunnen verderop deze post teruggevonden worden met de nodige uitleg.

Door bepaalde beveiligingsredenen is het script van de updater echter wel gecompiled en geëncrypteerd. Hierdoor kan deze niet gelezen en niet aangepast worden. We verzekeren wel dat hij 100% veilig is. Indien je de Auto-Updater helemaal niet vertrouwd dan kan je je deze netjes uit de "meta.xml" file verwijderen en hierbij het gehele script verwijderen.

Statistic Gathering

Toegang tot het fetchRemote commando is vereist indien je dit systeem zijn werk wil laten gaan.

Bij het opstarten van de Anti-Bounce zal dit systeem een request sturen naar een webpagina met hierbij de nodige beveiligingssleutel om spam te voorkomen. Deze pagina zal dan deze server op een lijst van servers plaatsen met de nodige extra informatie (zoals MTA versie, AB versie etc). Dit maakt het voor ons mogelijk om de Anti-Bounce zo optimaal mogelijk te houden voor alle servers en na te kijken welke versie het meest geliefd is aangezien niet alle nieuwe versies met open armen worden ontvangen. Het is mogelijk dit systeem uit te schakelen door de enableStatCollection instelling in de "meta.xml" file simpelweg op 0 te zetten.

Door bepaalde beveiligingsredenen is het script van het statistieken systeem echter wel gecompiled en geëncrypteerd. Hierdoor kan deze niet gelezen en niet aangepast worden. We verzekeren wel dat hij 100% veilig is. Indien je de Stastitic Gathering helemaal niet vertrouwd dan kan je je deze netjes uit de "meta.xml" file verwijderen en hierbij het gehele script verwijderen.

Instellingen

Sinds versie 1.3.0 waarbij ook de Auto-Updater om de hoek kwam kijken werden er eindelijk instellingen toegevoegd aan de "meta.xml" file. Deze lijst werd met de versies erna nog eens vergroot. Hieronder kan je alle instellingen terugvinden met hun nodige uitleg.

allowUpdate

0 = uit, 1 = aan, standaard: 1

Deze instelling bepaald of de Auto-Updater mag nakijken of er updates zijn of niet.

autoUpdate

0 = niet toegelaten, 1 = toegelaten, standaard: 1

Deze instelling bepaald of de Auto-Updater automatisch mag updaten of dat deze eerst toestemming moet krijgen.

silentUpdate

0 = uit, 1 = aan, standaard: 0

Indien deze instelling aan staat dan zal het Anti-Bounce niet vertellen dat deze gaat updaten. Echter zal je nog steeds een melding krijgen wanneer het script net herstart is.

updateMeta

0 = niet updaten, 1 = updaten, standaard: 1

Moet er bij het updaten een nieuwe meta file worden aangemaakt? Het is ten zeerste aangeraden dit aan te laten. Indien een nieuwere versie nieuwe scripts bevat dan zal deze functie de werking van de Anti-Bounce ernstig kunnen verstoren!

enableStatCollection

0 = uit, 1 = aan, standaard: 1

Bepaald of de Anti-Bounce bij het opstarten statistieken mag verzamelen.

enableCredits

0 = uit, 1 = aan, standaard: 1

Mag de Anti-Bounce tonen wie de makers ervan zijn telkens de gebruiker de server ingaat? De bijhorende tekst is niet te wijzigen vanuit een instelling in de "meta.xml" file.

metaScriptTag

standaard: "script"

Deze instelling bepaald welke tag er gebruikt moet worden voor de scripts in de "meta.xml" file tijdens het updaten van de Anti-Bounce. Dit kan van nut zijn indien je een resources op een andere manier inlaad.

Een tekst kan worden uitgezet door de waarde van die instelling op "-1" te zetten.

loadText

standaard: * Anti-bounce has #00ff00loaded #64a6ffand your preferences for this server are #00ff00loaded#64a6ff.

loadEnabledText

standaard: * Anti-bounce is #00ff00enabled #64a6ff for you. - Type "/ab" to toggle.

loadDisabledText

standaard: * Anti-bounce is #ff0000disabled #64a6ff for you. - Type "/ab" to toggle.

loadNotifyEnabledText

standaard: * Anti-bounces notification system is #00ff00enabled #64a6ff for you. - Type "/ntb" to toggle.

loadNotifyDisabledText

standaard: * Anti-bounces notification system is #ff0000disabled #64a6ff for you. - Type "/ntb" to toggle.

loadNewSettingsText

standaard: * Anti-bounce has created a new preferences for you for this server due to version changes.

enabledText

standaard: * You have #00ff00enabled #64a6ffthe anti-bounce.

disabledText

standaard: * You have #ff0000disabled #64a6ffthe anti-bounce.

notifyEnabledText

standaard: * You have #00ff00enabled #64a6ffthe anti-bounce notifications.

notifyDisabledText

standaard: * You have #ff0000disabled #64a6ffthe anti-bounce notifications.

Changelog (engels)

1.3.2 (Merged with 1.3.1)

  • Added settings to the meta.xml to edit the texts displayed by the Anti-Bounce script. Changing the value to "-1" will completely disable that text. These settings are kept when updating the resource using the auto-updater.
  • Added settings to the meta.xml file to allow you to set binds instead of the "/ab" and "/ntb" commands. Setting a value of "-1" will disable that bind.
  • The updateMeta setting is now available and allows you to stop the auto-updater from ever rewriting the meta file at all.
  • Added a enableCredits setting to stop the credits from appearing in the chatbox.
  • Added a metaScriptTag setting to specify what the tag for scripts should be in the meta file when re-generating it using the auto-updater. Please note that it is recommended to give the Anti-Bounce script atleast Super Moderator rights (recommended is Admin) when using the auto-updater.
  • Statistic gathering no longer depends on the Auto-Updater.

1.3.0

  • Fixed certain bugs that caused the Anti-Bounce to not work properly anymore.
  • Fixed a few bugs with slowing down.
  • Added /ntb command to enable/disable notifications of when a bounce is getting prevented. This is done with a green text showing up for a second.
  • Added a auto-updater.
  • Added a statistics gather system. - Added settings to control (and disable) the auto-updater. Also added a setting to disable the statistics gathering system. The statistics system requires the updater. Both can be removed together from the meta in case you don't trust the compiled scripts.

1.2.2

  • Removed the cooldown.

1.2.1

  • Fixed startup error

1.2.0

  • 3 second cooldown added to prevent bugs.
  • Removed the check for the "tx" variable as it was causing bugs.
  • Added checks to see if the element you've hit is a object.

1.1.0

  • 180 degree turn fixed.

1.0.1

  • For documenting purposes. This wasn't a real update.

1.0.0

  • First public release

Link to comment
Delen op andere websites

Zelf het ik het script ook in gebruik genomen ja net als de servers waar ik vertoef. Het is dan ook een soort van bugfix dus dat is altijd wel handig. ^^ De ontwikkeling zelf heeft wel enige tijd geduurd ook al was het in versie 1 een erg klein script dat Arezu en ik samen hadden geschreven. Het duurde gewoon zo lang doordat we uren aan een stuk bezig waren met tests uit te voeren om zo tot de oplossing met de turn velocity op de proppen te komen. Echter hadden we al snel door dat de Anti-Bounce op vele maps niet werkte doordat de standaard getVehicleTurnVelocity van MTA dus niet geheel accuraat is in alle richtingen. Ook al hadden we toen wel al een versie op een server draaien (die daarna overgenomen werd door vele servers) was dat nog geen echte release. De echte release kwam er pas na maanden.

Link to comment
Delen op andere websites

  • 2 weken later...
  • 10 maanden later...

De volledige changelog kan hier worden gevonden. Het enigste wat daar mist zijn al de veranderingen die Anti-Bounce v2 met zich meebracht maar deze kunnen worden gevonden in de quote hieronder (note: de quote is in het Engels):

Z://Arezu and -rG//MegaDreams

anti-bounce-new.png

(version 2.0.0)

Anti-Bounce has been around since 31 November 2013 which is already more than a year ago. Many reports from players came in throughout that time telling us that the Anti-Bounce wasn't working for them or even caused bugs on certain maps. That was indeed true and we knew that for quite a while but with modifying our existing checks we never managed to fix it.

What's the logic result? Rewriting all checks rather than editing the old ones, and why not just rewriting the whole resource then? After a lot of work and a lot of testing we came to this point. A whole new version of the Anti-Bounce! We are proud to announce that version 2.0.0 of the Anti-Bounce is now available for download! We are also happy to announce that it no longer has any compiled scripts and does no longer require permissions to be set.

Installation

1. Download the .zip file.

2. Navigate to mods/deathmatch/resources and paste the zip file.

3. Start the resource. (Do /refresh if the server was already running).

Optional: Change "config.xml" to the way you like it.

Configuration & Customization

Due to it's nature of slightly manipulating gameplay by preventing bounces during landings the Anti-Bounce will update frequently to fix all bugs that come up. Since many servers like to change a script to perfectly fit with their server we have created a few methods to allow you to achieve the exact same thing without having to modify the scripts themselves.

Let's start with the few events that the Anti-Bounce is calling and you simple are able to catch in your own scripts. There are probably coming more of those in the future but those in this release are the most important ones.

onAntiBouncedLoaded

Type: Client

Parameters: None

Description: Called when the Anti-Bounce has loaded and all settings are received. It's only called once everything is totally ready and not upon the start of the resource itself. Please not that onResourceStop has to be used to catch whether or not the Anti-Bounce has stopped.

onAntiBounceToggled

Type: Client

Parameters: bool:enabled (true: Anti-Bounce is enabled, false: Anti-Bounce has been disabled)

Description: This event is called when the player toggles the Anti-Bounce on or off. This event allows you to catch this and create your own message or even some sort of gui when this happens. The config allows you to turn off the default messages.

A config.xml file containing the configuration is created when you run the Anti-Bounce resource for the very first time. It's not included in the download to avoid you from accidentally overriding your old one. The configuration file should be self-explanatory as it contains a lot extra comments. You may still ask us for help ofcourse.

Default configuration file:

<config>
   <!-- 
        Do you want to show a little message in the chat telling everyone whose hard work creating the Anti-Bounce was?
        true = enabled, false = disabled, Default: true 
   -->
   <enablecredits>true</enablecredits>

   <!-- 
        What state the Anti-Bounce has to be at default for new players?
        true = enabled, false = disabled, Default: true 
   -->
   <defaultstate>true</defaultstate>

   <!-- 
        This message is shown when both commands as binds are set. Use %1 where the commands have to be shown and %2 where 
        the bind has to be shown.

        Value: String, 
        Default: #3A85D6[Anti-Bounce]: #ffffffToggle the Anti-Bounce with '#368DEB%1#ffffff' or by simply pressing '#368DEB%2#ffffff'.         
        Attributes: disable (Disables the message when set to true. Default: false)
   -->
   <infomessage disable="false">#3A85D6[Anti-Bounce]: #ffffffToggle the Anti-Bounce with '#368DEB%1#ffffff' or by simply pressing '#368DEB%2#ffffff'.</infomessage>

   <!-- 
        This message is shown when either only the commands are enabled or a bind is set. Use %1 on the place they have to be shown.

        Value: String, 
        Default: #3A85D6[Anti-Bounce]: #ffffffToggle the Anti-Bounce with '#368DEB%1#ffffff'.         
        Attributes: disable (Disables the message when set to true. Default: false)
   -->
   <infomessage2 disable="false">#3A85D6[Anti-Bounce]: #ffffffToggle the Anti-Bounce with '#368DEB%1#ffffff'.</infomessage2>

   <!-- 
        This message is shown whenever the Anti-Bounce is turned on/off. Use %1 wherever it should be replaced with either "disabled" or "enabled".
        Those are both also customizable under "disabledmessage" and "enabledmessage".

        Value: String, 
        Default: #3A85D6[Anti-Bounce]: #ffffffThe Anti-Bounce is now %1#ffffff.         
        Attributes: disable (Disables the message when set to true. Default: false)
   -->
   <togglemessage disable="false">#3A85D6[Anti-Bounce]: #ffffffThe Anti-Bounce is now %1#ffffff.</togglemessage>

   <!-- 
        This message is shown when the player' preferences are loaded. Use %1 wherever the state should be replaced with either "disabled" or 
        "enabled". Those are both also customizable under "disabledmessage" and "enabledmessage".

        Value: String, 
        Default: #3A85D6[Anti-Bounce]: #ffffffYour #368DEBpreferences #ffffffare #368DEBloaded #ffffff|| Anti-Bounce is %1#ffffff.         
        Attributes: disable (Disables the message when set to true. Default: false)
   -->
   <preferencemessage disable="false">#3A85D6[Anti-Bounce]: #ffffffYour #368DEBpreferences #ffffffare #368DEBloaded #ffffff|| Anti-Bounce is %1#ffffff.</preferencemessage>

   <!-- 
        This message is used in togglemessage and preferencemessage to show that the Anti-Bounce is disabled.

        Value: String, 
        Default: #ff0000disabled    
   -->
   <disabledmessage>#ff0000disabled</disabledmessage>

   <!-- 
        This message is used in togglemessage and preferencemessage to show that the Anti-Bounce is enabled.

        Value: String, 
        Default: #00ff00enabled    
   -->
   <enabledmessage>#00ff00enabled</enabledmessage>

   <!-- 
        You are able to specify what commands (separate each command with "," you want your players to be able to use to
        toggle the Anti-Bounce with.

        Value: String, 
        Default: ab         
        Attributes: disable (Disables the use of commands when set to true. Default: false)
   -->
   <bouncecommands disable="false">ab</bouncecommands>

   <!-- 
        You are able to specify what key to set to bind the toggle feature of the Anti-Bounce can be used with.

        Value: String, 
        Default: f10         
        Attributes: disable (Disables the use of a bind when set to true. Default: true)
   -->
   <bouncebind disable="true">f10</bouncebind>

   <!-- 
        Should the Anti-Bounce script check for updates and inform you about them?

        true = yes, false = no, Default: true 
   -->
   <checkupdates>true</checkupdates>

   <!-- 
       Here you are able to specify after what interval (in milliseconds) the script should check for updates. This requires
       checkupdates to be set on true.

       Default: 1800000 
   -->
   <updatechecktimer>1800000</updatechecktimer>

   <!-- 
        Allows various statistics to be send to our database. This allows us to get a good idea about the usage of the Anti-Bounce
        and on what it runs. This allows us to improve the Anti-Bounce on the right moments. This information is sent anonymously
        with the use of an unique ID we cannot link to any server at all.

        true = enabled, false = disabled, Default: true 
   -->
   <enablestats>true</enablestats>

   <!-- 
        When enabled this allows some of your settings to be sent when collecting statistics.

        true = enabled, false = disabled, Default: true 
   -->
   <enablesettingstats>true</enablesettingstats>

   <!-- 
        When enabled this allows some data of the usage of the Anti-Bounce to be sent when collecting statistics.
        This one is the most important one when it comes to giving us an idea on how to improve our script.
        This information is sent anonymously with the usage of an unique ID instead of an IP or serial. We cannot
        trace this unique ID back to the player him or herself.

        true = enabled, false = disabled, Default: true 
   -->
   <enableplayerstats>true</enableplayerstats>
</config>

Update checker

When an update is available of the Anti-Bounce all admins in-game will be informed of it being there. The update is not happening automatically and therefore has to be manually downloaded from our page on the MTA community.

Statistics gathering

Anti-Bounce v2.0.0 has a feature from default that collects statistics from your server and it's players and sends them to our database. This is anonymously (we generate an unique ID for both the server and the players and these can be re-generated whenever you want) and allows us to improve the Anti-Bounce further. We cannot link the data received to your server or any of it's players at all. This is toggle-able in the configuration file in case you don't trust it. The whole resource is opensource as well and therefore you are able to look at how it works and what data is collected.

To give you a bit of insight on what is collected:

- Server info such as the MTA version you are running on.

- The FPS limit set on the server.

- The version of the Anti-Bounce you use.

- The UUID of the server at that moment.

- A temporary security hash (we cannot connect it to a server or even UUID at all) allowing us to implement a security system.

- The amount of time a player keeps the Anti-Bounce enabled/disabled.

- The UUID of a player at the moment.

- Temporary security hash for the same purpose as those of the server.

Changelog

v2.0.0

- Fully rewritten

- New checks

- New update notifier (no auto-updater)

- New anonymous statistic gathering

- No compiled scripts!

- No permissions required!

<2.0.0

- Previous releases

Bugs

Please report any bugs you find as quickly as possible to us so that we may fix them. In case you want to make sure the Anti-Bounce resource was indeed doing something at that moment then please use "/bouncedebug" to test this.

Link to comment
Delen op andere websites

  • 9 maanden later...

Zowel Arezu als ik hebben besloten om Multi Theft Auto te verlaten. Hierdoor hebben we de gehele Anti-Bounce v2.x.x op Github gezet onder een nieuwe licensie (MIT). Ook hebben we een branch toegevoegd voor Anti-Bounce v3 welke helaas nog verre van bruikbaar is. Omdat we MTA verlaten zullen we zelf geen tot zeer weinig updates toevoegen aan de Anti-Bounce. Dankzij de nieuwe licentie is het mogelijk om het script the "forken" en hierop verder te werken of jou veranderingen via een pull request naar ons te sturen waarna deze eventueel kunnen worden samengevoegd met het bestaande script. Om dit allemaal makkelijker te laten verlopen en zodat we hier zelf onze tijd niet meer in zouden moeten steken zoeken we ook naar iemand die het project van ons wil overnemen. Je kan mij hiervoor contacteren als je dit ziet zitten. Het project kan overigens hier worden gevonden.

Link to comment
Delen op andere websites

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...