Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

2 страниц V   1 2

Отлючить логирование /rs в СТ

gamerman
сообщение 13.6.2015, 17:34
Сообщение #1
Стаж: 10 лет

Сообщений: 186
Благодарностей: 12
Полезность: < 0

Читаю логи Coloret Translit - там весь чат. Треть лога - бесполезне сообщения об обнулении счёта.
Как сделать чтобы /rs не писалось в лог. Например "золотой ак" так умеет делать,
если я пишу /goldenak то ни в чате ни в логе /goldenak нету.
Как сделать аналогичное с /rs
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
voed
сообщение 13.6.2015, 17:35
Сообщение #2
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Исходник показать
На что вы рассчитываете, создавая тему в разделе "скриптинг" без исходника?

Отредактировал: voed, - 13.6.2015, 17:36
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
gamerman
сообщение 13.6.2015, 17:43
Сообщение #3
Стаж: 10 лет

Сообщений: 186
Благодарностей: 12
Полезность: < 0

Код:

#include <amxmodx>
#include <cstrike>
#include <fun>
#include <colorchat>

public plugin_init()
{
register_plugin("Reset_Score", "1.2", "tyiN");

register_clcmd("say /resetscore", "reset_score");
register_clcmd("say /rs", "reset_score");
register_clcmd("say_team /resetscore", "reset_score");
register_clcmd("say_team /rs", "reset_score");
}

public reset_score(id)
{
cs_set_user_deaths(id, 0);
set_user_frags(id, 0);
cs_set_user_deaths(id, 0);
set_user_frags(id, 0);

ColorChat(id, NORMAL, "^04Вы сбросили счёт");
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя user.gameover.user
сообщение 13.6.2015, 22:09
Сообщение #4
Стаж: 15 лет

Сообщений: 1470
Благодарностей: 426
Полезность: 700

..\cstrike\addons\amxmodx\configs\colored_translit\config.cfg

Код
amx_ignore "1"
amx_ignore_mode "2"



..\cstrike\addons\amxmodx\configs\colored_translit\ignores.ini

Код
/rs
/resetscore


вобще по дефолту любые сообщения начинающиеся на ! / скрываются

Отредактировал: user.gameover.user, - 13.6.2015, 22:12
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя ex3m777
сообщение 13.6.2015, 22:14
Сообщение #5


Стаж: 13 лет
Город: Москва

Сообщений: 2037
Благодарностей: 1135
Полезность: 968

Меценат Меценат

Код:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <colorchat>

public plugin_init()
{
register_plugin("Reset_Score", "1.2", "tyiN");

register_clcmd("say /resetscore", "reset_score");
register_clcmd("say /rs", "reset_score");
register_clcmd("say_team /resetscore", "reset_score");
register_clcmd("say_team /rs", "reset_score");
}

public reset_score(id)
{
cs_set_user_deaths(id, 0);
set_user_frags(id, 0);
cs_set_user_deaths(id, 0);
set_user_frags(id, 0);

ColorChat(id, NORMAL, "^04Вы сбросили счёт");
return PLUGIN_HANDLED
}


А вообще используй лучше плагин AndrewZ

Скрытый текст
Код:
#include <amxmodx>
#include <cstrike>
#include <fun>

#define PLUGIN "Reset Score"
#define VERSION "1.0"
#define AUTHOR "AndrewZ"


public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

register_clcmd("say /rs", "cmdResetScore")
register_clcmd("say_team /rs", "cmdResetScore")
}

public cmdResetScore(id)
{
if(!is_user_connected(id)) return PLUGIN_HANDLED

set_user_frags(id, 0)
cs_set_user_deaths(id, 0)
client_cmd(id, "spk buttons/blip1.wav")
PrintChat(id, "^4[Server] ^1Ваш счет успешно обнулен!")
return PLUGIN_HANDLED
}

PrintChat(const iReceiver, const Msg[])
{
message_begin(MSG_ONE, 76, .player=iReceiver);
write_byte(iReceiver);
write_string(Msg);
message_end();
}


