[ANY]Kill Trigger(!kill)

Тема в разделе "Плагины для SourceMod", создана пользователем 3anyda, 17 ноя 2012.

  1. 3anyda

    3anyda Every Day Is a Saturday

    Сообщения:
    81
    Симпатии:
    11
    Kill Trigger
    Описание: чат триггер, при написании !kill в чат происходит суицид (альтернатива kill в консоль для самых ленивых)
    Версия: v3
    Автор: Halloween
     

    Вложения:

    • killtrigger.smx
      Размер файла:
      2,7 КБ
      Просмотров:
      25
    • killtrigger.sp
      Размер файла:
      2,1 КБ
      Просмотров:
      50
    Последнее редактирование: 17 ноя 2012
    ★Сириус★ нравится это.
  2. ★Сириус★

    ★Сириус★

    Сообщения:
    748
    Симпатии:
    199
    Re: [ANY]AutoSuicide (!kill)

    название плагина только как-то не правильно подобрал "autosuicide"
    прочитав название темы, сначало не о том подумал
     
  3. 3anyda

    3anyda Every Day Is a Saturday

    Сообщения:
    81
    Симпатии:
    11
    Re: [ANY]AutoSuicide (!kill)

    Ты прав, переделал)
     
  4. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    Ну для двух команд одинаковый код, то можно было сделать просто
    PHP:
    #include <sourcemod>
    #include <sdktools>

    public OnPluginStart()
    {
        
    RegConsoleCmd("sm_kill"sui);
        
    RegConsoleCmd("kill"sui);
    }

    public 
    Action:sui(client,args)
    {
        if (
    GetClientTeam(client) > 1)
        {
            if (
    IsPlayerAlive(client))
            {
                
    PrintToConsole(client"kill"client);
                
    ForcePlayerSuicide(client);
            }
            else
            {
                
    PrintToChat(client"\x01[You need to be alive]\x04 Вы должны быть живыми!");
            }
        }
        else
        {
            
    PrintToChat(client"\x01[You can't die in spectate]\x04 Вы не можете умереть в спектаторах!");
        }
        return 
    Plugin_Handled;
    }
    Причем чуть не понимаю зачем две эти строки
    PHP:
    PrintToConsole(client"kill"client);
                
    ForcePlayerSuicide(client);
    Можно было еще сделать так
    PHP:
    #include <sourcemod>
    #include <sdktools>

    public OnPluginStart() RegConsoleCmd("kill"kill);

    public 
    Action:kill(clientargs
    {
        if(
    IsPlayerAlive(client) && GetClientTeam(client) != 1)
        {
            
    ForcePlayerSuicide(client);
        }
        return 
    Plugin_Handled;
    }
     
    3anyda нравится это.
  5. 3anyda

    3anyda Every Day Is a Saturday

    Сообщения:
    81
    Симпатии:
    11
    Первый плагин все таки)
     
  6. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    ilga80
    Автоматически
     
  7. neatek

    neatek

    Сообщения:
    442
    Симпатии:
    233
    DoK_1997,
    PHP:
        RegConsoleCmd("sm_kill"sui); 
        
    RegConsoleCmd("kill"sui); 
    Это одно и тоже, достаточно одной верхней строчки.
    ибо sm_ отбрасывается в чате...


    ilga80, это так сделали Sourcemod'овцы, все команды в сприптинге
    не нуждаются в ! или /

    Halloween, я помню я взялся писать первый плагин это были бананы для Deathrun
    чтобы все были бананами (скин такой)...
    у меня было в логах over ~5000 ошибок, но я б?ть был доволен до ушей, что он работал ;P

    Щас делаю Builders мод, обычный props ;)
     
  8. neatek

    neatek

    Сообщения:
    442
    Симпатии:
    233
    Нужно делать вот так:
    PHP:
        AddCommandListener(Command_Listener"say");
        
    AddCommandListener(Command_Listener"say2");
        
    AddCommandListener(Command_Listener"say_team");
    Ну там конечно же нужно будет сверять команды введенные в чат
    и любимое золотое наше: return Plugin_Handled;

    Если делать по тупому то вот так:
    PHP:
        RegConsoleCmd("say"Command_Callback);
     
  9. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    neatek
    С чего бы это по тупому?


    ilga80
    Попробуй
    PHP:
    #include <sourcemod>
    #include <sdktools>

    public OnPluginStart()
    {
        
    RegConsoleCmd("say"CommandSay);
        
    RegConsoleCmd("say_team"CommandSay);
    }

    public 
    Action:CommandSay(clientargs)
    {
        
    decl String:command[128];
        
    GetCmdArgString(commandsizeof(command) - 1);
        
    StripQuotes(command);
        
    TrimString(command);
        
        if(
    strcmp(command"kill")  && IsPlayerAlive(client) && GetClientTeam(client) != 1)
        {
            
    ForcePlayerSuicide(client);
        }    
        return 
    Plugin_Continue;
    }