SAMP/ChangeLog

Материал из Wikipedia Pi

Хронология версий SA-MP

Эпоха (ветвь) 0.1

0.1

2006/05/09 SA-MP 0.1

  • First public release

0.1b

2006/05/21 SA-MP 0.1b

  • Client/server crash fixes.
  • Bugfixes for the browser.

2007/06/20 SA-MP 0.1b R2 (сервер)

  • Fixed few server crashes.
  • Player IP recorded on connect.

Эпоха (ветвь) 0.2

0.2

2007/06/20 SA-MP 0.2

CreateObject
SetObjectPosition
SetObjectRotation
GetObjectPosition
GetObjectRotation
DeleteObject
Get/SetPlayerArmour
GetPlayerArmedWeapon
Get/SetPlayerArmour
SetPlayerMarker
Set/RemovePlayerMapIcon
LinkVehicleToInterior
Get/SetPlayerAmmo
GetPlayerInterior
Get/SetGravity
EnableTyrePopping
CallRemoteFunction
AllowPlayerTeleport
AllowAdminTeleport
GetPlayerWeaponData
Attach/DetachTrailerToVehicle
Create/DestroyVehicle
Get/SetVehicleHealth
  • RCon BANIP added
  • Fixed Filterscript return in OnPlayerText having no effect
  • Admins can now teleport to places by right*clicking somewhere on the map
  • Parachutes being opened in cars fixed
  • Tire popping synced
  • Fixed drivebys not syncing occasionally
  • Race-styled checkpoints
  • Scripts can now toggle interior weapons being allowed
  • Trailers
  • Changable weather
  • Throwable weapons now work (note: no satchel charges)
  • Kick/ban now properly disconnects the user
  • OnPlayerDisconnect now informed of reason
  • Dynamically created vehicles
  • Tank turret sync
  • Interscript communication
  • Trains re*introduced
  • Improved text entry
  • Players drop weapons when they die
  • Fixed the bug where two players can enter the car as driver
  • Server-side car position saving
  • Re-introduced object scripting stuff
  • Filterscript timers are not killed after a game mode restart/change
  • Fixed the server crash concerning the samp.ban file having empty lines
  • Pickups are now reset on game mode change
  • OnGameModeInit and OnGameModeExit implemented for filterscripts
  • Fixed OnFilterScriptExit not being called
  • Given Rcon access to PAWN Commands
  • Empty /pm or /msg causing a local crash now fixed
  • New Rcon command: players, which shows the player's name and IP
  • Fixed a crash where you enter a car mod shop in debug mode
  • New scripting commands: GetPlayerPing, GetPlayerIP, and GetPlayerWeapon
  • server_log.txt is flushed instantly, instead delayed
  • server_log.txt is appended, instead of rewritten
  • Improving support for weapons
  • Synced reloading
  • Instagib
  • Friendly fire
SetTimerEx, CallRemoteFunction, and CallLocalFunction
CreateExplosion
  • "white health bar" bug fixed
  • Weather
  • Per player time
  • Objects
  • Virtual worlds
  • Pedestrian Animations
  • Support for 200 players / 700 vehicles / 70 different types of vehicles
  • Gangzones
  • Text Draw
  • Menus
  • Callbacks
  • Wanted Level
  • Desync Weapons
  • Reduced area chat / chat message pawn function
GetPlayerKeys
  • GetPlayerAngle and GetVehicleAngle with all the supported angles
  • A working OnVehicleDeath
  • A fixed GetVehiclePos
  • A working PutPlayerInVehicle
  • Scripting Animations (SetPlayerSpecialAction(), ApplyAnimation() and ClearAnimations() pawn functions)
  • RC Vehicles
OnPlayerPickUpPickup
SetPlayerName
SetVehicleNumberPlate
SetVehicleVirtualWorld
GetVehicleVirtualWorld
  • Windowed Mode (alt+enter)

0.2.1

2007/06/24 SA-MP 0.2.1

  • Few bugfixes of 0.2 release.


2007/07/25 SA-MP 0.2.1 R2 (сервер)

  • Added protecting of bot attack.
  • Added SAC (SA-MP anti-cheat).

0.2.2

2007/08/29 SA-MP 0.2.2

  • Chat window is now scrollable with upto 5 pages of text (50 lines).
  • Chat window now wraps text properly over multiple lines.
  • Chat entry improved, it allows upto 128 character messages, supports selection, copy and paste etc.
  • All text rendering has been heavily optimised. Chat text now has no noticable impact on framerate.
  • Name tags cannot be seen through walls/objects.
  • A car mod shop crash applying certain car mods has been fixed.
  • Pickup limit increased to 400.
  • The server can now disable all interior entrances/exits.
  • Native sqlite database support for pawn. Sqlite is a lightweight alternative to the mysql plugin.
  • The name tag drawing distance can be set from the server.
  • Insane stunt bonuses can be toggled on/off by the server.
  • Various netcode security updates.
  • 0.2.2 will use the second major version of SAC.
  • Player head movement sync added. Player's characters will look in the direction their camera is looking.
  • A new cellphone action enables players to hold a cellphone and look like they're on a call (useful for pen1 based scripts).
  • New usable skins; Tenpenny, Pulaski, Hernandez, Ryder, Smoke, Sweet, Mafia Boss.
  • Bandwidth and ped sync improvements. 0.2.2 will consume less server bandwidth than 0.2.1.
  • Fixed bug with setting player colors of players 100,101,102.
  • Increased timeouts to prevent connection loss.
  • Decreased CPU time required to process vehicles on the client.
  • Fixed animation problem with fire hydrant and spray can.
  • Fixed nametags with no player issue.
  • Fixed an issue where the client wasn't displaying "You are banned", "Server is full." messages.


2007/08/30 SA-MP 0.2.2 R2 (клиент)

  • Some crashes related to models/pickups.
  • Collision processing issues (objects/players fall through the ground).
  • Chat window wrapping server messages.
  • Texture rendering if your graphics card uses a custom d3dx9_25.dll.


2008/06/16 SA-MP 0.2.2 R3 Test1_6

  • Удалён код античита SAC. Исправлены проблемы с безопасностью, о которых говорилось выше.
  • Исправлена проблема с буфером обмена, когда текст копировался некорректно.
  • Исправлен глюк с погодой, который иногда появлялся.
  • Исправлен глюк с радио в машинах (с пропаданием звука).
  • Исправлен глюк с текстурами, который появлялся когда на экране было много машин.
  • Активирован ограничитель кадров на отметке 40 FPS.
  • Увеличен лимит моделей машин до 127 (но не рекомендуется использовать для обратной совместимости с 0.2.2 R2 клиентами).
  • Вновь добавлены процедуры растений и земельного покрова (вернули траву в пустыню).
  • Исправлены проблемы с крашами в магазинах тюнинга.
  • Синхронизирована альтернативная сирена у спец машин.
  • Функции TextDraw полностью переписаны, теперь они работают в интерьерах и будут отключаться вместе с HUD.
  • Исправлены проблемы с крашами клиента при вызове DestroyVehicle.
  • Добавлены некоторые функции сглаживания и компенсации лага, но они пока тестируются.
  • Также исправлены некоторые проблемы с функцией SetVehicleToRespawn

В данный момент проходит тестирование и будет выпущен скоро. Данное обновление коснулось только клиента и клиент 0.2.2 R3 полностью совместим с серверами версии 0.2.2.


2008/06/17 SA-MP 0.2.2 R3 Test1_7

  • Поменян цвет системных сообщений.
  • Улучшена синхронизация ходьбы, теперь игроки не скользят по земле.
  • Удалён жесткий лимит FPS 40, т.к. у некоторых из-за этого появлялись сильные лаги.
  • Исправлена проблема с прохождением игроков сквозь стены и землю.

БАГ: В режиме спектакора персонажи, за которыми наблюдаешь, во время спуска или подъёма по лестницам, как-будто летают.


2008/06/18 SA-MP 0.2.2 R3 Test1_8

  • Улучшен код движения машин, теперь оно должно стать более плавным (как в версии 0.2.5).
  • Добавлена команда /fpslimit которая позволяет устанавливать лимит кадров вручную (может принимать значения от 20 до 100).
  • Вновь убраны добавленные в версии 1_6 элементы природы, т.к. из-за них игра могла рассинхронизироваться.
  • Изменён порядок отображения TextDraw надписей, теперь они отображаются в том порядке, в котором были созданы (т.е. от 0 и до MAX_TEXT_DRAWS). Раньше они отображались наоборот.
  • Возможно, исправлены проблемы с машинами без водителей.


2008/06/20 SA-MP 0.2.2 R3 Test1_f

  • Некоторые финальные штрихи и доработки. Теперь ищем только критические баги, типа крашей.


2008/06/20 SA-MP 0.2.2 R3 (только клиент)

  • Удалён весь код SAC. Это исправляет уязвимости безопасности, упомянутые выше.
  • Исправлена проблема с буфером обмена, когда текст копировался некорректно.
  • Исправлено время/туман/мерцание освещения, которое с течением времени отключалось.
  • Исправлены некоторые проблемы аудио в транспорте (пропадание звука автомобилей / самолетов / катеров ).
  • Исправлена текстура лаг/потокового всплывающие окна, когда было загружено много моделей.
  • Исправлены проблемы с крашами в магазинах тюнинга.
  • Синхронизирована альтернативная сирена у спец машин.
  • Код системы TextDraw'ов полностью переписан. В настоящее время он работает в интерьерах и будет отключаться вместе с HUD.
  • Исправлены проблемы с крашами клиента при вызове DestroyVehicle.
  • Внесён код синхронизации машин из 0.2.5.
  • Добавлена команда /fpslimit которая позволяет устанавливать лимит кадров вручную. Команда /fpslimit может принимать значения от 20 до 100.

Для решения проблем безопасности, недавно мы выпустили SA-MP 0.2.2 R3 клиент. Он доступен на странице загрузок. Его необязательно обновлять, хотя и очень рекомендуется. SA-MP 0.2.2 R3 клиент работает на всех SA-MP 0.2.2 серверах. Обновления для SA-MP 0.2.2 сервера не требуется в данный момент. Помимо обновления системы безопасности, 0.2.2 R3 клиент также исправляет некоторые проблемы/ошибки из предыдущих версий. БАГ: В стандартной амму-нации больше нельзя покупать винтовки (снайперскую и сельскую), зато можно SPAS.

0.2X

2008/11/15 - SA-MP 0.2x Testing 2


2008/11/20 - SA-MP 0.2x

  • Исправлена проблема касающаяся приватных сообщений.
  • Установлен пакет фрагментаций и исправлена проблема с MTU.
  • Обновление коснулось так же и изменения безопасности сетевого кода и логики подключения к серверам.
  • Обновление безопасности для клиентов.
  • Убрано сжатие у прицельных векторов, чтобы увеличить точность стрельбы.
  • Добавлены временные показатели в логе и так же добавлены показатели активных UDP подключений.
  • В функции OnVehicleMod/OnVehiclePaintjob/OnVehicleRespray добавлен параметр playerid.
  • Добавлен колбэк OnPlayerUpdate, задействован для каждого обновления игрока в сети. Это поможет с серверным античитом и обнаружением alt-tabbed/idle игроков.
  • Повышен лимит фильтерскриптов до 16ти MAX_FILTER_SCRIPTS, чтобы сохранить серверный ЦП.
forward OnVehicleMod(playerid, vehicleid, componentid);
forward OnVehiclePaintjob(playerid, vehicleid, paintjobid);
forward OnVehicleRespray(playerid, vehicleid, color1, color2);
forward OnPlayerUpdate(playerid); // return 0 для предотвращения синхронизации с другими игроками


Версии U1/2 будут добавлены позже.

0.2.5

Как уже было упомянуто ранее, 0.2.5, скорее всего станет последней версией SA-MP. Что будет, если взять лимит игроков к версии 0.1, добавить лимит из 0.2, умножить его на 3.3 и разделить на 2? Всё верно, вы получите лимит игроков который будет в версии 0.2.5, а именно 500 (если округлить) Мы переписали многое в серверном коде мульти-плеера, и теперь теперь лимиты в основном зависят от мощности серверного процессора и пропускной способности сети. В 0.2.5 лимит транспортных средств будет равняться 2000, а количество моделей машин практически не ограничено! И это не только в теории, мы разрабатываем мод lvdm который будет охватывать весь штат San-Andreas. Мы провели большую работу по созданию мода lvdm, в котором расставлено 2000 машин.

Вот некоторые факты о SA-MP 0.2.5:

  • Лимит игроков будет 500, транспорта - 2000
  • Частоту передачи пакетов синхронизации теперь можно будет настраивать на сервере
  • Количество виртуальных миров увеличено до 2 миллиардов
  • Сервер синхронизирует все транспортные средства (даже те в которых никто не сидит)
  • Синхронизируются повреждения машин
  • Синхронизация передвижения машин улучшена, лагов стало меньше
  • Игроки могут использовать разные стили борьбы
  • Поезда теперь могут ездить по обоим рельсам и каждый может вместить в себя до 5 игроков
  • Добавлены новые возможности скриптинга
  • Все скрипты из 0.2.2 будут совместимы с версией 0.2.5
  • Испралвены проблемы с TextDraw и меню Исправлен баг с пропаданием звука в машинах.

Перед релизом новой версии мы собираемся провести бета тест, и надеемся проверить лимит игроков (500), поэтому предлагаем все принять участие в бета тесте, следите за новостями на sa-mp.com

Однако, выйти этой версии не было суждено, т.к. Zyronix, один из разработчиков SA-MP, слил в сеть исходный код проекта. Версия была пропущена и отправлена на доработку, чуть было не став причиной закрытия проекта.

Эпоха (ветвь) 0.3

0.3a

This is a pre-release version of the SA-MP 0.3 client/server and is being released so that 0.2X server owners can start testing their scripts on 0.3 and provide feedback about any problems.

Please note: SA-MP 0.3 is still in Beta. There are still many things that need to be fixed before it will be released. Many new scripting functions are also not yet documented. A full list of changes suitable for outside development has not yet been produced. If you require this information please do wait for the full release.

