PDA

Просмотр полной версии : [mod_sa] Радио в s0beit


im0rg
27.05.2013, 14:13
Всем привет, это урок по добавлению Shoutcast isecast потоковых радио в s0beit​​Для начала качаем архив приложенный к теме.​Все из этого архива кидаем в папку src​​Далее заходим в main.h​И ко всем include добавим​​

Код:






#include "bass.h"
#pragma comment(lib, "bass.lib")




​Далее идем в cheat.h​Там найдем​

Код:






struct cheat_state_generic




И после этого добавим

Код:






int play;




Теперь идем в samp.cpp

Найдем

Код:






// start chatbox logging




И перед ним добавим

Код:






if (cheat_state->_generic.play == 1)
{
HSTREAM chan;
BASS_StreamFree(chan);
DWORD r;
chan=BASS_StreamCreateURL("http://online.radiorecord.ru:8102/club_64",0,BASS_STREAM_BLOCK|BASS_STREAM_STATUS|BASS_STREA M_AUTOFREE,StatusProc,(void*)r); // open URL
BASS_ChannelPlay(chan,FALSE);
cheat_state->_generic.play = 0;
}




"http://online.radiorecord.ru:8102/club_64 (https://www.blast.hk/redirect/aHR0cDovL29ubGluZS5yYWRpb3JlY29yZC5ydTo4MTAyL2NsdW JfNjQ)" вот это можно сделать через setting​Далее там же найдем

Код:






void cmd_pickup ( char *params )




​И перед ним добавим​

Код:






void CALLBACK StatusProc(const void *buffer, DWORD length, void *user)
{
if (buffer && !length && (DWORD)user==0) // got HTTP/ICY tags, and this is still the current request
addMessageToChatWindow( "loading.." );
}




Далее идем в new_menu.cpp

Ко всем меню добавим

Код:






TwAddButton(twBar_SPCheats, "Play", play, NULL, "");




И еще там же найдем

Код:






// MENU FUNCTIONS




И после добавим

Код:






void TW_CALL play(void *)
{
cheat_state->_generic.play ^= 1;
}




Вот и все. Мне было лень придумать как выключать. Можно еще вывести на худ название радио станции. Битрейт, название трека, год выпуска. Но мне было лень это делать.

Вот выкладываю свой полный код

Код:






if (KEY_DOWN('R') && KEY_PRESSED('Y'))
{
BASS_Start();
HSTREAM chan;
BASS_StreamFree(chan);
DWORD r;
chan = BASS_StreamCreateURL("http://online.radiorecord.ru:8102/club_64", NULL, BASS_STREAM_BLOCK|BASS_STREAM_STATUS|BASS_STREAM_A UTOFREE,StatusProc,(void*)r);
BASS_ChannelPlay(chan,FALSE);
addMessageToChatWindow( "Radio started" );
}
if (KEY_DOWN('R') && KEY_PRESSED('U'))
{
BASS_Stop();
}
if (KEY_DOWN('R') && KEY_PRESSED('N'))
{
HSTREAM chan;
BASS_StreamFree(chan);
DWORD r;
chan = BASS_StreamCreateURL("http://online.radiorecord.ru:8102/club_64", NULL, BASS_STREAM_BLOCK|BASS_STREAM_STATUS|BASS_STREAM_A UTOFREE,StatusProc,(void*)r);
const char *meta=BASS_ChannelGetTags(chan,BASS_TAG_META);
if (meta)
{
const char *p=strstr(meta,"StreamTitle='");
if (p)
{
const char *p2=strstr(p,"';");
if (p2)
{
char *t=strdup(p+13);
t[p2-(p+13)]=0;
addMessageToChatWindow( "%s",t);
}
}
}
else
{
meta=BASS_ChannelGetTags(chan,BASS_TAG_OGG);
if (meta)
{
const char *artist=NULL,*title=NULL,*p=meta;
for (;*p;p+=strlen(p)+1)
{
if (!strnicmp(p,"artist=",7))
artist=p+7;
if (!strnicmp(p,"title=",6))
title=p+6;
}
if (title)
{
if (artist)
{
char text[100];
_snprintf(text,sizeof(text),"%s - %s",artist,title);
addMessageToChatWindow( "%s",text);
}
else
{
addMessageToChatWindow( "%s",title);
}
}
}
}
}






