После длительного тестирования RC’шек, наконец состоялся релиз SA-MP 0.3d.
Что нового?
Мой перевод официальной темы релиза:
— Поддержка аудио потоков.
— Значительно улучшена производительность.
— Улучшена синхронизация.
— Новые модели, такие как: замена торгового центра, воздушный шар, пожарные шляпы.
— Вы можете свободно передвигаться на объектах, в любом их состоянии.
— Серверы могут удалить любой объект из игры.
— Объекты теперь могут плавно изменять свою ротацию.
— Несколько новых функций, каллбэков для SA-MP серверов.
Новенькое для серверов
Стоит отметить отключение функции AllowAdminTeleport и AllowPlayerTeleport. Это связанно с появлением нового каллбэка — OnPlayerClickMap, который вызывается когда игрок кликает по карте, создавая красно-чёрную метку.
Если вы использовали AllowAdminTeleport или AllowPlayerTeleport, то я предложу вам этот скрипт:
#define AllowPlayerTeleport(%0,%1) SetPVarInt(%0,"PlayerAllowTeleport",%1)
#define IsPlayerAllowTeleport(%0) GetPVarInt(%0,"PlayerAllowTeleport")
public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ)
{
if (IsPlayerAdmin(playerid) || IsPlayerAllowTeleport(playerid))
{
SetPlayerPos(playerid,fX,fY,fZ);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
}
return 1;
}
Также, наконец скриптерам дали возможность контролировать нанесённый и полученный урон с помощью каллбэков OnPlayerGiveDamage и OnPlayerTakeDamage. Поэтому, создать античит на патроны не составит труда.
Добавлена возможность воспроизведения аудио-потоков (также добавлена команда /audiomsg, которая включает/выключает сообщение о текущем потоке).
Получение ID вашей цели и удаление любого объекта — всё это присутствует в новой версии SA-MP.
Для удобства, все нововведённые функции и каллбэки списком:
forward OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ);
native GetPlayerTargetPlayer(playerid);
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);
native RemoveBuildingForPlayer(playerid, modelid, Float:fX, Float:fY, Float:fZ, Float:fRadius);
forward OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid)
forward OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid);
Чтож, скромненько и очень долго(версии 0.3c уже около года), надеюсь в следующих версиях SA-MP будут расширения связанные с GUI и функциями по контролю параметров игрока.
Страница скачивания