Bugs

From SA-MP Wiki

Jump to: navigation, search
Tip

Image:Light_bulb_icon.png

You can use the Fixes Include to fix most of the problems listed here.


Image:32px-Ambox_warning_orange.png

Note

  • Most of the bugs probably come from the GTA:SA engine, meaning that it isn't the fault of the SA-MP developer, so he would also need to do internal workarounds to fix them.
  • Some of these could be considered features, but most of them are unexpected behaviors which could make problems.
  • Also, some of them are things entirely missed by SA-MP which should be added because without them some things may look bugged or like an incomplete feature.


Contents

Scripting Bugs

(Forum Topic)

Players

- Removing jetpacks from players by setting their special action to 0 causes the sound to stay until death.
- The animation of special actions SPECIAL_ACTION_CUFFED and SPECIAL_ACTION_CARRY don't work on skin ID 0 (CJ). (but the skin still can't run or jump anyway, so the special action is applied)
- If a checkpoint is already set it will use the size of that checkpoint instead of the new one.
- Checkpoints created on server-created objects (CreateObject/CreatePlayerObject) will appear down on the 'real' ground, but will still function correctly.
- Spectating breaks if the target leaves their stream zone (teleport, enter interior).
- Player will be moving really fast into the sky if he is in a vehicle, then he will be spectating normally.
- If a player's skin is set when they are crouching, in a vehicle, or performing certain animations, they will become frozen or otherwise glitched.
- Other players around the player may crash if he is in a vehicle or if he is entering/leaving a vehicle.
- Setting a player's skin when he is dead may crash players around him.
- Breaks sitting on bikes.
- Returns the new skin after SetSpawnInfo is called but before the player actually respawns to get the new skin.
- Returns the old skin if the player was spawned through SpawnPlayer function.
- If this is used on a passenger the driver of their old vehicle doesn't see them in their new vehicle.
- If the player has a special action, he will be instantly removed from the vehicle and the special action will be stopped.
- If the player has the parachute open and he is put in a vehicle in the same area, he will still have the parachute attached and the sitting animation bugged. If he is put in a vehicle in another area, he will be instantly removed from the vehicle.
- Passing an invalid animation library in ApplyAnimation causes a client crash for streamed in players.
- First time a library is used, it does nothing.
- Use ClearAnimation while you are in a vehicle cause the player exit from it.
- Doesn't do anything when the animation ends if we pass 1 for the freeze parameter in ApplyAnimation.
- Several styles do not display for the time specified.
- If the last character in the text is a space (" "), the text will all be blank.

Vehicles

- Doesn't work for CARMODTYPE_STEREO.
- Both front bull bars and front bumper components are saved in the CARMODTYPE_FRONT_BUMPER slot. If a vehicle has both of them installed, this function will only return the one which was installed last.
- Both rear bull bars and rear bumper components are saved in the CARMODTYPE_REAR_BUMPER slot. If a vehicle has both of them installed, this function will only return the one which was installed last.
- Both left side skirt and right side skirt are saved in the CARMODTYPE_SIDESKIRT slot. If a vehicle has both of them installed, this function will only return the one which was installed last.

Others

- If the last character in the text is a space (" "), the text will all be blank.
- If the textdraw goes on a new line (because of the box), the color will be reset to white.
  • strcmp: Returns 0 if anyone of the string is empty.
  • valstr: Crashes on large numbers.
  • strins: Ignores the "maxlength" parameter causing possible crashes.
  • random: Doesn't work with negative numbers.
  • sleep: Leaks bytes from the stack.
  • Menu functions: Crashes when passed an invalid menu ID.
  • File functions: Crashes on an invalid handle.

Callbacks

- Isn't called if the shooter is in vehicle as driver.
- Isn't called if you are looking behind with the aim enabled (shooting in air).
- Players around shooter may get crashed if invalid data is sent.
- It is called as BULLET_HIT_TYPE_VEHICLE if you are shooting a player which is in a vehicle. It won't be called as BULLET_HIT_TYPE_PLAYER at all.

Missing/Bad Definitions

Client Bugs

