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

0-BuTaJIuK-0

Участник
Сообщения
235
Реакции
57
@smxnet
Скомпилировал, попробуй. У меня всё работает на 1.8
 

Вложения

  • BlockMedic.sp
    192 байт · Просмотры: 7
  • BlockMedic.smx
    3.5 КБ · Просмотры: 4

smxnet

Участник
Сообщения
80
Реакции
4
в
@smxnet
Скомпилировал, попробуй. У меня всё работает на 1.8
вот щас твой исходник что последний выложил скомпилировал все ок работает спс тебе большое
--- Добавлено позже ---
@smxnet
Скомпилировал, попробуй. У меня всё работает на 1.8
а можно еще сделать так что бы не только когда !medic в чате а просто medic и что бы тоже кикала так как просто за слово не кикает
 

0-BuTaJIuK-0

Участник
Сообщения
235
Реакции
57
@smxnet
PHP:
#include <sourcemod>
#define Reason "Команда запрещена" // Сюда напиши свою причину

public OnPluginStart()
{
    RegConsoleCmd("sm_medic", BlockMedic);
    RegConsoleCmd("say", BlockMedicSay);
    RegConsoleCmd("say_team", BlockMedicSay);
}

public Action:BlockMedic(client, args)
{
    KickClient(client, "%s", Reason);
}

public Action:BlockMedicSay(client, args)    
{
    decl String:text[128];
    GetCmdArgString(text, sizeof(text) - 1 );
    StripQuotes(text);
    TrimString(text);
    if(StrEqual(text, "medic")) KickClient(client, "%s", Reason);
}
 

smxnet

Участник
Сообщения
80
Реакции
4
@smxnet
PHP:
#include <sourcemod>
#define Reason "Команда запрещена" // Сюда напиши свою причину

public OnPluginStart()
{
    RegConsoleCmd("sm_medic", BlockMedic);
    RegConsoleCmd("say", BlockMedicSay);
    RegConsoleCmd("say_team", BlockMedicSay);
}

public Action:BlockMedic(client, args)
{
    KickClient(client, "%s", Reason);
}

public Action:BlockMedicSay(client, args)   
{
    decl String:text[128];
    GetCmdArgString(text, sizeof(text) - 1 );
    StripQuotes(text);
    TrimString(text);
    if(StrEqual(text, "medic")) KickClient(client, "%s", Reason);
}
спасибо большое все отлично работает а ты можешь вот у стандартного mapchooser поменять цифры при голосование за карты ну вместо 12345 сделать что бы вылезало 56789 если конечно это возможно рико как то пробывал но там вышла тогда криво говорил что вроде как с панелями надо что то делать
 

0-BuTaJIuK-0

Участник
Сообщения
235
Реакции
57
@smxnet
Поставь вот эту штуку и не парься Silenci0/UMC (последняя версия Ultimate Mapchooser от пользователя) P.S. Нарыл на форуме аленей в сообщениях и после сам пользуюсь
Большая часть народа сидят вот на этом MapChooser Extended 1.10.2 (Updated 2014-02-05) - AlliedModders, но хз, есть ли там рандом и вроде недавно крашил сервера
 
Последнее редактирование:

smxnet

Участник
Сообщения
80
Реакции
4
@smxnet
Поставь вот эту штуку и не парься Silenci0/UMC (последняя версия Ultimate Mapchooser от пользователя) P.S. Нарыл на форуме аленей в сообщениях и после сам пользуюсь
Большая часть народа сидят вот на этом MapChooser Extended 1.10.2 (Updated 2014-02-05) - AlliedModders, но хз, есть ли там рандом и вроде недавно крашил сервера
спасибо я про них знаю но хотелось бы оставить стандартный но только вот что бы цифры были другие в общем если сможешь сделать то пиши
 

0-BuTaJIuK-0

Участник
Сообщения
235
Реакции
57
Выше затрагивалась тема о запрете +left и +right
Вот код с аленей и переделанный второй кейс, кто может рассказать, что за дичь в первом случае? И можно ли нормально заблокировать эти кнопки?
Не работает:
buttons &= ~IN_LEFT;
buttons &= ~IN_RIGHT;

