Использование функции

Тема в разделе "Программирование / Скриптинг", создана пользователем snooper921, 27 июл 2012.

  1. snooper921

    snooper921

    Сообщения:
    8
    Симпатии:
    0
    Здравствуйте,писал недавно один плагин под Sourcemod и наткнулся на такой вопрос.
    Можно ли взять встроенное в Sourcemod,например OnMapStart.Мы знаем,что в нем есть 1 переменная - карта.Можно ли объявит функцию внутри,которая будет содержать например команды с клиентом?

    P.S. Заранее большее спасибо.
     
    Последнее редактирование: 27 июл 2012
  2. semjef

    semjef semjef.ru

    Сообщения:
    1.031
    Симпатии:
    473
    эмм, чтото ты не то сказал))) таймер всегда запускается при какомто событии, просто так ты его не запустишь)) OnMapStart это тоже событие, делай выводы, смотри исходники, читай wiki.
     
    Vit_ amin нравится это.
  3. wanted241

    wanted241 Real-Gamer.Ru

    Сообщения:
    783
    Симпатии:
    355
    Прошу, по-русски) Я не могу понять что тут написано O_O
     
  4. September

    September

    Сообщения:
    1.193
    Симпатии:
    164
    Да вроде все понятно, только немного глупо
     
  5. semjef

    semjef semjef.ru

    Сообщения:
    1.031
    Симпатии:
    473
    именно, я и про вопрос, и про свой ответ)))
     
  6. snooper921

    snooper921

    Сообщения:
    8
    Симпатии:
    0
    Я действительно там напутал немного.По идее я хотел сделать,чтобы при начале новой карты,запускался таймер,в котором будет происходить получение рендомного клиента,но как мне получить клиента в callback`e таймера?С помощью индекса?Просто от начала карты не опереться особо,а вот от входа игрока на сервер уже не то,что надо.
     
  7. semjef

    semjef semjef.ru

    Сообщения:
    1.031
    Симпатии:
    473
    ну на старте карты запускаешь таймер, потом когда таймер срабатывает находишь номера всех клиентов которые в игре и выбираешь рандомный из них, что сложного))
     
    snooper921 нравится это.
  8. wanted241

    wanted241 Real-Gamer.Ru

    Сообщения:
    783
    Симпатии:
    355
    PHP:
    #include <sourcemod>

    new Player;

    public 
    OnPluginStart()
    {

    }

    public 
    OnMapStart()
    {
        
    CreateTimer(10.0TimeroO);
    }

    public 
    Action:TimeroO(Handle:timer)
    {
        
    Player GetRandomPlayer();
    }

    GetRandomPlayer() 
    {
        new 
    PlayerList[MaxClients];
        new 
    PlayerCount;
        for (new 
    1<= MaxClientsi++) 
        {
            if (
    IsClientInGame(i))
            {
                
    PlayerList[PlayerCount++] = i;
            }
        }
        if (
    PlayerCount == 0
        {
            return -
    1;
        }
        return 
    PlayerList[GetRandomInt(0PlayerCount-1)];
    }
    Потом юзай Player и все.
     
    snooper921 нравится это.
  9. snooper921

    snooper921

    Сообщения:
    8
    Симпатии:
    0
    Всем спасибо,я уже написал,разобрался,а тут примеры еще есть :D