Major changes needed to 0.2X scripts:

  • Vehicle locking can only be applied to streamed-in vehicles. Please see the bottom of rivershell.pwn if your script uses SetVehicleParamsForPlayer.
  • CreatePickup has a new virtual world default parameter. This won't require any changes to your script, although you will at least need to recompile with the 0.3 includes.
  • SetDisabledWeapons is removed.
  • The client commands /pm /tpm and the server callbacks OnPlayerPrivMsg and OnPlayerTeamPrivMsg are removed. If you need a replacement /pm command please see the base.pwn filterscript.
  • Multi-car trains can only be created with AddStaticVehicle/Ex. Do not use CreateVehicle.
  • The new limits of 0.3 can be found on this page: /Limits
  • New pawn scripting natives added in 0.3 can be found here: /Category:Added_in_0.3
  • Although the vehicle model limit in 0.3 is unlimited, if you use a large amount of vehicle models, you may notice parts of your mode become framey as vehicle models are dynamically loaded/unloaded. Keeping the number of vehicle models below 150 is a good idea.


2009/08/15 - SA-MP 0.3 Alpha Pre RC1-3

  • Вместо привычной заставки, которая является последней заставкой перед игрой - надпись "Vinewood", новый вид на город Лос Сантос.


2009/08/22 - SA-MP 0.3 RC2-2 Beta


2009/09/03 - SA-MP 0.3 RC3-2


2009/09/__ - SA-MP 0.3 RC3-3

  • Client fix for SetPlayerTime causing fast time.

2009/09/__ - SA-MP 0.3 RC3-4 Beta

  • Client fix for vehicle moving forward when exiting.


2009/09/__ - SA-MP 0.3 RC4-2 Beta

  • Fixed trailer sync
  • CreatePickup will take -1 vworld param for all vworlds
  • StartRecordingPlayerData - fixed directory traversal capability
  • 3D Text has an LOS parameter for line-of-sight checking
  • TextDrawDestroy is fixed
  • LinkVehicleToInterior is fixed

Notes:

  • SetVehicleNumberplate does not work. This function can't work due to SA's internal coding which only assigns 1 numplate per vehicle model. The function itself will be left in for future use if it can be made to work.
  • Bug report: PutPlayerinVehicle will crash your Client if the Vehicle is not streamed in. [I can't replicate this crash. /player2v (playerid) (vehicleid) in npc_record fs works as expected].
  • Bug report: Paintjobs based on invalid texture IDs won't work anymore. [That's right. Invalid IDs may have worked but could also induce crashes. Invalid paintjob IDs are blocked.]
  • Bug report: Long TextDraws will crash the client. [This problem isn't well understood yet. In the npc_record fs /longtd command I create a 670 character textdraw which does not crash. Ones that do crash are either exceeding some formating code limit or have dimensions wrong for their text.]
  • Bug report: Car mods aren't applied after vehicle is created. [No problems here. I tried the exact script given and it functions as expected. Regression function is in npc_record under /carmodtest]

2009/09/09 - SA-MP 0.3 RC4-4 Beta

  • Fixed cinematic camera issue
  • Fixed client crash using SetVehicleZAngle
  • Fix for RemoveVehicleComponent
  • Important: GetTickCount now wraps around to 0 after 24.8 days (2147483647 milliseconds) and not to negatives as in SA-MP 0.2. Will be reverted for next version.
  • Fixed a few random client crashes that were reported

2009/09/__ - SA-MP 0.3 RC5-1

  • Added automatic low memory condition for those with less than 256mb RAM.
  • Reverted GetTickCount to be a wrapped 32bit signed value.
  • Removed call.pri jump.pri instructions from the pawn interpreter - fixes a security issue.
  • Added 'maxnpc' server variable which defaults to 0. This can limit the number of connecting NPCs.
  • Made the weather default to 1 because of some flickering in LS if the far clipping plane is too high.
  • NPC can connect to a passworded server.
  • Fix for CARMODTYPE_SPOILER.
  • Fix for Attach/DetachTrailerFromVehicle (can be applied to streamed in vehicles only).
  • Added SetPlayerArmedWeapon. (bye SetDisabledWeapons :'( )
  • Added ShowPlayerDialog native/OnDialogResponse callback with 3 dialog styles. Examples in test_cmds.pwn.
  • Added OnPlayerClickPlayer detects player clicks from the scoreboard.
  • Removed automatic /pm (id) on scoreboard click.
  • Fixed an issue with player rotation.
  • Fix for GetVehicleTrailer server crash.
  • Fixed a problem which messed up the vehicle surfing.
  • Moved test commands from npc_record to test_cmds.pwn.
  • Fixed fight styles related exception (still testing).


2009/09/__ - SA-MP 0.3 RC5-2 (клиент)

  • Fixed the listbox scrolling issue.
  • If the dialog style is a listbox, the inputtext in OnDialogResponse will be equal to the list item text.
  • Fixed dialog minimum width issue.
  • Chat input will disable when dialog is displayed.
  • If dialogid is less than 0 (ie -1) any open dialog will be closed.
  • Enabled tab (\t) expansion in dialog info text and list item text.
  • Temporarily disabled low memory condition because someone reported a problem with it.


2009/09/19 - SA-MP 0.3 RC6-1

  • Fixed falling to death during gmx.
  • Dialog info limit is now 4096 characters.
  • NPCs buffer recording data in to memory to avoid disk access.
  • Fixed SetPlayerFacingAngle
  • Fixed another issue with DetachTrailerFromVehicle.
  • Fixed problem using dialogid -1 when no dialog was open.
  • Added version information to the Windows binaries.

2009/09/20 - SA-MP 0.3 RC6-2 (сервер)

  • Fixed onfoot NPCs can't read their recording files causing them to leave the server. (You can just replace samp-npc/.exe if you have the 6-1 server)


2009/09/25 - SA-MP 0.3 RC7-1

  • 0.3a server list is online.
  • announce will now use the 'bind' address for announcing on linux.
  • Fixed death window icons.
  • Fixed SetPlayerPos not working while vehicle surfing.
  • Made the game timer sync immediately on connect.
  • Fixed server crash using Kick() in OnPlayerSpawn
  • Fixed some problems using input dialog at class selection.
  • Fixed could use pageup/pagedown while at menu.
  • Fixed OnPlayerRequestClass being called twice.
  • Fixed Russian character problem in format()
  • Added /pagesize client command to set the number of chat lines displayed (10-20 lines default: 10).


2009/09/25 - SA-MP 0.3 RC7-2

  • Some people had trouble connecting in RC7-1 due to some changed network code. Unfortunately this problem will require both clients and servers to update.

Баг: Если во время выбора класса испоьзовать SpawnPlayer(playerid) (ну типа ввёл /login пароль и сразу чтобы спавнился) после смерти игрок возвращается обратно к выбору класса. Только если через шифт когда выбираеш тогда всё ок.


2009/10/02 - SA-MP 0.3 RC8-1/8-2 (сервер/клиент)

  • Planes now repair with RepairVehicle.
  • Some improvements to the vehicle sync (smoother rotation).
  • Reduced network bandwidth for vehicle syncing.
  • Fixed server crash in gamemode restart.
  • Optimised the chat text rendering a bit - should be a bit faster.
  • The double border font will only apply to resolutions greater than 1280 width instead of 1024 in previous versions.

Important: Updated the NPC recording format. The file format for both onfoot/incar recordings has changed. For those that use NPC recordings: backup your existing recordings. The first time the NPC is run the recording file will be automatically upgraded. After the file is upgraded the NPC will exit. This means you will need to restart your server twice for the NPCs to join.

  • Player limit on RC servers is now 100 instead of 16 - for those that want to start running their own 0.3 betas.
  • Fixed a flickering problem when the player's clock was enabled.
  • (RC8-2 client) Removed a debug message related to object creation.


2009/10/__ - SA-MP 0.3 RC8-3 (клиент)

  • This should fix a crash some people are having while starting SA-MP. The loading bar gets to about 80% and SA-MP just exits. Apparently this problem could be resolved by disabling 'visual themes' in Windows compatibility mode although this workaround should no longer be required in RC8-3.
  • Fixed an issue with plane damage model which caused some planes to have an extra wheel or the hatch not to open properly.


2009/10/03 - SA-MP 0.3 RC8-4 (клиент)

  • If a server creates vehicles dynamically (CreateVehicle) the vehicle model loading wasn't optimised, which lead to small "lags/freezes" while vehicle models were being loaded/unloaded. This fix keeps more models loaded to avoid loading/unloading as you drive around.


2009/10/06 - SA-MP 0.3 RC8-5 (клиент)

  • Corrected some problems with vehicle rotation.
  • Made cars with applied vehicle mods load a bit faster.
  • Decreased the vehicle surfing 'stick' time.


2009/10/10 - SA-MP 0.3 RC9-1

  • Server slot limit increased to 250.
  • Some small fixes to the vehicle sync netcode.
  • If the player's clock is enabled, weather ID changes will interpolate rather than instantly changing.
  • The client exception dialog will display if GTA SA crashes during loading. This is needed to trace a startup crash some people are having. If you do crash while GTA SA is loading, please make a thread and post the exception box details. Please also confirm whether GTA SA single player is working correctly.
  • The server crash_log on Windows will display the stack information. This is needed to trace a rare Windows server crash.
  • Removed double border font for everything but the chat window as it was decreasing framerate in some cases.
  • Вкладка "Official" переименована в "Hosted".


2009/10/__ - SA-MP 0.3 RC10-1

  • Attempting to fix a vehicle rotation problem some people have noticed while spectating another vehicle.
  • Weapon skills reset to 999 after a gamemode restart.
  • Some fixes for entering/exiting vehicle modshops.
  • Added OnEnterExitModShop callback.
  • Fixed server crash if someone connected during a gamemode restart.
  • Added GetPlayerSurfingVehicleID native.
  • Changed the default server rates and streaming distance.
  • Fixed samp_debug launching.


2009/10/10 - SA-MP 0.3 RC10-2 (клиент)

  • Fixing some new and rare startup crash (0x5B8E64)


2009/10/__ - SA-MP 0.3 RC10-3 (клиент)

  • Fixed an issue with trailer sync if the cab was carrying a passenger who paused.


2009/10/17 - SA-MP 0.3 RC10-4 (клиент)

  • Fixed a fairly big problem with vehicle model loading which might have slowed the game.


2009/10/17 - SA-MP 0.3a

  • Up to 500 players per server and up to 2000 vehicles.
  • New mouse driven scoreboard, chat and other UIs.
  • Visible vehicle damage and vehicle repairing.
  • NPC bots that can drive trains, planes and more.
  • Completely server controlled game play.
  • Improved sync including vehicle surfing.
  • Many new scripting features.


2009/10/28 - SA-MP 0.3a R3


2010/03/27 - SA-MP 0.3a R6

  • PVar names use exact names instead of partial matching, they're case-insensitive still ("id" is the same as "ID").
  • PVars are now reset during a game mode restart.
  • Hopefully fixed crash on Windows server related to a compiler problem.
  • Vehicle mods sent by players have additional sanity checks (thanks to Tenshi for pointing out a problem).

Some problems with the 0.3a R5 server release are being addressed in 0.3a R6. The R5 server release was rushed out due to the fact that servers were being attacked.


2010/06/22 - SA-MP 0.3a R8

  • Fixes a denial of service attack where an external program interfacing with SA-MP's network layer could send a misaligned payload to RPCs.

0.3b

2010/08/12 - SA-MP 0.3b RC1


2010/08/21 - SA-MP 0.3b

  • Обновлена защита клиента.
  • Нововведения и обновление браузера в сампе.
  • Улучшена синхронизация.
  • Лог чата, причем записывается и время сообщения.
  • Скриншоты сохраняются в GTA San Andreas User Files.
  • Разрешение экрана не ограничено.
  • Фикс крэшов и многое другое.
  • Новые функции для транспорта.
  • Функция для отслеживания анимаций.
  • Встроенный стример объектов и соответственно, новый лимит объектов - 400
  • Багофикс


2010/08/22 - SA-MP 0.3b R2

  • Fixes 'Client may crash if using the new chat /timestamp feature'
  • Fixes 'Other players may appear floating for a few seconds when they first stream in'
  • Fixes (Windows) server not announcing correctly to the 0.3b server list
  • Fixes (Windows/linux) server may crash if Kick() is used in OnPlayerUpdate


2010/08/31 - SA-MP 0.3b R3 Pre 1

  • The framerate drop from name tags and 3d labels has been know for a long time, it's not a 0.3b issue. They are drawn in a slow manner to avoid causing graphics glitches within GTA's own renderer, which uses different DirectX render states.


2010/09/11 - SA-MP 0.3b R3 (клиент)

  • Fixes frame rate drops related to name tag drawing and 3D label drawing.
  • Fixes 'SA-MP server browser may display error messages if the installer was not run correctly'

0.3c

2010/11/04 - SA-MP 0.3c I'm happy to announce that SA-MP 0.3c is now in development and we have some long requested features on the way.

  • Colour Embedding. Servers can now format messages to contain embedded colours in chat text. The colour embedding also works in 3D Text labels and dialogs.
  • The return of custom license plates. The car license plate system has been redesigned and now every vehicle in the game can have a custom license plate. The license plate text can also contain embedded colours.
  • Server control of vehicle engines, lights, car alarms, boots, bonnets, door locking. The server can now take full control of the vehicle's engine and lights, meaning they can be conditionally enabled or prevented from being turned on. We also added server control over the boot, bonnet and car alarm.
  • Particle objects. New object IDs have been added which can be used to create particles. These use the same functions as normal server objects, so they can be worked in with existing streamers. There are over 80 different particle types available which is all the available particle types in GTA: San Andreas. I know there are quite a few servers that want to get their fire departments working, so here is an example of a house fire created on the server with particle objects:
  • Stunting primitives and additional objects. Thanks to Matite and co. over at GamerX server, SA-MP 0.3c will include some new object IDs which can be used as additional stunting objects for mappers. These include tubes, curved roads, new ramps etc.
  • And, since there is still time before release, we've got a few more features planned for SA-MP 0.3c that we'll announce at a later date. So stay tuned.
  • Bug report: Paintjobs based on invalid texture IDs won't work anymore. [That's right. Invalid IDs may have worked but could also induce crashes. Invalid paintjob IDs are blocked.]
  • Version 0.3 Player limit: 500. Vehicle limit: 2000. Tick/sync rates can now be adjusted from the server along with the streaming radius. Up to 2 billion virtual worlds (all server controlled). The server maintains an accurate position of all vehicles, even when they're not being driven. Visible damage on vehicles is now synced. Many overall sync improvements including vehicle riding, lag compensation. Players can now have different fighting styles. Trains can now drive on both tracks and each carriage can have 5 passengers. Many new scripting functions added. All 0.2.2 scripts will be compatible with 0.3. Solved issues with TextDraws and Menus. There was a vehicle audio problem in previous releases that caused vehicles driven by other players, usually helis and planes, to become silent. This has been fixed in 0.3 and adds greatly to the overall feel of the game. We have never released a version of SA-MP without first testing any new limits or features. That means over the next few weeks we intend to have a public beta and populate San Andreas with 500 players. This will be a very unique event in online gaming. If you would like to participate, keep and eye on the sa-mp.com main page as we'll be announcing the details there before the public tests start. PS This page was last modified 01:14, 26 January 2009.


2010/12/29 - SA-MP 0.3c

  • A redesigned car license plate system
  • Particle objects for effects like fire
  • Includes new and re-worked models like hats and glasses which can be worn
  • Includes new stunting objects and buildings
  • Improved vehicle/object surfing
  • The vehicle engines and lights can now be controlled by the server
  • You can now passenger drive-by with almost any weapon
  • Font colour changing in the chat and dialog boxes
  • Quite a few server scripting improvements and bug fixes also


2011/01/02 - SA-MP 0.3c R2

  • Удалены некоторые новые объекты (полагаю, именно тут случился конфликт с Matite и его объекты почикали, убрав, в том числе, мост из GTA 3).
  • В связи с связи с несчастным поворотом событий, мы переиздаем клиент сампа 0.3с. Многие объекты на этапе разработки были удалены. Это обновление не обязательно, но оно важно для безопасности и работоспособности сервера. Новые объекты в обновлении удалены, но остальные функции, как автомобильные номера - остались. Объяснение: Разработчик, который создавал эти объекты, после выхода 0.3с покинул команду по непонятным причинам. У команды нету времени и ресурсов, для сотрудничества с людми, которые помогают проекту ради своей выгоды. По этому, было принято решение, просто удалить все доработки, созданные данным человеком, дабы они не привели к серьезным проблемам. Я прекрасно понимаю, что это вас разочарует. Мы тоже разочаровались в этом человеке, получается, мы зря потратили несколько недель, для создание и внедрение новых объектов. Но к сожалению мы не можем все узнать и за всем проследить. В постах пожалуйста не надо флудить и переходить на личности, не надо искать этого человека в реале, это всего лишь компьютерная игра.
  • This update was scrapped and the original 0.3c installer has been put back on the download page. If you have installed SA-MP 0.3c R2, please re-download the installer from the download page and re-install 0.3c. The problem that we had with the model files has been resolved. Everything is restored to how it was in the original release.
  • Проблему они решили и все восстановили так же как и в релизной версии. Тем, кто поставил Р2, нужно заново ставить релизную версию 0.3с.


2011/07/25 - SA-MP 0.3c R3

  • Fixes a denial of service vulnerability on SA-MP linux servers where a remote attacker could send a specially crafted packet which would trigger a debug assertion in SA-MP's networking layer; causing the server to shut down.

New pawn natives:

native GetPlayerCameraMode(playerid);

Returns the current GTA camera mode for the requested player. The camera modes are useful in determining whether a player is aiming, doing a passenger driveby etc.

native Float:GetPlayerDistanceFromPoint(playerid, Float:X, Float:Y, Float:Z);
native Float:GetVehicleDistanceFromPoint(vehicleid, Float:X, Float:Y, Float:Z);

The above functions can be used as fast alternatives to calculating distances in pawn. It is still preferable to use IsPlayerInRangeOfPoint() if you don't require the exact distance.

native GetPlayerSurfingObjectID(playerid);

GetPlayerSurfingObjectID is similar to GetPlayerSurfingVehicleID. If the player is standing on a global moving object, the ID of the object will be returned. If the player is not surfing a moving object, it will return INVALID_OBJECT_ID. New callback:

forward OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat);

