Как сделать деталь, которая изменит вашу команду в Roblox Studio - PullRequest
0 голосов
/ 26 сентября 2018

Я пытаюсь сделать так, чтобы, когда вы появлялись в моей игре Roblox, вы были в комнате.Если вы проходите через одну из дверей, она телепортирует вас и меняет вашу команду.Вот мой код:

function onTouched(m)
    p = m.Parent:findFirstChild("Humanoid")
    if p ~= nil then
        p.Torso.CFrame = CFrame.new(0,8,9) --Change to coordinates.
    end
end
script.Parent.Touched:connect(onTouched)

Я сделал это, чтобы он мог телепортировать вас, но я не знаю, как это сделать, чтобы это также изменило вашу команду.Вот мои команды

Teams

Когда вы впервые присоединяетесь, вы входите в команду Citizen.Когда вы проходите через дверь, вы идете в Замковую команду.

Кто-нибудь знает, как заставить это работать?

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Перед тем, как я начну менять команду, вы должны заметить, что изменение CFrame у игрока "Torso" убьет их.Вместо этого вы должны изменить CFrame части, называемой "HumanoidRootPart", которая отсортирована в персонаже и имеет ту же позицию, что и "Torso".

игрока. Другой момент заключается в том, что при создании новой позиции CFrame только стри координаты, которые вам нужно преобразовать из Vector3.Итак, после всего, что станет для вашей телепортационной линии:
p.HumanoidRootPart.CFrame = CFrame.new(Vector3.new(0,8,9))

Затем, чтобы сменить команду, я посмотрю на ответ Крэбвея, так как не вижу проблем с изменением команды.Поэтому ваш код конечного результата будет выглядеть примерно так:

function onTouched(m)
    p = m.Parent:FindFirstChildOfClass("Humanoid")
    if p ~= nil and p:FindFirstChild("Torso") then
        p.HumanoidRootPart.CFrame = CFrame.new(Vector3.new(0,8,9)) --Change to coordinates.

        if game.Players:GetPlayerFromCharacter(m.Parent) ~= nil then
            game.Players:GetPlayerFromCharacter(m.Parent).Team = game.Teams["Castle Team"] --Change to desired team.
        end
    end
end
script.Parent.Touched:connect(onTouched)
0 голосов
/ 26 сентября 2018

Вы можете использовать функцию 'GetPlayerFromCharacter', а затем изменить команду игрока оттуда

function onTouched(m)
    p = m.Parent:FindFirstChildOfClass("Humanoid")
    if p ~= nil and p:FindFirstChild("Torso") then
        p.Torso.CFrame = CFrame.new(0,8,9) --Change to coordinates.

        if game.Players:GetPlayerFromCharacter(m.Parent) ~= nil then
            game.Players:GetPlayerFromCharacter(m.Parent).Team = game.Teams["Castle Team"] --Change to desired team.
        end
    end
end
script.Parent.Touched:connect(onTouched)

Редактировать: скрипт Таазара лучше, используйте его вместо моего

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...