Делаем определенную функцию только для определенного игрока
- Articles
- 2025-08-22
Делаем функции к которым имеет доступ только ваш ник. Лично по моему мнение этодовольно таки полезно. Можно делать всякие сюрпризы и т.д.
И так. Для начала я хочу сказать что в тексте могут быть ошибки или что-то не досказано (я не прям скриптер, но что-то зная и что-то могу)
Начнем мы пожалуй с простого примера. Например сделать только себе двойной прыжок.
#include <amxmodx>
#include <amxmisc>
#include <engine>
new jumpnum[33] = 0
new bool:dojump[33] = false
public plugin_init()
{
register_plugin("MultiJump","1.1","Dedik")
register_cvar("amx_maxjumps1","1")
}
public client_putinserver(id)
{
jumpnum[id] = 0
dojump[id] = false
}
public client_disconnect(id)
{
jumpnum[id] = 0
dojump[id] = false
}
public client_PreThink(id)
{
if(!is_user_alive(id)) return PLUGIN_CONTINUE
new nbut = get_user_button(id)
new obut = get_user_oldbutton(id)
if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
{
if(jumpnum[id] < get_cvar_num("amx_maxjumps1"))
{
dojump[id] = true
jumpnum[id]++
return PLUGIN_CONTINUE
}
}
if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
{
jumpnum[id] = 0
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}
public client_PostThink(id)
{
if(!is_user_alive(id)) return PLUGIN_CONTINUE
if(dojump[id] == true)
{
new Float:velocity[3]
entity_get_vector(id,EV_VEC_velocity,velocity)
velocity[2] = random_float(265.0,285.0)
entity_set_vector(id,EV_VEC_velocity,velocity)
dojump[id] = false
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
} Добавим туда new name[32] и в функции client_PreThink узнаем все ники на сервере
#include <amxmodx>
#include <amxmisc>
#include <engine>
new jumpnum[33] = 0
new bool:dojump[33] = false
new name[32]
public plugin_init()
{
register_plugin("MultiJump","1.1","Dedik")
register_cvar("amx_maxjumps1","1")
}
public client_putinserver(id)
{
jumpnum[id] = 0
dojump[id] = false
}
public client_disconnect(id)
{
jumpnum[id] = 0
dojump[id] = false
}
public client_PreThink(id)
{
get_user_name(id, name, 31)
if(!is_user_alive(id)) return PLUGIN_CONTINUE
new nbut = get_user_button(id)
new obut = get_user_oldbutton(id)
if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
{
if(jumpnum[id] < get_cvar_num("amx_maxjumps1"))
{
dojump[id] = true
jumpnum[id]++
return PLUGIN_CONTINUE
}
}
if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
{
jumpnum[id] = 0
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}
public client_PostThink(id)
{
if(!is_user_alive(id)) return PLUGIN_CONTINUE
if(dojump[id] == true)
{
new Float:velocity[3]
entity_get_vector(id,EV_VEC_velocity,velocity)
velocity[2] = random_float(265.0,285.0)
entity_set_vector(id,EV_VEC_velocity,velocity)
dojump[id] = false
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
} Далее в проверке
И получаем:
if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP)) добавляем свой никИ получаем:
#include <amxmodx>
#include <amxmisc>
#include <engine>
new jumpnum[33] = 0
new bool:dojump[33] = false
new name[32]
public plugin_init()
{
register_plugin("MultiJump","1.1","Dedik")
register_cvar("amx_maxjumps1","1")
}
public client_putinserver(id)
{
jumpnum[id] = 0
dojump[id] = false
}
public client_disconnect(id)
{
jumpnum[id] = 0
dojump[id] = false
}
public client_PreThink(id)
{
get_user_name(id, name, 31)
if(!is_user_alive(id)) return PLUGIN_CONTINUE
new nbut = get_user_button(id)
new obut = get_user_oldbutton(id)
if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP) && (equali(name, "123321")))
{
if(jumpnum[id] < get_cvar_num("amx_maxjumps1"))
{
dojump[id] = true
jumpnum[id]++
return PLUGIN_CONTINUE
}
}
if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
{
jumpnum[id] = 0
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
}
public client_PostThink(id)
{
if(!is_user_alive(id)) return PLUGIN_CONTINUE
if(dojump[id] == true)
{
new Float:velocity[3]
entity_get_vector(id,EV_VEC_velocity,velocity)
velocity[2] = random_float(265.0,285.0)
entity_set_vector(id,EV_VEC_velocity,velocity)
dojump[id] = false
return PLUGIN_CONTINUE
}
return PLUGIN_CONTINUE
} в кавычках писать свой никнапример: "123321" (ну как показано выше)
Таким вот образом мы сделали так чтобы эта функция работала на определенный ник и при этом не надо будет использовать для этого флаги доступа
ИЛИ
Мы можем сделать так чтобы у всех работала данная функция КРОМЕ игрока с этим ником
Поставив всего лишь ! перед (equali(name, "123321")
Получится как-то так !(equali(name, "123321")
Это был простой способ ограничить функцию по нику.
А теперь сделаем свой плагин только чуточку по сложнее.
Представим что у нас есть друг-задрот кс 1.6 и у него скоро ДР и вы хотите его оригинально поздравить на своем сервере ИЛИ просто выделить его из толпы игроков.
Ну типо приступим...
Для начала это приветствие и представление. Типо когда этот ваш друг зашел на сервер, то тут же появляется dhud сообщение всем (ну типо "НАРООООД,СЕГОДНЯ У НАШЕГО ВИНИПУХА ДЕНЬ РОЖДЕНИЯ! Поздравьте его как следует!")
Ну можно и еще какую нибудь музычку добавить и т.д.
#include <amxmodx>
#include <amxmisc>
new name[32]
public plugin_init()
{
register_plugin("днюха у винипуха", "1.0","XZ")
register_event("ResetHUD", "resetModel", "b")
}
public plugin_precache()
{
precache_generic("sound/dr_vinipyha.mp3")
precache_model("models/player/dr/dr.mdl")
}
public client_putinserver(id)
{
get_user_name(id, name, 31)
if(equali(name, "Vinipyx"))
{
set_dhudmessage(255, 0, 0, 0.45, 0.1, 1, 5.0, 8.0, 0.3, 0.5)
show_dhudmessage(0, "НАРООООД,СЕГОДНЯ У НАШЕГО ВИНИПУХА^n ДЕНЬ РОЖДЕНИЯ! Поздравьте его как следует!")
client_cmd(0, "mp3 play sound/dr_vinipyha.mp3")
color_print(id, "!t[!gBIO!t] С ДР !g%s!!!", name)
new flags = read_flags("abcdefghijklmnopqrstu")
set_user_flags(id, flags)
}
}
public resetModel(id, level, cid)
{
if(!is_user_alive(id))
return PLUGIN_HANDLED
if(is_user_alive(id) && equali(name, "Vinipyx"))
{
cs_set_user_model(id, "dr")
}
else
{
cs_reset_user_model(id)
}
return PLUGIN_CONTINUE
}
stock color_print(const id, const input[], any:...)
{
new count = 1, players[32];
static msg[191];
vformat(msg, 190, input, 3);
replace_all(msg, 190, "!g", "^x04"); // Green Color
replace_all(msg, 190, "!n", "^x01"); // Default Color
replace_all(msg, 190, "!t", "^x03"); // Team Color
if (id) players[0] = id; else get_players(players, count, "ch");
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}Не знаю есть ли там ошибки... ну думаю должно работать =)Я думаю винипуху понравилось такое поздравление (знаете... вроде мелочь а приятно будет =) )
Ну а более серьезные задачи вы сами себе придумаете!
Думаю я расписал все нормально и вопросов быть не должно. По коду все и так будет ясно.
Что ж, думаю вам это статья это пригодится =) если хотите что-то похожее, то пишите в коментах, ну и конечно же ставьте лайки =)
Hello, Our administration publishes only cannon content, put like under the post below and write the top comment, we are preparing the material just for you, Darling Гость.
Related news
Comments 4
Users belonging to group Guests cannot add comments to this article.
%35
Discount on purchase of all
builds until 16.9.2026
Especially for you - Гость

Buy Build
Our Services
Our Partners
Comments
Готовый сервер [Душа на Месяц] By MKOD
Link isnt working ?
(Обновление) Counter-Strike Nexon: Zombies от (29 августа 2018)
GOod work nicee
Модель оружия «M4A1 XMAS 2019» для CS 1.6
contact us , we will fix it
Модель оружия «M4A1 XMAS 2019» для CS 1.6
this doesen't even work the site is just bugged and the skins do not work in game.
Приватный чит «Alternative V3.0» для CS 1.6
fffffmmmmm







Hud Configurator
Hall of Shame
Model Viewer
CSO PISTOLS
CSO MACHINE GUN