Nie mogę zmienić tagu z AMXX.PL na OnlyStrike. Próbowałem nawet zmienić w pliku .sma, lecz nie mogłem potem tego przekonwertować, ogółem nie mogę tego przekonwertować, nawet pozostawiając bez zmian ![]()
Oto zawartość pliku .sma
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <dhudmessage>
#include <colorchat>
#define PLUGIN "EERS - Easy End Round Sounds"
#define VERSION "0.2"
#define AUTHOR "DarkGL"
enum ( *=2 ){
INFORMATION_CENTER = 1,
INFORMATION_HUD,
INFORMATION_STATUSTEXT,
INFORMATION_DHUD,
INFORMATION_CHAT
}
new Array:ctSounds,
Array:ttSounds;
new PrefixMessages[ 64 ];
new menuPlayList,
menuRoundSound;
new pCvarPlayList,
pCvarRoundSound,
pCvarRandom;
new showFlags;
new bool:playSoundOn[ 33 ];
new maxPlayers;
new ttCurrentSong;
new ctCurrentSong;
new gmsgStatusText;
new pCvarHudColor,
pCvarHudPosX,
pCvarHudPosY;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
if( ArraySize( ttSounds ) - 1 >= 0 ){
register_event( "SendAudio", "T_win" , "a", "2&%!MRAD_terwin");
}
if( ArraySize( ctSounds ) - 1 >= 0 ){
register_event( "SendAudio", "CT_win", "a", "2&%!MRAD_ctwin");
}
new iValue = 0;
if( ( iValue = get_cvar_num( "roundsound_information_show" ) ) > 0 ){
set_task( float( iValue ) ,"information_show", .flags = "b" );
}
gmsgStatusText = get_user_msgid( "StatusText" );
maxPlayers = get_maxplayers();
}
public plugin_end(){
ArrayDestroy( ctSounds );
ArrayDestroy( ttSounds );
}
public registerCvars(){
pCvarRandom = register_cvar("roundsound_mode","0");
register_cvar("roundsound_information_show","300");
register_cvar("roundsound_tag","OnlyStrike");
register_cvar("roundsound_information_play","d");
register_cvar("roundsound_ct_path","misc/CT")
register_cvar("roundsound_tt_path","misc/TT")
pCvarPlayList = register_cvar("roundsound_playlist_on","1");
pCvarRoundSound = register_cvar("roundsound_roundsound_on","1");
pCvarHudColor = register_cvar( "roundsound_hud_color" , "0 255 42")
pCvarHudPosX = register_cvar( "roundsound_hud_pos_x" , "-1.0" );
pCvarHudPosY = register_cvar( "roundsound_hud_pos_y" , "0.2" );
}
public execCvars(){
new szPathConfigFile[ 256 ],
iLen = get_configsdir( szPathConfigFile,charsmax( szPathConfigFile ) );
formatex( szPathConfigFile[ iLen ] , charsmax( szPathConfigFile ) - iLen , "/roundsound.cfg" );
if( !file_exists( szPathConfigFile ) ){
write_file( szPathConfigFile , "//tag widoczny przy komunikatach wysyłanych przez plugin" , -1 );
write_file( szPathConfigFile , "roundsound_tag OnlyStrike" , -1 );
write_file( szPathConfigFile , "//w jaki sposob ma wysylac informacje o granym utworze a - center b - hud c - status text d - dhud e - chat mozna laczyc np ab - pokaże w hudzie i center jeśli podamy nic nie wyświetli sie nigdzie" , -1 );
write_file( szPathConfigFile , "roundsound_information_play d" , -1 );
write_file( szPathConfigFile , "//jak czesto ma sie pojawiac info o dostepnych komendach ustawienie na 0 wyłącza pokazywanie informacji" , -1 );
write_file( szPathConfigFile , "roundsound_information_show 300" , -1 );
write_file( szPathConfigFile , "//sciezka do folderu z muzyka dla CT podajemy bez sound/ wazna jest wielkosc liter" , -1 );
write_file( szPathConfigFile , "roundsound_ct_path misc/CT" , -1 );
write_file( szPathConfigFile , "//sciezka do folderu z muzyka dla TT podajemy bez sound/ wazna jest wielkosc liter" , -1 );
write_file( szPathConfigFile , "roundsound_tt_path misc/TT" , -1 );
write_file( szPathConfigFile , "// 0 - nie mozna uzyc komendy /playlista 1 - mozna plugin sam generuje playliste 2 - mozna admin musi stworzyc playliste (folder configs pliki ctplaylist.txt i ttplaylist.txt)" , -1 );
write_file( szPathConfigFile , "roundsound_playlist_on 1" , -1 );
write_file( szPathConfigFile , "//czy mozna uzyc komendy /roundsound pozwalajace na graczowi na wylaczenie/wlaczenie dla siebie roundsounda" , -1 );
write_file( szPathConfigFile , "roundsound_roundsound_on 1" , -1 );
write_file( szPathConfigFile , "//ma odgrywac utwory po kolei czy losowo 0 - po kolei 1 - losowo" , -1 );
write_file( szPathConfigFile , "roundsound_mode 0" , -1 );
write_file( szPathConfigFile , "//kolor wiadomosci hud" , -1 );
write_file( szPathConfigFile , "roundsound_hud_color ^"0 255 42^"" , -1 );
write_file( szPathConfigFile , "//pozycja wiadomosci hud" , -1 );
write_file( szPathConfigFile , "roundsound_hud_pos_x -1.0" , -1 );
write_file( szPathConfigFile , "roundsound_hud_pos_y 0.2" , -1 );
}
server_cmd("exec ^"%s^"",szPathConfigFile );
server_exec();
}
public plugin_cfg(){
new flagsBuffer[ 33 ];
get_cvar_string( "roundsound_information_play" , flagsBuffer, charsmax( flagsBuffer ) );
get_cvar_string( "roundsound_tag", PrefixMessages , charsmax( PrefixMessages ) );
showFlags = read_flags( flagsBuffer );
if( get_pcvar_num( pCvarPlayList ) ){
registerPlayListCommands();
createPlayListMenu();
}
if( get_pcvar_num( pCvarRoundSound ) ){
registerRoundSoundCommands();
registerRoundSoundMenu();
}
}
public client_connect( id ){
playSoundOn[ id ] = true;
}
public roundsound_on( id ){
menu_display( id , menuRoundSound );
return PLUGIN_HANDLED;
}
public roundsound_handle( id , menu , item ){
if( item == MENU_EXIT ){
return PLUGIN_CONTINUE;
}
switch( item ){
case 0:
{
ColorChat(id,GREEN,"[%s] Wlaczyles roundsounda",PrefixMessages)
playSoundOn[id] = true;
}
case 1:
{
ColorChat(id,GREEN,"[%s] Wylaczyles roundsounda",PrefixMessages)
playSoundOn[id] = false;
}
}
return PLUGIN_CONTINUE;
}
public playlist_show(id){
menu_display( id , menuPlayList );
return PLUGIN_HANDLED;
}
public information_show(id){
static send = 0;
switch(send){
case 0:
{
if( !get_pcvar_num( pCvarPlayList ) ) {
if( get_pcvar_num( pCvarRoundSound ) ){
ColorChat(0,TEAM_COLOR,"[%s] W celu wlaczenia/wylaczenie roundsounda napisz na czacie /roundsound",PrefixMessages)
}
}
else
{
ColorChat(0,TEAM_COLOR,"[%s] Jesli chcesz przejrzec playliste napisz na czacie /playlista",PrefixMessages)
send++;
}
}
case 1:
{
send--;
if( !get_pcvar_num( pCvarRoundSound ) ){
if( get_pcvar_num( pCvarPlayList ) ){
ColorChat(0,TEAM_COLOR,"[%s] Jesli chcesz przejrzec playliste napisz na czacie /playlista",PrefixMessages)
}
}
else
{
ColorChat(0,TEAM_COLOR,"[%s] W celu wlaczenia/wylaczenie roundsounda napisz na czacie /roundsound",PrefixMessages)
}
}
}
}
public playlist_show_handle( id , menu , item ){
if( item == MENU_EXIT){
return PLUGIN_CONTINUE;
}
new szConfDir[ 128 ],
iLen = get_configsdir(szConfDir,charsmax(szConfDir) );
formatex( szConfDir[ iLen ] , charsmax(szConfDir) - iLen , "%s/ctplaylist.txt", szConfDir , item == 0 ? "ctplaylist.txt" : "ttplaylist.txt" );
switch(item){
case 0:{
show_motd(id,szConfDir,"PlayLista CT")
}
case 1:{
show_motd(id,szConfDir,"PlayLista TT")
}
}
playlist_show( id );
return PLUGIN_CONTINUE;
}
public T_win(){
new szPath[256];
if( get_pcvar_num( pCvarRandom ) ){
ArrayGetString( ttSounds , random_num( 0 , ArraySize( ttSounds ) - 1 ),szPath, charsmax( szPath ) );
}
else{
if( ttCurrentSong >= ArraySize( ttSounds ) - 1 ){
ttCurrentSong = 0;
}
ArrayGetString( ttSounds , ttCurrentSong++ , szPath , charsmax( szPath ) );
}
playSound( szPath );
}
public CT_win(){
new szPath[256];
if( get_pcvar_num( pCvarRandom ) ){
ArrayGetString( ctSounds,random_num( 0, ArraySize( ctSounds ) - 1 ),szPath, charsmax( szPath ) );
}
else{
if( ctCurrentSong >= ArraySize( ctSounds ) - 1 ){
ctCurrentSong = 0;
}
ArrayGetString( ctSounds , ctCurrentSong++ , szPath , charsmax( szPath ) );
}
playSound( szPath );
}
public registerPlayListCommands(){
register_clcmd("say /playlist","playlist_show")
register_clcmd("say playlist","playlist_show")
register_clcmd("say_team /playlist","playlist_show")
register_clcmd("say_team playlist","playlist_show")
register_clcmd("say /playlista","playlist_show")
register_clcmd("say playlista","playlist_show")
register_clcmd("say_team /playlista","playlist_show")
register_clcmd("say_team playlista","playlist_show")
}
public createPlayListMenu(){
menuPlayList = menu_create( "Playlista" , "playlist_show_handle" );
menu_additem( menuPlayList , "PlayLista CT" );
menu_additem( menuPlayList , "PlayLista TT" );
menu_setprop( menuPlayList , MPROP_EXITNAME , "Wyjscie" );
menu_setprop( menuPlayList , MPROP_NUMBER_COLOR , "\r" );
menu_setprop( menuPlayList , MPROP_PERPAGE , 0 );
}
public registerRoundSoundCommands(){
register_clcmd("say /roundsound","roundsound_on")
register_clcmd("say roundsound","roundsound_on")
register_clcmd("say_team /roundsound","roundsound_on")
register_clcmd("say_team roundsound","roundsound_on")
}
public registerRoundSoundMenu(){
new menuTitle[256];
formatex( menuTitle,charsmax( menuTitle ), "[%s] Easy End Round Sound" , PrefixMessages );
menuRoundSound = menu_create( menuTitle , "roundsound_handle" );
menu_additem( menuRoundSound , "Wlacz roundsound" );
menu_additem( menuRoundSound , "wyłącz roundsound" );
menu_setprop( menuRoundSound , MPROP_EXITNAME , "Wyjscie" )
menu_setprop( menuRoundSound , MPROP_NUMBER_COLOR , "\r" );
menu_setprop( menuRoundSound , MPROP_PERPAGE , 0 );
}
public loadCTSongs(){
new szPath[ 256 ] ,
szFullDir[ 256 ],
szFile[ 256 ],
szConfDir[ 256 ],
szFullPath[ 256 ];
if( get_pcvar_num( pCvarPlayList ) == 1 ){
get_configsdir(szConfDir,charsmax(szConfDir));
formatex( szConfDir[ strlen( szConfDir ) ],charsmax( szConfDir ) - strlen( szConfDir ),"/ctplaylist.txt");
if(file_exists( szConfDir ) ){
delete_file( szConfDir );
}
write_file(szConfDir,"<html><head><title>PlayLista CT</title></head><body bgcolor='black'><font color='white'>",-1)
}
get_cvar_string("roundsound_ct_path",szPath,charsmax(szPath))
formatex(szFullDir,charsmax(szFullDir),"sound/%s",szPath)
new dp = open_dir(szFullDir, szFile, charsmax(szFile));
if( !dp ){
log_amx("Brak folderu z muzyka dla ct: %s" , szFullDir );
set_fail_state( "" );
}
while( next_file(dp, szFile, charsmax( szFile ) ) ){
if( strlen( szFile ) < 5 ){
continue;
}
if( !isValid( szFile ) ){
log_amx( "Nie zaladowano: %s" , szFile );
continue;
}
formatex( szFullPath , charsmax( szFullPath ) , "%s/%s" , szFullDir , szFile );
isWav( szFile ) ? precache_sound( szFullPath[ 6 ] ) : precache_generic( szFullPath );
ArrayPushString( ctSounds , szFullPath )
log_amx("Zaladowano : %s", szFullPath );
if( get_pcvar_num( pCvarPlayList ) == 1 ){
clean_path( szFile );
write_file( szConfDir , szFile );
write_file( szConfDir , "<br />" );
}
}
write_file( szConfDir , "</font></body></html>" , -1 )
close_dir( dp );
}
public loadTTSongs(){
new szPath[ 256 ] ,
szFullDir[ 256 ],
szFile[ 256 ],
szConfDir[ 256 ],
szFullPath[ 256 ];
get_cvar_string( "roundsound_tt_path" ,szPath,charsmax(szPath))
formatex(szFullDir,charsmax(szFullDir),"sound/%s",szPath);
if(get_pcvar_num( pCvarPlayList ) == 1){
get_configsdir(szConfDir,charsmax(szConfDir));
formatex( szConfDir[ strlen( szConfDir ) ],charsmax( szConfDir ) - strlen( szConfDir ), "/ttplaylist.txt" , szConfDir );
if(file_exists( szConfDir ) ){
delete_file( szConfDir );
}
write_file(szConfDir,"<html><head><title>PlayLista TT</title></head><body bgcolor='black'><font color='white'>",-1)
}
new dp = open_dir(szFullDir, szFile, charsmax(szFile));
if( !dp ){
log_amx("Brak folderu z muzyka dla tt: %s", szFullDir )
set_fail_state( "" );
}
while( next_file( dp , szFile, charsmax( szFile ) ) ){
if( strlen( szFile ) < 5){
continue;
}
if( !isValid( szFile ) ){
log_amx( "Nie zaladowano: %s" , szFile );
continue;
}
formatex(szFullPath,charsmax(szFullPath),"%s/%s",szFullDir,szFile)
isWav( szFile ) ? precache_sound( szFullPath[ 6 ] ) : precache_generic( szFullPath );
ArrayPushString( ttSounds , szFullPath )
log_amx( "Zaladowano : %s" ,szFullPath);
if( get_pcvar_num( pCvarPlayList ) == 1 ){
clean_path( szFile );
write_file( szConfDir , szFile );
write_file( szConfDir , "<br />" );
}
write_file( szConfDir , "</font></body></html>" , -1 );
}
close_dir( dp );
}
public plugin_precache(){
ctSounds = ArrayCreate( 256 , 1 );
ttSounds = ArrayCreate( 256 , 1 );
registerCvars();
execCvars();
loadCTSongs();
loadTTSongs();
return PLUGIN_CONTINUE;
}
playSound(file[]){
new szCommand[ 256 ];
formatex( szCommand , charsmax( szCommand ) , "%s%s^"",isWav(file) ? "spk ^"":"mp3 play ^"sound/",file[6] );
for( new iPlayer = 1 ; iPlayer <= maxPlayers; iPlayer++){
if( !is_user_connected( iPlayer ) || !playSoundOn[ iPlayer ] ){
continue;
}
client_cmd( iPlayer , szCommand );
}
new szFile[ 256 ],
textShow[ 256 ];
remove_filepath( file , szFile , charsmax( szFile ) );
clean_path( szFile );
formatex( textShow , charsmax( textShow ) , "[%s] Obecnie Gramy %s" , PrefixMessages , szFile );
new flagsShow = getFlags();
if( flagsShow & INFORMATION_CENTER ){
showCenter( textShow );
}
if( flagsShow & INFORMATION_HUD){
showHud( textShow );
}
if( flagsShow & INFORMATION_STATUSTEXT){
showStatusText( textShow );
}
if( flagsShow & INFORMATION_DHUD ){
showDhud( textShow );
}
if( flagsShow & INFORMATION_CHAT ){
showChat( textShow );
}
}
public showCenter(szFile[]){
for(new iPlayer = 1 ; iPlayer <= maxPlayers ; iPlayer++ ){
if(!is_user_connected( iPlayer ) || !playSoundOn[ iPlayer ]){
continue;
}
client_print( iPlayer , print_center , szFile );
}
}
public showHud(szFile[]){
new szColor[ 12 ], szRGB[ 3 ][ 4 ];
get_pcvar_string( pCvarHudColor, szColor, charsmax( szColor ) );
parse( szColor, szRGB[ 0 ], 3, szRGB[ 1 ], 3, szRGB[ 2 ], 3 );
new iRed = clamp( str_to_num( szRGB[ 0 ] ), 0, 255 ),
iGreen = clamp( str_to_num( szRGB[ 1 ] ), 0, 255 ),
iBlue = clamp( str_to_num( szRGB[ 2 ] ), 0, 255 );
for(new iPlayer = 1 ; iPlayer <= maxPlayers ; iPlayer++ ){
if(!is_user_connected( iPlayer ) || !playSoundOn[ iPlayer ]){
continue;
}
set_hudmessage( iRed , iGreen , iBlue, get_pcvar_float( pCvarHudPosX ), get_pcvar_float( pCvarHudPosY ) , 0, 6.0, 12.0);
show_hudmessage( iPlayer , szFile)
}
}
public showStatusText(szFile[]){
for(new iPlayer = 1 ; iPlayer <= maxPlayers ; iPlayer++ ){
if(!is_user_connected( iPlayer ) || !playSoundOn[ iPlayer ]){
continue;
}
message_begin(MSG_ONE_UNRELIABLE, gmsgStatusText, {0,0,0}, iPlayer );
write_byte(0)
write_string(szFile)
message_end()
}
}
public showDhud( szFile[] ){
new szColor[ 12 ], szRGB[ 3 ][ 4 ];
get_pcvar_string( pCvarHudColor, szColor, charsmax( szColor ) );
parse( szColor, szRGB[ 0 ], 3, szRGB[ 1 ], 3, szRGB[ 2 ], 3 );
new iRed = clamp( str_to_num( szRGB[ 0 ] ), 0, 255 ),
iGreen = clamp( str_to_num( szRGB[ 1 ] ), 0, 255 ),
iBlue = clamp( str_to_num( szRGB[ 2 ] ), 0, 255 );
for(new iPlayer = 1 ; iPlayer <= maxPlayers ; iPlayer++ ){
if(!is_user_connected( iPlayer ) || !playSoundOn[ iPlayer ]){
continue;
}
set_dhudmessage( iRed , iGreen , iBlue , get_pcvar_float( pCvarHudPosX ), get_pcvar_float( pCvarHudPosY ) , 0, 6.0, 12.0 );
show_dhudmessage( iPlayer , szFile );
}
}
public showChat( szFile[] ){
for(new iPlayer = 1 ; iPlayer <= maxPlayers ; iPlayer++ ){
if(!is_user_connected( iPlayer ) || !playSoundOn[ iPlayer ]){
continue;
}
client_print( iPlayer , print_chat,szFile );
}
}
bool:isWav(file[]){
new iSize = strlen( file ) - 4;
if( iSize > 0 ){
if( equali( file[ iSize ] , ".wav") ){
return true;
}
}
return false;
}
getFlags(){
return showFlags;
}
bool:isValid(szFilename[]){
new iSize = strlen( szFilename ) - 4;
if(iSize > 0){
if(equali(szFilename[iSize], ".mp3") || equali(szFilename[iSize], ".wav")){
return true;
}
}
return false;
}
clean_path(szFileName[]){
szFileName[ strlen( szFileName ) - 4 ] = '^0';
}


Dodatki SourceMod



Temat jest zamknięty









