Jump to content

Создание карты


Recommended Posts

Делаю карту режима Shooter, есть вопрос, помогите пожалуйста.

На карте будут машины 2 видов (к примеру инфернус и туризмо). Можно ли как-нибудь сделать так, чтобы игроков на одной машине было столько же, сколько и на другой. К примеру, на сервере 20 человек, мне нужно, чтобы у 10-ых респавн был на инфернусе, а у остальных-на туризмо. Есть ли какой-нибудь готовый скрипт, т.к. сам в этом не силен.

Link to comment

Я бы наверно так сделал: (Если я конечно понял правильно все)

Получаешь всех игроков на сервере

Получаешь половину размера массива всех игроков сервера

Дальше создаешь массив A и в него записываешь первую половину игроков, а в массив B вторую половину.

Ну потом, если еще игроки заходят сравниваешь размеры массива, и пихаешь зашедшего игрока в меньший массив...

Ну при спавне, проверяешь в каком массиве игрок, и в зависимости от миссва спавнишь его на определенной машине

Link to comment

Если я тоже правильно понял, то куда проще создать переменную, которую увеличивать на 1 при заходе игрока на сервер и проверять ее на четность. Вместо переменной можно использовать getPlayerCount. Каждому четному игроку давать инфернус, а каждому нечетному туризмо (или наоборот).

Link to comment

Ниче он не сожрет! Lua со своими таблицами на очень хорошей скорости работает! (Память жрет это дело, но не очень много)

Насчет кол-во игроков на сервере, это можно только при старте ресурса делать...

Вобщем при спавне, одного игрока в первый массив, второго во второй, третьего опять в первый... и тд...

Записываем игроков как ключи: [thePlayer] = true;

а потом такую проверку можно сделать: if ( MassA[source] ) then

Ну и так далее...

Вобщем у меня такие комбинации не сильно сервер грузят!

Link to comment
Если я тоже правильно понял, то куда проще создать переменную, которую увеличивать на 1 при заходе игрока на сервер и проверять ее на четность. Вместо переменной можно использовать getPlayerCount. Каждому четному игроку давать инфернус, а каждому нечетному туризмо (или наоборот).

Какой то вобще не красивый алгоритм, но можно и так...

Только лучше переменную типа bool использовать

и менять ее значиния, то true то false

P.S. Свое мнение не навязываю... Лучше сделай как считаешь нужным)

Link to comment

Какой то вобще не красивый алгоритм, но можно и так...

Только лучше переменную типа bool использовать

и менять ее значиния, то true то false

Не красивый алгоритм? Проще его в данном случае не придумать. Да, с bool будет куда проще. Вот пример:

local flag = false 
addEventHandler("onPlayerJoin", getRootElement(), 
    function() 
        if flag then -- Подключился четный игрок 
            -- Спавн с инфернусом 
        else -- Подключился нечетный игрок 
            -- Спавн с туризмо 
        end 
        flag = not flag 
    end 
) 

Link to comment

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...