Нужна помощь в sm коде

Тема в разделе "Запросы", создана пользователем leks90, 25 фев 2013.

  1. leks90

    leks90

    Сообщения:
    10
    Симпатии:
    1
    Всем привет мне нужна помощь с плагином. Так как сам я ещё в этом слаб (нуб)

    Короче я пытаюсь, сделать плагин который будет загружать на карту случайный конфиг
    Я примерно набросал код но возможно он не правильны, буду признателен, если поможете

    Код:
    #include <sourcemod>
    
    public OnPluginStart()
    {
        RegServerCmd("sm_c1m1", Mapsc1m1);
        RegServerCmd("sm_c1m2", Mapsc1m2);
    }
    
    public Action:Mapsc1m1(client, args)
    {
        switch (GetRandomInt(0,6))
        {
            case 0: ServerCommand(client, "exec maps/c1m1/1.cfg")
            case 1: ServerCommand(client, "exec maps/c1m1/2.cfg")
            case 2: ServerCommand(client, "exec maps/c1m1/3.cfg")
            case 3: ServerCommand(client, "exec maps/c1m1/4.cfg")
            case 4: ServerCommand(client, "exec maps/c1m1/5.cfg")
            case 5: ServerCommand(client, "exec maps/c1m1/6.cfg")
            case 6: ServerCommand(client, "exec maps/c1m1/7.cfg")
        }
    }
    
    public Action:Mapsc1m2(client, args)
    {
        switch (GetRandomInt(0,6))
        {
            case 0: ServerCommand(client, "exec maps/c1m2/1.cfg")
            case 1: ServerCommand(client, "exec maps/c1m2/2.cfg")
            case 2: ServerCommand(client, "exec maps/c1m2/3.cfg")
            case 3: ServerCommand(client, "exec maps/c1m2/4.cfg")
            case 4: ServerCommand(client, "exec maps/c1m2/5.cfg")
            case 5: ServerCommand(client, "exec maps/c1m2/6.cfg")
            case 6: ServerCommand(client, "exec maps/c1m2/7.cfg")
        }
    }
     
    Последнее редактирование: 9 мар 2013
  2. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    Re: Нужна помощь нубу

    Для начала:
    ServerCommand("exec maps/c1m2/7.cfg")
    Короче client не нужен.
    А так ожно и гораздо проще:
    PHP:
    #include <sourcemod>

    public OnPluginStart()
    {
        
    RegServerCmd("sm_c1m1"Mapsc1m1);
        
    RegServerCmd("sm_c1m2"Mapsc1m2);
    }
    public 
    Action:Mapsc1m1(clientargs)
    {
        
    ServerCommand("exec maps/c1m1/%d.cfg"GetRandomInt(0,6)+1)
    }
    public 
    Action:Mapsc1m2(clientargs)
    {
        
    ServerCommand("exec maps/c1m2/%d.cfg"GetRandomInt(0,6)+1)
    }    
    Если конфиги действительно будут называться цифрами.
    И не помню, как правильно надо делать функцию для RegServerCmd, там же client нету... Хотя лучше бы наверно RegAdminCmd, если хочешь делать от админа.
    А если хочешь чтобы рандомный конфиг загружался каждый раз сам при смене карты, используй OnMapStart
    PHP:
    public OnMapStart
    {
        
    ServerCommand("exec maps/c1m2/%d.cfg"GetRandomInt(0,6)+1)
    }
     
    leks90 нравится это.
  3. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    Re: Нужна помощь нубу

    KorDen
    Если 0, то конфиг 0 никогда не загрузится, т.к. +1, если 6, то будет ошибка, т.к. конфига по именем 7 нету..
     
  4. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    Re: Нужна помощь нубу

    The End Is Near..., Если бы ты повнимательнее прочитал его исходный код...
    ....то этого комментария бы не было
     
  5. leks90

    leks90

    Сообщения:
    10
    Симпатии:
    1
    Re: Нужна помощь нубу

    Мне помог совет KorDen всё остальное я уже сделал сам. Как мне было удобней.
    Тема Закрыта! всем спосибо =)
     
  6. leks90

    leks90

    Сообщения:
    10
    Симпатии:
    1
    Re: Нужна помощь нубу

    Снова нужна помощь
    Вот для примера код сообщения, которое надо убрать в сторону чата или противоположную сторону

    Код:
    #include <sourcemod>
    #include <sdktools>
    
    public OnPluginStart()
    {
        RegConsoleCmd("sm_ky", Command_ky);
    }
    
    public Action:Command_ky(client, args)
    {
        PrintHintTextToAll("Игрок %N говорит всем привет", client);
        return Plugin_Continue;
    }
    
    Такое возможно вообще?
     
  7. KorDen

    KorDen Atra esterní ono thelduin! Ньюсмейкер

    Сообщения:
    2.194
    Симпатии:
    1.398
    Re: Нужна помощь нубу

    Чат - PrintToChatAll
    Центр сверху - PrintCenterTextAll
    Справа - можно, но сложнее для восприятия, и работает не во всех играх
     
  8. The Night Fury

    The Night Fury Администратор

    Сообщения:
    1.221
    Симпатии:
    914
    Re: Нужна помощь нубу

    KorDen, он хочет вывести в hint, я так понял.
     
  9. leks90

    leks90

    Сообщения:
    10
    Симпатии:
    1
    Re: Нужна помощь нубу

    Да именно так, только чтобы отображалось с правой стороны
    такое возможно?
     
  10. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    leks90
    PHP:
    new Handle:message StartMessageAll("KeyHintText");
    if (
    message != INVALID_HANDLE)
    {
        
    BfWriteByte(message1);
        
    BfWriteString(message"Сообщение");
        
    EndMessage();
    }
     
    leks90 нравится это.