This callback is called when a player updates the position of a vehicle they're not driving. This can happen outside of the vehicle or when the player is a passenger of a vehicle that has no driver.


2011/07/25 - SA-MP 0.3c R3-1 (сервер)

  • Small issue regarding space padding in the format() function.


2011/07/27 - SA-MP 0.3c R4 (сервер)

  • Another denial of service vulnerability was discovered after the 0.3c R3 server release and has been fixed in the 0.3c R4 server.
  • Fixes an issue with GetPlayerSurfingObjectID() returning the wrong object ID.
  • Fixes a few minor problems with the format() function in pawn.

New pawn natives:

native GetPlayerNetworkStats(playerid, retstr[], size);
native GetNetworkStats(retstr[], size);

The above functions return a string similar to the information seen in the player's F5 stats. It is the server's version of the network statistics which includes a list of things like network Packetloss, Upload/Download rates etc. This information might be useful in determining network problems for specific players, or for the entire server. If you are interested in these functions please see the netstats.pwn filterscript included with the Windows server package.


2011/07/28 - SA-MP 0.3c R5 (сервер)

  • The server crash vulnerabilities, described as resolved in the 0.3c R3/R4 server, were not completely fixed. We are making the 0.3c R5 server available. These server crash vulnerabilities only effect the Linux version of the SA-MP 0.3c server. Both Windows and Linux versions of the SA-MP server are being updated to 0.3c R5 for server version consistency.

0.3d

2011/09/12 - SA-MP 0.3d RC1

  • Поддержка SHOUTcast и Icecast (потоковое аудио).
  • Возможность юзать все звуки миссий из одиночной игры (ID > 2000) в функции PlayerPlaySound
  • С помощью RemoveBuildingForPlayer можно удалять объекты и здания с общей карты
  • Фикс бага прыгающего радара во время входа в транспорт, а также дерганья радара у пассажира двигающегося транспорта
  • Фикс багов синхры транспорта, где транспорт мог двигаться боком и появлялся в неожиданных местах
  • Фикс багов в синхре мотоциклов
  • Фикс бага с прикреплением при езде на крыше поездов
  • MAX_OBJECTS = 1000
  • MAX_PICKUPS = 4096
  • FPS клиента теперь = 50
  • Фикс бага анимации при выходе из транспорта
  • Фикс крэша игры при ходьбе по эскалатору
  • Сервер теперь показывает внутренний FPS в сетевой статистике
  • Фикс бага, где спавн мог быть прямо на крыше транспорта, в котором игрок умер
  • Удалена анимация PED FACTALK из списка, который юзает функция GetPlayerAnimationIndex
  • Фикс COL файла элеватора (лифта), который не позволяет выпрыгнуть из него, когда он двигается вниз

Функции:

native PlayAudioStreamForPlayer(playerid, url[], Float:posX = 0.0, Float:posY = 0.0, Float:posZ = 0.0, Float:distance = 50.0, usepos = 0);
native StopAudioStreamForPlayer(playerid);

PlayAudioStreamForPlayer используется для проигрывания потокового Интернет радио для выбранного игрока. Поддерживаются ogg/vorbis и MP3 потоки. Звук может быть привязан к самому игроку. Или к определенной позиции на карте и он будет слышен только на определенной дистанции, если указать параметр 'usepos' = 1.

Уровень громкости для аудио потоков регулируется самим игроком в настройках уровня звука для радио. Если убавить громкость на 0, то аудиопоток не пересылается от сервера к клиенту.

Если игроку нужно использовать прокси для доступа к какому-то потоку, то SA-MP будет юзать прокси, который указан в Windows настройках доступа в Интернет. Такое поведение можно отключить в настройках сервера, выставив audioproxyoff=1.

native RemoveBuildingForPlayer(playerid, modelid, Float:fX, Float:fY, Float:fZ, Float:fRadius);

RemoveBuildingForPlayer может удалять объекты и здания с общей карты для указанного игрока. Нужно всего лишь указать модель объекта, приблизительную позицию и радиус, в котором будут удалены объекты указанной модели. Вы можете указать огромный радиус, для удаления объектов с необходимым ID с карты.

native PlayerPlaySound(playerid, soundid, Float:x, Float:y, Float:z);

Теперь эта функция может проигрывать почти что все звуки, указанные в файле \data\AudioEvents.txt в папке с игрой.


2011/09/18 - SA-MP 0.3d RC2

  • Fixed problems with tow trucks losing their tow around other players.
  • Added DIALOG_STYLE_PASSWORD for ShowPlayerDialog() which shows a masked input box.
  • The audio stream will stop playing once the player is disconnected from the server.
  • Added /audiomsg command to disable audio stream URL messages in the chat.
  • Добавлен коллбэк OnPlayerTakeDamage, который вызывается когда игрок получает урон.
  • Исправлены проблемы с проигрыванием звуков функцией PlayerPlaySound выше 2000 ида.
  • Мастер сервер теперь отображает 0.3d серверы.
  • Добавлены некоторые новые объекты от cessil.
  • Замена двери тюремной камеры, замена SFPD интерьера.
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid);

Вызывается когда игрок playerid получает урон. Если игрок получает урон не от рук другого игрока, то issuerid == INVALID_PLAYER_ID. Float:amount - количество полученного урона. weaponid - ид оружия, которым был нанесён урон.


2011/09/30 - SA-MP 0.3d RC3 (клиент и сервер)

  • Some tweaks to the GTA:SA engine should result in increased FPS, smoother game-play, and less CPU usage for most players.
  • Added final rotation parameters for MoveObject() (as default parameters).
  • Added AttachObjectToObject() and object surfing on attached moving objects.
  • Added example scripts: cargo ship, pirate ship, ferris wheel, for MoveObject rotation and AttachObjectToObject.
  • Fixed buffer overflow in server config exec command described here: exploit-db.com/exploits/17893

As always, we recommend server owners never use config files or scripts from untrusted sources. Always edit your own config files and compile any pawn scripts your server uses from the .pwn file.
Important: The changes to MoveObject will not require you to change your script, however, all scripts that use MoveObject must be recompiled for SA-MP 0.3d.


2011/10/05 - SA-MP 0.3d RC3-2 (клиент)

  • Теперь аудио поток останавливается, когда начинает играть следующий поток.
  • Теперь при применении функции MoveObject() к объекту, который уже под действием этой функции, предыдущее действие не будет завершено, а объект начнёт своё движение с текущей позиции. Важно заметить, что эта фича, введённая в 0.3d RC3, нарушит действие ваших скриптов, в которых использовалась данная особенность.
  • Исправлен вылет, когда игрок находился на объекте и объект удалялся.
  • Исправлена проблема с игроками(их трясло и они съезжали), которые стояли на вращающихся объектах.
  • Исправлены баги с оружием, связанные с твиками движка GTA, в 0.3d RC3.


2011/10/08 - SA-MP 0.3d RC3-3 (клиент)

  • Исправлены проблемы со скоростью игры, которые были замечены у некоторых пользователей.
  • Добавлена поддержка многоядерности. В sa-mp.cfg добавлена настройка 'multicore'. Если поставить multicore=1 в sa-mp.cfg, GTA:SA будет использовать несколько ядер. Это опция включена по умолчаниюю
  • Удалён объект BigCesar (ID: 18846), потому что она, похоже, приводит к зависанию игры.

Важно: Для серверов, использующих SPECIAL_ACTION_USECELLPHONE. Это специальное действие больше не показывает телефон в руке (как и раньше удалили банку Sprunk из анимации автоматов). Это было сделано для того, чтобы можно было менять объект телефона (как вы помните, в 0.3c добавили несколько моделей мобильников, кроме того можно кастомные совать теперь, например, мод iPhone для сингла).

if(!strcmp(cmd, "/usecell",true) == 0)
{
	SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
	SetPlayerAttachedObject(playerid, 4, 330, 6); // 4 = слот, 330 = модель телефона, 6 = правая рука
	return 1;
}
if(!strcmp(cmd, "/stopcell", true))
{
	SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
	RemovePlayerAttachedObject(playerid, 4);
	return 1;
}

Добавленные объекты:

# Area 51 fencing as seperate objects
19312, a51fencing, a51fencing, 200, 2097156
19313, a51fensin, a51fencing, 200, 0
# Car bullhorns
19314, bullhorns01, bullhorns01, 100, 0
# Deer
19315, deer01, deer01, 100, 0
# Ferris wheel cage with no roof
19316, FerrisCageBit01, FerrisWheel, 200, 0
# Guitars
19317, bassguitar01, bassguitar01, 100, 0 // hello, REALman xD
19318, flyingv01, flyingv01, 100, 0
19319, warlock01, warlock01, 100, 0
# Pumpkin
19320, pumpkin01, pumpkin01, 100, 0


2011/10/09 - SA-MP 0.3d RC4 (клиент и сервер)

  • Слоты игроков больше не ограничены 20 (теперь как и раньше 500)
  • MoveObject will not interfere with rotation if the rotation parameters aren't used. It will also not interfere with SetObjectRot().
  • Fixed 2-sided texture problem on the Area 51 fence.


2011/10/10 - SA-MP 0.3d RC4-2 (клиент)

  • Исправлена проблема с Securom, возникавшая при запуске у некоторых пользователей.


2011/10/11 - SA-MP 0.3d RC5 (клиент и сервер)

  • Добавлен паблик OnPlayerGiveDamage, как противоположная функции OnPlayerTakeDamage. Она вызывается для игрока, который наносит повреждения другому игроку.
  • Улучшения для ускорения обработки стрельбы.
  • Исправлена команда SetPlayerTeam, которая могла рассинхронизировать игроков, позволяя игрокам одной команды наносить друг-другу урон.
  • Игроки нашли способ вырезать цветовые коды из чата. Эта проблема была решена в 0.3d.
  • Добавлены отсутствующие скины игроков. Спасибо IllidanS4 за предоставление идентификаторов (14 новых скинов, 1 из которых правда не работает).