Отредактировал: ex3m777, - 13.6.2015, 22:16


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
gamerman
сообщение 14.6.2015, 10:10
Сообщение #6
Стаж: 10 лет

Сообщений: 186
Благодарностей: 12
Полезность: < 0

>>> А вообще используй лучше плагин AndrewZ

А чем он лучше??
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
gamerman
сообщение 14.6.2015, 10:17
Сообщение #7
Стаж: 10 лет

Сообщений: 186
Благодарностей: 12
Полезность: < 0

Цитата(user.gameover.user @ 14.6.2015, 1:09) *
..\cstrike\addons\amxmodx\configs\colored_translit\config.cfg

Код
amx_ignore "1"
amx_ignore_mode "2"



..\cstrike\addons\amxmodx\configs\colored_translit\ignores.ini

Код
/rs
/resetscore


вобще по дефолту любые сообщения начинающиеся на ! / скрываются


У меня настроено так:
// Использование игнор-листа
// 0 - Выключено
// 1 - Включено
// По умолчанию: 1
amx_ignore "1"

// Способ игнорирования слов
// 1 - Не переводить в русский
// 2 - Скрывать
// 3 - Полностью игнорировать
// По умолчанию: 1
amx_ignore_mode "1"

amx_ignore_mode "1" мне нужен чтобы вместо /rs не писалось .кы
поэтому amx_ignore_mode "2" - НЕ УСТРАИВАЕТ

Ктому же я хочу, чтобы были видны все команды начинающиеся с / кроме команды /rs.
То есть сам СТ трогать не надо, надо изменить плагин Reset_Score так чтобы сообщения от него
не логировались, как не логируются сообщения от плагина /goldenak
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя user.gameover.user
сообщение 14.6.2015, 10:54
Сообщение #8
Стаж: 15 лет

Сообщений: 1470
Благодарностей: 426
Полезность: 700

исходник goldenak приложи
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
gamerman
сообщение 14.6.2015, 15:18
Сообщение #9
Стаж: 10 лет

Сообщений: 186
Благодарностей: 12
Полезность: < 0

Цитата(user.gameover.user @ 14.6.2015, 13:54) *
исходник goldenak приложи


Код:

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <fun>
#include <cstrike>
#include <hamsandwich>

#define is_valid_player(%1) (1 <= %1 <= 32)

new AK_V_MODEL[] = "models/v_golden_ak47.mdl"
new AK_P_MODEL[] = "models/p_golden_ak47.mdl"
new AK_W_MODEL[] = "models/w_golden_ak47.mdl"

#define XO_WEAPON 4
#define XO_PLAYER 5
#define m_rgpPlayerItems_CWeaponBox 34
#define m_pNext 42
#define m_iId 43
#define m_rgpPlayerItems_CBasePlayer 367

new cvar_dmgmultiplier

new bool:g_HasAk[33], bool:g_bHasGA[33]

new g_hasZoom[33]

new cvar_cost

#define WK 3345

public plugin_precache()
{
precache_model(AK_V_MODEL);
precache_model(AK_P_MODEL);
precache_model(AK_W_MODEL);
precache_sound("weapons/zoom.wav");
}

public plugin_init()
{
cvar_dmgmultiplier = register_cvar("goldenak_dmg_multiplier", "2");
cvar_cost = register_cvar("goldenak_cost", "5000");

register_concmd("amx_goldenak", "give_ak47", ADMIN_LEVEL_H);

register_plugin("Golden_AK47", "1.1", "AlejandroSk")
register_event("DeathMsg", "Death", "a")
register_event("WeapPickup","checkModel","b","1=19")
register_event("CurWeapon","checkWeapon","be","1=1")

RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
register_forward(FM_SetModel, "fw_SetModel")
RegisterHam ( Ham_Item_AttachToPlayer, "weapon_ak47", "fw_Item_AttachToPlayer" )
register_event ( "HLTV", "ev_RoundStart", "a", "1=0", "2=0" )

register_clcmd("say /goldenak", "CmdBuyAk")

register_forward(FM_CmdStart, "fw_CmdStart")
}

