Все вопросы по работе и настройке AMXX и его плагинов.
Модератор: liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.
NewKOD » 10 фев 2024, 23:39
Здравствуйте.
Столкнулся с проблемой. Хотел вывести сообщение о смене ника
Написал код
- Код: Выделить всё
public client_infochanged( iPlayer ){
new Name[2][32]
get_user_info( iPlayer, "name", Name[0], charsmax( Name[] ) )
get_user_name( iPlayer, Name[1], charsmax( Name[] ) )
if( !equali( Name[0], Name[1] ) ){
ColorChat( 0, BLUE, "^4[Смена ника] ^3%s^1 --> ^3%s", Name[1], Name[0] )
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
Всё работает, но выводит 2 сообщения
Моё и "* Ник сменил имя на Ник"
Его можно как то убрать?
-
NewKOD
-
- Сообщения: 64
- Зарегистрирован: 24 май 2022, 18:32
- Благодарил (а): 19 раз.
- Поблагодарили: 4 раз.
- Языки программирования: Знаю amxx но слабо
nemec21 » 12 фев 2024, 14:08
Держи
- Код: Выделить всё
const LEN_BUFFER = 32;
public plugin_init()
register_message(get_user_msgid("SayText"), "MSG_ChangeName");
public MSG_ChangeName(const msgid, const msgdest, const id) {
const NUM_ARG = 2;
new szBuffer[LEN_BUFFER +1];
get_msg_arg_string(NUM_ARG, szBuffer, LEN_BUFFER);
if(equal(szBuffer, "#Cstrike_Name_Change"))
return PLUGIN_HANDLED;
return PLUGIN_CONTINUE;
}
public client_infochanged(pPlayer) {
enum any:DATA {
NewName,
OldName
};
new szName[DATA][LEN_BUFFER +1];
get_user_info(pPlayer, "name", szName[NewName], LEN_BUFFER);
formatex(szName[OldName], LEN_BUFFER, "%n", pPlayer);
if(!equali(szName[NewName], szName[OldName])) {
client_print_color(0, print_team_default, "^4[Смена ника] ^3%s^1 --> ^3%s", szName[OldName], szName[NewName]);
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}
-
nemec21
-
- Сообщения: 826
- Зарегистрирован: 07 фев 2016, 17:08
- Откуда: Беларусь
- Благодарил (а): 216 раз.
- Поблагодарили: 49 раз.
- Опыт программирования: Около 6 месяцев
- Языки программирования: Counter-Strike 1.6
NewKOD » 12 фев 2024, 18:33
Спасибо большое <3
А ещё вопрос, где можно глянуть эти #Cstrike...(полезная вещь, как я вижу)
-
NewKOD
-
- Сообщения: 64
- Зарегистрирован: 24 май 2022, 18:32
- Благодарил (а): 19 раз.
- Поблагодарили: 4 раз.
- Языки программирования: Знаю amxx но слабо
nemec21 » 12 фев 2024, 21:02
#C4_Arming_Cancelled
#Bomb_Planted "%s<%i><%s><TERRORIST>" triggered "Planted_The_Bomb"
#C4_Plant_Must_Be_On_Ground
#C4_Plant_At_Bomb_Spot
#Switch_To_FullAuto
#Switch_To_BurstFire
#Fire_in_the_hole %!MRAD_FIREINHOLE
#Switch_To_SemiAuto
#CZero_LearningMap
#CZero_AnalyzingHidingSpots
#CZero_AnalyzingApproachPoints
"%s<%i><%s><CT>" triggered "Rescued_A_Hostage"
#Hint_careful_around_hostages
#Injured_Hostage
#Hint_removed_for_next_hostage_killed
#Hint_lost_money
#Killed_Hostage "%s<%i><%s><%s>" triggered "Killed_A_Hostage"
#Only_CT_Can_Move_Hostages "%s<%i><%s><CT>" triggered "Touched_A_Hostage"
#Game_disconnected
#Game_kicked
#Game_connected "%s<%i><%s><%s>" %s "%s"%s
#Cstrike_Chat_AllSpec *SPEC* %s : %s
#Cstrike_Chat_AllDead *DEAD* %s : %s
#Cstrike_Chat_All %s : %s
#Cstrike_Chat_Spec (Spectator) %s : %s
#Cstrike_Chat_T_Dead *DEAD*(Terrorist) %s : %s
#Cstrike_Chat_T (Terrorist) %s : %s
#Cstrike_Chat_T_Loc (Terrorist) %s @ %s : %s
#Cstrike_Chat_CT_Dead *DEAD*(Counter-Terrorist) %s : %s
#Cstrike_Chat_CT (Counter-Terrorist) %s : %s
#Cstrike_Chat_CT_Loc (Counter-Terrorist) %s @ %s : %s
#Cannot_Buy_This
#Cstrike_Already_Own_Weapon
#Not_Enough_Money
#Hint_use_nightvision
#Already_Have_One
#Cannot_Carry_Anymore
#Already_Have_Kevlar_Bought_Helmet
#Already_Have_Kevlar_Helmet
#Already_Have_Helmet_Bought_Kevlar
#Already_Have_Kevlar
"%s<%i><%s><%s>" joined team "SPECTATOR"
#Cannot_Be_Spectator
#Game_join_ct "%s<%i><%s><%s>" joined team "%s"
#Game_join_terrorist "%s<%i><%s><%s>" joined team "%s"
#Terrorist_Select
#CT_Select
#Only_1_Team_Change
#Humans_Join_Team_T
#Humans_Join_Team_CT
#Too_Many_CTs
#Too_Many_Terrorists
#All_Teams_Full
#CTs_Full
#Terrorists_Full
#Cannot_Switch_From_VIP
#Taking_fire %!MRAD_HITASSIST
#Follow_me %!MRAD_FOLLOWME
#Regroup_team %!MRAD_REGROUP
#Hold_this_position %!MRAD_POSITION
#You_take_the_point %!MRAD_TAKEPOINT
#Cover_me %!MRAD_COVERME
#Report_in_team %!MRAD_REPORTIN
#Storm_the_front %!MRAD_STORMFRONT
#Get_in_position_and_wait %!MRAD_GETINPOS
#Stick_together_team %!MRAD_STICKTOG
#Team_fall_back %!MRAD_FALLBACK
#Go_go_go %!MRAD_GO
#Enemy_down %!MRAD_ENEMYDOWN
#Negative %!MRAD_NEGATIVE
#Get_out_of_there %!MRAD_BLOW
#Reporting_in %!MRAD_REPRTINGIN
#In_position %!MRAD_INPOS
#Sector_clear %!MRAD_CLEAR
#Need_backup %!MRAD_BACKUP
#Enemy_spotted %!MRAD_ENEMYSPOT
#Roger_that %!MRAD_ROGER
#Affirmative %!MRAD_AFFIRM
#Alias_Not_Avail
#TactShield_Desc
#Bomb_Defusal_Kit
#Game_unknown_command
#Buy
#RadioC
#RadioB
#RadioA
#Command_Not_Available
#Accept_Radio
#Ignore_Radio
#Accept_All_Messages
#Ignore_Broadcast_Team_Messages
#Ignore_Broadcast_Messages
#IG_Team_Select_Spect
#IG_VIP_Team_Select_Spect
#IG_VIP_Team_Select
#T_BuyItem
#CT_BuyItem
#DT_BuyItem
#DCT_BuyItem
#BuyMachineGun
#AS_T_BuyMachineGun
#T_BuyRifle
#CT_BuyRifle
#AS_T_BuyRifle
#AS_CT_BuyRifle
#T_BuySubMachineGun
#CT_BuySubMachineGun
#AS_T_BuySubMachineGun
#AS_CT_BuySubMachineGun
#BuyShotgun
#AS_BuyShotgun
#T_BuyPistol
#CT_BuyPistol
#IG_Team_Select
#Team_Select
#Game_no_timelimit
#Game_timelimit
#Game_voted_for_map
#Cannot_Vote_Need_More_People
#Game_votemap_usage
#Cannot_Vote_Map
#Wait_3_Seconds
#Game_vote_cast
#Game_vote_not_yourself
#Game_vote_players_on_your_team
#Game_vote_player_not_found
#Cannot_Vote_With_Less_Than_Three
#Game_vote_usage
#Cstrike_Name_Change "%s<%i><%s><%s>" changed name to "%s"
#Name_change_at_respawn
#Defusing_Bomb_Without_Defuse_Kit "%s<%i><%s><CT>" triggered "Begin_Bomb_Defuse_Without_Kit"
#Defusing_Bomb_With_Defuse_Kit "%s<%i><%s><CT>" triggered "Begin_Bomb_Defuse_With_Kit"
#C4_Defuse_Must_Be_On_Ground
World triggered "%s" (CT "%i") (T "%i")
World triggered "Round_End"
Team "%s" triggered "%s" (CT "%i") (T "%i")
#Hint_you_have_the_bomb "%s<%i><%s><TERRORIST>" triggered "Spawned_With_The_Bomb"
#All_Hostages_Rescued
#Round_Draw
#Terrorists_Win
#CTs_Win
#Bomb_Defused "%s<%i><%s><CT>" triggered "Defused_The_Bomb"
#Target_Bombed
#Escaping_Terrorists_Neutralized
#CTs_PreventEscape
#Terrorists_Escaped
#VIP_Assassinated
#VIP_Escaped
#Game_Commencing World triggered "Game_Commencing"
#Game_scoring
#Auto_Team_Balance_Next_Round
#All_VIP_Slots_Full
#Game_added_position
#Game_in_position
#Game_will_restart_in_console
#Game_will_restart_in
Team "TERRORIST" scored "%i" with "%i" players
Team "CT" scored "%i" with "%i" players
World triggered "Restart_Round_(%i_%s)"
#VIP_Not_Escaped
#Terrorists_Not_Escaped
#Hostages_Not_Rescued
#Target_Saved
%!MRAD_VIP
%!MRAD_GETOUT
%!MRAD_ELIM
%!MRAD_MOVEOUT
%!MRAD_LETSGO
%!MRAD_LOCKNLOAD
World triggered "Round_Start"
"%s<%i><%s><>" entered the game
"%s<%i><%s><%s>" disconnected
#Team_Select_Spect
#Hint_win_round_by_killing_enemy
"%s<%i><%s><TERRORIST>" triggered "Assassinated_The_VIP"
#Hint_reward_for_killing_vip
#Hint_careful_around_teammates
#Banned_For_Killing_Teamates
#Game_teammate_kills
#Killed_Teammate
"%s<%i><%s><%s>" committed suicide with "%s" (world)
"%s<%i><%s><%s>" killed "%s<%i><%s><%s>" with "%s"
"%s<%i><%s><%s>" committed suicide with "%s"
#Map_Vote_Extend
#Votes
#Vote
#Game_required_votes
#Spec_Mode%i
#Spec_NoTarget
#Game_radio_location
#Game_radio
"%s<%i><%s><%s>" attacked "%s<%i><%s><%s>" with "%s" (damage "%d") (damage_armor "%d") (health "%d") (armor "%d")
#Game_teammate_attack
#Hint_try_not_to_injure_teammates
#Spec_Duck
#Hint_cannot_play_because_tk
"%s<%i><%s><CT>" triggered "Became_VIP"
#Hint_use_hostage_to_stop_him
#Hint_lead_hostage_to_rescue_point
#Terrorist_cant_buy
#CT_cant_buy
#VIP_cant_buy
#Cant_buy
#Hint_press_buy_to_purchase
#Game_idle_kick "%s<%i><%s><%s>" triggered "Game_idle_kick" (auto)
#Hint_you_are_the_vip
#Hint_hostage_rescue_zone
#Hint_you_are_in_targetzone
#Hint_terrorist_escape_zone
#Hint_terrorist_vip_zone
#Hint_ct_vip_zone
#Hint_out_of_ammo
#Hint_press_use_so_hostage_will_follow
#Hint_prevent_hostage_rescue
#Hint_rescue_the_hostages
#Hint_spotted_a_friend
#Hint_spotted_an_enemy
#Game_bomb_drop "%s<%i><%s><TERRORIST>" triggered "Dropped_The_Bomb"
#Weapon_Cannot_Be_Dropped
#Game_join_ct_auto "%s<%i><%s><%s>" joined team "%s" (auto)
#Game_join_terrorist_auto "%s<%i><%s><%s>" joined team "%s" (auto)
#Terrorist_Escaped "%s<%i><%s><TERRORIST>" triggered "Terrorist_Escaped"
"%s<%i><%s><CT>" triggered "Escaped_As_VIP"
#Game_bomb_pickup "%s<%i><%s><TERRORIST>" triggered "Got_The_Bomb"
#Got_bomb
#CZero_Tutor_Turned_Off
#CZero_Tutor_Turned_On
#Cstrike_TutorState_Waiting_For_Start
#Cstrike_TutorState_Buy_Time
#Cstrike_TutorState_Running_Away_From_Ticking_Bomb
#Cstrike_TutorState_Looking_For_Loose_Bomb
#Cstrike_TutorState_Guarding_Bomb
#Cstrike_TutorState_Planting_Bomb
#Cstrike_TutorState_Moving_To_Bomb_Site
#Cstrike_TutorState_Escorting_Bomb_Carrier
#Cstrike_TutorState_Attacking_Hostage_Escort
#Cstrike_TutorState_Looking_For_Hostage_Escort
#Cstrike_TutorState_Moving_To_Intercept_Enemy
#Cstrike_TutorState_Guarding_Hostage
#Cstrike_TutorState_Defusing_Bomb
#Cstrike_TutorState_Guarding_Loose_Bomb
#Cstrike_TutorState_Looking_For_Bomb_Carrier
#Cstrike_TutorState_Moving_To_Bombsite
#Cstrike_TutorState_Following_Hostage_Escort
#Cstrike_TutorState_Escorting_Hostage
#Cstrike_TutorState_Looking_For_Hostage
#Cstrike_TutorState_Undefined
-
nemec21
-
- Сообщения: 826
- Зарегистрирован: 07 фев 2016, 17:08
- Откуда: Беларусь
- Благодарил (а): 216 раз.
- Поблагодарили: 49 раз.
- Опыт программирования: Около 6 месяцев
- Языки программирования: Counter-Strike 1.6
NewKOD » 12 фев 2024, 22:02
Да, спасибо
-
NewKOD
-
- Сообщения: 64
- Зарегистрирован: 24 май 2022, 18:32
- Благодарил (а): 19 раз.
- Поблагодарили: 4 раз.
- Языки программирования: Знаю amxx но слабо
nemec21 » 21 апр 2024, 21:02
Для блока смены ника, лучше по средствам reapi, с помощью хука RG_CBasePlayer_SetClientUserInfoName в pre
- Код: Выделить всё
public plugin_init() {
register_plugin("(REAPI)Change NAME", "21.04.24", "AMX-X.RU");
RegisterHookChain(RG_CBasePlayer_SetClientUserInfoName, "RG_CBasePlayer_SetClientUserInfoName_Pre");
}
public RG_CBasePlayer_SetClientUserInfoName_Pre(const id, const szInfoBuffer[], const szNewName[]) {
SetHookChainReturn(ATYPE_BOOL, false);
return HC_SUPERCEDE;
}
-
nemec21
-
- Сообщения: 826
- Зарегистрирован: 07 фев 2016, 17:08
- Откуда: Беларусь
- Благодарил (а): 216 раз.
- Поблагодарили: 49 раз.
- Опыт программирования: Около 6 месяцев
- Языки программирования: Counter-Strike 1.6
Вернуться в Вопросы по AMXX и его плагинам
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3