Технический форум Проблема с добавлением игрока в группу ACL при входе в маркер
Tushkanchik 13.09.2018 в 17:39

Пользователь

Репутация: 2 бал.

Замечания: 0 бал.

Всем доброго времени суток.
Столкнулся с проблемой добавления игрока, который вошел в маркер, в ACL группу. Должно происходить все таким образом:
1 - игрок входит в маркер
2 - игроку пишет, что он вступил на какую-либо из сторон
3 - игрока телепортирует на базу выбранной стороны
4 - игрок записывается в группу ACL. При смерти он спавнится уже не в начальной локации, а на базе (что реализовано).
Все пункты, кроме 4-ого прекрасно работают. В чем же дело?
Серверная часть:
local alpha = 150
local r, g, b = 255, 255, 255
local size = 1.5
local typem = "cylinder"
local posxReb, posyReb, poszReb = 3810.6000976563, 1302.3000488281, 33.799999237061

local posxEmp, posyEmp, poszEmp = 3810.6000976563, 1296.0999755859, 33.799999237061

mareb = createMarker ( posxReb, posyReb, poszReb, typem, size, r, g, b, alpha, getRootElement() )
maremp = createMarker ( posxEmp, posyEmp, poszEmp, typem, size, r, g, b, alpha, getRootElement() )

local xReb, yReb, zReb = 148.02626037598, 1875.021484375, 17.8359375
local xEmp, yEmp, zEmp = -330.15509033203, 2801.8957519531, 162.8828125
local r, g, b = 255, 255, 0 -- Colores R G B
local textReb = "Вы успешно вступили на светлую сторону!"
local textEmp = "Вы успешно вступили на темную сторону!"
--local account = getPlayerAccount(player)
--local accountName = getAccountName (getPlayerAccount(player))

function rebhit(hitElement, matchingDimension)
outputChatBox(textReb, getRootElement(), r, g, b, true)
setElementPosition(hitElement, xReb, yReb, zReb)
aclGroupAddObject (aclGetGroup("CloneReb"), "user."..accountName)
end
addEventHandler("onMarkerHit", mareb, rebhit)


function emphit(hitElement)
outputChatBox(textEmp, getRootElement(), r, g, b, true)
setElementPosition(hitElement, xEmp, yEmp, zEmp)
end

addEventHandler("onMarkerHit", maremp, emphit)

Заранее спасибо!

Дал для сравнения первый маркер с добавлением в группу, второй без добавления.
fl4sh 14.09.2018 в 18:04

Пользователь

Репутация: 3 бал.

Замечания: 0 бал.

Исправил лишь пару ошибок:


local alpha = 150
local r, g, b = 255, 255, 255
local size = 1.5
local typem = "cylinder"
local posxReb, posyReb, poszReb = 3810.6000976563, 1302.3000488281, 33.799999237061
local posxEmp, posyEmp, poszEmp = 3810.6000976563, 1296.0999755859, 33.799999237061
mareb = createMarker ( posxReb, posyReb, poszReb, typem, size, r, g, b, alpha)
maremp = createMarker ( posxEmp, posyEmp, poszEmp, typem, size, r, g, b, alpha)
local xReb, yReb, zReb = 148.02626037598, 1875.021484375, 17.8359375
local xEmp, yEmp, zEmp = -330.15509033203, 2801.8957519531, 162.8828125
local r, g, b = 255, 255, 0
local textReb = "Вы успешно вступили на светлую сторону!"
local textEmp = "Вы успешно вступили на темную сторону!"
function rebhit(hitElement, mDimension)
if getElementType(hitElement) == "player" then
outputChatBox(textReb, hitElement, r, g, b, true)
setElementPosition(hitElement, xReb, yReb, zReb)
local getCloneRebACLGroup = aclGetGroup("CloneReb")
local playerAccount = getPlayerAccount(hitElement)
local accountName = getAccountName(playerAccount)
if getCloneRebACLGroup then
aclGroupAddObject(getCloneRebACLGroup, "user."..accountName)
end
end
end
addEventHandler("onMarkerHit", mareb, rebhit)

function emphit(hitElement)
outputChatBox(textEmp, hitElement, r, g, b, true)
setElementPosition(hitElement, xEmp, yEmp, zEmp)
end
addEventHandler("onMarkerHit", maremp, emphit)


- Перед тем как использовать этот код добавь имя того ресурса в котором и находится этот самый код в любую из ACL групп которая имеет доступ к функций - ''aclGroupAddObject"
И перед тем как добавлять игрока в такие ACL группы как - "CloneReb" создай их заранее в файле "acl.xml"

Иначе неудачи продолжатся
Tushkanchik 14.09.2018 в 18:57

Пользователь

Репутация: 2 бал.

Замечания: 0 бал.

fl4sh, не до такого состояния я дурак, чтобы не дать при необходимости права ресурсу, а также не создать саму группу.
Помог, спасибо.
Войдие или зарегистрируйтесь что бы написать сообщение