PHP:
#include <sourcemod>
#include <profiler>
#include <sdktools>
#define CHECKLIMIT 3
#include <csgo_colors>

new Handle:g_hCvarMethod;
new g_iMethod = 1;
new g_PlayerTime[MAXPLAYERS+1];
new g_PlayerLimit[MAXPLAYERS+1];

public Plugin:myinfo =
{
    name = "Block +left and +right",
    author = "Afronanny, Impact, 0-BuTaJIuK-0",
    description = "Block +left and +right",
    version = "1.2",
    url = "vk.com/butagames"
}

public OnPluginStart()
{
    g_hCvarMethod = CreateConVar("sm_leftright_method", "2", "1 for block, 2 for kick");
    HookConVarChange(g_hCvarMethod, ConVarChanged_Method);
 
    g_iMethod = GetConVarInt(g_hCvarMethod);
}

public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)
{
    if(buttons & IN_LEFT || buttons & IN_RIGHT)
    {
        switch(g_iMethod)
        {
            case 1:
            {
                // Gets the GameTime
                new acttime = GetTime();
                // Only if some time has passed
                if(g_PlayerTime[client] < acttime-1)
                {
                    // Increase the amount..
                    g_PlayerLimit[client]++;
                 
                    // If used too often
                    if(g_PlayerLimit[client] >= CHECKLIMIT)
                    {
                        // ServerCommand("sm_stop");
                        FakeClientCommandEx(client, "say /stop");
                        PrintToChat(client, "\x03 Your time has been stopped due to a +left/right script")
                     
                        // Reset the limit
                        g_PlayerLimit[client] = 0;
                    }
                    // Sets the clients time
                    g_PlayerTime[client] = acttime;
                }
            }
            case 2:
            {
                    if(IsClientInGame(client) && !IsFakeClient(client) && IsPlayerAlive(client))
                    {
                        ForcePlayerSuicide(client);
                        ChangeClientTeam(client, 1);
                        CGOPrintToChat(client, "{GRAY}[{LIGHTBLUE}СЕРВЕР{GRAY}]{LIGHTGREEN} Ты позорище со скриптами");
                    }
            }
        }
    }
}

public ConVarChanged_Method(Handle:convar, const String:oldValue[], const String:newValue[])
{
    switch(StringToInt(newValue))
    {
        case 1:
        {
            g_iMethod = 1;
        }
        case 2:
        {
            g_iMethod = 2;
        }
        default:
        {
            g_iMethod = 2;
        }
    }
}
 
Последнее редактирование:

rejchev

менеджер клоунов
Сообщения
1,669
Реакции
1,291
Помогите добавить код что-бы config регенерировался.
Или как-то связать config,ini и т.д
И еще что-бы в confige можно было изменять вот эти строки
Сам .sp - menudonat.sp
Немного переделал все что написано, но смысл тот же.
Добавлен квар с генерацией конфига, т.к. смысла на что то большое - нет.
Если же вы хотели узнать, как делать "кастомный" конфиг - читайте про [SourcePawn] Урок 8 - Структуры Key Values там все описано.
Ну или тут: SourceMod Scripting API Reference

PHP:
#include <sourcemod>

ConVar g_hTitle;

char g_szTitle[64];

public OnPluginStart(){
    RegConsoleCmd("sm_donate", sm_donate); 
    CreateAnyHook();
}
void CreateAnyHook()
{
    g_hTitle = CreateConVar("md_title", "Цены на привилегии\n \n1.VIP 50 руб.\n2.GOLD VIP 100 руб.", "Все что хотите написать.");
    g_hTitle.AddChangeHook(OnConVarChanged);
    AutoExecConfig(true, "md_settings");
}
public void OnConVarChanged(ConVar cvar, const char[] oldV, const char[] newV)
{
    if(cvar == g_hTitle)    cvar.GetString(g_szTitle, sizeof(g_szTitle));
    if(!g_szTitle[0])    SetFailState("[MD] Конвар имеет некорректное значение");
}
public void OnMapStart(){    OnConVarChanged( g_hTitle, NULL_STRING, NULL_STRING );    }
public Action sm_donate(int client, int args)
{
    if(!client || !IsClientInGame(client)) return Plugin_Handled;
    SendMenu(client); return Plugin_Handled;
}

