|
Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/
kz_records сообщения в чат при коннекте
|
|
LeXiKoN | Дата: Среда, 03.06.2009, 17:23:02 | Сообщение # 1 |
Майор
Группа: Пользователи
Сообщений: 85
Статус: Не в сети
| есть плагин kz_records! Он дает возможность показа рекордов на джамп картах для разных стран! В чате вводишь команду и показывается hud сообщение! Вопрос в другом... хотелось бы осуществить такую штуку, чтоб при коннекте в чат выводилось что-то подобное Quote World Record: Russian Record: Добавил Code public client_putinserver( id ) {
set_task(5.0, "fnInformation", id);
} а вот что писать в public fnInformation( id ) не знаю надо сделать чтобы она работала точно так же как Code public hookSay( plr ) { static msg[512], cmd[32], map[32]; read_args( cmd, 31 ); remove_quotes( cmd ); if( !cmd[0] || strlen( cmd ) != 3 ) { return PLUGIN_CONTINUE; } for( new i ; i < MAX ; i++ ) { for( new j ; j < SAY ; j++ ) { if( !equali( cmd, g_SayCommands[i][j], 3 ) ) { continue; } static author[EXT][32], kztime[8], extension[EXT][8], len, founds; if( cmd[4] ) { founds = get_record_data( i, cmd[4], author, kztime, extension ); len = format( msg, 511, "%s Record of %s:", g_CountryAdjective[i], cmd[4] ); } else { get_mapname( map, 31 ); founds = get_record_data( i, map, author, kztime, extension ); len = format( msg, 511, "%s Record of %s:", g_CountryAdjective[i], map ); } if( author[0][0] ) { for( new x ; x < founds ; x++ ) { if( !author[x][0] ) { break; } if( extension[x][0] ) { len += format( msg[len], 511 - len, "^n [%s] %s (%i:%02i) ", extension[x], author[x], ( kztime[x] / 60 ), ( kztime[x] % 60 ) ); } else { len += format( msg[len], 511 - len, "^n %s (%i:%02i) ", author[x], ( kztime[x] / 60 ), ( kztime[x] % 60 ) ); } } } else { len += format( msg[len], 511 - len, "^n N/A (**:**)" ); } set_hudmessage( g_iColors[0], g_iColors[1], g_iColors[2], g_fCoords[0], g_fCoords[1], _, _, g_fShowtime, _, _, -1 ); show_hudmessage( plr, msg );
return PLUGIN_HANDLED; } } return PLUGIN_CONTINUE; } пробовал Code public fnInformation( id ) {
static map[32]; static author[EXT][32], kztime[8], extension[EXT][8]; get_mapname( map, 31 ); get_record_data( i, map, author, kztime, extension ); ColorChat(id, RED, "^x04[eQ] ^x03World Record on %s: ^x01%s", map, g_CountryAdjective); ColorChat(id, BLUE, "^x04[eQ] ^x03Russian Record on %s: ^x01%s", map, g_CountryAdjective); } не компилится :)))) и вообще параметра i как бы нет
|
|
| |
defaultNick8433 | Дата: Среда, 03.06.2009, 19:25:03 | Сообщение # 2 |
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Статус: Не в сети
| У меня такое предложение,рекорды ты можешь записывать в текстовой файл Code #include <amxmodx>
public plugin_init() { register_plugin("l","l","l") register_dictionary("kz_records.txt") } public client_putinserver(id) { set_hudmessage(0, 128, 255, -1.0, 0.75, 0, 6.0, 6.0, 0.5, 0.15, 937) show_hudmessage(0,"%L ",LANG_PLAYER) } В kz_records.txt,должен лежать в папке cstrike/addons/data/lang Внёмдолжно быть напиано [en] твой предложение,вписываешь игрока рекордом его //пример:player kUk finish map kz_block for 10 second [ru] Mтвоё предложение на русском языке,еслиесть руссификатор,конечно Т.е вот,что должно быть в тхт файле [en] [ru]
Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
Сообщение отредактировал defaultNick8433 - Среда, 03.06.2009, 19:34:52 |
|
| |
LeXiKoN | Дата: Среда, 03.06.2009, 19:29:15 | Сообщение # 3 |
Майор
Группа: Пользователи
Сообщений: 85
Статус: Не в сети
| спасибо я знаю как это сделать это было следующим шагом!! а пока надо сделать функцию public fnInformation( id )
|
|
| |
defaultNick8433 | Дата: Среда, 03.06.2009, 19:38:49 | Сообщение # 4 |
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Статус: Не в сети
| Code public client_putinserver(id) { static map[32]; static author[EXT][32], kztime[8], extension[EXT][8]; get_mapname( map, 31 ); get_record_data( i, map, author, kztime, extension ); ColorChat(id, RED, "^x04[eQ] ^x03World Record on %s: ^x01%s", map, g_CountryAdjective); ColorChat(id, BLUE, "^x04[eQ] ^x03Russian Record on %s: ^x01%s", map, g_CountryAdjective); } Code public client_putinserver( id ) {
set_task(5.0, "fnInformation", id);
} Quote set_task(5.0, "fnInformation", id); //удаляешь Вставляешь за место этого Code static map[32]; static author[EXT][32], kztime[8], extension[EXT][8]; get_mapname( map, 31 ); get_record_data( i, map, author, kztime, extension ); ColorChat(id, RED, "^x04[eQ] ^x03World Record on %s: ^x01%s", map, g_CountryAdjective); ColorChat(id, BLUE, "^x04[eQ] ^x03Russian Record on %s: ^x01%s", map, g_CountryAdjective)
Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
|
|
| |
LeXiKoN | Дата: Пятница, 05.06.2009, 00:11:28 | Сообщение # 5 |
Майор
Группа: Пользователи
Сообщений: 85
Статус: Не в сети
| дело в том что само Quote static map[32]; static author[EXT][32], kztime[8], extension[EXT][8]; get_mapname( map, 31 ); get_record_data( i, map, author, kztime, extension ); ColorChat(id, RED, "^x04[eQ] ^x03World Record on %s: ^x01%s", map, g_CountryAdjective); ColorChat(id, BLUE, "^x04[eQ] ^x03Russian Record on %s: ^x01%s", map, g_CountryAdjective) не верно составлено! омг! Code set_task(5.0, "fnInformation", id); //удаляешь это вообще смех! мне это нужно между прочимДобавлено (2009-06-05, 0:11 Am) --------------------------------------------- вроде простая задача что никто не поможет ?
|
|
| |
defaultNick8433 | Дата: Пятница, 05.06.2009, 00:34:18 | Сообщение # 6 |
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Статус: Не в сети
| Во-первых <colorchat>,<httpdl> неизвестные инклуды,а во-вторых у меня получилось скомпилировать плагин,проверь как работает
Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
|
|
| |
LeXiKoN | Дата: Пятница, 05.06.2009, 00:48:11 | Сообщение # 7 |
Майор
Группа: Пользователи
Сообщений: 85
Статус: Не в сети
| пфф я все понимаю ты тут шаришь и все такое но хотелось бы исходник который тебе удалось откомпилировать
|
|
| |
defaultNick8433 | Дата: Пятница, 05.06.2009, 00:50:57 | Сообщение # 8 |
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Статус: Не в сети
| Впринципе,ничего сложного не было Code #include <amxmodx>
#pragma semicolon 1
#define PLUGIN "KZ Records" #define VERSION "1.6b" #define AUTHOR "SchlumPF"
#define ADMIN_FLAG ADMIN_KICK
#define MAX 12 #define SAY 2 #define EXT 6
new g_CountryAdjective[MAX][] = { "World", "German", "French", "Estonian", "Russian", "Slovakian", "Norwegian", "Swedish", "Danish", "Bulgarien", " Romanian", "Brazilian" };
new g_SayCommands[MAX][SAY][] = { { "/xj", "/wr" }, { "/cg", "/de" }, { "/fr", "" }, { "/ee", "" }, { "/ru", "" }, { "/sk", "" }, { "/no", "" }, { "/se", "" }, { "/dk", "" }, { "/bg", "" }, { "/ro", "" }, { "/br", "" } };
new g_DownloadLink[MAX][] = { "http://xtreme-jumps.eu/demos.txt", "http://climbers-germany.de/demos.txt", "http://kzfr.net/demos.txt", "http://kreedz.pri.ee/demos.txt", "http://kzru.net/records.txt", "http://kzsk.sk/demos/demos.txt", "http://kz-scandinavia.com/demos_no.txt", "http://kz-scandinavia.com/demos_se.txt", "http://kz-scandinavia.com/demos_dk.txt", "http://bulgarian-kreedz.net/demos.txt", "http://romanian-jumpers.com/demos.txt", "http://bra-records.vndv.com/demos.txt" };
new g_RecordsFileSuffix[MAX][] = { "xj", "cg", "fr", "ee", "ru", "sk", "no", "se", "dk", "bg", "ro", "br" };
new g_Skip[][] = { "Xtreme-Jumps.eu ", "Climbers-Germany Record Script v2.0", "FOR KZFR BY REMYY", "http://kreedz.pri.ee #KZ.ee", "KZRU.NET", "", "", "", "", "", "", "Romanian-Jumpers.com & #KZRO @ Quakenet", "Brazilian Records" };
new g_flRecordsFile[MAX][256];
new g_iColors[3] = { 255, 0, 255 }; new Float:g_fShowtime = 5.0; new Float:g_fCoords[2] = { 0.01, 0.2 };
public plugin_init( ) { register_plugin( PLUGIN, VERSION, AUTHOR ); register_clcmd( "say", "hookSay" ); register_concmd( "kz_records_coords", "cmdChangeShowTime" ); register_concmd( "kz_records_coords", "cmdChangeCoords" ); register_concmd( "kz_records_color", "cmdChangeColor" ); }
public plugin_cfg( ) { new temp[256]; get_localinfo( "amxx_datadir", temp, 255 ); format( temp, 255, "%s/kz_records", temp ); if( !dir_exists( temp ) ) { mkdir( temp ); } for( new i ; i < MAX ; i++ ) { format( g_flRecordsFile[i], 255, "%s/demos_%s.txt", temp, g_RecordsFileSuffix[i] ); } format( temp, 255, "%s/last_update.ini", temp ); if( !file_exists( temp ) ) { fnUpdate( ); return PLUGIN_CONTINUE; } new year, month, day; date( year, month, day ); new f = fopen( temp, "rt" ); fgets( f, temp, 255 ); fclose( f ); if( str_to_num( temp[0] ) > year || str_to_num( temp[5] ) > month || str_to_num( temp[8] ) > day ) { fnUpdate( ); return PLUGIN_CONTINUE; } return PLUGIN_CONTINUE; }
public client_putinserver( id ) {
set_task(5.0, "fnInformation", id);
}
public fnInformation( id ) { client_print(id,print_chat,"World Record on %s: %s", g_CountryAdjective); client_print(id,print_chat,"Russian Record on %s: %s", g_CountryAdjective); }
public hookSay( plr ) { static msg[512], cmd[32], map[32]; read_args( cmd, 31 ); remove_quotes( cmd ); if( !cmd[0] || strlen( cmd ) != 3 ) { return PLUGIN_CONTINUE; } for( new i ; i < MAX ; i++ ) { for( new j ; j < SAY ; j++ ) { if( !equali( cmd, g_SayCommands[i][j], 3 ) ) { continue; } static author[EXT][32], kztime[8], extension[EXT][8], len, founds; if( cmd[4] ) { founds = get_record_data( i, cmd[4], author, kztime, extension ); len = format( msg, 511, "%s Record of %s:", g_CountryAdjective[i], cmd[4] ); } else { get_mapname( map, 31 ); founds = get_record_data( i, map, author, kztime, extension ); len = format( msg, 511, "%s Record of %s:", g_CountryAdjective[i], map ); } if( author[0][0] ) { for( new x ; x < founds ; x++ ) { if( !author[x][0] ) { break; } if( extension[x][0] ) { len += format( msg[len], 511 - len, "^n [%s] %s (%i:%02i) ", extension[x], author[x], ( kztime[x] / 60 ), ( kztime[x] % 60 ) ); } else { len += format( msg[len], 511 - len, "^n %s (%i:%02i) ", author[x], ( kztime[x] / 60 ), ( kztime[x] % 60 ) ); } } } else { len += format( msg[len], 511 - len, "^n N/A (**:**)" ); } set_hudmessage( g_iColors[0], g_iColors[1], g_iColors[2], g_fCoords[0], g_fCoords[1], _, _, g_fShowtime, _, _, -1 ); show_hudmessage( plr, msg );
return PLUGIN_HANDLED; } } return PLUGIN_CONTINUE; }
public get_record_data( i, map[], author[][32], kztime[8], extension[][8] ) { static data[256], _map[64], _kztime[8], f; new founds, len; f = fopen( g_flRecordsFile[i], "rt" ); while( !feof( f ) ) { fgets( f, data, 255 ); if( equali( data, g_Skip[i] ) ) { continue; } if( !equali( data, map, strlen( map ) ) ) { continue; }
len += 1 + copyc( _map, 63, data[len], ' ' ); len += 1 + copyc( _kztime, 7, data[len], ' ' ); kztime[founds] = str_to_num( _kztime ); copy( author[founds], 32, data[len] ); replace( author[founds], 31, "^n", "" ); if( containi( _map, "[" ) && containi( _map, "]" ) ) { for( new i ; i < strlen( _map ) ; i++ ) { if( !equali( _map[i], "[", 1 ) ) { continue; } len = i + 1; copyc( extension[founds], 8, _map[len], ']' ); break; } } founds++; } fclose( f ); return founds; }
public fnUpdate() { for( new i ; i < MAX ; i++ ) { server_cmd( g_DownloadLink[i], g_flRecordsFile[i] ); } new temp[256]; get_localinfo( "amxx_datadir", temp, 255 ); format( temp, 255, "%s/kz_records/last_update.ini", temp ); new year, month, day; date( year, month, day ); if( file_exists( temp ) ) { delete_file( temp ); } new f = fopen( temp, "wt" ); format( temp, 255, "%04ix%02ix%02i", year, month, day ); fputs( f, temp ); fclose( f ); }
public cmdChangeShowTime( plr ) { if( !( get_user_flags( plr ) & ADMIN_FLAG ) ) { client_print( plr, print_console, "* You have no access to this command" ); return PLUGIN_HANDLED; } if( read_argc( ) != 2 ) { client_print( plr, print_console, "Usage: kz_godmode_showtime <time>" ); return PLUGIN_HANDLED; } new showtime[32]; read_argv( 1, showtime, 31 ); g_fShowtime = floatclamp( str_to_float( showtime ), 0.0, 1000000.0 ); client_print( plr, print_console, "kz_godmode_showtime changed to ^"%f^"", g_fShowtime ); return PLUGIN_HANDLED; }
public cmdChangeCoords( plr ) { if( !( get_user_flags( plr ) & ADMIN_FLAG ) ) { client_print( plr, print_console, "* You have no access to this command" ); return PLUGIN_HANDLED; } if( read_argc( ) != 3 ) { client_print( plr, print_console, "Usage: kz_records_coords <x> <y>" ); return PLUGIN_HANDLED; } new x_str[6], y_str[6]; read_argv( 1, x_str, 5 ); read_argv( 2, y_str, 5 ); g_fCoords[0] = floatclamp( str_to_float( x_str ), -1.0, 1.0 ); g_fCoords[1] = floatclamp( str_to_float( y_str ), -1.0, 1.0 ); client_print( plr, print_console, "kz_records_coords changed to ^"%f %f^"", g_fCoords[0], g_fCoords[1] ); return PLUGIN_HANDLED; }
public cmdChangeColor( plr ) { if( !( get_user_flags( plr ) & ADMIN_FLAG ) ) { client_print( plr, print_console, "* You have no access to this command" ); return PLUGIN_HANDLED; } if( read_argc( ) != 4 ) { client_print( plr, print_console, "Usage: kz_records_color <red> <green> <blue>" ); return PLUGIN_HANDLED; } new r_str[4], g_str[4], b_str[4]; read_argv( 1, r_str, 3 ); read_argv( 2, g_str, 3 ); read_argv( 3, b_str, 3 ); g_iColors[0] = clamp( str_to_num( r_str ), 0, 255 ); g_iColors[1] = clamp( str_to_num( g_str ), 0, 255 ); g_iColors[2] = clamp( str_to_num( b_str ), 0, 255 ); client_print( plr, print_console, "kz_records_color changed to ^"%i %i %i^"", g_iColors[0], g_iColors[1], g_iColors[2] ); return PLUGIN_HANDLED; } Кое какие параметры просто изменить и всё
Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
|
|
| |
LeXiKoN | Дата: Пятница, 05.06.2009, 00:52:55 | Сообщение # 9 |
Майор
Группа: Пользователи
Сообщений: 85
Статус: Не в сети
| а тут ничего не пропущено? Code client_print(id,print_chat,"World Record on %s: %s", g_CountryAdjective); вроде как должна быть еще переменная не даром же стоят два %s
|
|
| |
defaultNick8433 | Дата: Пятница, 05.06.2009, 01:00:42 | Сообщение # 10 |
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Статус: Не в сети
| Code client_print(id,print_chat,"World Record on %s: %s", g_CountryAdjective); да,убрать над %s .Забыл убрать,когда удалял mapname массив
Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
|
|
| |
LeXiKoN | Дата: Пятница, 05.06.2009, 08:38:45 | Сообщение # 11 |
Майор
Группа: Пользователи
Сообщений: 85
Статус: Не в сети
| дело в том что его не надо удалять мне надо сообщать какой рекорд именно на этой карте! то есть я зашел и в чате показало рекорд этой карты!
|
|
| |
defaultNick8433 | Дата: Пятница, 05.06.2009, 10:41:53 | Сообщение # 12 |
Генерал-полковник
Группа: Скриптеры
Сообщений: 806
Статус: Не в сети
| Тогда так: Code {new mapname[32] get_mapname(mapname,sizeof mapname-1) client_print(id,print_chat,"World Record on %s: %s", g_CountryAdjective,mapname); client_print(id,print_chat,"Russian Record on %s: %s", g_CountryAdjective,mapname); }
Раскручиваю сайты,ставлю трекера на хостинг.Всё бесплатно.Если заинтересовало,то моя аська 400538001
|
|
| |
| AMX Mod X Russian Community © 2006-2024 | |
|
| |