forward OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid);

playerid - игрок, нанёсший урон; damagedid - игрок, которому нанесли урон; amount - количество нанесённого урона; weaponid - ид оружия.


2011/10/12 - SA-MP 0.3d RC5-2 (клиент)

  • Физика поведения игрока, стоя на транспорте и объекте теперь работает и для объектов, присоединённых к транспорту.
  • В клиенте изменена логика движения объекта.

Поведение функции MoveObject было некорректным, так как позиция объекта могла быть рассинхронизирована, но только тогда, когда игрок AFK (т.е. если во время движения игрок жал esc, то при выходе из него - объект продолжал двигаться, тогда как у других игроков он уже закончил движение). Если вы хотите использовать функцию MoveObject на уже движущемся объекте, и хотите, чтобы движение началось сразу же (с текущей позиции), то сначала вы должны использовать функцию StopObject. Если вы этого не сделаете, то последнее из движений объекта немедленно остановится, и объект начнёт движение из конечного положения, в котором должен был оказаться объект по завершению последней функции движения.


2011/10/15 - SA-MP 0.3d RC5-3 (клиент)

  • (В режиме тестирования) Теперь Вы можете использовать систему текстдравов SA-MP'а со специальным ID шрифта, который покажет на экране спрайты из синглплеера.
if(!strcmp(cmd, "/tdsprite",true))
{
	new Text:txtSprite1;
	txtSprite1 = TextDrawCreate(200.0, 220.0, "samaps:map"); // Text is txdfile:texture
	TextDrawFont(txtSprite1, 4); // Font ID 4 is the sprite draw font
	TextDrawColor(txtSprite1,0xFFFFFFFF);
	TextDrawTextSize(txtSprite1,200.0,200.0); // Text size is the Width:Height
	TextDrawShowForPlayer(playerid,txtSprite1);
	return 1;
}

Устанавливая ID шрифта 4 и синтаксисом txdfile:texture Вы можете выводить на экран текстуры из TXD. Возможные значения TXD-файла:

  • HUD: текстуры от HUD'а (hud.txd)
  • samaps: текстуры карты San Andreas из samaps.txd в папке SAMP в директории игры
  • Любой TXD файл или текстура из папки models/txd в директории с игрой GTA San Andreas.


2011/10/19 - SA-MP 0.3d RC6

  • Добавлены KEY_YES (Y), KEY_NO (N), KEY_CTRL_BACK (H) клавиши для GetPlayerKeys().
  • Увеличено MAX_PLAYER_ATTACHED_OBJECTS до 10.
  • TextDrawSetString() может быть использована для изменения созданных спрайтов.
  • Исправлена проблема, когда прикрепенные объекты продолжали движение после использования StopObject.
  • Исправлена проблема: некоторые игроки получали опыт при вкючении автомобильной сирены.
  • Не включается пауза, когда вы входите в меню.\
  • Игра не возвращается в меню, когда вы возвращаетесь из Alt-Tab.


2011/10/22 - SA-MP 0.3d RC6-2 (клиент)

  • Должно решить некоторые проблемы с новой технологией меню паузы, представленного в 0.3d RC6.
  • Ещё больше упрощена система включения мигалок, так как некоторые игроки жаловались на сложность сей операции.


2011/10/29 - SA-MP 0.3d RC7 (клиент и сервер)

  • Should fix chat rendering issues on notebooks with VIA/S3 graphics.
  • Added IsObjectMoving/IsPlayerObjectMoving pawn natives.
  • Corrects problem with using SetVehicleParamsEx in OnVehicleSpawn.
  • Fixed vanishing pickups in interiors.
  • Added GetPlayerTargetPlayer() pawn native, which gets the players current target player (think green arrow thing).
  • Fixed crash if you paused in debug/test mode.
  • You can now use the 'Test' mode of Jernej's map editor to spawn inside interiors (as long as you have the interior object selected).
  • Added latest objects from cessil:

- A replacement mesh for the Verona mall which contains enterable shop areas which you can add objects to. Please see the ls_mall.pwn FS for an example.
- A hot air balloon object with several colour variations.
- Fireman hats.

native GetPlayerTargetPlayer(playerid);

Get the player that the player is trying to target with aim [right click] button. Returns INVALID_PLAYER_ID if there is no target player.


2011/11/07 - SA-MP 0.3d RC8 (клиент и сервер)

  • Опция многоядерности включена по умолчанию.
  • Удалены неиспользуемые текстуры из samp.img.
  • Исправлен вылет игры связанный с превышением лимита объектов.
  • Исправлен работа TogglePlayerControllable, когда игрок находится в меню.
  • Исправлена синхронизация светофоров.
  • Обновлён экран списка разработчиков.
  • Обновлена версия NSIS (исправлены проблемы с UAC в Windows 7).


2011/11/11 - SA-MP 0.3d RC9 (клиент и сервер)

  • Добавлено событие OnPlayerClickMap.
  • Отключены функции AllowAdminTeleport and AllowPlayerTeleport.
  • Вы можете использовать ~k~константа клавиши для использования в сообщениях и 3D текстах.
  • Исправлена проблема с LOS в 3D текста игрока.
  • Исправлено падение клиента при посадке на несуществующее место в машине.
  • Исправлена проблема с мотоциклами/велосипедами появляющимися над землей.
  • Исправлена проблема с сервером, на Windows, когда в консоль вводится пустая команда.
forward OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ);

Вызывается когда игрок нажимает правой кнопкой на карту в меню игры. Всегда возвращается позиция X, Y позиция, на которой произошло нажатие и ориентировочную позицию землю. Пожалуйста, обратите внимание: так как игра не знает точное положение земли на карте, значение Z возвращается приблизительное. Возможно вам придется использовать плагин MapAndreas, чтобы получить более точное значение Z координаты.


2011/11/14 - SA-MP 0.3d RC9-2 (клиент)

  • Should fix problem with vehicles instantly stopping at the pause menu.
  • In some situations it was still possible to have overlapping audio streams.
  • Fixed problems with dialogs displaying during alt-tab and pause.
  • Should resolve remaining issues with motorbike/pushbike spawning above the ground.
  • Readded cPos/sPos to /dl.
  • Should resolve issue with snow object texture introduced in RC9.


2011/11/24 - SA-MP 0.3d RC9-3 (клиент)

  • Добавлен параметр "directmode" в sa-mp.cfg для игроков имеющих проблемы с отрисовкой чата.
  • Исправлена проблема когда игроки не возвращались в выбор скина при рестарте игрового режима.
  • Исправлена проблема падения клиента связанная с DestroyObject.
  • Исправлена проблема падения клиента связанная с отсоединением прицепа.

К сожалению внесенные ранее изменения с паузой должны быть отменены. На данном этапе это приводит к слишком большому количеству проблем и ошибок. Надеюсь этот функционал будет проверен и добавлен в будущих версиях SA-MP. Так же отменены изменения внесенные в TogglePlayerControllable.


2011/12/01 - SA-MP 0.3d (клиент и сервер)

  • Поддержка аудио-потоков.
  • Значительное улучшение игрового процесса.
  • Улучшенная синхронизация у автомобилей и мотоциклов.
  • Новые модели: воздушный шар и пожарные шапки.
  • Появилась возможность находиться во время движения на объектах и на объектах, которые прикреплены к авто.
  • Можно удалять объекты из одиночной игры.
  • Двигающиеся объекты движутся плавно.
  • Много новых функций и коллбэков для ваших серверов


2011/12/09 - SA-MP 0.3d R2 (клиент и сервер)

  • Исправлены общие падения клиента, связанные с превышением лимита объектов
  • После того, как слот игрока кикнут, сервер не мог правильно освободить слот. Слот не мог быть использован другими игроками. Это проблема была решена в сервере 0.3d R2.
  • SA-MP так же сделала возможность иметь 800 слотов для игроков. Не рекомендуется использовать 800 игровых слотов, если ваш сервер не требует этого, т.к. ваши скрипты должны быть перекомпилированы с MAX_PLAYERS 800, и может потребоваться обновление плагинов.

0.3e

2011/03/05 - SA-MP 0.3e RC1 (клиент и сервер)
SA-MP 0.3e is mainly a security update. Some new features and models are planned. More will be added during the RC period.

  • There are some minor security problems in the previous version which is resulting in servers being attacked with specially made tools. Resolving this issue requires both a client and server update.
  • Fixed a bug introduced in 0.3d where a player might be able to avoid death if they have a custom animation applied.
  • An issue setting the player colour of player IDs greater than 500 has been resolved.
  • An issue where a player might get kicked if the server used SpawnPlayer() has been fixed.
  • Fixed an issue with the server browser where it might crash if invalid data was returned by the server.

Although SA-MP 0.3e is mainly a security update, there are a few new features:

  • Added some new models models made by cessil including tophat, cane, several different wall sections.
  • Scripted dialogs now have a caption bar.
  • The server can get the exact revision of the client using GetPlayerVersion().
native GetPlayerVersion(playerid, const version[], len); // Returns the SA-MP client revision as reported by the player
  • A parameter has been added to SetPlayerCameraLookAt() so that the camera will move to the new position, rather than teleport.
#define CAMERA_CUT  2
#define CAMERA_MOVE 1
native SetPlayerCameraLookAt(playerid, Float:x, Float:y, Float:z, cut = CAMERA_CUT);
  • A new tool has been added to make it easier to find positions for player attached objects. This new tool can also be used on ordinary objects.

Note: The linux server will be available in later RC versions. Windows server have 20 slots.
Если Вам требуется сервер с количеством слотов больше 500 - пишите нам на e-mail: team@sa-mp.com и сообщайте ваш IP:порт. Если мы увидим, что Вы действительно нуждаетесь в этом - мы пошлём сборку сервера с большим кол-вом слотов.


2011/03/11 - SA-MP 0.3e RC2 (клиент и сервер)

  • Исправлен баг, когда игрок телепортировался на координаты 0, 0, 0, когда автомобиль, на котором он стоял респавнился или удалялся.
native AttachPlayerObjectToVehicle(playerid, objectid, vehicleid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:RotZ); // прицепляет объект игрока к транспорту
native InterpolateCameraPos(playerid, Float:FromX, Float:FromY, Float:FromZ, Float:ToX, Float:ToY, Float:ToZ, time, cut = CAMERA_CUT);
native InterpolateCameraLookAt(playerid, Float:FromX, Float:FromY, Float:FromZ, Float:ToX, Float:ToY, Float:ToZ, time, cut = CAMERA_CUT);
native AttachCameraToObject(playerid, objectid); // присоединяет камеру к объекту
native AttachCameraToPlayerObject(playerid, playerobjectid); // присоединяет камеру к объекту игрока


2011/03/13 - SA-MP 0.3e RC3 (клиент и сервер)

  • Исправлена проблема с аттачем объектов (уточните).
  • Приаттаченные объекты теперь удаляются после респавна или в момент перевыбора класса, а не когда игрок умирает (с анимацией смерти).
  • Добавлены новые объекты от cessil: ~40 новых стен с проёмами для дверей и окон, наручники, полицейские мигалки, лежачие полицейские и ещё несколько разноцветных наушников.


2011/03/20 - SA-MP 0.3e RC4 (клиент и сервер)

  • Должна быть исправлена ситуация, когда сбивался ID при удалении из игры взорванного транспорта.
  • Количество слотов игроков увеличено до 500.
  • Исправлен фильтр текстур на новых моделях.
  • Добавлен режим полёта камеры, проходящий через стены (пример в ФС).
  • Новые модели от cessil: более 40 стен, дорожные заграждения, вёдра, шарфы.
  • Добавлена версия для Linux.
  • Теперь сервер может позволить игроку кликать курсором мыши на текстдраве:
native TextDrawSetSelectable(Text:text, set); // по-умолчанию 0 (невыбраемый)
native SelectTextDraw(playerid, hovercolor); // позволяет игроку выбирать текстрав кликом курсора
native CancelSelectTextDraw(playerid);  // завершает процесс выбора позиции курсора на текстдраве
forward OnPlayerClickTextDraw(playerid, Text:clickedid); // игрок кликает на текстдрав

Интересное о SelectTextDraw():

  • Все кликабельные текстдравы должны иметь атрибут TextDrawTextSize для определения размеров кликабельного поля. Можно создавать текстдравы и без этой функции (видимо, кликабельными они не будут).
  • Вы должны (скорее, мы советуем) включить рамку ("бокс") текстдрава, чтобы Вы видели размеры кликабельного поля, когда создаёте слой (новый текстдрав). Вы можете отключить "бокс" после создания.


2011/03/20 - SA-MP 0.3e RC5 (клиент и сервер)

  • Исправлен баг, появившийся в версии 0.3e RC4, когда утонувший транспорт мог быть удалён у игрока клиентом. (на сервере авто оставалось, но в клиенте не синхронизировалось, мне кажется, это было ещё в 0.3d RC2)
  • Исправлена ситуация, когда текстдрав не менял цвет (который появился после наведения) после отключения режима кликабельности.
  • Обновлена безопасность в колбэке OnDialogResponse.
  • Исправлена проблема двусторонних текстур с моделью ведра.
  • Добавлена система текстдравов для игроков с лимитом в 256 штук. Теперь существует глобальный лимит (лимит для сервера) и лимит для игроков. Все основные функции текстдравов имеют вариант "для игрока":
native PlayerText:CreatePlayerTextDraw(playerid, Float:x, Float:y, text[]); // создаёт текстдрав для игрока
native PlayerTextDrawShow(playerid, PlayerText:text); // показывает персональный текстдрав игроку
native PlayerTextDrawHide(playerid, PlayerText:text); // скрывает персональный текстдрав у игрока
native PlayerTextDrawSetString(playerid, PlayerText:text, string[]); // меняет значение персонального текстдрава для игрока


