Gmod lua.

Garry's mod — наверное, единственная модификация для Half-Life 2, которая имеет громадное число поклонников и обновляется с завидной регулярностью.
Ответить
Сообщение
Автор
Аватара пользователя
Bek1zo
Нович0к
Нович0к
Сообщения: 17
Зарегистрирован: 27.02.2010

#1 Сообщение 16.07.2012, 00:32

Собственно имеется несколько вопросов:
1. Каким образом можно привести данное время в человеческий вид?

Код: Выделить всё

function Time(ply, text)
    if string.Left(text, 5) == "/time" and
    ply == LocalPlayer() then
    ply:PrintMessage(HUD_PRINTTALK, "[SERVER] Time is: "..SysTime())
    print("Time is:"..SysTime())
    end
end
hook.Add("OnPlayerChat", "System Time", Time)
[spoiler=""Photo""]Изображение[/spoiler]

2. Далее вопрос связаный с командой кика..

Код: Выделить всё

function akick(ply, cmd, args)
        if args[1] then
        RunConsoleCommand("kick", " ", ..ply:Nick())
        else
        print("User not found")
        end
end
hook.Add("OnPlayerChat", "Admin Kick", akick)
 
concommand.Add("AKick", akick)
Почему при вводе команды akick в консоле мне выдает, что данная функия не существует, но если я изменю 3 строчку и уберу оттуда все аргументы оставив лишь только это:

Код: Выделить всё

RunConsoleCommand("kick")
То команда уже существует и при ее вводе в консоль мне выскакивает пример команды kick (kick <name>)

Добавлено спустя 9 часов 59 минут 12 секунд:
По поводу первого - разобрался, точнее помогли уже..
Изображение

Аватара пользователя
Pr0Ger
Модератор
Модератор
Сообщения: 1829
Зарегистрирован: 16.01.2009
Благодарил (а): 17 раз
Поблагодарили: 214 раз
Контактная информация:

#2 Сообщение 16.07.2012, 00:46

А по поводу второго:

Код: Выделить всё

RunConsoleCommand( String Command [, String argument 1, String argument 2, ...] )
так что вызов не совсем правильный
правильный вариант вроде как должен быть

Код: Выделить всё

RunConsoleCommand("kick", ply:Nick())

Аватара пользователя
Bek1zo
Нович0к
Нович0к
Сообщения: 17
Зарегистрирован: 27.02.2010

#3 Сообщение 16.07.2012, 15:17

Pr0Ger писал(а):А по поводу второго:

Код: Выделить всё

RunConsoleCommand( String Command [, String argument 1, String argument 2, ...] )
так что вызов не совсем правильный
правильный вариант вроде как должен быть

Код: Выделить всё

RunConsoleCommand("kick", ply:Nick())
Вааай спасибо, теперь работает! ^^,

___

Таки рано обрадовался, кикает именно того игрока который написал эту команду..
Изображение

Аватара пользователя
Pr0Ger
Модератор
Модератор
Сообщения: 1829
Зарегистрирован: 16.01.2009
Благодарил (а): 17 раз
Поблагодарили: 214 раз
Контактная информация:

#4 Сообщение 16.07.2012, 16:57

ну очевидно же, потому что ply хранит указатель на игрока, который сделал вызов, так что надо посмотреть что именно было в чате написано (аргументы команды), и указать именно тот никнейм

Аватара пользователя
Bek1zo
Нович0к
Нович0к
Сообщения: 17
Зарегистрирован: 27.02.2010

#5 Сообщение 16.07.2012, 17:30

Pr0Ger писал(а):ну очевидно же, потому что ply хранит указатель на игрока, который сделал вызов, так что надо посмотреть что именно было в чате написано (аргументы команды), и указать именно тот никнейм
Можно поподробнее?
Изображение

Ответить