Выход SA-MP 0.3d

После длительного тестирования 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 и функциями по контролю параметров игрока.

Страница скачивания

Перейти к верхней панели