2011/04/04 - SA-MP 0.3e RC6 (клиент и сервер)

  • Исправлен баг, приводивший к крашу в ситуации, когда удалялось авто в то время, когда водитель использовал режим камеры "смотреть назад".
  • Удалены иконки Pay'n'Spray.
  • Добавлена функция GetVehicleModelInfo() для получения некоторых параметров (например, размеры и т.д.).
  • Движения головы игрока теперь автоматически прекращаются, когда игрок входит в режим редактирования приаттаченных объектов.
  • Добавлены функции SetObjectMaterial() и SetPlayerObjectMaterial() с помощью которых Вы можете менять текстуры на моделях на другие, присутствующие в игре.
  • Новые объекты от cessil: таблички о продаже, противогаз, трава и стол для Покера.
  • Исправлен баг, когда замороженный игрок мог проигрывать анимацию на экранах других игроков (т.е. на его экране он стоит, хоть и жмёт клавишу "прыжок", а у других игроков - он прыгает на месте).


2011/04/21 - SA-MP 0.3e RC7 (клиент и сервер)

  • Добавлены функции SetObjectMaterialText и SetPlayerObjectMaterialText для нанесения надписей вместо текстуры.
  • Исправлен баг, когда случайные игроки могли спавниться с анимацией надетых наручников, если были AFK.
  • Проверка посадочного места в самолётах и лодках менее строгая.
  • Функция SetPlayerAttachedObject теперь имеет 2 дополнительных параметра, отвечающих за цвет материала. Все скрипты, в которых была использована эта команда должны быть перекомпилированы.
  • Цвета материалов теперь в формате ARGB.
  • Новые модели от cessil: Пустые квадраты (таблички) для создания своих надписей и знаков, некоторые замены построек и домов (теперь можно заменять стандартные "закрытые" дома "открытыми", ставив "внешний" дом и интерьер).


2011/04/21 - SA-MP 0.3e RC7

  • Исправлены некоторое проблемы с изменение материалов объекта, из-за которых материал мог меняться на всех объектах, имеющих такой же ID модели.


2011/04/29 - SA-MP 0.3e RC7-3

  • Исправлена проблема с неотображением текста материалов на некоторых цветах заднего фона.


2011/05/04 - SA-MP 0.3e RC8

  • Исправлена проблема клика текстдравов в оконном режиме. Подобные проблемы были и при редактировании приаттаченных объектов.
  • Более подробная информация теперь выводится в окне, сообщающем о крэше сервера на windows-платформе.
  • Состояние "заморозки" игрока больше не сохраняется после респавна.


2011/05/08 - SA-MP 0.3e

  • Many minor bug fixes including security updates.
  • Loads of new objects for mapping, including walls and houses.
  • Servers can now change the textures and colours of objects.
  • New scripting features for greater control over the game's camera.
  • New tools make it easier to edit attached objects.
  • New animation and model for being cuffed/arrested.
  • Text functions for creating custom signs.
  • Servers have the ability to enable the mouse cursor so you can click on images/text.

Thanks to all who tested 0.3e and provided feedback! Please check back again for the next SA-MP update.
For servers that require more than 500 player limit: Please e-mail team@sa-mp.com and provide your existing server IP:Port. You will need to prove you require more than 500 player slots to be sent a larger server.


2012/07/13 - SA-MP 0.3e R2 (сервер) Это обновление только для владельцев серверов. Мы выпускаем обновления для SA-MP 0.3e с целью решить некоторые незначительные проблемы. Если вы обновляете существующий сервер 0.3е: необходимо заменить всего один файл 'samp03svr' для Linux'а или 'samp-server.exe' для Windows на файл из архива с сервером 0.3e-R2. В этом обновлении участвует и файл, отвечающий за подключение NPC. Если вы используете их на своём сервере - обновите и его.

  • Обновлена безопасность подключений.
  • Добавлен параметр 'chatlogging' в конфигурационный файл сервера для отключения записи игрового чата в файл лога сервера. Добавьте 'chatlogging 0' в server.cfg для отключения логирования сообщений игроков. (В любом случае, логирование можно производить с помощью ваших скриптов).

0.3x

_______ - SA-MP 0.3x RC1

  • Добавлен новый шрифт для Текстдравов, с помощью которого можно создавать 2D модели в игре. Можно указать угол вращения и мастшаб моделей.
TextDrawFont(playerid, txtSprite, TEXT_DRAW_FONT_MODEL_PREVIEW);
native TextDrawSetPreviewModel(Text:text, modelindex);
native TextDrawSetPreviewRot(Text:text, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fZoom = 1.0);

Примеры данных скриптов идут в комплекте с ОС Windows Server.

  • Увеличенние расстояние прорисовки объектов. Теперь вы можете установить расстояние прорисовки объекта, что позволяет обеспечить более плавную прорисовку объекта на стороне клиента.

Примечание: Все вышеперечисленные новвоведения являются экспериментальными. Если у вас возникают проблемы с использованием большого расстояния для прорисовки объекта, рекомендуется снизить это расстояние.
Исправления: 0.3x содержит некоторые важные изменения сетевого кода, включающие общие обновления безопасности и устранение потенциальных атак, вызывающие отказ работы серверов.

  • Проблема в низком уровне сетевого кода была решена. Уменьшено количество пакетов, отсылаемых от клиента к серверу и наоборот.
  • Была решена проблема, вызываемая, когда игрок отправлял команду 0-ой длинны.
  • Было добавлено ограничение игроку на получение информации о сервере.
  • %x в format() больше не будет интерпретировать большие числа.


2013/01/10 - SA-MP 0.3x RC1-2 (клиент) - На некоторых видеокартах превью модели автомобилей отображаются некорректно. - Стример не всегда освобождал память при использовании превью модели для скинов.


2013/01/13 - SA-MP 0.3x RC1-3 (клиент)

  • Возникла проблема с некоторыми объектами, они исчезали перед камерой. Это было исправлено в RC1-3.
  • Если на сервере используется система разделения на команды, в дальнейшем не будет наноситься ущерб транспорту членов твоей команды.
  • Автомобиль цвета 128-255 были заменены на более экзотические цвета. Некоторые цвета в этой области были доступны, но большинство из них не отличались. Весь набор цветов был полностью переделан.
  • При использовании EditObject(), случайно мог быть активирован режим масштабирования, и вы не могли сохраниться.


2013/01/14 - SA-MP 0.3x RC1-3-1 (клиент)

  • Исправлены некоторые крэши из-за взрыва машин.


2013/01/18 - SA-MP 0.3x RC2

  • Функция EnableVehicleFriendlyFire() которая разрешает стрельбу по машинам своей команды. Некоторым серверам нужен "дружественный огонь" по своим игрокам, но не по машинам.
  • Добавлено новая специальная анимация SPECIAL_ACTION_CARRY для анимации ношения груза.
  • В 0.3x, последний параметр OnVehicleDeath (killerid) передаёт ид игрока, который отправил инфу о смерти машины. Хотя, это должно было быть изменено в определённый момент, однако, ради поддержки старых скриптов название не будет изменено.
  • Некоторые проверки, добавлены для проверки валидности смерти машины
  • Должны быть решены все оставшиеся проблемы с пропажей объектов с определённым углом камеры, если объекты используют высокую дальность прорисовки


2013/01/20? - SA-MP 0.3x RC2-2 (клиент)

  • Исправлены проблемы, приводящие к крэшу клиента при увеличении расстояния прорисовки.


2013/01/21? - SA-MP 0.3x RC2-2-2 (клиент)

  • Исправлены проблемы при смене цвета материала объекта, включая свечение и крэши.


2013/01/22 - SA-MP 0.3x RC2-3 (клиент)

  • Исправлены ещё некоторые проблемы со сменой материалов объекта. Были проблемы с освещением и обратной стороной объекта.


2013/01/24 - SA-MP 0.3x RC2-4 (клиент)

  • Исправлена проблема с "плавающими приаттачеными объектами". Приаттаченые объекты иногда становились плавающими, не связанными ни с одним игроком.
  • Добавлен префикс к нику, который отображает alt-tab/paused состояние игрока. Используйте клиентскую команду /nametagstatus для включения или выключения отображения.
  • Добавлены объекты некоторых модифицированных волос и шляп.


2013/01/30 - SA-MP 0.3x RC3 (клиент и сервер)

  • Заключительные исправления сетевого кода перед релизом.
  • Исправлена функция Kick(), которая не всегда уведомляла игрока о том, что он был кикнут.


2013/01/31 - SA-MP 0.3x

  • A new model preview system allows servers to show images of player skins, vehicles, and object models (including weapons) on-screen.
  • The draw distance of objects can be set to any distance (with CreateObject), which can be used to reduce pop-in in custom areas.
  • Improvements to object and material colour changing.
  • A better synced animation for players carrying objects (SPECIAL_ACTION_CARRY).
  • Vehicle friendly fire system for servers that use teams (EnableVehicleFriendlyFire).
  • Some new hat and hair objects added.
  • Many important changes to SA-MP's networking system which reduces network overhead and improves security for server owners.
  • An hourglass icon will now appear beside paused players' nametags (can be toggled with /nametagstatus).
  • Car colours 128-255 have been replaced with some more exotic colours. Some colours in this range were previously usable, but most were the same colour and not synced. The entire colour set has been revamped.


2013/01/31 - SA-MP 0.3x R1 (клиент)

  • Основываясь на репортах, изменения, которые были сделаны с GTA:SA streaming memory с 0.3x RC2 были удалены. Клиент SA-MP будет продолжать использовать 128MB streaming memory, как было с времён SA-MP 0.2.


2013/02/18 - SA-MP 0.3x R1-2 (клиент и сервер)

  • Исправлено: браузер серверов чрезмерно нагружает процессор при загрузке списка серверов.
  • Исправлено: Если иконку песочных часов не удалось загрузить, это приводило к вылету при использовании Alt-Tab.
  • Исправлено: освещение объекта будет отключено когда были несущественные изменения материалов но не менялся цвет.
  • Клиенты не увидят предупреждения "Недопустимое имя".


2013/09/13 - SA-MP 0.3x R2

  • Исправлена ошибка, атаки сетевого уровня - что могло производить отключения сервера.
  • Исправлена ошибка, неверных данных камеры - что могло производить сбой gta_sa.exe у других игроков.


2014/01/04 - SA-MP 0.3x R2 Pre-release 1 (клиент) An SA-MP client update (0.3x-R2) will soon be available to address some security issues. It is being released in this section temporarily for testing. SA-MP 0.3x-R2 client update An exploitable vector exists in client portion of SA-MP's TextDraw system. A malicious server owner might be able to execute arbitrary code on the SA-MP client by sending a specially crafted string. This is normally only a problem if you join untrustworthy servers. So far we haven't seen any servers using the exploit against their players. It's still highly recommended that everyone update to this new client once it is released.

  • Fixes buffer overflow in client portion of the TextDraw system.
  • Fixes the game's improper handling of '~' format codes in TextDraws.
  • Fixes for mouse control being lost when going between SA-MP and the GTA:SA (Esc) menu.
  • Fixes the server browser's improper handling of malformed data from the server. This pre-release client is being made available to test the fixes to the mouse control. On many systems, the mouse control will be lost when you enter the GTA:SA menu, and mouse control over the game will also be lost when you return from the menu. Many people have solved this problem using the 'mousefix.asi' addon, although this should no longer be needed. Please report if you experience any problems with the new update.


2014/01/04 - SA-MP 0.3x R2 Pre-release 2 (клиент)

  • Fixes 'Range Check' error in server browser.
  • Various TextDraw format code fixes.


2014/01/07 - SA-MP 0.3x R2 Patch 1 (клиент) "Сегодня сообщество sa-mp столкнулось с очередной проблемой глобального характера. В сети опять появился эксплоит, использующий дыру в сетевом механизме samp сервера. Злоумышленники могут положить любой сервер. На данный момент недоступны большинство крупных проектов. Будем надеяться, что в скором времени появится способ защищиться от атаки. Скорее всего sa-mp team вновь выпустит новую версию сервера с заплаткой. Подобное уже случалось 13 сентября 2013 года. Сейчас наш сервер будет закрыт на техработы до решения проблемы. Ожидаем новой версии сервера, или способа защититься от атаки на старой версии. В прошлый раз разработчикам samp потребовалось около 9 часов. Будем надеяться, что и в этот раз ответ на эту проблему не заставит себя долго ждать."


_______ - SA-MP 0.3x R2-1 Владельцы крупных мировых проектов сегодня были подвергнуты атакам пакетами .Злоумышленники использовали специализированные инструменты и специально разработанные пакеты для атаки серверов SA-MP. Мы выяснили IP адреса, участвовавших в нападениях, и намерены подать официальную жалобу Интернет-Провайдерам, от куда произошла атака. Из-за характера нападения, для этого может потребоваться несколько обновлений, чтобы полностью устранить этот дефект. Мы выпускаем экстренный патч для серверов 0.3x-R2. В скором времени ожидайте новые патчи.


_______ - SA-MP 0.3x R2-1

  • Исправлено переполнение буфера в клиентской части из-за системы TextDraw
  • Исправлена неправильная постановка цветов в TextDraw'ах с '~' ( в форматировании )
  • Исправлено потеря управления мышью при переходе в меню игры (Esc)
  • Исправлена неправильная обработка браузера сервера от некорректных данных с сервера
  • Исправлена ошибка с диапазоном проверки в браузере сервера
  • Исправлены различные коды в формате TextDraw

0.3z

2014/01/16 - SA-MP 0.3z RC1 (клиент и сервер)

  • Обновлена синхронизация патронов. Выстрелы в игроков теперь синхронизированы, не нужно пытаться стрелять рядом со скином. Теперь сервер может предоставить полную информацию по попаданиям пуль в игрока, машину или объект.
#define BULLET_HIT_TYPE_NONE 0
#define BULLET_HIT_TYPE_PLAYER 1
#define BULLET_HIT_TYPE_VEHICLE 2
#define BULLET_HIT_TYPE_OBJECT 3
forward OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ); // The give/take damage callbacks now contain the body part hit ID. If your script uses these callbacks, you will need to update the definition in your script.
  • Колбэки OnPlayerGive/TakeDamage теперь содержат параметр, возвращающий часть тела, в которую попала пуля. Внимание! Нужно обновить данные колбэки.