public ev_RoundStart ()
{
new iPlayers[32], iNum
get_players ( iPlayers, iNum )

for ( --iNum; iNum >= 0; --iNum )
g_bHasGA[iPlayers[iNum]] = false
}
/*
public plugin_natives ()
register_native ( "buy_ak", "native_buy_ak" )

public native_buy_ak ( plugin_id, num_params )
{
new id = get_param ( 1 )

if ( !is_user_connected ( id ) )
return false

giveak47(id)
return true
}
*/
public client_connect(id)
{
g_HasAk[id] = false
g_bHasGA[id] = false
}

public client_disconnect(id)
{
g_HasAk[id] = false
g_bHasGA[id] = false
}

public Death()
{
g_HasAk[read_data(2)] = false
g_bHasGA[read_data(2)] = false
}


public fw_SetModel ( ent, model[] )
{
if ( pev_valid ( ent ) != 2 )
return FMRES_IGNORED

if ( strlen ( model ) < 8 )
return FMRES_IGNORED

if ( model[7] != 'w' || model[8] != '_' )
return FMRES_IGNORED

static sClassName[32]
pev ( ent, pev_classname, sClassName, charsmax ( sClassName ) )

if ( !equal ( sClassName, "weaponbox" ) )
return FMRES_IGNORED

new id = pev ( ent, pev_owner )

if ( pev_valid ( id ) != 2 )
return FMRES_IGNORED

#define MAX_ITEM_TYPES 6

for (new i, iItem; i < MAX_ITEM_TYPES; i++)
{
iItem = get_pdata_cbase ( ent, m_rgpPlayerItems_CWeaponBox + i, XO_WEAPON )

if ( pev_valid ( iItem ) == 2 && pev(iItem, pev_impulse) == WK )
{
g_HasAk[id] = false
engfunc ( EngFunc_SetModel, ent, AK_W_MODEL )
return FMRES_SUPERCEDE
}
}

return FMRES_IGNORED
}


public fw_Item_AttachToPlayer ( ent, id )
{
if ( pev_valid ( ent ) !=2 || !is_user_alive ( id ) )
return HAM_IGNORED

if ( pev ( ent, pev_impulse ) == WK )
g_HasAk[id] = true

return HAM_IGNORED
}

public checkModel(id)
{
if ( !g_HasAk[id] )
return PLUGIN_HANDLED

new szWeapID = read_data(2)

if ( szWeapID == CSW_AK47 && g_HasAk[id] == true )
{
set_pev(id, pev_viewmodel2, AK_V_MODEL)
set_pev(id, pev_weaponmodel2, AK_P_MODEL)
}
return PLUGIN_HANDLED
}

