Наконец-то решил составить историю нашего любимого мультиплеера. Тут будет собрана вся информация по релизам, которую мы сможем найти.


SA-MP 0.3a is now in feature lockdown. That means that only major bugs will be fixed. I know there are lots of good suggestions being posted but please keep them for the next version and do not post them in this section of the forum.

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: http://wiki.sa-mp.com/wiki/Limits
- New pawn scripting natives added in 0.3 can be found here: http://wiki.sa-mp.com/wiki/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.


Client fix for SetPlayerTime causing fast time.



Client fix for vehicle moving forward when exiting.



- 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]



- 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



- 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).



RC5-2 is a small client-only update which fixes some issues with dialogs that were reported.

- 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.



- 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.



- 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)



- 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).



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.



- 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.



- 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.



- 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.



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



- 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.



- 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.



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



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



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



SA-MP 0.3c R3 [SERVER]
- 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:

PHP код:
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.

PHP код:
native Float:GetPlayerDistanceFromPoint(playeridFloat:XFloat:YFloat:Z);
native Float:GetVehicleDistanceFromPoint(vehicleidFloat:XFloat:YFloat: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.

PHP код:
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:

PHP код:
forward OnUnoccupiedVehicleUpdate(vehicleidplayeridpassenger_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.

25/07/2011 SA-MP 0.3c R3-1 [SERVER]
There was a small issue regarding space padding in the format() function in the original 0.3c R3 release. If you happened to download this version, please download the above 0.3c R3-1 server.

27/07/2011 SA-MP 0.3c R4 [SERVER]
- 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:

PHP код:
native GetPlayerNetworkStats(playeridretstr[], 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.

28/07/2011 SA-MP 0.3c R5 [SERVER]
- 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.



13/09/2011 Обновление клиента и сервера SA-MP 0.3d RC1

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

PHP код:
native PlayAudioStreamForPlayer(playeridurl[], Float:posX 0.0Float:posY 0.0Float:posZ 0.0Float:distance 50.0usepos 0);
native StopAudioStreamForPlayer(playerid); 
PlayAudioStreamForPlayer используется для проигрывания потокового Интернет радио для выбранного игрока. Поддерживаются ogg/vorbis и MP3 потоки. Звук может быть привязан к самому игроку. Или к определенной позиции на карте и он будет слышен только на определенной дистанции, если указать параметр 'usepos' = 1.

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

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

PHP код:
native RemoveBuildingForPlayer(playeridmodelidFloat:fXFloat:fYFloat:fZFloat:fRadius); 
RemoveBuildingForPlayer может удалять объекты и здания с общей карты для указанного игрока. Нужно всего лишь указать модель объекта, приблизительную позицию и радиус, в котором будут удалены объекты указанной модели. Вы можете указать огромный радиус, для удаления объектов с необходимым ID с карты.

PHP код:
native PlayerPlaySound(playeridsoundidFloat:xFloat:yFloat:z); 
Теперь эта функция может проигрывать почти что все звуки, указанные в файле \data\AudioEvents.txt в папке с игрой.

18/09/2011 SA-MP 0.3d RC2

- Добавлен колбэк OnPlayerTakeDamage();
- фикс бага с эвакуатором, от которого отцеплялся транспорт возле других игроков;
- добавлен DIALOG_STYLE_PASSWORD для ShowPlayerDialog();
- фикс бага с аудио потоком, который продолжал играть после выхода с сервера;
- фикс багов с проигрыванием некоторых звуков с ИД выше 2000 в функции PlayerPlaySound();
- добавлена встроенная команда /audiomsg для отключения показа URL потоков в чате;
- теперь 0.3d RC2 серверы видны в общих списках серверов.

Кое-какие изменения в моделях объектов:
- Были заменены модели тюремных дверей в полицейском участке SFPD;
- новый объект - значок TAXI, который можно прикрепить к любому транспорту.

PHP код:
public OnPlayerTakeDamage(playeridissueridFloat:amountweaponid
Колбэк OnPlayerTakeDamage() вызывается, когда игроку нанесли урон и он потерял какое-то кол-во здоровья.

Код:
playerid - это ИД раненного игрока. 
issuerid - ИД игрока, который ранил игрока или INVALID_PLAYER_ID, если игрок навернулся сам 
Float:amount - кол-во здоровья, которое потерял раненный игрок. 
weaponid - ИД оружия, с которого был ранен игрок.
30/09/2011 Обновление клиента и сервера SA-MP 0.3d RC3

- Небольшие хитрости для GTA:SA должны привести к увеличению FPS, плавной игре и меньшей нагрузке на процессор для многих игроков;
- добавлены новые параметры в MoveObject() позволяющие вращать объект (необязательные параметры);
- добавлена команда AttachObjectToObject() позволяющая присоединять обекты к объектам, это позволяет им двигаться и вращаться одновременно;
- добавлены скрипты примеры: cargo ship, pirate ship, ferris wheel, для вращения объектов и AttachObjectToObject;
- исправлено переполнение буфера в конфиге сервера описанный здесь: http://www.exploit-db.com/exploits/17893;
- как всегда, мы рекомендуем владельцам серверов никогда не использовать файлы конфигурации и сценариев из ненадежных источников. Всегда редактировать свои собственные файлы конфигурации и компилировать любые скрипты которые ваш сервер использует.

Важно: изменения в MoveObject не потребует от вас изменять свои сценарий, однако, все скрипты которые используют MoveObject должны быть перекомпилированы для SA-MP 0.3d.

05/10/2011 Обновление клиента SA-MP 0.3d RC3-2

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

08/10/2011 Обновление клиента SA-MP 0.3d RC3-3

- Это обновление должно решить пробему, возникавшую у некоторых людей, связанных со скоростью игры: http://forum.sa-mp.com/showthread.php?t=287984;
- добавлена опция multicore в sa-mp.cfg. Если Вы установите параметр multicore=1 в конфиге, то GTA:SA будет использовать больше одного ядра процессора после запуска SA-MP. После нескольких успешных испытаний, опция была включена по-умолчанию;
- добавлены последние модели и редакции от cessil в файлы samp.ide/samp.img;
- удалена модель BigCesar из файла samp.ide (а samp.img?) потому что она, похоже, приводит к зависанию игры.

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

PHP код:
if(strcmp(cmd"/usecell",true) == 0)
{
    
SetPlayerSpecialAction(playeridSPECIAL_ACTION_USECELLPHONE);
    
SetPlayerAttachedObject(playerid43306);
// 4 = attachment slot, 330 = cellphone model, 6 = right hand
    
return 1;
}
if(
strcmp(cmd"/stopcell",true) == 0)
{
    
SetPlayerSpecialAction(playeridSPECIAL_ACTION_STOPUSECELLPHONE);
    
RemovePlayerAttachedObject(playerid4);
    return 
1;

09/10/2011 Обновление клиента и сервера SA-MP 0.3d RC4

- Слоты игроков больше не ограничены 20 (теперь как и раньше 500);
- функция MoveObject не обрабатывает поворот, если он не указан. Поворачивать такие объекты можно с помощью функции SetObjectRot();
- исправлена проблема с объектов ворот военной базы 51, где с одной стороны была прозрачная текстура.

10/10/2011 Обновление клиента SA-MP 0.3d RC4-2

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

11/10/2011 Обновление клиента и сервера SA-MP 0.3d RC5

- Добавлена функция OnPlayerGiveDamage, как противоположная функции OnPlayerTakeDamage. Она вызывается для игрока, который наносит повреждения другому игроку;
- ещё больше оптимизированные настройки оружия для ускорения игры.
- исправлена команда SetPlayerTeam, которая могла рассинхронизировать игроков и спутать команды, таким образом игроки одной команды могли наносить друг-другу урон;
- игроки нашли коды цветов, которые обрезали текст чата. Это было решено в 0.3d;
- добавлены потерянные скины. Спасибо IllidanS4 за предоставление их ID и названий файлов голосов.

PHP код:
forward OnPlayerGiveDamage(playeriddamagedidFloat:amountweaponid); 
Код:
playerid - игрок, нанёсший урон;
damagedid - игрок, которому нанесли урон;
amount - количество хп, потраченной за урон;
weaponid - тип оружия.
12/10/2011 Обновление клиента SA-MP 0.3d RC5-2

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

16/10/2011 Обновление клиента SA-MP 0.3d RC5-3

- (в режиме тестирования) Теперь Вы можете использовать систему текстдравов SA-MP'а со специальным ID шрифта, который покажет на экране спрайты из синглплеера.

PHP код:
if(strcmp(cmd"/tdsprite",true) == 0)
{
    new 
Text:txtSprite1;
    
txtSprite1 TextDrawCreate(200.0220.0"samaps:map"); // Текстура txdfile:texture
    
TextDrawFont(txtSprite14); // 4 шрифт рисования спрайта
    
TextDrawColor(txtSprite10xFFFFFFFF);
    
TextDrawTextSize(txtSprite1200.0200.0); // Размер изображения Ширина:Высота
    
TextDrawShowForPlayer(playeridtxtSprite1);
    return 
1;

Устанавливая ID шрифта 4 и синтаксисом txdfile:texture Вы можете выводить на экран текстуры из TXD. Возможные значения TXD-файла:
- hud: текстуры от HUD'а (hud.txd);
- samaps: текстуры карты San Andreas из samaps.txd в папке SAMP в директории игры;
- любой TXD файл или текстура из папки models/txd в директории с игрой GTA San Andreas.



- Добавлены KEY_YES (Y), KEY_NO (N), KEY_CTRL_BACK (H) для GetPlayerKeys();
- MAX_PLAYER_ATTACHED_OBJECTS увеличен до 10;
- TextDrawSetString () может быть использован для изменения спрайта текстуры существующих текстдравов;
- исправлена проблема, когда прикрепленные объекты продолжали движение после StopObject;
- игра не будет остановлена, даже при выходе в меню (ESC);
- игра не вернется к меню, если использовать ALT+TAB.

22/10/2011 Обновление клиента SA-MP 0.3d RC6-2

- Значительные исправление проблем в веденной системе паузы в меню введенной в 0.3d RC6;
- больше настроек для сирены потому что многие пользователи жаловались что её по-прежнему тяжело включать.

07/11/2011 ? Обновление клиента и сервера SA-MP 0.3d RC7

- Исправлена проблема с отрисовкой чата на ноутбуках с видекартой от VIA/S3;
- добавлены функции IsObjectMoving/IsPlayerObjectMoving;
- исправлена проблема с SetVehicleParamsEx при использовании в OnVehicleSpawn
- исправлено исчезновение пикапов в интерьерах.
- добавлена функция GetPlayerTargetPlayer() возвращает Id игрока на которого нацеливается другой игрок (зеленое с остояние над головой);
- исправлена проблема с паузой в режиме debug/test;
- теперь вы можете использовать режим "Test" в Jernej's map editor внутри интерьеров (объект интерьера должен быть выбран);
- добавлены последние обекты от cessil:
-- заменены сетки для торгового центра Вероны. Пример смотрите в фильтрскрипте ls_mall.pwn;
-- воздушный шар в нескольких цветах;
-- каска пожарных.

PHP код:
native GetPlayerTargetPlayer(playerid); 
Функция GetPlayerTargetPlayer() вернет INVALID_PLAYER_ID если при прицеливании вы ни в кого не целитесь.

07/11/2011 ? Обновление клиента и сервера SA-MP 0.3d RC8

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

12/11/2011 Обновление клиента и сервера SA-MP 0.3d RC9

- Добавлена новая функция OnPlayerClickMap;
- отключены функции AllowAdminTeleport и AllowPlayerTeleport;
- Вы можете использовать ~k~ константа клавиши для использования в сообщениях и 3D текстах;
- исправлена проблема с LOS в 3D текста игрока;
- исправлено падение клиента при посадке на несуществующее место в машине;
- исправлена проблема с мотоциклами/велосипедами появляющимися над землей;
- исправлена проблема с сервером, на Windows, когда в консоль вводится пустая команда.

PHP код:
forward OnPlayerClickMap(playeridFloat:fXFloat:fYFloat:fZ); 
OnPlayerClickMap вызывается когда игрок нажимает правой кнопкой на карту в меню игры. Всегда возвращается позиция X, Y позиция, на которой произошло нажатие и ориентировочную позицию землю. Пожалуйста, обратите внимание: так как игра не знает точное положение земли на карте, значение Z возвращается приблизительное. Возможно вам придется использовать плагин MapAndreas, чтобы получить более точное значение Z координаты.

14/11/2011 Обновление клиента SA-MP 0.3d RC9-2

- Исправлена проблема с транспортом, который мгновенно останавливался при паузе;
- в некоторых ситуациях аудио потоки могли обрываться;
- исправлена проблема с отображением диалогов совместно с Alt+Tab и паузой;
- исправлена оставшаяся проблема со спавном мотоциклов и велосиедов над землей;
- добавлены cPos/sPos в команду /dl;
- исправлена проблема с текстурой снега, добавленной в RC9.



SA-MP 0.3e RC1 представляет собой в большей степени обновление безопасности. Но, конечно же, планируются и некоторые новые возможности и модели. Ваши пожелания будут рассмотрены, а лучшие - добавлены в период RC-тестирования.

- Исправлены проблемы безопасности предыдущих версий, из-за которых сервера могли атаковать с помощью специальных утилит. Исправления требуют обновления как сервера, так и клиента.
- Исправлен баг, появившийся в 0.3d, когда игрок мог избежать смерти, если у него проигрывалась какая-то анимация.
- Решена проблема с установкой цвета игрокам, имеющим ID выше 500.
- Исправлена проблема с киком игрока при использовании в моде SpawnPlayer().
- Исправлена проблема с сервером, из-за которой мог происходить крэш клиента (браузера серверов) в случае, когда сервер возвращал неверные данные.

Кроме обновлений безопасности, SA-MP 0.3e имеет несколько новых возможностей:

- Добавлены несколько новых моделей за авторством cessil, включающих в себя цилиндр, трость, несколько различных стен.
- Диалоги теперь имеют панель управления в виде кнопок.

- Сервер может получать версию клиента, используемую игроком через новую функцию GetPlayerVersion().

native GetPlayerVersion(playerid, const version[], len); // Возвращает версию клиента SA-MP


- Новый параметр, добавленный в колбэк SetPlayerCameraLookAt() являет собой указание по перемещению камеры: она либо плавно двигается в заданную позицию, либо мгновенно "телепортируется".

#define CAMERA_CUT  2
#define CAMERA_MOVE 1
native SetPlayerCameraLookAt(playerid, Float:x, Float:y, Float:z, cut = CAMERA_CUT);


- Добавлена новая утилита, позволяющая легко находить и подбирать позицию объектов, прикреплённых к игроку. Новая утилита также может быть использована и для других объектов (получаем полноценный in-game редактор карт).

Возможности 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); // присоединяет камеру к объекту игрока


Возможности 0.3e RC3

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

Возможности 0.3e RC4

- Должна быть исправлена ситуация, когда сбивался ID при удалении из игры взорванного транспорта.
- Количество слотов игроков увеличено до 500.
- Исправлен фильтр текстур на новых моделях.
- Добавлен режим полёта камеры, проходящий через стены (пример в ФС).
- Новые модели от cessil: более 40 стен, дорожные заграждения, вёдра, шарфы...
- Теперь сервер может позволить игроку кликать курсором мыши на текстдраве:

native TextDrawSetSelectable(Text:text, set); // по-умолчанию 0 (невыбраемый)
native SelectTextDraw(playerid, hovercolor); // позволяет игроку выбирать текстрав кликом курсора
native CancelSelectTextDraw(playerid); // завершает процесс выбора позиции курсора на текстдраве
forward OnPlayerClickTextDraw(playerid, Text:clickedid); // игрок кликает на текстдрав


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

Возможности 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[]); // меняет значение персонального текстдрава для игрока


Возможности 0.3e RC6

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

Возможности 0.3e RC7

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

Возможности 0.3e RC7-2

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

Возможности 0.3e RC7-3

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

Возможности 0.3e RC8

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

Возможности 0.3e

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

Спасибо всем, кто тестировал 0.3e и сообщал об ошибках. Следите за новыми обновлениями.

Если Вам требуется сервер с количеством слотов больше 500 - пишите нам на e-mail: [email protected] и сообщайте ваш IP:порт. Если мы увидим, что Вы действительно нуждаетесь в этом - мы пошлём сборку сервера с большим кол-вом слотов.



16/01/2014 SA-MP 0.3x R2-2 доступен на странице загрузки.
- Исправлено переполнение буфера в клиентской части из-за системы TextDraw
- Исправлена неправильная постановка цветов в TextDraw'ах с '~' ( в форматировании )
- Исправлено потеря управления мышью при переходе в меню игры (Esc)
- Исправлена неправильная обработка браузера сервера от некорректных данных с сервера
- Исправлена ошибка с диапазоном проверки в браузере сервера
- Исправлены различные коды в формате TextDraw



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



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



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


Эта версия исправляет некоторые незначительные проблемы в релизе 0.3x и не является обязательным.

Клиент:

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

Сервер:

- Клиенты не увидят предупреждения "Недопустимое имя".


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


31/01/2013 Релизная версия SA-MP 0.3x
- Новая система превью моделей делает проще поиск скинов, типов машин и моделей объектов в игре.
- Дальность прорисовки объектов может быть установлена любая, что снижает лимиты на кастомных зонах.
- Улучшено изменение цвета и текстур объектов.
- Лучше синхронизированы анимации для игрков, которые переносят предметы.
- Система дружественного огня для своей команды.
- Некоторые новые причёски и шапки добавлены
- Много важных изменений в сетевой системе SA-MP, которая уменьшает трафик и улучшает безопасность для владельцев серверов

Спасибо всем, кто тестировал 0.3x на тестовом этапе!


30/01/2013 Обновление Клиента/Сервера SA-MP 0.3x RC3
Это последния RC-версия для SA-MP 0.3x.

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


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


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


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


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


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


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


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


- На некоторых видеокартах превью модели автомобилей отображаются некорректно.
- Стриммер не всегда освобождал память при использовании превью модели для скинов.


Модели:
- Добавлен новый шрифт для Текстдравов, с помощью которого можно создавать 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() больше не будет интерпретировать большие числа.


Загрузки:

0.3x R2-2 Client
http://www.sa-mp.com/stuff/03xpre/sa-mp-0.3x-R2-install-2.exe

0.3x R2-1 Server
http://files.sa-mp.com/samp03xsvr_R2_patch1.tar.gz
http://files.sa-mp.com/samp03x_svr_R2_patch1_win32.zip
http://files.sa-mp.com/samp03xsvr_R2-1000p_patch1.tar.gz

0.3x R2 Server
http://files.sa-mp.com/samp03xsvr_R2.tar.gz
http://files.sa-mp.com/samp03x_svr_R2_win32.zip
http://files.sa-mp.com/samp03xsvr_R2-1000p.tar.gz

0.3x R1-2 Client
SA-MP 0.3x R1-2 Client

0.3x R1-2 Server
SA-MP 0.3x Windows Server
SA-MP 0.3x Linux Server (x86)

0.3x R1 Client
SA-MP 0.3x R1 Client

0.3x R1 Server
SA-MP 0.3x Windows Server
SA-MP 0.3x Linux Server (x86)

0.3x RC3 Клиент
SA-MP 0.3x RC3 Client Installer

0.3x RC3 Сервер
SA-MP 0.3x RC3 Windows Server
SA-MP 0.3x RC3 Linux Server

0.3x RC2 Client
SA-MP 0.3x RC2-4 Client Installer
SA-MP 0.3x RC2-3
SA-MP 0.3x RC2-2-2 Client Installer
SA-MP 0.3x RC2-2 Client Installer
SA-MP 0.3x RC2 Client Installer

0.3x RC2 Server
SA-MP 0.3x RC2 Windows Server
SA-MP 0.3x RC2 Linux Server

0.3x RC1 Client
SA-MP 0.3x RC1-3-1 Client Installer
SA-MP 0.3x RC1-2 Client Installer
SA-MP 0.3x RC1 Client Installer

0.3x RC1 Server
SA-MP 0.3x RC1 Windows Server
SA-MP 0.3x RC1 Linux Server

Перевод: Ross, Stepashka, DartfoL, OKStyle


Тема будет обновляться.
update 16.01.2014