void SendMenu(int client)
{
    Menu hMenu = new Menu(HMenu_CB);
    hMenu.SetTitle(g_szTitle);
    hMenu.Display(client, 20);
    ClientCommand(client, "playgamesound items/nvg_off.wav");
}

public int HMenu_CB(Menu hMenu, MenuAction action, int client, int option)
{
    if(action == MenuAction_End)    delete hMenu;
    return;
}
 

backedelk031

Участник
Сообщения
35
Реакции
7

Hustle29

Участник
Сообщения
109
Реакции
4
Поставил,плагин в консоли работает, но кредиты не выдаются и их вообще в конце нет в виде подарка.
в zone_credits прописал так:
"bhop_arcane_classic"
{
"currency_type" "0" //Тип валюты: 0 - Кредиты, 1 - Золото(необходим Shop Core gold (DLC)).

"1" "100" // 1-ое
"2" "80" // 2-ое
"3" "50" // 3-е места (максимум 10 мест)
"0" "10" // остальные
"wr" "150" // Количество кредитов за рекорд в основной зоне
"bonus" "10" // Количество кредитов за бонус
"bonus_wr" "50" // Количество кредитов за рекорд в бонусе
"once_credits" "2000" // Количество кредитов для режима "0"
}
"bhop_csgo_neon"
{
"currency_type" "0" //Тип валюты: 0 - Кредиты, 1 - Золото(необходим Shop Core gold (DLC)).

"1" "100" // 1-ое
"2" "80" // 2-ое
"3" "50" // 3-е места (максимум 10 мест)
"0" "10" // остальные
"wr" "150" // Количество кредитов за рекорд в основной зоне
"bonus" "10" // Количество кредитов за бонус
"bonus_wr" "50" // Количество кредитов за рекорд в бонусе
"once_credits" "2000" // Количество кредитов для режима "0"
}
И так далее все карты, неправильно?
 

rejchev

менеджер клоунов
Сообщения
1,669
Реакции
1,291
Поставил,плагин в консоли работает, но кредиты не выдаются и их вообще в конце нет в виде подарка.
в zone_credits прописал так:
И так далее все карты, неправильно?
В нем и нет модельки подарка, т.к. не зачем.
Вот этот с моделькой, но расставлять придется вручную: Модуль плагина - [Shop] Ball
 

Hustle29

Участник
Сообщения
109
Реакции
4
Ошибки есть? Как вы проверяли? Случаем не ноклипом в конец карты летели? Наличие !practise?
ошибок никаких нет, проходил карту)
!practise есть, ток не пользовался им, вчера сервер ток поставил, за что это меню отвечает не подскажешь?
 

rejchev

менеджер клоунов
Сообщения
1,669
Реакции
1,291
ошибок никаких нет, проходил карту)
!practise есть, ток не пользовался им, вчера сервер ток поставил, за что это меню отвечает не подскажешь?
Карту меняли, после выставления настроек?
 

backedelk031

Участник
Сообщения
35
Реакции
7
и рестарт делал.
У меня вот так прописаны карты
upload_2018-8-14_18-10-52.png
Но у меня изменены переводы
upload_2018-8-14_18-11-25.png
Может быть этого нет?
upload_2018-8-14_18-13-14.png
 

Hustle29

Участник
Сообщения
109
Реакции
4
У меня вот так прописаны карты
Но у меня изменены переводы
Может быть этого нет?
как у тебя сделал, все равно дружище :(. Может у меня версия последняя или нет? Influx - Core" (1.2) by Mehis
 

opportune

Участник
Сообщения
49
Реакции
7
Здравствуйте. Не так давно просил помочь в написании плагина "free steam vip" в этой теме. После его установки сервер начала регулярно падать по 2-3 раза в сутки. Помогите пожалуйста решить эту проблему
 

Вложения

  • free_steam_vip.sp
    1.3 КБ · Просмотры: 9

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@opportune, у тебя инклюд от ядра какой версии?
и какое значение имеет AUTH_STEAM?
 
Сверху Снизу