С вами былJesus (http://blasthack.net/members/jesus.87/)Специально для сайта BlastHack.Net (http://blasthack.net/)​При копировании указывать источникBlastHack.Net (http://blasthack.net/)​

Screen​
https://downloader.disk.yandex.ru/preview/3777790e6dd50281a0b2d28a37779ef4/mpfs/P9in8wKVJ80vII1meWKvBmllIoms0fZyE5-IeE3bovlDYW4WFLCOqMrpWNg8o8iqOteySWHpsMlPya8vFQIH9 Q%3D%3D?uid=0&filename=sa-mp-000.png&disposition=inline&hash=&limit=0&content_type=image%2Fpng&size=XL&crop=0
​ВНИМАНИЕ: У КОГО WINDOWS 8 И VS 2012 И ВЫЛАЗИЕТ ОШИБКА SAFESEH​Делаем следующее​



Откройте диалоговое окно "Страницы свойств проекта".
Выберите папку Компоновщик.​Выберите страницу свойств Командная строка.​Введите параметр в поле Дополнительные параметры.
/SAFESEH:NO


​​

web
27.05.2013, 14:15
Спасибо за полезный урок

Norma_Cheater
27.05.2013, 14:21
Классный урок !!!

BaHeK
27.05.2013, 14:26
Вот ето афигено радио в собе

fondamentolok
27.05.2013, 14:31
Вот ето афигено радио в собе




Да но зачем оно ?

Далее там же найдем

Код:

void cmd_pickup ( char *params )

я это не нашел

BaHeK
27.05.2013, 14:34
Да но зачем оно ?

Далее там же найдем
Код:
void cmd_pickup ( char *params )
я это не нашел




ну во 1 есть сервера на которих нету радио а 2 рих ты ставиш свою радио врлну которая тибе нравитса и слушаеш ето афигено а Лёха молорик

fondamentolok
27.05.2013, 14:35
ну во 1 есть сервера на которих нету радио а 2 рих ты ставиш свою радио врлну которая тибе нравитса и слушаеш ето афигено а Лёха молорик




О да ты прав + можно в меню соба вшить и будет ЗБС )

Не подскажешь как найти void cmd_pickup ( char *params ) у меня не находит

BaHeK
27.05.2013, 14:41
О да ты прав + можно в меню соба вшить и будет ЗБС )
Не подскажешь как найти void cmd_pickup ( char *params ) у меня не находит




собейт у тибя FYP'a??????

BaHeK
27.05.2013, 14:43
если да то вот он

void cmd_pickup ( char *params )

{

if ( !strlen( params ) )

{

addMessageToChatWindow( "USAGE: /m0d_pickup " );

return;

}

g_RakClient->SendPickUp( atoi( params ) );

}

fondamentolok
27.05.2013, 14:43
собейт у тибя FYP'a??????




Голубя

fondamentolok
27.05.2013, 14:46
Голубя




А можна этот файл от соба Фипа взять?

Skel
27.05.2013, 14:49
ищи подобие

Norma_Cheater
27.05.2013, 14:56
В собе от голубя cmd_sendpic от фипа pickup ищите типо таво

fondamentolok
27.05.2013, 15:06
1>------ Построение начато: проект: mod_sa, Конфигурация: Release Win32 ------

1> cheat_generic.cpp

1>cheat_generic.cpp(1343): warning C4018: >: несоответствие типов со знаком и без знака

1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cp pBuild.targets(1137,5): warning MSB8012: TargetPath(C:\Users\Desktop\mod_sa_vmod_sa_v4.4.3. 4__gm_fix_source\src\\obj\Release\mod_sa.dll) does not match the Linker's OutputFile property value (C:\Users\Desktop\mod_sa_vmod_sa_v4.4.3.4__gm_fix_ source\bin\d3d9.dll). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).

1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cp pBuild.targets(1139,5): warning MSB8012: TargetName(mod_sa) does not match the Linker's OutputFile property value (d3d9). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).

1>bass.lib(BASS.dll) : error LNK2026: небезопасный модуль для образа SAFESEH.

1>bass.lib(BASS.dll) : error LNK2026: небезопасный модуль для образа SAFESEH.

1>bass.lib(BASS.dll) : error LNK2026: небезопасный модуль для образа SAFESEH.

