attempt to call global 'LocalPlayer' (a nil value)

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

#1 Сообщение 30.12.2011, 11:35

В общем, впервые пишу свой код.
Нужно чтобы при надписи /ttt перекидывало на другой сервер.
Вот то, что я написал:

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

if LocalPlayer():RunConsoleCommand ("say", "/ttt") then	
RunConsoleCommand("connect", "*айпи*(скрыл, чтобы не было конфликтов)")
end
AddChatCommand("/ttt", TTT)
Показывает ошибку [lua\ttt.lua:1] attempt to call global 'LocalPlayer' (a nil value)
Что именно не так?

Аватара пользователя
Atomeh
Майор
Майор
Сообщения: 561
Зарегистрирован: 05.08.2008
Благодарил (а): 9 раз
Поблагодарили: 2 раза
Контактная информация:

#2 Сообщение 30.12.2011, 13:51

Всё не так.

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

if LocalPlayer():RunConsoleCommand ("say", "/ttt") then   
RunConsoleCommand("connect", "*айпи*(скрыл, чтобы не было конфликтов)")
end
Бред полнейший.

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

AddChatCommand("/ttt", TTT)
А это функцию ты судя по всему из ДаркРП взял? Если на сервере не запущен РП, то работать она не будет.

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

function TTTSay( ply, text )																
	if string.Left(text, 4) == "/ttt"						--Первые 4 символа - /ttt
	and ply == LocalPlayer()								--Сообщение написано нами.
	then RunConsoleCommand("connect", "owsumserver.com")
	end
end
hook.Add("OnPlayerChat","TTTSay",TTTSay)					--Хук вызывается, когда кто-нибудь пишет в чат.
Код нужно отсылать клиенту.

Roni_sl
Нович0к
Нович0к
Сообщения: 8
Зарегистрирован: 24.11.2011

#3 Сообщение 31.12.2011, 08:40

Спасибо большое, я говорю же, что вообще не знаю Lua, читал wiki вот такое и сделал.

Добавлено спустя 15 часов 14 минут 42 секунды:
Не хочет работать твой код, просто ничего не выдает :(

Аватара пользователя
Atomeh
Майор
Майор
Сообщения: 561
Зарегистрирован: 05.08.2008
Благодарил (а): 9 раз
Поблагодарили: 2 раза
Контактная информация:

#4 Сообщение 31.12.2011, 17:19

Говорю же, код нужно отсылать на клиентов. На каждого. Работать он будет только на клиенте.

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

if SERVER then
AddCSLuaFile(...
end

if CLIENT then
//
end
Если не работает, значит на клиенте ничего не запускалось.

Roni_sl
Нович0к
Нович0к
Сообщения: 8
Зарегистрирован: 24.11.2011

#5 Сообщение 01.01.2012, 18:56

Ааа, точно. Спасибо еще раз

Ответить