02:11
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
        
[CLEO] HUDFIX (0)
MyxaChannel 30.11.2016 18:03
GM Car для SAMP (1)
MyxaChannel 30.11.2016 18:00
 





Рекомендуем:
Добавить IP: 88.212.220.148:22003





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
Скачать GTA SAMP 0.3.7 - Кл... 20.07.2015
Страница 1 из 11
Модератор форума: Dima-kun 
Форум SAMP о мультиплеерах для GTA. »   » Wiki-Samp-Rus » [Tutorial] Новые функции в SA-MP 0.3z
[Tutorial] Новые функции в SA-MP 0.3z
Dima-kunДата: Суббота, 19.04.2014, 15:34 | Сообщение # 1
Группа: Разработчики
Сообщений: 6227
Награды: 72
Репутация: 3329
Замечания: 0%
Статус:
В данной теме распишу все новые функции, добавленные в SA-MP 0.3z, с примерами.
По алфавиту:
[pwn]1. BlockIpAddress( ip_address[], timems ) - Блокирует указанный IP-адрес на сервере на указанное время.
Параметры:
ip_address[] - (string)блокируемый IP-адрес
timems - (int)время на которое данный IP блокируется в миллисекундах (0 - блокироване на не определенный срок).
[/pwn]

Пример использования:
[pwn]public OnPlayerCommandText( playerid, cmdtext[] )
{
if( !strcmp( cmdtext, "/blockme", true ) )
{
new
string[ 128 ];

GetPlayerIp( playerid, string, sizeof( string ) );
BlockIpAdress( string, 900000 ); // 15 минут (15x60x1000)
GetPlayerName( playerid, string, MAX_PLAYER_NAME );
format( string, sizeof( string ), "* %s отправил себя на 15 минут в баню.", string );
SendClientMessage( playerid, 0xffffffff, string );
return 1;
}
return 1;
}[/pwn]

[pwn]2.CreateExplosionForPlayer( playerid, Float: X, Float: Y, Float: Z, type, Float: Radius ) - создает взрыв для игрока в указанном месте.
Параметры:
playerid - (int) - ID игрока, для которого вызывается взрыв;
Float: X - (float) Позиция Х игрока.
Float: Y - (float) Позиция Y игрока.
Float: Z - (float) Позиция Z игрока.
type - (int) Тип взрыва(см. внизу)
Float: Radius - (float) радиус взрыва.[/pwn]
Типы взрыва:
Цитата wiki.sa-mp.com

0 - Видимый, цельный, не создает огня, наносит урон, с большим радиусом действия
1 - Видимый, цельный, создает огонь, не наносит урона, с средним радиусом действия
2 - Видимый, цельный, создает огонь, наносит урон, с большим радиусом действия
3 - Видимый, цельный, иногда создает огонь, наносит урон, с большим радиусом действия
4 - Видимый, раздельный, не создает огня, наносит урон, взрывается без звука и спец эффектов, с большим радиусом действия
5 - аналогичен 4
6 - Видимый, цельный, не создает огня, наносит урон, после взрыва излучает красноватый свет, с очень большим радиусом действия
7 - Видимый, цельный, не создает огня, наносит урон, после взрыва излучает красноватый свет, с огромным радиусом действия
8 - Не видимый, цельный, не создает огня, наносит урон, со средним радиусом действия
9 - Не видимый, цельный, создает огонь, наносит урон, создает пожар
10 - Видимый, цельный, не создает огня, наносит урон, с большим радиусом действия
11 - Видимый, цельный, не создает огня, наносит урон, с маленьким радиусом действия
12 - Видимый, цельный, не создает огня, наносит урон, с очень маленьким радиусом действия
13 - Не видимый, цельный, не создает огня, не наносит урона, не производит эффектов кроме черного следа на месте взрыва, с большим радиусом действия.


Пример:
[pwn]public OnPlayerCommandText( playerid, cmdtext[] )
{
if( !strcmp( cmdtext, "/blowme", true ) )
{
new
Float: pos[ 3 ];

GetPlayerPos( playerid, pos[ 0 ], pos[ 1 ], pos[ 2 ] );
CreateExplosionForPlayer( playerid, pos[ 0 ], pos[ 1 ], pos[ 2 ], 1, 10.0 );
return 1;
}
return 1;
}[/pwn]

[pwn]
3.GetPlayerCameraAspectRatio( playerid ) - Возвращает соотношение сторон у игрока ( 4:3, 16:9 и т.д )
Параметры:
playerid - (int)ID игрока
Возвращает:
1.333333 - 4:3
1.777777 - 16:9
[/pwn]
По соотношению сторон можно определить высоту, ширину и площадь экрана игрока формулами:


[pwn]public OnPlayerCommandText( playerid, cmdtext[] )
{
if( !strcmp( cmdtext, "/myaspect", true ) )
{
new
Float: string[ 128 ];

format( string, sizeof( string ), "Aspect Ratio - %f", GetPlayerCameraAspectRatio( playerid ) );
SendClientMessage( playerid, 0xffffffff, string );
return 1;
}
return 1;
}[/pwn]

[pwn]
4.GetPlayerCameraZoom( playerid ) - узнает уровень увеличения экрана игрока (прицел снайперской винтовки, просто экран и т.п).
Параметры:
playerid - (int)ID игрока
[/pwn]
Пример:
[pwn]public OnPlayerCommandText( playerid, cmdtext[] )
{
if( !strcmp( cmdtext, "/myzoom", true ) )
{
new
Float: string[ 128 ];

format( string, sizeof( string ), "Camera Zoom Level - %f", GetPlayerCameraZoom( playerid ) );
SendClientMessage( playerid, 0xffffffff, string );
return 1;
}
return 1;
}[/pwn]

