Sign in to follow this  
Erema93

Доступ к определенному авто к определенной группе

Recommended Posts

Как сделать, чтобы определенным транспортом могли пользоваться только игроки определенной команды(группы,  team)?

Знаю только одно условие: 

if getTeamName (getPlayerTeam (client)) == "Название группы" then      
 
 
else
		
outputChatBox ("У вас нет доступа к ТС", hitElement)
end 

А второе не могу додуматься. Причем нужно, чтобы оба условия соблюдались. 

Share this post


Link to post

но эта функция запретит садиться в весь транспорт игрокам не состоящим в нужной группе. чтобы это исправить нужно добавить проверку машины (source) является ли она этим определенным транспортом или нет.

addEventHandler ( "onVehicleStartEnter", getRootElement (),
	function ( player )
		if getTeamName ( getPlayerTeam ( player ) ) ~= "Название группы" then
			cancelEvent()
			outputChatBox ( "У вас нет доступа к ТС", player )
		end
	end
)

 

Share this post


Link to post

Пытался двигаться в нужном направлении, но пока что нужный итог не получается 

local teamjob = createTeam("Машинист", 0, 255, 0)



addEventHandler ( "onVehicleStartEnter",  getRootElement (), 
function  ( player )
	local teamjob = getPlayerTeam(player)  
	
if  getPlayerTeam (player) ~= "Машинист"  and getElementModel ( source ) ~= 537  then
	outputChatBox("Есть ", player, 255, 0, 0)
       else
cancelEvent()
outputChatBox("Вы не состоите в Группе ", player, 255, 0, 0)
    end
end
)

 

Share this post


Link to post
1 hour ago, K1parik said:

в 9 строке замени ~= на ==

Заменил оба, теперь вообще не садится никуда

Share this post


Link to post

ну да. потому что условие такое. если машина 537 и игрок в группе он сможет сесть в машину 537. если хоть одно условие не соответствует то игрок никуда не может сесть

Share this post


Link to post
2 hours ago, K1parik said:

ну да. потому что условие такое. если машина 537 и игрок в группе он сможет сесть в машину 537. если хоть одно условие не соответствует то игрок никуда не может сесть

Ну а мне нужно так: игрок в группе сможет сесть в машину 537, но если игрок не в группе, то не сможет сесть в неё. Не нужно, чтобы он никуда не смог сесть.

Пример: игрок состоит в группе машинистов, то он сможет сесть в локомотив, но если он не состоит в этой группе, то он не сможет в него сесть (а в остальной любой сможет)

Более понятный пример: если игрок состоит во фракции, то у него есть доступ к авто фракции, иначе - нет доступа.

Edited by Eema93

Share this post


Link to post
local teamjob = createTeam ( "Машинист", 0, 255, 0 )

addEventHandler ( "onVehicleStartEnter",  getRootElement (), 
	function  ( player )
		if getElementModel ( source ) == 537 then
			local teamjob = getPlayerTeam ( player )  
			if getPlayerTeam ( player ) == "Машинист" then
				outputChatBox ( "Есть ", player, 255, 0,  0)
			else
				cancelEvent()
				outputChatBox ( "Вы не состоите в Группе ", player, 255, 0, 0 )
			end
		end
	end
)

 

  • Thanks 1

Share this post


Link to post

Проверил код. Игрок в группе не может сесть в транспорт 537

Share this post


Link to post

Удали 6-ую строку и

if getPlayerTeam ( player ) == "Машинист" then

замени на:

if getPlayerTeam ( player ) == teamjob then

 

  • Thanks 1

Share this post


Link to post

действительно. куда это getTeamName пропало из условия. невнимательность

Edited by K1parik

Share this post


Link to post
15 hours ago, Sarrum said:

Удали 6-ую строку и


if getPlayerTeam ( player ) == "Машинист" then

замени на:


if getPlayerTeam ( player ) == teamjob then


 

Исправил, работает как надо. Спасибо.

12 hours ago, K1parik said:

действительно. куда это getTeamName пропало из условия. невнимательность

Ваше getTeamName не работало и выдавало ошибку плохого аргумент.

 

Если кому-то будет нужен код, то вот он:

local teamjob = createTeam ( "Машинист", 0, 255, 0 )

addEventHandler ( "onVehicleStartEnter",  getRootElement (), 
	function  ( player )
		if getElementModel ( source ) == 537 then
			if getPlayerTeam ( player ) == teamjob then
               outputChatBox ( "Вы устроились на работу ", player, 255, 0,  0)
			else
				cancelEvent()
				outputChatBox ( "У вас нет доступа к ТС ", player, 255, 0, 0 )
			end
		end
	end
)


 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.