Herro[CM] |
Дата: Среда, 09.09.2015, 21:48 | Сообщение # 1
|
Бывалый
Сообщений: 425
Статус: Offline
|
Данный include позволит прикреплять аудио-поток к любому объекту.
Код AttachStreamToObject( objectid, Float:range, url[] ); // Прикрепляет поток к объекту StopObjectStream( objectid ); // Удаляет поток у объекта IsStreamAttachedToObject( objectid ); // Проверка на наличие потока у объекта
include Код */
#include <a_samp> #include <foreach> #include <YSI\y_hooks>
enum g_stream { gStreamEnabled, gStreamURL[128], Float:gStreamRange }
new gObjectStream[MAX_OBJECTS][g_stream]; new gActiveStreamObjectID[MAX_PLAYERS];
forward StreamCheckTimer( );
stock StopObjectStream( objectid ) { gObjectStream[objectid][gStreamURL] = ""; gObjectStream[objectid][gStreamEnabled] = 0; gObjectStream[objectid][gStreamRange] = 0; }
stock AttachStreamToObject( objectid, Float:range, url[] ) { if( !IsValidObject( objectid ) ) return 0;
format( gObjectStream[objectid][gStreamURL], 128, url ); gObjectStream[objectid][gStreamEnabled] = 1; gObjectStream[objectid][gStreamRange] = range; return 1; }
stock IsStreamAttachedToObject( objectid ) { return ( gObjectStream[objectid][gStreamEnabled] == 1 ) ? 1 : 0; }
hook OnGameModeInit() { SetTimer( "StreamCheckTimer", 1000, true ); return 1; }
public StreamCheckTimer( ) { new Float:objpos[3]; foreach(Player, x) { for( new y = 0; y != MAX_OBJECTS; ++y ) { if( 1 != gObjectStream[y][gStreamEnabled] ) continue; else { GetObjectPos( y, objpos[0], objpos[1], objpos[2] ); if( IsPlayerInRangeOfPoint( x, gObjectStream[y][gStreamRange], objpos[0], objpos[1], objpos[2] ) ) { if( gActiveStreamObjectID[x] != y ) { gActiveStreamObjectID[x] = y; PlayAudioStreamForPlayer( x, gObjectStream[y][gStreamURL] ); } if( gActiveStreamObjectID[x] == y && gStreamObject[y][gStreamEnabled] == 0 ) { gActiveStreamObjectID[x] = 0; StopAudioStreamForPlayer( x ); } }
else { if( gActiveStreamObjectID[x] == y ) // if is listening to a stream { gActiveStreamObjectID[x] = 0; StopAudioStreamForPlayer( x ); } } } } }
return 1; } Автор: admantis
Когда нет знания, есть мнение.
|
|
|
|
Surex |
Дата: Суббота, 02.07.2016, 14:03 | Сообщение # 2
|
Боец
Сообщений: 137
Статус: Offline
|
полезно
|
|
|
|
Плисс |
Дата: Вторник, 19.07.2016, 20:41 | Сообщение # 3
|
Боец
Сообщений: 70
Статус: Offline
|
Кросс
|
|
|
|