forward OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart);
forward OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart);
  • Разное - Сетевая настройка для server.cfg 'messageholelimit' была добавлена для борьбы с DoS атаками.
  • Игровой режим The Rivershell обновлен до второй версии.


2014/01/__ - SA-MP 0.3z RC2 (клиент и сервер)

  • Удалено авто-наведение у игровых джойстиков.
  • Добавлено BULLET_HIT_TYPE_PLAYER_OBJECT 4
  • Исправлены баги с отображением дыма от оружия.


2014/01/22 - SA-MP 0.3z RC3 (клиент и сервер)

  • Исправлено: Геймпад все еще поддерживал авто-прицеливание.
  • Исправлено: Пули снайперской винтовки не обрабатывались за пределами земли San Andreas.
  • Добавлены дополнительные данные сервера, чтобы видеть попытки игроков повредить данные сервера.
  • Добавлена функция языка pawn VectorSize.


2014/01/27 - SA-MP 0.3z RC4 (клиент и сервер)

  • Исправлена проблема потерь пуль выстреленных на длинную дистанцию.
  • Добавлена проверка LOS именных тегов сквозь объекты.
  • OnPlayerGiveDamage срабатывает при выстрелах в ботов NPС.
  • Добавлена функция GetPlayerLastShotVectors для получения расширенной информации о выстрелах.
  • Добавлен режим наследие для стрельбы дробью (shotcompmode 2 настройка server.cfg), который использует только камеру для прицеливания.
  • Исправлено: игроки не могли получить урон во время езды на машине сверху (серфинг).
  • Добавлено несколько функций для получения расширенной информации о камере игрока, как соотношение сторон и уровню масштабирования (для снайперских винтовок).
  • Добавлены функции для расширенного получения статистики соединения игрока без разделения строки полной информации.
native GetPlayerLastShotVectors(playerid, &Float:fOriginX, &Float:fOriginY, &Float:fOriginZ, &Float:fHitPosX, &Float:fHitPosY, &Float:fHitPosZ); // находит вектор последнего выстрела
native Float:GetPlayerCameraAspectRatio(playerid); // Определяет соотношение сторон камеры игрока (Находит разрешение окна игрока?)
native Float:GetPlayerCameraZoom(playerid); // Находит степень увеличения прицела (для снайперских винтовок)
// Функции расширенной информации о подключении игрока к серверу
native NetStats_GetConnectedTime(playerid); // Время подключения игрока к серверу
native NetStats_MessagesReceived(playerid); // Получено данных (штук)
native NetStats_BytesReceived(playerid); // Получено данных (байтов)
native NetStats_MessagesSent(playerid); // Отправлено данных (штук)
native NetStats_BytesSent(playerid); // Отправлено данных (байтов)
native NetStats_MessagesRecvPerSecond(playerid); // Количество полученных сообщений в секунду
native Float:NetStats_PacketLossPercent(playerid); // Количество потерянных пакетов
native NetStats_ConnectionStatus(playerid); // Статус подключения
native NetStats_GetIpPort(playerid, ip_port[], ip_port_len); // Получить Порт подключения


2014/02/11 - SA-MP 0.3z RC5 (клиент и сервер)

  • Исправлена ошибка при поиске сервера по не правильному порту (например 77777)
  • Небольшая оптимизация клиента должна повысить производительность.
  • Исправлена ​​проблема, когда PVars не были доступны в OnPlayerDisconnect во время перезапуска сервера.
  • Добавлена функция PAWN GetServerTickRate(), которая возвращает текущую частоту обновления сервера (аналог FPS).
  • Исправлена проблема с 3DText/NameTag LoS проверкой на серверных объектах.
  • Изменение параметров колбэка OnUnoccupiedVehicleUpdate. В предыдущих версиях клиент отправлял информацию о машинах, в которых игрок ещё не садился после их респавна, но сервер не имел возможности изменить эту информацию. Но теперь сервер будет получать бОльшую информацию, вплоть до изменения позиции машины без сидящего в ней игрока. Новые параметры описывают расширенную информацию о местоположении машины. Чтобы отменить получение информации о машине достаточно в колбеке установить return 0. Все скрипты, которые используют OnUnoccupiedVehicleUpdate должны быть обновлены и перекомпилированы для 0.3z
forward OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat, Float:new_x, Float:new_y, Float:new_z);
  • Опция для server.cfg 'lagcompmode' заменила 'shotcompmode', которая используюется для компенсации задержки в будущих версиях SA-MP.

lagcompmode 0 - Компенсация задержек выключена
lagcompmode 1 - (По умолчанию) Компенсация задержек включена
lagcompmode 2 - Компенсация задержек включена, но только для местоположения объектов, игроков, машин и т.п.

  • Браузер серверов теперь показывает настройку 'lagcomp' в поле правил.
  • Если компенсация лагов отключена, то режим стрельбы будет таким же как в предыдущих версиях SA-MP (OnPlayerWeaponShot не будет вызываться и т.д).


2014/02/13 - SA-MP 0.3z

  • Shots fired by players are now lag compensated, meaning you can aim at the skin instead of lead aiming.
  • The auto-aim/lock on feature for joypad users is now disabled.
  • Fixed problem where long distance shots might go missing.
  • Nametags can no longer be seen through server-created objects.
  • Fixed: players could not be shot while surfing a vehicle.
  • New callback OnPlayerWeaponShot.
  • 'bodypart' parameter added to OnPlayerGiveDamage and OnPlayerTakeDamage.
  • VectorSize function added.
  • A network level setting for server.cfg 'messageholelimit' has been added to deal with DoS attacks.
  • The Rivershell gamemode has been updated to version 2.
  • OnPlayerGiveDamage is now called for NPCs.
  • Added GetPlayerLastShotVectors for extended information on bullet shots.
  • Added legacy mode for shot firing (shotcompmode 2 server.cfg setting) which uses only the camera for aiming and allows joypad auto-aiming.
  • Added some extended player camera information like aspect ratio and zoom level.
  • Extended 'netstats' functions so the script can get lower-level network information without having to parse the stats string from GetPlayerNetworkStats.
  • OnUnoccupiedVehicleUpdate is now provided with new vehicle coordinates for the update, which can be prevented by returning 0.


2014/02/19 - SA-MP 0.3z R1-2 (сервер)

  • Исправление: текущий ID оружия игрока неправильно определялся (GetPlayerWeapon) в состоянии пассажира.


2014/04/14 - SA-MP 0.3z R2 (сервер)

  • Fix: Specially crafted tools could attack the server's lower level networking layer, causing the server to hang and drop players.


2014/04/24 - SA-MP 0.3z R2-1 (сервер)

  • Спец софт может атаковать низкоуровневый слой сети сервера, что приводило к краху сервера и вылету игроков


2014/04/12 - SA-MP 0.3z R2-2 (сервер)

  • This update is for servers only. The client is still 0.3z R1.
  • Functions BlockIpAddress and UnBlockIpAddress added.
  • SendDeathMessageToPlayer added.
  • CreateExplosionForPlayer added.
  • New callback OnIncomingConnection.
  • The default 'ackslimit' is raised from 1000 to 3000.
native BlockIpAddress(ip_address[], timems); // blocks an IP address from further communication (wildcards allowed)
native UnBlockIpAddress(ip_address[]); // IP unblock
native SendDeathMessageToPlayer(playerid, killer, killee, weapon); 
native CreateExplosionForPlayer(playerid, Float:X, Float:Y, Float:Z, type, Float:Radius);

2014/07/05 - SA-MP 0.3z R3 (сервер)

  • Исправлено: Падение сервера при использовании (GetPlayerNetworkStats, NetStats_*).
  • Исправлено: Проблема неизвестных IDs пакетов отправленных с ложного клиента, что приводило к заполнению памяти.
  • Добавлено: 'minconnectiontime (время в милисекндах)' время, за которое сервер принимает коннект от новых игроков.

Пример: minconnectiontime 1000, сервер принимает конекты каждую секунду.Если сервер не приймет конект, то он будет игнорирован. Не рекомендуется использовать при большом количестве подключений.


2014/09/19 - SA-MP 0.3z R4 (сервер)
Мы получили множество сообщений от игроков о том, что неплохо было бы контролировать трейлеры не только присоединённые, но и отсоединённые.

  • Добавлена проверка корректности обновления информации о трейлерах на сервере.
  • Новый колбэк позволяет узнать ID игрока, который совершает "влияние" на трейлер.
public OnTrailerUpdate(playerid, vehicleid); // playerid - игрок, который "обновил" состояние трейлера, vehicleid - ID трейлера, состояние которого было "обновлено". // Возврат 0 в этом колбэке остановит синхронизацию с другими игроками. Позиция по-прежнему будет обновляться внутри сервера.
  • Обновлено событие OnUnoccupiedVehicleUpdate - добавлены параметры ускорений по осям.
OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat, Float:new_x, Float:new_y, Float:new_z, Float:vel_x, Float:vel_y, Float:vel_z);
  • Удалены тестовые дебаг-сообщения HTTP, оставшиеся в 0.3z-R3.


2014/11/03 - SA-MP 0.3z R2 (клиент)

  • Fixes player health bar rendering on Intel graphics chips.
  • Fixes a potential client freeze/hang if a remote player shot themselves.

0.3.7

2015/01/25 - SA-MP 0.3.7 RC1

  • Добавлена возможность изменить UI шрифт, размера шрифта, насыщенность шрифта. UI размер шрифта может быть измененом с помошью команды клиента/fontsize. Доступные размеры шрифта от -3 до 5. Хотя это оффициально не поддерживается, но параметры шрифта могут быть изменены в файле sa-mp.cfg:
fontface="Comic Sans MS"
fontweight=1

Поддерживаемая насыщенность шрифта - 0 = жирный (По умолчанию) и 1 = Нормальный.

  • Теперь клиент SA-MP динамически выбирает используемое количество памяти доступное для игры GTA:SA. Численное значение используемой памяти можно посмотреть в меню F5.
  • Добавлено больше 240 объектов от Matite.
  • Добавлены скрипты-примеры, которые показывают новые объекты/возможности SA-MP: including stunt_island.pwn, modular_island.pwn, ls_beachside.pwn и т.д.
  • Добавлены анимации рыбака, и примеры использования анимаций.
  • Функция SelectObject() может выбирать любые объекты.
  • Статистическая таблица (TAB) будет больше при разрешении более 800x600.
  • Добавлены проверки на не правильные значения/направления движения мотоцикла, скорости поезда, направления прицеливания, параметры пуль.
  • Добавлена функция DisableRemoteVehicleCollisions() которая отключает возможность повреждения машины, которой управляет игрок.
  • Исправлен "Тест" редактор режима времени/погоды. Вы можете изменить время/погоду командами /set_time и /set_weather.
  • По умолчанию дальность прорисовки объектов в "тест" редакторе - 599.0.
  • Удалены колыхания камеры.
  • Добавлена хранение cookie-данных, чтобы предотвратить флуд подключений.
  • Синхронизация ID оружия с информацией о выстреле означает, что теперь не возможна рас синхронизация выстрела/оружия в колбэке OnPlayerWeaponShot.
  • Исправлена проблема столкновения камеры, когда к авто прикреплены объекты.
  • Исправления освещение/время дня при использовании отображения объекта более 300.0.
  • Исправления UV анимации на объектах при отображении более 300.0.
  • Стабилизирована работа камеры игрока на объектах и транспортных средствах за пределами карты GTA:SA.
  • Добавлены разлиные погоды в зонах Verona mall, LS BeachSide, LS Apartment Building, LS Office Floors в файле SAMP/samp.ipl.
  • Исправлены проблемы в RakNet, из-за которых нельзя было пользоваться функциями NetStats_*, если игрок не был полностью подключен.
  • Добавлены функции: GetObjectModel(), GetPlayerObjectModel().
  • Добавлены функции: GetPlayerCameraTargetObject(playerid), GetPlayerCameraTargetVehicle(playerid), GetPlayerCameraTargetPlayer(playerid) для нахождения объекта, машины, игрока, на которого игрок смотрит.
  • Теперь синхронизация угла поворота авто должна быть лучше.
DisableRemoteVehicleCollisions(playerid, disable) // Отключение возможности повреждения авто, когда им управляет игрок

Параметры: playerid - ID игрока, которому хотите отключить возможность столкновения disable - 1 - включено/0 - отключено

GetObjectModel(objectid) // Возвращает ID модели объекта.

Параметры: objectid - ID объекта, у которого хотите узнать ID модели.

GetPlayerObjectModel(objectid) // Возвращает ID модели объекта.

Параметры: objectid - ID объекта игрока, у которого хотите узнать ID модели.

GetPlayerCameraTargetObject(playerid) // Узнает ID объекта, на который смотрит игрок

Параметры: playerid - ID игрока

GetPlayerCameraTargetPlayer(playerid) // Узнает ID игрока, на который смотрит игрок

Параметры: playerid - ID игрока

GetPlayerCameraTargetVehicle(playerid) // Узнает ID машины, на который смотрит игрок

Параметры: playerid - ID игрока


2015/03/01 - SA-MP 0.3.7 RC2

  • Несколько людей обратились с тем, что размер шрифта текста по умолчанию не такой как в предыдущих версиях SA-MP. Размеры шрифтов по умолчанию взяты из предыдущих версий SA-MP.
  • Исправлены проблемы камеры при сталкивании с объектами (некоторых вопросов все равно остается много).
  • Другие изменения в ориентации камеры должны улучшить управление ею.
  • Добавлена клиентская команда /ctd которая игрок мог отладить камеру.
  • DisableRemoteVehicleCollisions() теперь работает и для лодок.
  • Нет больше камеры столкновений машин если включен DisableRemoteVehicleCollisions().
  • Добавлена функция EnablePlayerCameraTarget(). Функции камеры, добавленные в 0.3.7-RC1 будут отключены по умолчанию, т.к. оно использует лишний трафик, поэтому когда нужны новые функции камеры добавьте EnablePlayerCameraTarget(). * Добавлены функции SetObjectNoCameraCol()/SetPlayerObjectNoCameraCol() которые отключают столкновения камеры на выбранных объектах.
  • Добавлены функции GetPlayerPoolSize()/GetVehiclePoolSize() которые возвращает последний ID игрока/машины
  • Увеличено максимальное количество игроков до 1000. Если у вас в скрипте завязано на MAX_PLAYERS, то вы должны обновить данные константы. Или еще лучше использовать функции GetPlayerPoolSize()/GetVehiclePoolSize().
// Старый код
for(new x=0; x < MAX_PLAYERS; x++)
{
	if(IsPlayerConnected(x))
	{
		// делать что-то игроку с id = x
	}
}
// новый код
for(new x=0,HighestPlayerId = GetPlayerPoolSize(); x <= HighestPlayerId; x++) // (ЗАМЕТЬТЕ, ЧТО ВМЕСТО < НАДО ИСПОЛЬЗОВАТЬ <=)
{
	if(IsPlayerConnected(x))
	{
		// делать что-то игроку с id = x
	}
}
  • Птицы теперь не будут летать сквозь объекты.
  • Исправлена проблема при которой игрок переставал двигаться при использовании SelectObject() через диалоги.
  • Объекты с большим расстоянием прорисовки теперь поддерживают альфа-сортировку(?).
  • Исправлен браузер серверов, где один сервер мог маскироваться под другой сервер.
  • Добавлено больше 90 объектов от Matite. Здание LS BeachSide и здание LS apartment теперь имеют подземную парковку.


2015/03/25 - SA-MP 0.3.7 RC3

  • Исправление окна чата 'directmode', при которой была проблема с изменением размера шрифта.
  • Используемая вся свободная оперативная память, доступная системе.
  • Теперь можно пролистывать колесиком мышки пункты в диалоге.
  • Добавлен интервал между текстом и кнопками в диалоге.
  • Добавлены новые типы диалога DIALOG_TYPE_TABLIST и DIALOG_TYPE_TABLIST_HEADERS с помощью которых можно сделать колонки в диалогах (смотрите пример в test_cmd.pwn или командами /testtablist и /testtablistheaders). Можно сделать до 4 колонок с 128 символами в колонке и 256 символами в строке.
  • Добавлено 140 новых объектов от Matite. Примеры некоторых объектов можно посмотреть в скриптах.
  • 12 скинов были изменены и добавлены (skin ID 300-311). Скины все еще в процессе доработки, поэтому изменить их пока нельзя до финального выхода 0.3.7


2015/03/29 - SA-MP 0.3.7 RC3-2 (клиент)

  • Выбранный пункт из таблиц в диалогах не сбрасывался при показе нового диалога.
  • Исправлен расчет ширины диалога, при которой текст мог обрезаться.


2015/03/29 - SA-MP 0.3.7 RC3-3 (клиент)

  • Исправлено: добавленные скины в РК3 не показывались в предпросмотре(model previews).
  • Поправке в порядке работы камеры при прклепленных объектоах к машине.
  • После респауна игрок сохранит анимации бега CJ.
  • Пересмотрен расчет ширины диалога.


2015/04/18 - SA-MP 0.3.7 RC4 (клиент)

  • Исправлена "утечка памяти" при загрузке текструр, заменяющие текстуры объектов.
  • Исправлена рассинхронизация ID оружия\патронов после замены оружия у игрока (aka spraybug).
  • Добавлена возможность включения сирены на всех машинах. Для этого добавлен новый параметр в конце CreateVehicle / AddStaticVehicleEx, который позволяет включать сирену вместо стандартного сигнала.
native CreateVehicle(vehicletype, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawndelay, addsiren=0);
native AddStaticVehicleEx(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, color1, color2, respawn_delay, addsiren=0);
forward OnVehicleSirenStateChange(playerid, vehicleid, newstate);
native GetVehicleParamsSirenState(vehicleid);
  • Добавлена возможность изменения статуса каждой двери (открыто/закрыто).
native SetVehicleParamsCarDoors(vehicleid, driver, passenger, backleft, backright);
native GetVehicleParamsCarDoors(vehicleid, &driver, &passenger, &backleft, &backright);
  • Добавлены функции для управления положения окон авто:
native SetVehicleParamsCarWindows(vehicleid, driver, passenger, backleft, backright);

Параметры: vehicleid - ID машины driver - водительское окно (1 закрыто\0-открыто) passenger - передний пассажир окно (1 закрыто\0-открыто) backleft - задний левый пассажир окно (1 закрыто\0-открыто) backright - задний правый пассажир окно (1 закрыто\0-открыто)

native GetVehicleParamsCarWindows(vehicleid, &driver, &passenger, &backleft, &backright); // узнает стату окон

Параметры: vehicleid - ID машины driver - водительское окно passenger - передний пассажир окно backleft - задний левый пассажир окно backright - задний правый пассажир окно

  • Исправлены проблемы с анимациями SPECIAL_ACTION_CUFFED: Были проблемы с анимациями на некоторых скинах и руки в наручниках проходили сквозь объекты. Добавили новую модель наручников (11749), как те что в игре в начальном ролике. * Курсор мыши теперь отключен когда окно gta:sa активно.
  • Здание The LS BeachSide заменено на одно из стандартных SA-MP аналогичное зданию the LS Office Floors. Это сделано потому что работает с игрой лучше с текущими LODs и отсутствуют проблемы со столкновениями камеры.
  • Добавлено 61 новых объектов от Matite


2015/04/20 - SA-MP 0.3.7 RC4-2 (сервер)

  • Статус сирены не обновлялся в колбэке OnVehicleSirenStateChange
  • Параметры в функциях CreateVehicle/AddStaticVehicleEx в скриптах не была приоритетно обновлена в 0.3.7.
  • В скрипте beachside.pwn удалены лампы в здании. Это было необходимо для лучшего отображения интерьера.


2015/04/23 - SA-MP 0.3.7 RC4-2 (клиент)

  • Некоторым игрокам не не понравилось новое положение лога убийств, поэтому вернули его на старое место как в 0.3z.
  • Несколько проблема с отображением текста в логе убийств.


2015/04/26 - SA-MP 0.3.7 RC5 (клиент и сервер)

  • Исправлена проблема загрузкой текстур из txd-файла, которую заметили в RC4, при которой многие объекты карты становились просто белыми если текстдрав txd-текстуру загрузили и выгрузили.
  • Обновление сестемы cookie: добавлена серверная переменная "connseedtime", чтобы узнать как часто обновляется значение соединения куки.
  • Добавлена функция native SetObjectsDefaultCameraCol(disable); которая регулирует столкновения камеры с вновь созданными объектами.
  • Добавлен серверный параметр "language (string)", которая заменила колонку "Map" в браузере клиента SA-MP. Изменить этот параметр может тольбко владелец сервера. "mapname" теперь будет находиться в списке правил


2015/04/27 - SA-MP 0.3.7 RC6 (клиент и сервер)

  • Добавлена простая система ботов. Бывают случаи, когда необходимо добавить простого бота не создавая NPC-бота и не занимая слота игрока. Эта система добавлена специально для этих случаев.

Функции a_actor.inc:

CreateActor(modelid, Float:X, Float:Y, Float:Z, Float:Rotation);
DestroyActor(actorid);
IsActorStreamedIn(actorid, forplayerid);
SetActorVirtualWorld(actorid, vworld);
GetActorVirtualWorld(actorid);
ApplyActorAnimation(actorid, animlib[], animname[], Float:fDelta, loop, lockx, locky, freeze, time);
ClearActorAnimations(actorid);
SetActorPos(actorid, Float:X, Float:Y, Float:Z);
GetActorPos(actorid, &Float:X, &Float:Y, &Float:Z);
SetActorFacingAngle(actorid, Float:ang);
GetActorFacingAngle(actorid, &Float:ang);
  • Исправлены проблема с браузером игровых сервером, при которой в поле "Язык" показывалась название карты.


2015/05/01 - SA-MP 0.3.7 RC6-2 (сервер)

  • Исправлена функция DestroyActor()
  • Добавлены колбэки OnActorStreamIn/OnActorStreamOut.

2015/05/01 - SA-MP 0.3.7 RC6-2 (клиент и сервер)

  • Если анимация ботов имеет параметр повторения/заморозки включен, то анимация будет автоматически повторяться при нахождении бота в близости игрока.


2015/05/01 - SA-MP 0.3.7 (клиент и сервер)

  • Добавлено более 500 новых объектов, включая объектов ландшафта и для трюков.
  • Стало возможным изменение размера шрифта в интерфейсе.
  • Несколько новых вариантов скинов полицейских San Andreas.
  • Сервер теперь контролирует двери и окна машины.
  • Добавлена возможность включения сирены для не полицейских авто.
  • Добавлена простая система ботов для более удобного и легкого создания NPC-ботов.
  • Множественные исправления багов и добавлено новых функций.

От разработчиков SA-MP: Отдельная благодарность Matite и GamerX за новые объекты.


2015/07/11 - SA-MP 0.3.7 R2 (сервер)

  • Добавлена защита против спамеров OnPlayerConnect сообщений.
  • ID оружия проверяется после OnPlayerWeaponShot если в скрипте не прописано обратное.
  • Боты теперь по умолчанию неуязвимы.
  • Добавлен параметр в server.cfg параметр 'conncookies' (int) для управления cookie-системы.
  • Добавлен параметр в server.cfg 'cookielogging' для включения/выключения ведения логов cookie.
  • Добавлена функция SHA256_PassHash(), которая хеширует пароли игроков.

Изменения в SQLite:

  • Функции SQLite db_open и db_query теперь возвращают порядковый индекс запроса (начиная с 1). Это означает, что сервер теперь отслеживает ошибки в запросах и не рухнет при не правильном запросе.
  • Были добавлены серверные дополнительные SQLite функции db_*. Ознакомиться с ними можно в инклюде a_sampdb.inc.
  • Добавлена %q в format(). %q - это разновидность %s, но выводит запрос полностью со всей пунктуацией.
  • Добавлен параметр в server.cfg 'db_logging' который отслеживает ошибки функций db_*.
  • Добавлен параметр в server.cfg 'db_log_queries' который выводит в лог все запросы db_query().

Добавлена серверная система переменных SVars (аналог Pvars).

  • Данные переменные не привязаны к игрокам, или к чему-либо. Их следует использовать для оптимизации и ускорения работы скрипта. Ранние функции Pawn для чтения консоли/конфигурации (GetServerVarAs*) конфликтуют с системой SVar. Поэтому в ближайшее время они будут удалены. Поэтому Исправьте старые функции на новые в своих скриптах.
native GetConsoleVarAsString(const varname[], buffer[], len);
native GetConsoleVarAsInt(const varname[]);
native GetConsoleVarAsBool(const varname[]);

Новые функции a_actor.inc: ?????????

SetActorInvulnerable
IsActorInvulnerable


2015/08/14 - SA-MP 0.3.7 R2-1 (сервер)

  • Добавлена пустая величина проверок в sqlite db_get*. Эти функции уронят сервер если имена полей или ячеек будут указаны с ошибкой.
  • Исправлены ошибки в работе системы SHA256_PassHash() sha256.
  • Исправлена проблема с индексами в системах PVars и SVars в функции *GetUpperIndex, благодаря которой указывались ID'ы уже удаленных переменных.


2017/09/05 - SA-MP 0.3.7 R2-2 (сервер)

  • Changes the query flood control to deal with different query types independently.
  • Connection cookie logging is disabled by default.


2017/09/11 - SA-MP 0.3.7 R2-2-1 (сервер)

  • Изменён контроль потока запросов. Теперь разные типы обрабатываются независимо друг от друга.
  • Логирование куки коннектов теперь по-умолчанию отключено
  • Непосредственная близость клиентов, отправляющих пакеты «c» и «r», означала, что пакеты «Список правил» неправильно контролировались потоком.


2017/09/24 - SA-MP 0.3.7 R2-2 (клиент) Клиент 0.3.7-R2 решает проблему браузера серверов, благодаря которой клиент был уязвим для подмены IP сервера. Серверы могли отправлять поддельные сведения, поступающие с других серверов, при запросе игрока о конкретном сервере. Примечания для владельцев серверов: Изменен протокол запроса SA-MP. Если вы фильтруете в разделе "порт" пакет запросов с брандмауэром, то вы должны удалить этот фильтр.

Изменения в PlayerPlaySound.

Произошли некоторые изменения в способе обработки клиента PlayerPlaySound. Sound ID 1 можно использовать отключить внутреннюю дорожку 0 атмосферы (шум ветра) для создания поддельных интерьеров. Атмосферная система игры используется для всех звуков ниже ID 1000, что означает, что многие треки атмосферы, которые ранее не работали теперь должны работать. Звук ID 0 может использоваться как обычный, чтобы остановить текущую дорожку или вернуть нормальную внешнюю атмосферу игры.


2018/12/06 - SA-MP 0.3.7 R3 (клиент)

  • Радар игры должен лучше масштабироваться на широкоэкранных мониторах. Больше не в форме «яйца»;
  • Команда /hudscalefix и параметр nohudscale = 1 в sa-mp.cfg могут использоваться для переключения формы радара;
  • Исправлена ошибка с использованием звука ID 0 в PlayerPlaySound, появившаяся в версии 0.3.7-R2;
  • Актеров теперь снова можно поворачивать;
  • Исправлен работа игрового таймера, ошибки в котором могли воздействовать на функции типа InterpolateCameraPos;
  • Больше проверок в клиенте на некорректные данные (синхронизация незанятого транспорта, прицеливание персонажа вверх/вниз).


2018/12/08 - SA-MP 0.3.7 R3-1 (клиент)

  • Исправлена проблема с неровным отображением полоски брони при включенном /hudscalefix.


