Написание плагинов

alexmy

Участник
Сообщения
284
Реакции
13
Всем привет. Как сделать меню с никами игроков играющие на сервере?
 

Doker0909

Участник
Сообщения
105
Реакции
3
@babka68 , не исключаю, что проблема во мне... сделал вот так и не работает.
проблема в моих манипуляциях или просто не работает? 😇,
 

Вложения

  • privetprivhode.sp
    690 байт · Просмотры: 6

babka68

Участник
Сообщения
2,124
Реакции
956

Вложения

  • welcome_message.sp
    652 байт · Просмотры: 7
  • welcome_message.smx
    3.9 КБ · Просмотры: 4
  • de_dust20000.jpg
    de_dust20000.jpg
    197 КБ · Просмотры: 66

Doker0909

Участник
Сообщения
105
Реакции
3
@babka68, значит проблема во мне... не исключаю, что какой-то плагин делает бяку и блочит это)))) спасибо 😉
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@alexmy, смотришь код исходников админки.
Там это чуть ли не в каждом первом плагине.
 

-=|УЧЕНИК|=-

вся жизнь,сплошной цирк.
Сообщения
876
Реакции
212
Доброй ночи всем!
Ищу плагин,на звук хедшот при убийстве.
Чтоб был простенький плагин,без всяких лишних звуков
Может кто напишет простенький плагин
Заранее благодарю
ксс 34
 

babka68

Участник
Сообщения
2,124
Реакции
956
@babka68, что-то поиском по форуму не находится.
Возрождение каждую секунду в течении х секунд с начала раунда (при 0 не заканчивается до конца раунда).
Можно выбрать какую из команд возрождать.
Можно выставить сколько раз игрок может возродиться в течении раунда (игроку в чат пишется сколько ещё возрождений у него осталось).
Можно вывести в хинт о том, сколько времени ещё продлится автоматическое возрождение.
Есть нюанс,если я выбираю к примеру команду кт,но ещё не определился какого из 4 предоставленных моделей хочу выбрать,то меня в этот момент возрождает и тем самым получается самоубийство,и.е плагин автоматически подключился с выбором рандомной модельки,в тот момент кода я ручками её выбираю,надеюсь понятно объяснил,могу демо заснять
 

DarkerZ

Участник
Сообщения
395
Реакции
175
Доброй ночи всем!
Ищу плагин,на звук хедшот при убийстве.
Чтоб был простенький плагин,без всяких лишних звуков
Может кто напишет простенький плагин
Заранее благодарю
ксс 34
C-подобный:
#include <sdktools>

public void OnPluginStart()
{
    HookEvent("player_death", Event_Death);
}

public void OnMapStart()
{
    AddFileToDownloadsTable("sound/quake/headshot.mp3");
    PrecacheSound("quake/headshot.mp3");
}

public void Event_Death(Handle event, const char[] name, bool dontBroadcast)
{
    if(GetEventBool(event,"headshot")) EmitSoundToAll("quake/headshot.mp3");
}
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@babka68, я понял о чём ты
но я хз как определять такие моменты
такое бывало и без этого плагина у меня на тестовом
Нужно блочить ту менюшку с классом, что ли
Или блочить саму команду joinclass.
 

babka68

Участник
Сообщения
2,124
Реакции
956
@babka68, я понял о чём ты
но я хз как определять такие моменты
такое бывало и без этого плагина у меня на тестовом
Нужно блочить ту менюшку с классом, что ли
Или блочить саму команду joinclass.
У меня без этого плагина нет такой проблемы
 

Temlik

Участник
Сообщения
668
Реакции
174
Тема по кнопкам :D

C-подобный:
#pragma semicolon 1

#include <sourcemod>
#include <sdktools>

public OnPluginStart()
{
    HookEntityOutput("func_button" , "OnPressed", ButtonPressed);
}

public ButtonPressed(const String:output[], caller, activator, Float:delay)
{
    //new Float:pos[3];
    //GetEntPropVector(caller, Prop_Send, "m_vecOrigin", pos);
   
    //if (pos[0] == -7038.500000 && pos[1] == -188.500000 && pos[2] == 633.280029)
    OnRightButtonPressed(activator);
}

OnRightButtonPressed(client)
{
    PrintToChatAll("\x05[Кнопка] \x03%N \x04Нажал на кнопку!", client);
    //ForcePlayerSuicide(client);
}

так же попробуй код, раньше такой код стоял на моем сервере. Нужен был для личных целях :)
Как сделать так, чтобы сообщение показывалось только админам?
 

manhattan

Участник
Сообщения
169
Реакции
45
C-подобный:
void BanPlayerNo(int iClient)
{
    if(CanTestFeatures() && GetFeatureStatus(FeatureType_Native, "MABanPlayer") == FeatureStatus_Available)
    {
        MABanPlayer(0, iClient, MA_BAN_STEAM, BANTIMEPERM, "Обнаружено запрещенное ПО");
    }
    else if (CanTestFeatures() && GetFeatureStatus(FeatureType_Native, "SBPP_BanPlayer") == FeatureStatus_Available)
    {
        SBPP_BanPlayer(0, iClient, BANTIMEPERM, "Обнаружено запрещенное ПО");
    }
}
Плагин: Rust Check Cheats
В общем, я так и не понял как это сделать. Как вы видите функция банит игрока, но от имени консоли, т.е 0ид администратор. Мне нужно что-бы бан был от имени администратора, который вызвал игрока на проверку. Если нужна будет доп. инфа, то отвечу обязательно!
 