public CmdBuyAk(id)
{
if ( !is_user_alive(id))
{
//client_print(id,print_chat, "Что бы взять Golden AK-47 вы должны быть живы!")
return PLUGIN_HANDLED
}

new money = cs_get_user_money(id)

if (money >= get_pcvar_num(cvar_cost))
{
cs_set_user_money(id, money - get_pcvar_num(cvar_cost))
Player_DropWeapons ( id, 1 )
new iWeapon = give_item(id, "weapon_ak47")
set_pev(iWeapon, pev_impulse, WK)

give_item(id, "weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 150)
g_HasAk[id] = true
}

else
{
client_print(id, print_chat, "Недостаточно для покупки Golden AK. Цена $%d ", get_pcvar_num(cvar_cost))
}
return PLUGIN_HANDLED
}

public giveak47(id)
{
Player_DropWeapons ( id, 1 )
new iWeapon = give_item(id, "weapon_ak47")
set_pev(iWeapon, pev_impulse, WK)
give_item(id, "weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 150)
g_HasAk[id] = true
}

public give_ak47(id)
{
if ( !is_user_alive(id))
{
//client_print(id,print_chat, "Что бы взять Golden AK-47 вы должны быть живы!")
return PLUGIN_HANDLED
}

if( !(get_user_flags(id) & ADMIN_LEVEL_H) )
return PLUGIN_HANDLED

giveak47(id)
return PLUGIN_CONTINUE
}

public checkWeapon(id)
{
new plrClip, plrAmmo
new plrWeapId

plrWeapId = get_user_weapon(id, plrClip , plrAmmo)

if (plrWeapId == CSW_AK47 && g_HasAk[id])
checkModel(id)
else
return PLUGIN_CONTINUE

return PLUGIN_HANDLED
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage)
{
if ( is_valid_player( attacker ) && get_user_weapon(attacker) == CSW_AK47 && g_HasAk[attacker] )
{
SetHamParamFloat(4, damage * get_pcvar_float( cvar_dmgmultiplier ) )
}
}

public fw_CmdStart( id, uc_handle, seed )
{
if( !is_user_alive( id ) )
return PLUGIN_HANDLED

if( ( get_uc( uc_handle, UC_Buttons ) & IN_ATTACK2 ) && !( pev( id, pev_oldbuttons ) & IN_ATTACK2 ) )
{
new szClip, szAmmo
new szWeapID = get_user_weapon( id, szClip, szAmmo )

if( szWeapID == CSW_AK47 && g_HasAk[id] == true && !g_hasZoom[id] == true)
{
g_hasZoom[id] = true
cs_set_user_zoom( id, CS_SET_AUGSG552_ZOOM, 0 )
emit_sound( id, CHAN_ITEM, "weapons/zoom.wav", 0.40, 2.40, 0, 100 )
}

else if ( szWeapID == CSW_AK47 && g_HasAk[id] == true && g_hasZoom[id])
{
g_hasZoom[ id ] = false
cs_set_user_zoom( id, CS_RESET_ZOOM, 0 )

}
}
return PLUGIN_HANDLED
}

Player_DropWeapons(const iPlayer, const iSlot)
{
new szWeaponName[32], iItem = get_pdata_cbase(iPlayer, m_rgpPlayerItems_CBasePlayer + iSlot, XO_PLAYER);

while (pev_valid(iItem) == 2)
{
pev(iItem, pev_classname, szWeaponName, charsmax(szWeaponName));
engclient_cmd(iPlayer, "drop", szWeaponName);

iItem = get_pdata_cbase(iItem, m_pNext, XO_WEAPON);
}
}

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JIuXeP
сообщение 14.6.2015, 17:29
Сообщение #10


Стаж: 12 лет

Сообщений: 338
Благодарностей: 205
Полезность: 792

Цитата(gamerman @ 14.6.2015, 11:17) *
Ктому же я хочу, чтобы были видны все команды начинающиеся с / кроме команды /rs.
То есть сам СТ трогать не надо, надо изменить плагин Reset_Score так чтобы сообщения от него
не логировались, как не логируются сообщения от плагина /goldenak


Ну так всё верно, данный вариант логироваться не будет, вообще не будет отображаться в чате.
Цитата(ex3m777 @ 13.6.2015, 23:14) *
Код:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <colorchat>

public plugin_init()
{
register_plugin("Reset_Score", "1.2", "tyiN");

register_clcmd("say /resetscore", "reset_score");
register_clcmd("say /rs", "reset_score");
register_clcmd("say_team /resetscore", "reset_score");
register_clcmd("say_team /rs", "reset_score");
}

public reset_score(id)
{
cs_set_user_deaths(id, 0);
set_user_frags(id, 0);
cs_set_user_deaths(id, 0);
set_user_frags(id, 0);

ColorChat(id, NORMAL, "^04Вы сбросили счёт");
return PLUGIN_HANDLED
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
gamerman
сообщение 14.6.2015, 19:19
Сообщение #11
Стаж: 10 лет

Сообщений: 186
Благодарностей: 12
Полезность: < 0

А можно ли так сделать, чтобы в чат (на экран) писалось /rs, дабы другие игроки видели, что игрок такой-то сбросил счёт.
Но в лог-файл это событие не писалось?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Stimul1
сообщение 14.6.2015, 19:37
Сообщение #12


Стаж: 13 лет

Сообщений: 227
Благодарностей: 262
Полезность: 977

gamerman, не думаю, что кому-то это интересно.
После:
Код:
ColorChat(id, NORMAL, "^04Вы сбросили счёт");

добавь:
Код:
new szName[32];
get_user_name(id, szName, charsmax(szName));

ColorChat(0, NORMAL, "^4Игрок ^3%s ^4сбросил счёт", szName);
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
gamerman
сообщение 14.6.2015, 21:18
Сообщение #13
Стаж: 10 лет

Сообщений: 186
Благодарностей: 12
Полезность: < 0

Не, я хотел вот так.

ColorChat(0, NORMAL, "/rs");
ColorChat(id, NORMAL, "^04Вы сбросили счёт");
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
gamerman
сообщение 14.6.2015, 21:26
Сообщение #14
Стаж: 10 лет

Сообщений: 186
Благодарностей: 12
Полезность: < 0

Правда по дурному получается
ColorChat(0, NORMAL, "/rs");
всегда выведет /rs даже если человек ввёл /resetscore
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Stimul1
сообщение 14.6.2015, 21:44
Сообщение #15


Стаж: 13 лет

Сообщений: 227
Благодарностей: 262
Полезность: 977

gamerman, тогда:
Код:
public reset_score(id)
{
cs_set_user_deaths(id, 0);
set_user_frags(id, 0);
cs_set_user_deaths(id, 0);
set_user_frags(id, 0);

ColorChat(id, NORMAL, "^04Вы сбросили счёт");
return PLUGIN_HANDLED
}
===>
Код:
public reset_score(id)
{
set_user_frags(id, 0);
cs_set_user_deaths(id, 0);

new szArgv[6];
read_argv(1, szArgv, charsmax(szArgv));

if(equal(szArgv, "/rs"))
ColorChat(0, NORMAL, "/rs");

ColorChat(id, NORMAL, "^4Вы сбросили счёт");

return PLUGIN_HANDLED;
}


Отредактировал: Stimul1, - 14.6.2015, 21:45
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
voed
сообщение 14.6.2015, 21:45
Сообщение #16
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Stimul1, полагаю, ты ник забыл перед /rs smile.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
gamerman
сообщение 14.6.2015, 21:47
Сообщение #17
Стаж: 10 лет

Сообщений: 186
Благодарностей: 12
Полезность: < 0

Погодите, мы тут увлеклись написанием самого сообщения, но не понятно в какой плагин его вставить.
В тот что я выложил - так он не годится он пишет и на экран и в лог СТ.
А мне надо чтобы на экран - писалось, а в лог (файл chat_2015.06.14.htm) - не писалось.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 14.6.2015, 21:49
Сообщение #18
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

gamerman, Отлючить логирование /rs в СТ (Пост #802908)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Stimul1
сообщение 14.6.2015, 21:50
Сообщение #19


Стаж: 13 лет

Сообщений: 227
Благодарностей: 262
Полезность: 977

gamerman, в лог не должно писаться:
Код:
#include <amxmodx>
#include <cstrike>
#include <fun>
#include <colorchat>

public plugin_init()
{
register_plugin("Reset_Score", "1.3", "tyiN / edit Stimul");

register_clcmd("say /resetscore", "reset_score");
register_clcmd("say /rs", "reset_score");
register_clcmd("say_team /resetscore", "reset_score");
register_clcmd("say_team /rs", "reset_score");
}

public reset_score(id)
{
set_user_frags(id, 0);
cs_set_user_deaths(id, 0);

new szArgv[6];
read_argv(1, szArgv, charsmax(szArgv));

if(equal(szArgv, "/rs"))
ColorChat(0, NORMAL, "/rs");

ColorChat(id, NORMAL, "^4Вы сбросили счёт");

return PLUGIN_HANDLED;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
gamerman
сообщение 14.6.2015, 22:49
Сообщение #20
Стаж: 10 лет

Сообщений: 186
Благодарностей: 12
Полезность: < 0

if(equal(szArgv, "/rs"))
ColorChat(0, NORMAL, "/rs");
else ColorChat(0, NORMAL, "/resetscore"); // так надо дописать?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: