Я хочу сделать так, чтобы при соединении игрока с сервером, ему выдавался текст (типа "Добро пожаловать") и чтобы выдавался только тому игроку, который зашел на сервер. Этот скрипт нужно выполнять на клиентской стороне? А то делал на серверной, собщение выдавалось всем (т.е когда какой-то игрок зашел на сервер, текст "Добро пожаловать" выдавало всем игрокам на сервере)
function ChatText ( player, command, ... ) local paramTable = {...} local text = table.concat(paramTable, " ") outputChatBox(getPlayerName(player).." "..text ) end addCommandHandler ( "b", ChatText )
Какую здесь можно сделать проверку на то, если игрок ничего не ввел после команды (т.е после "/b") то ему выдавалось другое сообщение (типа "Syntax: /b [text]"). А то уже перепробовал по-разному, криво получается))) P.S Lua только недавно начал изучать, поэтому не привычно
function ChatText ( player, command, ... ) local paramTable = {...} local text = table.concat(paramTable, " ") if #text < 1 then outputChatBox( player, "Syntax: /b [text]" ) else outputChatBox(getPlayerName(player).." "..text ) end end addCommandHandler ( "b", ChatText )
Если помог - поставь + =)
Polaris in MTA is loading ███____________]
Сообщение отредактировал ROCKetMAN - Пятница, 30.09.2011, 21:04
SevD, если я прально понимаю, то ipairs используется в циклах для выбора одного из элементов таблицы. Вот цитата из оффициальной документации:
Quote
ipairs (t) Возвращает три значения: итератор, таблицу t, и 0, поэтому конструкция for i,v in ipairs(t) do body end будет выполнять цикл парами (1,t[1]), (2,t[2]), ···, до первого целого ключа, отсутствующего в таблице.
МТА пример:
Code
local players = getElementsByType ( "player" ) -- get a table of all the players in the server for theKey,thePlayer in ipairs(players) do -- use a generic for loop to step through each player if ( isPlayerInVehicle ( thePlayer ) ) then -- if the player is in a vehicle, announce it outputChatBox ( getPlayerName ( thePlayer ) .. " is in a vehicle" ) else -- if the player isn't in a vehicle, announce that he/she is on foot outputChatBox ( getPlayerName ( thePlayer ) .. " is on foot" ) end end
Этот код получает таблицу со всеми игроками и потом в цикле обрабатывает эту таблицу.
че нужно написать чтобы был простой скрипт на лвлы? ну чтобы каждый час выдавался 1 опыт и по достижению 5 опыта поднимался уровень, потом 10 опыта на 3 уровень, 20 опыта 4 лвл, 40 опыта 5 лвл и т.д.