Erema93 Posted January 18, 2019 Share Posted January 18, 2019 Как сделать, чтобы определенным транспортом могли пользоваться только игроки определенной команды(группы, team)? Знаю только одно условие: if getTeamName (getPlayerTeam (client)) == "Название группы" then else outputChatBox ("У вас нет доступа к ТС", hitElement) end А второе не могу додуматься. Причем нужно, чтобы оба условия соблюдались. Link to comment
K1parik Posted January 18, 2019 Share Posted January 18, 2019 но эта функция запретит садиться в весь транспорт игрокам не состоящим в нужной группе. чтобы это исправить нужно добавить проверку машины (source) является ли она этим определенным транспортом или нет. addEventHandler ( "onVehicleStartEnter", getRootElement (), function ( player ) if getTeamName ( getPlayerTeam ( player ) ) ~= "Название группы" then cancelEvent() outputChatBox ( "У вас нет доступа к ТС", player ) end end ) Link to comment
Erema93 Posted January 19, 2019 Author Share Posted January 19, 2019 Пытался двигаться в нужном направлении, но пока что нужный итог не получается 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 ) Link to comment
K1parik Posted January 19, 2019 Share Posted January 19, 2019 в 9 строке замени ~= на == Link to comment
Erema93 Posted January 19, 2019 Author Share Posted January 19, 2019 1 hour ago, K1parik said: в 9 строке замени ~= на == Заменил оба, теперь вообще не садится никуда Link to comment
K1parik Posted January 19, 2019 Share Posted January 19, 2019 ну да. потому что условие такое. если машина 537 и игрок в группе он сможет сесть в машину 537. если хоть одно условие не соответствует то игрок никуда не может сесть Link to comment
Erema93 Posted January 19, 2019 Author Share Posted January 19, 2019 (edited) 2 hours ago, K1parik said: ну да. потому что условие такое. если машина 537 и игрок в группе он сможет сесть в машину 537. если хоть одно условие не соответствует то игрок никуда не может сесть Ну а мне нужно так: игрок в группе сможет сесть в машину 537, но если игрок не в группе, то не сможет сесть в неё. Не нужно, чтобы он никуда не смог сесть. Пример: игрок состоит в группе машинистов, то он сможет сесть в локомотив, но если он не состоит в этой группе, то он не сможет в него сесть (а в остальной любой сможет) Более понятный пример: если игрок состоит во фракции, то у него есть доступ к авто фракции, иначе - нет доступа. Edited January 19, 2019 by Eema93 Link to comment
K1parik Posted January 20, 2019 Share Posted January 20, 2019 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 ) 1 Link to comment
Erema93 Posted January 20, 2019 Author Share Posted January 20, 2019 Проверил код. Игрок в группе не может сесть в транспорт 537 Link to comment
Scripting Moderators Sarrum Posted January 20, 2019 Scripting Moderators Share Posted January 20, 2019 Удали 6-ую строку и if getPlayerTeam ( player ) == "Машинист" then замени на: if getPlayerTeam ( player ) == teamjob then 1 Link to comment
K1parik Posted January 20, 2019 Share Posted January 20, 2019 (edited) действительно. куда это getTeamName пропало из условия. невнимательность Edited January 20, 2019 by K1parik Link to comment
Erema93 Posted January 21, 2019 Author Share Posted January 21, 2019 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 ) Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now