RU/setPlayerName: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (Перевод примера)
mNo edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{RU/Server function}}  
__NOTOC__
__NOTOC__
{{RU/Server function}}
Эта функция изменяет имя указанного игрока ([[player]]).
Данная функция изменяет имя указанного [[игрок|игрока]].


==Синтаксис==  
==Синтаксис==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
bool setPlayerName ( player thePlayer, string newName )
bool setPlayerName ( player thePlayer, string newName )
</syntaxhighlight>  
</syntaxhighlight>
 
{{RU/OOP||[[player]]:setName|name|getPlayerName}}


===Обязательные аргументы===  
===Обязательные аргументы===  
*'''thePlayer:''' [[player|игрок]], которому нужно изменить имя.
*'''thePlayer:''' [[Игрок]], которому нужно изменить имя.
*'''newName:''' устанавливаемое имя.
*'''newName:''' Новое имя, устанавливаемое игроку.
 
===Возвращает===
* ''true'', если имя было успешно изменено.
* ''false'', если были переданы неверные аргументы.


===Вывод===
===Ограничения===
Возвращает ''true'' если имя было успешно изменено, ''false'' если были переданы некорректные аргументы.
* Допускаются только символы ASCII между 33 и 126 (базовая латиница): 
    <nowiki>!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~</nowiki>
* Минимальная длина имени игрока - 1 символ.
* Максимальная длина имени игрока - 22 символа.
* Имена игроков чувствительны к регистру. Невозможно, чтобы два клиента с одинаковым именем, но с разным регистром, были подключены к одному серверу.


==Пример==
==Пример==
<section name="Server" class="server" show="true">
Этот пример добавляет тэг перед именем игрока при помощи команды /changetag
Этот пример позволяет добавлять перед именем игрока дополнительный текст по команде /changetag
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">


-- Определяем функцию для команды (/changetag, она определена далее)
-- Определение функции для команды /changetag
-- source = игрок, который вызвал команду
-- source = игрок, который вызвал эту команду
-- command = команда, передаваемая в функцию (changetag)
-- command = команда переданная в функцию (changetag)
-- thePlayer = игрок, перед именем которого будет добавлен текст
-- thePlayer = игрок, которому вы хотите добавить тэг
-- tag = текст, добавляемый перед именем
-- tag = тэг, который нужно добавить к нику игрока
function tagPlayer ( source, command, thePlayer, tag )
function tagPlayer ( source, command, thePlayer, tag )
--Попытка получить элемент из имени.
-- Попытка получить элемент игрока по указанному имени.
local sPlayerElement = getPlayerFromName ( thePlayer )
local sPlayerElement = getPlayerFromName ( thePlayer )
-- Проверка, существует ли такой игрок.
-- Проверка на то, что игрок с указанным именем существует.
if ( sPlayerElement ) then
if ( sPlayerElement ) then
-- Проверка, имеет ли полученный элемент тип [[player]]
-- убедимся, что тип элемента thePlayer указывает на игрока
if getElementType ( sPlayerElement ) == "player" then
if getElementType ( sPlayerElement ) == "player" then
-- сохраняем текущее имя игрока,
-- сохраним текущее имя игрокаwe,
local oldName = getPlayerName ( sPlayerElement )
local oldName = getPlayerName ( sPlayerElement )
-- добавляем перед ним переданный в функцию текст
-- применим тэг вначале ника
local taggedName = tag .. oldName
local taggedName = tag .. oldName
-- затем устанавливаем полученную строку в качестве нового имени игрока
-- затем установим новое имя
setPlayerName ( sPlayerElement, taggedName )
setPlayerName ( sPlayerElement, taggedName )
-- Сообщаем игроку, вызвавшему команду, что она выполена успешно
-- Скажем игроку, который вызвал команду, что тэг был применён
outputChatBox ( "Player " .. thePlayer .. "'s tag changed to " .. taggedName, source )
outputChatBox ( "Тэг игрока" .. thePlayer .. " изменён на " .. taggedName, source )
end
end
else
else
-- Сообщаем игроку, вызвавшему команду, что не найден игрок для замены имени
-- Скажем игроку, который вызвал команду, что указанный игрок не подключен
outputChatBox ( "Unable to change player tag: Player " .. thePlayer .. " not found", source )
outputChatBox ( "Нельзя сменить тэг игроку: Игрок " .. thePlayer .. " не найден", source )
end
end
end
end
-- Добавляем обработчик команды для консоли/чата
-- Добавление обработчика команды
-- Пример: /changetag <имя> <текст>
-- Пример: /changetag <playername> <tag>
addCommandHandler ( "changetag", tagPlayer )
addCommandHandler ( "changetag", tagPlayer )
</syntaxhighlight>
</syntaxhighlight>
</section>


==Смотрите также==
==Смотрите также==
{{RU/Player functions}}
{{RU/Player functions}}
[[en:setPlayerName]]
[[en:setPlayerName]]

Latest revision as of 17:05, 19 September 2014

Данная функция изменяет имя указанного игрока.

Синтаксис

bool setPlayerName ( player thePlayer, string newName )

Синтаксис ООП Помогите! Я не понимаю, что это!

Метод: player:setName(...)
Переменная: .name
Парная функция: getPlayerName

Обязательные аргументы

  • thePlayer: Игрок, которому нужно изменить имя.
  • newName: Новое имя, устанавливаемое игроку.

Возвращает

  • true, если имя было успешно изменено.
  • false, если были переданы неверные аргументы.

Ограничения

  • Допускаются только символы ASCII между 33 и 126 (базовая латиница):
   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
  • Минимальная длина имени игрока - 1 символ.
  • Максимальная длина имени игрока - 22 символа.
  • Имена игроков чувствительны к регистру. Невозможно, чтобы два клиента с одинаковым именем, но с разным регистром, были подключены к одному серверу.

Пример

Этот пример добавляет тэг перед именем игрока при помощи команды /changetag


-- Определение функции для команды /changetag
-- source = игрок, который вызвал эту команду
-- command = команда переданная в функцию (changetag)
-- thePlayer = игрок, которому вы хотите добавить тэг
-- tag = тэг, который нужно добавить к нику игрока
function tagPlayer ( source, command, thePlayer, tag )
	-- Попытка получить элемент игрока по указанному имени.
	local sPlayerElement = getPlayerFromName ( thePlayer )
	-- Проверка на то, что игрок с указанным именем существует.
	if ( sPlayerElement ) then
		-- убедимся, что тип элемента thePlayer указывает на игрока
		if getElementType ( sPlayerElement ) == "player" then
			-- сохраним текущее имя игрокаwe,
			local oldName = getPlayerName ( sPlayerElement )
			-- применим тэг вначале ника
			local taggedName = tag .. oldName
			-- затем установим новое имя
			setPlayerName ( sPlayerElement, taggedName )
			-- Скажем игроку, который вызвал команду, что тэг был применён
			outputChatBox ( "Тэг игрока" .. thePlayer .. " изменён на " .. taggedName, source )
		end
	else
		-- Скажем игроку, который вызвал команду, что указанный игрок не подключен
		outputChatBox ( "Нельзя сменить тэг игроку: Игрок " .. thePlayer .. " не найден", source )
	end
end
-- Добавление обработчика команды
-- Пример: /changetag <playername> <tag>
addCommandHandler ( "changetag", tagPlayer )

Смотрите также