Jump to content

setPlayerTeam


Recommended Posts

Создал тему для продолжения viewtopic.php?f=141&t=38632&start=1485. Так как, что-то ничего не получается, новых идей пока нет, и думаю у меня возникнет ещё немало вопросов. А пока,

Kenix, спасибо вам за таблицу, но что-то она не работает, пробовал подредактировать, но без результата.

  
addEvent( 'Server:SetPlayerTeam', true ) 
  
local aTeams = -- Массив с командами для создания 
{ 
    'Russian'; 
    'English'; 
    -- .... 
} 
  
for i, v in ipairs( aTeams ) do 
    createTeam( v ) -- создаем команды 
end 
  
function table.find( a, m ) 
    if type( m ) == 'table' and m then 
        for i, v in ipairs( a ) do 
            if v == m then 
                return true 
            end 
        end 
        return false 
    end 
    return false 
end 
  
addEventHandler( 'Server:SetPlayerTeam', root, 
    function( sTeamName ) 
        if table.find( aTeams, sTeamName ) then -- Если команда есть в массиве, то 
            setPlayerTeam( source, getTeamFromName( sTeamName ) ) -- Кидаем игрока в команду 
        end 
    end 
) 
  

Flaker, https://community.multitheftauto.com/ind ... ils&id=612 , в скрипте разобрался, но

при добавлении любой переменной "function (сюда, team)" она вообще не работает.

Коды:

Сервер

addEvent ('lang', true) 
addEventHandler ('lang', root, 
    function (team) 
        if team == "Default" then 
            theTeam = createTeam ( "Default", 255, 255, 255 ) 
            if theTeam then 
            setPlayerTeam ( source, theTeam ) 
            end 
  
        elseif team == "English" then 
            Team = createTeam ( "English", 255, 255, 255 ) 
            if Team then 
            setPlayerTeam ( source, Team) 
            end 
  
        elseif team == "Russian" then 
            Team = createTeam ( "Russian", 255, 255, 255 ) 
            if Team then 
            setPlayerTeam ( source, Team) 
            end 
  
       ...  - и т.д. 
  
        end 
    end 
) 

Клиент

  
Тут ComboBox, Gui и прочее 
  
function somethingFromClickValue() 
    if ( source ==  button1 ) then 
    local item = guiComboBoxGetSelected(comboBox) 
    local text = guiComboBoxGetItemText(comboBox,item) 
        if text == "Default" or text == "English" or text == "Russian"  
        or text == "Turkish" or text == "Chinese" or text == "Spanish"  
        ... - и т.д. 
        then 
            triggerServerEvent("lang",localPlayer,text) 
        end  
    end 
end 
  

Link to comment

Ты опять же по своему делаешь...

Алгоритм опишу щас, дальше сам:

1) Заходит игрок, выбирает язык, нажимает кнопку, тригерим серверную функцию (Исходя из твоего кода)

2) В этой функции проверяем, если команда, которую выбрал игрок, уже создана, тогда просто переместить игрока в эту команду, если же такой команды нет, тогда создать ее...

3) При выходе игрока, проверять сколько игроков в его команде, если 0, то удалять команду

Link to comment
Спасибо, теперь работает нормально :) Решение проблемы оказывается намного проще и лежало "прямо перед носом", а я опять его не увидел ...

Хорошо, что сам сделал)

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...