[pwn]
5.GetPlayerLastShotVectors(playerid, &Float:fOriginX, &Float:fOriginY, &Float:fOriginZ, &Float:fHitPosX, &Float:fHitPosY, &Float:fHitPosZ) - узнает место откуда был произведен выстрел и куда попала пуля
Параметры:
playerid - (int)ID игрока
&Float:fOriginX - (float) Позиция X стрелявшего
&Float:fOriginY - (float) Позиция Y стрелявшего
&Float:fOriginZ - (float) Позиция Z стрелявшего
&Float:fHitPosX - (float) Позиция X попадания
&Float:fHitPosY - (float) Позиция Y попадания
&Float:fHitPosZ - (float) Позиция Z попадания
[/pwn]

Пример:
[pwn]
public OnPlayerCommandText( playerid, cmdtext[] )
{
if(strcmp(cmdtext, "/lastshot", true) == 0)
{
new
lsString[ 128 ],
Float:fOriginX,
Float:fOriginY,
Float:fOriginZ,
Float:fHitPosX,
Float:fHitPosY,
Float:fHitPosZ;

GetPlayerLastShotVectors( playerid, fOriginX, fOriginY, fOriginZ, fHitPosX, fHitPosY, fHitPosZ );
format( lsString, 128, "Last Shot Information: Origin: %f, %f, %f. Hit position: %f, %f, %f", fOriginX, fOriginY, fOriginZ, fHitPosX, fHitPosY, fHitPosZ );
SendClientMessage( playerid, 0xffffffff, lsString );
return 1;
}
}
[/pwn]

[pwn]
6.GetServerTickRate( ) - Узнает частоту обновления сервера (аналог FPS)
Функция не имеет параметров.
[/pwn]
Пример:
[pwn]
public OnGameModeInit( )
{
printf( "The current server tick rate is: %i", GetServerTickRate() );
}
[/pwn]

[pwn]
7. NetStats - Функции, которые по отдельности узнают данные из F5 у каждого игрока.
[/pwn]

Пример:
[pwn]
public OnPlayerCommandText( playerid, cmdtext[] )
{
if( !strcmp( cmdtext, "/bytesreceived", true ) )
{
new
szString[ 144 ];

format( szString, sizeof( szString ), "You have sent %i bytes of information to the server.", NetStats_BytesRecieved( playerid ) );
SendClientMessage( playerid, 0xffffffff, szString );
}
return 1;
}
[/pwn]

[pwn]8.SendDeathMessageToPlayer( playerid, killer, killee, weapon ) - показывает лог убийств к конкретному игроку
Парметры:
playerid - (int) ID игрока которому показывать чат
killer - (int) - ID убийцы
killee - (int) - ID убитого
weapon - (int) - ID оружия убийства
[/pwn]
Пример:
[pwn]
public OnPlayerDeath( playerid, killerid, reason )
{
SendDeathMessageToPlayer( playerid, killerid, playerid, reason );
return 1;
}
[/pwn]

[pwn]
9.UnBlockIpAddress( ip_address[] ) - открывает доступ забаненному ранее IP
Параметры:
ip_address[] - (string) забаненный IP-адрес
[/pwn]
Пример:
[pwn]
public OnGameModeInit()
{
UnBlockIpAddress("127.0.0.1");
return 1;
}
[/pwn]

[pwn]10.VectorSize(Float:X, Float:Y, Float:Z) - узнает размер вектора.
Параметры:
Float: X - (float)Координата вектора X
Float: Y - (float)Координата вектора Y
Float: Z - (float)Координата вектора Z
[/pwn]

Пример:
[pwn]
stock Float:GetDistanceBetweenPoints( Float: x1, Float: y1, Float: z1, Float: x2, Float: y2, Float: z2 )
return VectorSize( x1 - x2, y1 - y2, z1 - z2 );
[/pwn]

А теперь колбэки:
[pwn]1.OnIncomingConnection( playerid, ip_address[], port ) - вызывается когда игрок подключается к серверу
Парметры:
playerid - (int) ID подключаемого игрока
ip_address[] - (string)IP-адрес подключаемого игрока
port - (int)порт подключаемого игрока
[/pwn]
Пример:
[pwn]
public OnIncomingConnection(playerid, ip_address[], port)
{
printf("ID %d is attempting to connect to the server [IP: %s:%i]", playerid, ip_address, port);
return 1;
}
[/pwn]

[pwn]
2.OnPlayerWeaponShot( playerid, weaponid, hittype, hitid, Float: fX, Float: fY, Float: fZ ) - вызывается когда игрок стреляет из оружия
Параметры:
playerid - (int)ID стреляющего игрока
weaponid - (int)ID оружия из которого стреляют
hittype - (int) тип вещи, в которую попал игрок (промах, игрок, машина, объект)
hitid - (int)ID вещи в которую попали
Float: fX - (float)Позиция попадания Х
Float: fY - (float)Позиция попадания Y
Float: fZ - (float)Позиция попадания Z
[/pwn]
Пример:
[pwn]
public OnPlayerWeaponShot( playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ )
{
new
szString[ 144 ];

format( szString, sizeof( szString ), "Weapon %i fired. hittype: %i hitid: %i pos: %f, %f, %f", weaponid, hittype, hitid, fX, fY, fZ );
SendClientMessage( playerid, 0xffffffff, szString );
return 1;
}
[/pwn]

Надеюсь все понятно описал. Если будут вопросы - задавайте.



Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints
Форум SAMP о мультиплеерах для GTA. »   » Wiki-Samp-Rus » [Tutorial] Новые функции в SA-MP 0.3z
Страница 1 из 11
Поиск:





 


 


 
Хостинг от uCoz SAMP-RUS.COM