(Forum Topic)

  • When having hydraulics and pressing HORN key to jump up, others hear your car horn, but you don't.
  • When your previous passenger enters a car, leaves your car by disconnecting or being set to another position by the server, and you are in the area where they enter the car, the car you are driving (the one where you had the passenger) suddenly stops.
  • If you die in a vehicle, you can keep driving it by pressing shift until you respawn. You are the only one seeing it move, for others it is on one place. Once you respawn, it sometimes is where you drove it, sometimes it's where you last died.
  • Controls keep changing. For example, when you're frozen, you can use other keys to control the menu (ShowMenuForPlayer) and when unfrozen you have to use other keys. The same is with front view in-car, you have to use different keys.
  • When dying in a vehicle, other players see you appear on top of your car, but you see yourself in the car with the "Dead" animation.
  • When a train goes by, you will get the shaking screen. Sometimes, when you're very far from the tracks, the shaking still occurs.
  • When getting out of a train entered by PutPlayerInVehicle, the camera does not reset properly.
  • If you use a Sniper Rifle, then enter a hydra or hunter, and go to the "front view", you get "Sniper Rifle aim".
  • If someone has a locked car and you want to enter their passenger seat, all you have to do is press G near their car when they start moving. You will be placed on the passenger seat. Note; only works when the vehicle starts to move and moves faster than you can approach the vehicle.
  • Sometimes the sounds of your car/helicopter mess up and you only hear one sound type. For example, the car engine sounds between gear changes are different, but when this occurs there is only one sound and it's the highest gear.This only occurs around lots of players, doesn't matter if they're in a vehicle or not. Usually also when someone from the lot of players enters a vehicle. This always applies to other players you see, their car only has one sound (highest gear).
  • With the Stuntplane, if you respawn it or repair it with RepairVehicle, the tailwheel only appears then.
  • Moving objects that stop for some time desync for people who have just joined. Once they move again they sync to server set pos.
  • Attached objects still appear in front of Sniper Rifle scope.
  • When a player has a parachute, they can damage cars that are unoccupied.
  • Kicking a player, who is lagging or desynced, off a bike, will freeze your character. You can't move anything except your mouse.
  • Pressing G near a moving vehicle teleports the player directly to the passenger seat after some delay. (also called G-bug)
  • Stealing a vehicle from the co-driver passenger seat and pressing SPACE while sliding in sometimes kills the driver (also called ninja-jack bug).
  • If one player enables goggles (Night Vision/Thermal) special effect everyone will see the effect on screen.
  • When you have the health smaller than 5 and you fall from a bike or it is stolen from you your new health will be automatically increased to 5.
  • Reconnecting to a server when connection was lost sometimes shows the banned message.
  • Other players see you shooting yourself when zooming and shooting with the Sniper Rifle.
  • Melee fighting won't damage anyone if you are too far from land.
  • Cheaters sending invalid surfing offsets may be invisible to other players or cause the 'Loading...' screen bug.
  • Hitting the water too fast with a boat can cause the 'Loading...' screen bug.
  • If you jump from a moving object (while surfing on it) on another object you will be taken with the previous object you surfed.
  • You can paste text in a dialog input box to get over the characters limit. (game crashes if there are way too many characters)
  • Garage doors aren't synced.
  • Vehicles that exploded and were never occupied by a driver will explode over and over again when being streamed in, they won't get respawned like they should.
  • Using a special action like SPECIAL_ACTION_SMOKE_CIGGY when freefalling with a parachute in the weapon slot will make you have all the regular parachute animations, but the parachute won't be the armed weapon.
  • If two objects are colliding, then the colliding parts (e.g.: the surface of two similar objects that have the same Z position) will start flickering from distance. (the game doesn't know which one to show "above" the other)
  • When using the TogglePlayerWidescreen function provided by YSF the client displays an annoying log message. The plugin only exports what is possible in SA-MP, so it is a problem with SA-MP and not the plugin. For some reason this (useful) widescreen possibility was added in SA-MP but never made natively accessible to servers.
  • "varlist" and "plugins"/"filterscripts" RCON commands only show the first plugin/filterscript loaded.