2019/04/14 - SA-MP 0.3.7 R3 (сервер) В этой версии добавлена ​​переменная - queryflood, которую можно использовать для отключения защиты от query флуда (i и p). Отключенная защита исправляет проблему с ответами на query запросы, из-за чего ваш сервер не отображается в списке. Но не стоит оставлять защиту всегда отключенной. Отключайте её только тогда, когда происходит атака.
Данная переменная может быть установлена в server.cfg: queryflood 1 - включить защиту, 0 - выключить
Разработчик рекомендует включать или выключать защиту под RCON в игре:
1) /rcon login <пароль>
2) затем /rcon queryflood 0, чтобы включить защиту
3) снова включите защиту с помощью /rcon queryflood 1 или перезапустите сервер
Опция queryflood -1 позволяет отключить защиту от всех запросов, даже для правил ® и списка игроков (d). Не используйте опцию logqueries под текущей атакой. Логирование всех query запросов может привести к зависанию сервера.


2019/11/22 - SA-MP 0.3.7 R4 (клиент)

  • Исправлено отображение чекпоинтов на созданных объектах (они больше не будут проваливаться);
  • Исправлена ошибка, из-за которой нельзя было выйти из перевернутого транспорта, находясь на созданном объекте (дороге);
  • При краше игры из-за компонентов авто, в окошке краша будет отображаться ID компонента из-за которого случился вылет игры. Также, это обновление исправляет эксплойт в системе меню, который приводил к переполнению буфера со стороны клиента и позволял получить доступ к памяти игры.

Разработчики серверов, которые используют версию 0.3.7, должны проверить версию клиента и порекомендовать игрокам обновить ее до SA-MP 0.3.7-R4.
ВАЖНО! Этот эксплойт был связан с клиентом, а многие игроки использовали старые версии клиента, к примеру SA-MP 0.2.0 и т.д, поэтому списки серверов для всех предыдущих версий были отключены. Разработчик считает, что предыдущие версии клиента SA-MP больше не должны использоваться.

0.3.8

2017/11/05 - SA-MP 0.3.8
SA-MP 0.3.8 будет поддерживать кастомные модели на стороне сервера. В данный момент кастомные модели доступны только для объектов и скинов персонажей, но в будущем мы планируем добавить дополнительные типы кастомных моделей. Этот релиз является ранним доступом, потому что он имеет большой объем и это даст владельцам серверов время, чтобы обдумать использование новых функций. Новые функции потребуеют некоторое время для доведения их до ума, поэтому будьте терпеливы.

Несмотря на то, что новые функции безопасности, связанные с кастомными моделями уже написаны и готовы к релизу, в эту сборку они не включены. Используйте эту версию релиза только с теми людьми, которым вы доверяете, поскольку в форматах моделей GTA:SA могут быть неизвестные уязвимости.


2017/11/05 - SA-MP 0.3.8 RC1

  • Добавляет поддержку временных объектов в пользовательских моделях;
  • Теперь можно вызывать из pawn - AddCharModel/AddSimpleModel. В настоящее время нет ограничений на возможность вызова этих функций, но имейте в виду, что если вы не вызываете их внутри OnFilterScriptInit / OnGameModeInit, вы рискуете, что некоторые игроки, которые уже находятся на сервере, возможно, не загрузили модели.
native AddCharModel(baseid, newid, dffname[], txdname[]); 
native AddSimpleModel(virtualworld, baseid, newid, dffname[], txdname[]); 
native AddSimpleModelTimed(virtualworld, baseid, newid, dffname[], txdname[], timeon, timeoff);

Как работают кастомные модели в SA-MP?

Кастомные модели размещены в папке 'models', которая находится в папке с вашим сервером. Когда игрок присоединяется, сервер передает ему список всех моделей, используемых на сервере. Игроки будут загружать модели с сервера в папку 'cache' по мере необходимости используя CRC. (Сервер будет сравнивать уже загруженные модели на вашем ПК и модели на сервере в папке 'models') Каждый сервер, к которому подключается игрок имеет свой кеш для хранения моделей. Кеш моделей находится по адресу: Documents\GTA San Andreas User Files\SAMP\cache\(IP : PORT сервера)

Модели скинов игрока будут загружаться при запуске игры, поскольку игра не может быть приостановлена для загрузки моделей. Модели объектов, которые аттачатся к игрокам также загружаются при запуске игры. Обычные объекты будут загружаться по мере надобности, в зависимости от того, в каком виртуальном мире находится игрок. Это означает то, что возможно иметь кастомные виртульные миры, которые игроку не приходилось бы загружать до того момента, пока он не попадет в виртуальный мир, к которому прикреплен кастомный объект.

Формат моделей

Модели скинов игрока имеют привычный формат для GTA:SA. Модели объектов требуют прикрепления коллизии к файлу dff, и эта коллизия может быть прикреплена с помощью kdff tool.

Основные инструменты для моделинга GTA:SA уже сделаны для 3ds max, хотя и другие инструменты также доступны для Blender. Я сделал короткий туториал по использованию Blender тут.

Дефайн кастомных моделей в файле artconfig.txt

В настоящий момент, кастомные модели дейфанятся (указываются) в сервеном файле artconfig.txt. Строка AddCharModel отвечает за добавление кастомных моделей персонажа, а AddSimpleModel отвечает за добавление кастомных объектов на сервер, которые включает в себя не только обычные объекты, но и объекты, которые аттачатся к игрокам.

AddCharModel(1, 20001, "test.dff", "test.txd"); // Создаем новый скин, который загружается из файлов test.dff/txd под ID 20001 с моделью поведения скина 1

Параметры:
Модель поведения персонажа. (Анимации, звуки и т.п.)
Новый ID скина (от 20000 до 30000), который вы будете использовать в SetPlayerSkin.
Название файла формата dff.
Название файла формата txd.

AddSimpleModel(1, 18874, -1001, "new_phone.dff", "new_phone.txd"); // Создаем кастомный объект под ID -1001 с функциями объекта 18874 из файлов new_phone.dff/txd

Параметры:
Виртуальный мир, к которому будет прикреплен объект. (-1 для всех виртуальных миров)
ID объекта, у которого нужно взять функции. (анимации и прочее)
ID нового объекта (от -1000 до -30000), который вы будете использовать в CreateObject или любых других функциях создания объектов.
Название файла формата dff.
Название файла формата txd.
Остальные фиксы с 0.3.7

  • Обводка радара теперь должна масштабироваться правильно на широкоформатных разрешениях.
  • Ошибка с проигрыванием звука под ID 0 в PlayerPlaySound должна быть исправлена.
  • Вернули возможность вращения актеров.
public OnPlayerFinishedDownloading(playerid, virtualworld)
{
	// SendClientMessage(playerid,COLOR_WHITE,"Downloads finished.");
	return 1;
}

В server.cfg было добавлено 4 новых параметра:

Название По умолчанию Описание
mtu 576 Что делает, не известно.
useartwork 0 Включает(1) или отключает(0) загрузку моделей.
artpath models Указывает путь к папке с моделями.
artwork No Устанавливает значение автоматически и полностью зависит от параметра useartwork.
Данный параметр отображается в информации о сервере.

2017/11/16 - SA-MP 0.3.8 RC2

  • MAX_OBJECTS увеличено до 2000.
  • Исправлен sniper hud - неправильно отображался.
  • В RC1, SelectObject показывал информацию об ошибке отладки и краш, если информация была недоступна.
  • Исправлена ​​ошибка, связанная с недействительным падением модели у некоторых игроков версии 0.3.8 RC1.
  • Добавляет «локальную» концепцию кэша, чтобы не загружать большое количество моделей в игру. Эта функция не завершена. Подробнее об этом позже.
  • В RC1 потоковая передача могла быть сломана, если вы телепортировались из одного виртуального мира в один и тот же мир.


2017/11/25 - SA-MP 0.3.8 RC3
(клиент и сервер)

  • Добавляет первый уровень проверки безопасности для загрузки файлов: модель/текстур. Дополнительные функции безопасности будут добавляться в процессе разработки 0.3.8 RC. Пока желательно подключаться к серверам, которым вы доверяете;
  • Теперь вы можете изменить расположение папки кэша модели с помощью меню Tools > Settings menu в SA-MP клиенте;
  • Объекты - созданные на моделях, которые загружены с сервера, теперь освобождаются из памяти, после их удаления;
  • Добавлено сжатие данных при загрузке файлов. Примечание: Загрузка с тысячами небольших файлов может происходить медленно.


2017/11/25 - SA-MP 0.3.8 RC3-1
(клиент)

  • Исправлена проблема: dff reader не мог определять расширение Skin на некоторых скинах.


2017/11/25 - SA-MP 0.3.8 RC3-2
(клиент)

  • Пользовательский код выгрузки модели, добавленный в RC3, вызывал сбои для некоторых людей. Теперь он отключен.


2017/11/25 - SA-MP 0.3.8 RC3-3
(клиент)

  • Добавлены дополнительные проверки пользовательских моделей - dff/txd.


2017/11/29 - SA-MP 0.3.8 RC3-4
(клиент)

  • Параметр "FreeTXDs" больше не отображается в сетевой статистике (той самой, которая вызывается нажатием F5), так как это вызывало сбой у части игроков.


2017/12/03 - SA-MP 0.3.8 RC4
(клиент и сервер)

  • Добавляет поддержку перенаправления (редиректа) загрузки моделей / текстур с помощью веб-сайта или же файлового сервера. Это означает, что разработчик может указать URL-адрес в игровом моде или filterscript`е, с которого будет происходить загрузка;

Напоминаю, в предыдущих версиях SAMP 0.3.8 RC можно было загружать только c игрового сервера. Загрузка с помощью URL-адреса выполняется - libcurl версии 7.57.0, скомпилированной с поддержкой протоколов HTTP, HTTPS и ZLIB (gzip).

  • Если Вам требуется прокси-сервер для загрузки через протокол HTTP, адрес прокси-сервера можно ввести в меню - "Tools > Settings" в SA-MP клиенте;
  • Добавляет различные Pawn функции, чтобы реализовать перенаправления (редиректа) загрузки моделей/текстур. Дополнительную информацию см. в файле dl_redirect.pwn, который находиться в папке - filterscript;
  • Добавляет функцию GetPlayerCustomSkin(): Когда SetPlayerSkin используется для установки пользовательского скина (скачанного с сервера), GetPlayerSkin возвращает базовый скин (из игры), а не пользовательский skin ID. Вместо этого вы должны использовать GetPlayerCustomSkin для получения пользовательского skin ID. Клиент и сервер SA-MP определит что загрузка может завершиться неудачей или что пользовательские модели могут не загрузиться, и в этом случае основной скин, используемый в AddCharModel(), по-прежнему останется основным.
forward OnPlayerRequestDownload(playerid, type, crc); // called when the player requests a download
native FindModelFileNameFromCRC(crc, retstr[], retstr_size);
native FindTextureFileNameFromCRC(crc, retstr[], retstr_size);
native RedirectDownload(playerid, url[]);
native GetPlayerCustomSkin(playerid);


2017/12/04 - SA-MP 0.3.8 RC4-1
(клиент)

  • Теперь клиент будет показывать ошибку HTTP вместо «bad checksum» при загрузке с несуществующих URL-адресов;
  • Исправлена ошибка сервера: если вызывается RedirectDownload() вместе со сценарием, возвращающим 1 в OnPlayerRequestDownload, клиент не знал, какой способ загрузки использовать;
  • Когда SetSpawnInfo используется с пользовательским скином, пользовательский скин не будет сброшен на 0.


2017/12/11 - SA-MP 0.3.8 RC4-2

  • При загрузке "2D-эффектов" из скачиваемой модели клиент будет загружать только огни и эскалаторы. Все эффекты с рассеиваемыми частицами, которые есть в игре, уже доступны в SA-MP в виде отдельных моделей.


2017/12/12 - SA-MP 0.3.8 RC4-3

  • Актеры не будут выполнять действие "руки вверх" в режиме прицеливания;
  • Ограничивает таймер игры, чтобы исправить ошибки интерполяции камеры, хотя увеличивает риск обхода (?);
  • Теперь вы можете использовать спрайты на текстдравах из загруженных TXD архивов, в формате "mdl-ID:texturename", где '-ID' это модель, добавленная с помощью AddSimpleModel;
  • Скорее всего, в будущих RC версиях, система текстдравов будет усовершенствована, с новыми функциями по типу MaterialText, поэтому не рекомендуется использовать текстуры пользовательских моделей как спрайты;
  • Максимальное кол-во спрайтов увеличено с 100 до 200;
  • Добавлено больше проверок TXD файлов. Клиент не будет принимать текстуры с размером больше 2048 пикселей;
  • Пропадание коллизии у транспорта при выходе из него на серверных объектах должно быть исправлено.


2017/12/13 - SA-MP 0.3.8 RC4-4

  • Клиент всё тот же, что и в RC4-3, однако исправлен баг с некорректно активирующимся сообщением "Server timer wrapped". После тестирования я пришёл к выводу, что от переполнения таймера не наблюдается никаких негативных эффектов.


2018/01/14 - SA-MP 0.3.8 DL
Версия SA-MP 0.3.8 отменена и не будет выпущена в качестве основной новой версией. Большинство SA-MP серверов не проявило интереса в ее использовании и тестировании.
Поскольку некоторые серверы по прежнему хотят, чтобы функция загрузки теперь была доступна, 0.3.8 будет переиздана как отдельная версия SA-MP под названием 0.3.7-DL, которую смогут использовать при желании. Она будет иметь свои собственные списки серверов. Части существующего кода 0.3.8, которые не связаны с загрузкой моделей и текстур добавятся при обновлении версии 0.3.7. В конечном итоге функция загрузки будет частью основной версии SA-MP, но версия 0.3.8 не будет выпущена.

Сентябрь 2020 - отключен форум и wiki, по запросу удалены все архивные копии.
"Стало ясно с первого релиза SA-MP 0.2, что некоторые сервера смогли бы извлечь выгоду, держа онлайн в 500 человек. Одной из моих личных целей было позволить владельцам серверов сделать игру, похожую на одиночную San Andreas, но с миром, населённым реальными людьми. Некоторые RP-сервера уже были близки к этому. Когда я бросил VC-MP тремя годами ранее, я делал всего лишь мод, способный выдержать максимум 32 игрока. Для того, чтобы смочь повысить эти лимиты до 500 слотов, большая часть базы должна была быть переработана."
Это конец?