Doker0909

Участник
Сообщения
105
Реакции
3
Ребята, кто шарит, помогите, пожалуйста, с одной фишкой))
нужно чтоб этот плагин отключался, после окончания раунда и срабатывал в новом раунде, а то даже когда команда Т выиграла раунд и начала играть музыка, то плагин, всё равно, ведет отсчет.
Заранее спасибо 😉
 

Вложения

  • advancedc4timer.sp
    12.2 КБ · Просмотры: 5

DarkerZ

Участник
Сообщения
395
Реакции
175
C-подобный:
void BanPlayerNo(int iClient)
{
    if(CanTestFeatures() && GetFeatureStatus(FeatureType_Native, "MABanPlayer") == FeatureStatus_Available)
    {
        MABanPlayer(0, iClient, MA_BAN_STEAM, BANTIMEPERM, "Обнаружено запрещенное ПО");
    }
    else if (CanTestFeatures() && GetFeatureStatus(FeatureType_Native, "SBPP_BanPlayer") == FeatureStatus_Available)
    {
        SBPP_BanPlayer(0, iClient, BANTIMEPERM, "Обнаружено запрещенное ПО");
    }
}
Плагин: Rust Check Cheats
В общем, я так и не понял как это сделать. Как вы видите функция банит игрока, но от имени консоли, т.е 0ид администратор. Мне нужно что-бы бан был от имени администратора, который вызвал игрока на проверку. Если нужна будет доп. инфа, то отвечу обязательно!
первый параметр 0 это и есть admin clientid. нужно в функцию соответственно его и передать типа такого:
C-подобный:
void BanPlayerNo(int iClient, int iAdmin)
{
    if(CanTestFeatures() && GetFeatureStatus(FeatureType_Native, "MABanPlayer") == FeatureStatus_Available)
    {
        MABanPlayer(iAdmin, iClient, MA_BAN_STEAM, BANTIMEPERM, "Обнаружено запрещенное ПО");
    }
    else if (CanTestFeatures() && GetFeatureStatus(FeatureType_Native, "SBPP_BanPlayer") == FeatureStatus_Available)
    {
        SBPP_BanPlayer(iAdmin, iClient, BANTIMEPERM, "Обнаружено запрещенное ПО");
    }
}
ну и соответственно по коду необходимо поправить места где эта функция вызывается
 

Paranoiiik

хачю клиентмод
Сообщения
2,047
Реакции
1,490
Ребята, кто шарит, помогите, пожалуйста, с одной фишкой))
нужно чтоб этот плагин отключался, после окончания раунда и срабатывал в новом раунде, а то даже когда команда Т выиграла раунд и начала играть музыка, то плагин, всё равно, ведет отсчет.
Заранее спасибо 😉
Попробуй
 

Вложения

  • advancedc4timer.sp
    12.3 КБ · Просмотры: 4

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@Doker0909, пробуй, но там древний код и его бы полностью переписать (но мне лень это делать).
 

Вложения

  • advancedc4timer.sp
    10.8 КБ · Просмотры: 6

Envy

Участник
Сообщения
49
Реакции
2
Доброго времени суток, кто сможет сделать плагин Fast Plant для css v34?
 

Paranoiiik

хачю клиентмод
Сообщения
2,047
Реакции
1,490
Доброго времени суток, кто сможет сделать плагин Fast Plant для css v34?
C-подобный:
#pragma semicolon 1
#pragma newdecls required

public Plugin myinfo =
{
    name    = "Fast Plant",
    author    = "AlliedModders/wS",
    version = "1.1.2"
};

public void OnPluginStart()
{
    HookEvent("bomb_beginplant", BeginPlant, EventHookMode_Post);
}

public void BeginPlant(Handle event, const char[] name, bool silent)
{
    int client = GetClientOfUserId(GetEventInt(event, "userid"));
    
    int weapon = GetEntPropEnt(client, Prop_Send, "m_hActiveWeapon");
    
    if(weapon > 0)
    {
        char class[32];
        if(GetEntityClassname(weapon, class, sizeof(class) && !strcmp(class[7], "c4", false)))
            SetEntPropFloat(weapon, Prop_Send, "m_fArmedTime", GetGameTime());
    }
}
Взял тут
 

Envy

Участник
Сообщения
49
Реакции
2
C-подобный:
#pragma semicolon 1
#pragma newdecls required

public Plugin myinfo =
{
    name    = "Fast Plant",
    author    = "AlliedModders/wS",
    version = "1.1.2"
};

public void OnPluginStart()
{
    HookEvent("bomb_beginplant", BeginPlant, EventHookMode_Post);
}

public void BeginPlant(Handle event, const char[] name, bool silent)
{
    int client = GetClientOfUserId(GetEventInt(event, "userid"));
   
    int weapon = GetEntPropEnt(client, Prop_Send, "m_hActiveWeapon");
   
    if(weapon > 0)
    {
        char class[32];
        if(GetEntityClassname(weapon, class, sizeof(class) && !strcmp(class[7], "c4", false)))
            SetEntPropFloat(weapon, Prop_Send, "m_fArmedTime", GetGameTime());
    }
}
Взял тут
А для вип r1ko пожалуйста можно?)
 
Сверху Снизу