1> Создается библиотека C:\Users\Desktop\mod_sa_vmod_sa_v4.4.3.4__gm_fix_s ource\src\\obj\Release\mod_sa_proxy.lib и объект C:\Users\Desktop\mod_sa_vmod_sa_v4.4.3.4__gm_fix_s ource\src\\obj\Release\mod_sa_proxy.exp

1>../bin/d3d9.dll : fatal error LNK1281: Не удается создать образ SAFESEH.

========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

fondamentolok
27.05.2013, 15:08
В собе от голубя cmd_sendpic от фипа pickup ищите типо таво[/quote
Можешь вшить его в исходник и кинуть мне в личку если честно я задолбался

im0rg
27.05.2013, 15:12
Ну как, у кого работает у кого нет?

Norma_Cheater
27.05.2013, 15:14
Чё вы все мучаетесь блин, найдите cmd_tele_loc и после него или до вставьте код который нужен...

BaHeK
27.05.2013, 15:17
так там ещо надо в исходнике собейта bass.h и bass.lib обявить

Skel
27.05.2013, 15:21
Опиши подробнее,у меня нехуя не пашет :D

im0rg
27.05.2013, 15:25
Опиши подробнее,у меня нехуя не пашет :D


В чем именно проблема

fondamentolok
27.05.2013, 15:43
В чем именно проблема




Нифига не работает :shout:

im0rg
27.05.2013, 15:45
Нифига не работает :shout:


Вот я не понимаю почему у меня все работает а вы даже тупо вставить правильно не можете

BaHeK
27.05.2013, 16:09
Вот я не понимаю почему у меня все работает а вы даже тупо вставить правильно не можете




ну видь надо обявить bass.h в mod_sa_VS2010.vcxproj.filters и mod_sa_VS2010.vcxproj ??

fondamentolok
27.05.2013, 16:11
у надо обявить bass.h в mod_sa_VS2010.vcxproj.filters и mod_sa_VS2010.vcxproj ??


не пойму че за \src\main.h(221): fatal error C1083: Не удается открыть файл включение: bass.h:

BaHeK
27.05.2013, 16:13
не пойму че за \src\main.h(221): fatal error C1083: Не удается открыть файл включение: bass.h:




ну у тибя ево же нету в папке с иходником

im0rg
27.05.2013, 16:17
Для начала качаем архив приложенный к теме.

Все из этого архива кидаем в папку src

это видать я только для себя писал

im0rg
27.05.2013, 16:17
ну видь надо обявить bass.h в mod_sa_VS2010.vcxproj.filters и mod_sa_VS2010.vcxproj ??


нет

fondamentolok
27.05.2013, 16:43
1>c:\users\desktop\mod_sa_v4.3.3.1_source\src\samp.c pp(656): warning C4700: использована неинициализированная локальная переменная "chan"

1>c:\users\desktop\mod_sa_v4.3.3.1_source\src\samp.c pp(658): warning C4700: использована неинициализированная локальная переменная "r"

1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cp pBuild.targets(1137,5): warning MSB8012: TargetPath(C:\Users\Desktop\mod_sa_v4.3.3.1_source \src\\obj\Release\mod_sa.dll) does not match the Linker's OutputFile property value (C:\Users\Desktop\mod_sa_v4.3.3.1_source\bin\d3d9. dll). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).

1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cp pBuild.targets(1139,5): warning MSB8012: TargetName(mod_sa) does not match the Linker's OutputFile property value (d3d9). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).

1>bass.lib(BASS.dll) : error LNK2026: небезопасный модуль для образа SAFESEH.

1>bass.lib(BASS.dll) : error LNK2026: небезопасный модуль для образа SAFESEH.

1>bass.lib(BASS.dll) : error LNK2026: небезопасный модуль для образа SAFESEH.

1> Создается библиотека C:\Users\Desktop\mod_sa_v4.3.3.1_source\src\\obj\R elease\mod_sa_proxy.lib и объект C:\Users\Desktop\mod_sa_v4.3.3.1_source\src\\obj\R elease\mod_sa_proxy.exp

1>../bin/d3d9.dll : fatal error LNK1281: Не удается создать образ SAFESEH.

========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

1>c:\users\desktop\mod_sa_v4.3.3.1_source\src\samp.c pp(656): warning C4700: использована неинициализированная локальная переменная "chan"

1>c:\users\desktop\mod_sa_v4.3.3.1_source\src\samp.c pp(658): warning C4700: использована неинициализированная локальная переменная "r"

BaHeK
27.05.2013, 19:04
У меня всьо работает Лёха спс за урок

im0rg
27.05.2013, 19:08
У меня всьо работает Лёха спс за урок


Вот хоть 1 сделал, а то я уже начал подозревать то что не правильно что-то написал.

BaHeK
27.05.2013, 19:25
Вот хоть 1 сделал, а то я уже начал подозревать то что не правильно что-то написал.




Да не всьо правельно

NarutoUA
27.05.2013, 22:07
StatusProc: необъявленный идентификатор. Выдает вот такую ошибку

im0rg
27.05.2013, 22:15
StatusProc: необъявленный идентификатор. Выдает вот такую ошибку


Далее там же найдем

Код:

void cmd_pickup ( char *params )

И перед ним добавим

Код:

void CALLBACK StatusProc(const void *buffer, DWORD length, void *user)

{

if (buffer && !length && (DWORD)user==0) // got HTTP/ICY tags, and this is still the current request

addMessageToChatWindow( "loading.." );

}

NarutoUA
27.05.2013, 22:36
Все, разобрался. Как я вижу, радио для соба написано на основе интернет клиента из примера исходника bass библиотеки. Вот только один вопрос: как остановить музыку?

im0rg
27.05.2013, 22:41
Все, разобрался. Как я вижу, радио для соба написано на основе интернет клиента из примера исходника bass библиотеки. Вот только один вопрос: как остановить музыку?


Просто вырубай так, отруби Bass

NarutoUA
27.05.2013, 22:50
Просто вырубай так, отруби Bass


BASS_StreamFree(chan); // close old stream - вроде останавливает текущий стрим, но если вставляю в свой проект, выдает ошибку chan: необъявленный идентификатор

im0rg
27.05.2013, 22:52
BASS_StreamFree(chan); // close old stream - вроде останавливает текущий стрим, но если вставляю в свой проект, выдает ошибку chan: необъявленный идентификатор


Не правильно

NarutoUA
27.05.2013, 23:12
Кстате есть еще библиотека BASSDSHOW, которая

позволяет воспроизведение





видео (https://www.blast.hk/redirect/aHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS8lRDAlOTIlRD AlQjglRDAlQjQlRDAlQjUlRDAlQkU)файлов в BASS, используя для этогоDirectShow (https://www.blast.hk/redirect/aHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS9EaXJlY3RTaG 93)кодек.


Думаю, как-нибуть возможно это соеденить с гта и воспроизводить видео в игре.

im0rg
27.05.2013, 23:24
Кстате есть еще библиотека BASSDSHOW, котораяДумаю, как-нибуть возможно это соеденить с гта и воспроизводить видео в игре.


Конечно можно

BaHeK
27.05.2013, 23:31
Конечно можно




а ещо туда браузер засунуть и некто отуда небудет вылазить :trollface:

im0rg
27.05.2013, 23:41
а ещо туда браузер засунуть и некто отуда небудет вылазить :trollface:


Вы что хотите от собейта. Собейт это чит.

im0rg
28.05.2013, 01:18
Стоит ли дорабатывать код?

EvgeN 1137
28.05.2013, 09:37
а почему просто не взять и не сделать радио стандартными функциями сампа?

im0rg
28.05.2013, 12:09
а почему просто не взять и не сделать радио стандартными функциями сампа?


Не знай

Skel
28.05.2013, 13:13
Стоит ли дорабатывать код?




Я думаю да

еще можно через .set чтобы переключать разные радио

im0rg
28.05.2013, 13:29
Я думаю да
еще можно через .set чтобы переключать разные радио


В AntTweakBar легко кто вот умеет хорошо использовать dumb_menu отзовитесь мне нужна ваша помощь

key
28.05.2013, 14:38
Молорик Лех))

_RafaeL_
01.06.2013, 06:39
В AntTweakBar легко кто вот умеет хорошо использовать dumb_menu отзовитесь мне нужна ваша помощь


В думб меню, нельзя символы указывать.

Только через .ini

[Nexus]
07.10.2013, 18:29
где New_menu.cpp ? соб фупа

RickAstley
07.10.2013, 18:53
"]

где New_menu.cpp ? соб фупа




скачай исходник со вшитым AntTweakBar'ом

[Nexus]
07.10.2013, 19:05
скачай исходник со вшитым AntTweakBar'ом


Нашел, спасибо.