AclGroupClone: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
{{Useful Function}}
{{Useful Function}}
__NOTOC__
__NOTOC__
This function clone a group to another group with/without ACLs and/or objects .
Эта функция создает копию группы с другим названием с/буз ACL'ов и/или объектов.
==Syntax==
==Синтаксис==
<syntaxhighlight lang="lua">bool aclGroupClone ( string groupToClone, string groupName, bool cloneACLs, bool cloneObjects )</syntaxhighlight>
<syntaxhighlight lang="lua">bool aclGroupClone ( string groupToClone, string groupName, bool cloneACLs, bool cloneObjects )</syntaxhighlight>
===Required Arguments===
===Required Arguments===
* '''groupToClone''': The group name to clone
* '''groupToClone''': Какую группу копировать
* '''groupName''': The new group name after clone
* '''groupName''': Название копии
* '''cloneACLs''': true to clone group ACLs, false to dismiss ACLs clone
* '''cloneACLs''': true чтобы копировать ACL'ы, false чтобы не копировать ACL'ы
* '''cloneObjects''': true to clone group objects, false to dismiss group objects
* '''cloneObjects''': true чтобы копировать объекты, false чтобы не копировать объекты


===Returns===
===Возврат===
Return true if success, false otherwise.
Вернет true если все успешно, false наоборот.


==Code==
==Код==
<section name="Server" class="server" show="true">
<section name="Сервер" class="server" show="true">
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function aclGroupClone( clonedGroup, groupName, aclsClone, objectsClone )
function aclGroupClone( clonedGroup, groupName, aclsClone, objectsClone )
Line 45: Line 45:
</syntaxhighlight></section>
</syntaxhighlight></section>


==Example==
==Пример==
Clone 'Console' Group to 'OwnersGroup' and clone ACLs and objects
Клонируем 'Console' группу в 'OwnersGroup' и клонируем все ACL и объекты
<section name="Server" class="server" show="true">
<section name="Сервер" class="server" show="true">
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
addEventHandler( 'onResourceStart', resourceRoot,
addEventHandler( 'onResourceStart', resourceRoot,
function(  )
function(  )
setTimer( aclGroupClone, 1000, 1, 'Console', 'OwnersGroup', true, true ) -- Clone 'Console' Group to 'OwnersGroup' and clone ACLs and objects
setTimer( aclGroupClone, 1000, 1, 'Console', 'OwnersGroup', true, true )
end )
end )
</syntaxhighlight>
</syntaxhighlight>
</section>
</section>
'''Author''': MR.GRAND
'''Автор''': MR.GRAND
'''Перевел''': Alex7202


'''Hint''': This function can be useful, Shortcut way to clone groups and rights and objects
==Смотрите также==
 
{{RU/Useful_Functions}}
==See Also==
{{Useful_Functions}}

Revision as of 10:08, 3 June 2020


Эта функция создает копию группы с другим названием с/буз ACL'ов и/или объектов.

Синтаксис

bool aclGroupClone ( string groupToClone, string groupName, bool cloneACLs, bool cloneObjects )

Required Arguments

  • groupToClone: Какую группу копировать
  • groupName: Название копии
  • cloneACLs: true чтобы копировать ACL'ы, false чтобы не копировать ACL'ы
  • cloneObjects: true чтобы копировать объекты, false чтобы не копировать объекты

Возврат

Вернет true если все успешно, false наоборот.

Код

Click to collapse [-]
Сервер
function aclGroupClone( clonedGroup, groupName, aclsClone, objectsClone )
	if ( type( clonedGroup ) ~= 'string' ) then 
		error( "Bad argument @ 'aclGroupClone' [Expected string at argument 1, got " .. tostring( clonedGroup ) .. "]" ) return false end
			if ( aclsClone == true or aclsClone == false ) then 
				if ( objectsClone == true or objectsClone == false ) then 
					local cloned = aclGetGroup( clonedGroup )
						if ( cloned == false or not cloned ) then
							outputDebugString( "Bad argument @ 'aclGroupClone' [Expected acl-group at argument 1, got string '" .. tostring( clonedGroup ) .. "']", 2 ) return false end
								local newGroup = aclCreateGroup( groupName )
									if ( newGroup == false or not newGroup ) then
										outputDebugString( "Bad argument @ 'aclGroupClone' [Expected acl-group at argument 2, got string '" .. tostring( groupName ) .. "']", 2 ) return false end
											if ( aclsClone == true ) then
												for index, value in ipairs( aclGroupListACL( cloned ) ) do
											aclGroupAddACL( newGroup, value )
										end
									end
								if ( objectsClone == true ) then
							for index, value in ipairs( aclGroupListObjects( cloned ) ) do
						aclGroupAddObject( newGroup, value )
					end
				end
			outputDebugString( "'aclGroupClone' [The group '"..clonedGroup.."' has been cloned successfully to '"..groupName.."' .", 3 ) return true
		else error( "Bad argument @ 'aclGroupClone' [Expected boolean at argument 4, got " .. tostring( objectsClone ) .. "]" ) return false
	end
	else error( "Bad argument @ 'aclGroupClone' [Expected boolean at argument 3, got " .. tostring( aclsClone ) .. "]" ) return false
	end
end

Пример

Клонируем 'Console' группу в 'OwnersGroup' и клонируем все ACL и объекты

Click to collapse [-]
Сервер
addEventHandler( 'onResourceStart', resourceRoot,
function(  )
	setTimer( aclGroupClone, 1000, 1, 'Console', 'OwnersGroup', true, true )
end )

Автор: MR.GRAND Перевел: Alex7202

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

Функции таблиц

  • pairsByKeys » Эта функция сортирует pairs таблицы.

ACL фунции

  • aclGroupClone » Эта функция создает копию группы с другим названием с/буз ACL'ов и/или объектов.

События

  • isEventHandlerAdded » Эта функция проверяет, создано событие или нет.

Функции машины

  • getVehicleRPM » Эта функция получает кол-во оборотов машины.