Jump to content

Скрипт Званий + помогите в GUI.


Recommended Posts

Хочу себе на сервер скрипт званий, у меня есть панель в которой выбираешь фракцию кем играть и я хочу сделать чтобы за военного нельзя было играть (кнопка была серой) пока у тебя какой-нибудь параметр не больше 1500, допустим кол. убитых зомби это вроде kills если не ошибаюсь, то как сделать если kills меньше 1500 чтобы кнопка была не активна?

Ещё, допустим если у меня от 0 до 500 тот-же kills то выводилась надпись о ранге, допустим "новичок", когда от 1000 до 2000 в этом промежутке чтобы ранг был" рекрут", от 2000 до 3000 был ранг "злыдень писюкатый" :mrgreen: и т.д .

Link to comment

Передавать и менять параметр "kills" через set/get ElementData в нужных ситуациях (например при убийстве). При входе/выходе из игры сохранять его в accountData. Чтобы там прописать надписи о ранге и делать всякие проверки чтобы кнопка была серая или белая, то все то же самое - проверять через getElementData параметр "kills" или любой свой какой нужно. Если дата равна тому-то или тому-то, то сделать то-то или то-то.

Link to comment
Передавать и менять параметр "kills" через set/get ElementData в нужных ситуациях (например при убийстве). При входе/выходе из игры сохранять его в accountData. Чтобы там прописать надписи о ранге и делать всякие проверки чтобы кнопка была серая или белая, то все то же самое - проверять через getElementData параметр "kills" или любой свой какой нужно. Если дата равна тому-то или тому-то, то сделать то-то или то-то.

система сохранений Kills у меня уже есть. хотелось-бы чтобы показали на скрипте...

Вот мой Gui, это так для примера:

 

  
addEventHandler("onClientGUIClick",getRootElement(), 
function (player) 
            if (source == button) then 
                guiSetVisible (GUIEditor_Window[2],false) 
                guiSetVisible (GUIEditor_Window[1],true) 
                 
            elseif (source == exite) then 
                guiSetVisible (GUIEditor_Window[2],false) 
                guiSetVisible (GUIEditor_Window[1],false) 
                showCursor (false) 
                 
            elseif (source == GUIEditor_Button[22]) then 
                money = getPlayerMoney (source) 
                if (money >= 7000) then 
                outputChatBox ("Хуясе берсерк!",225,225,0) 
                takePlayerMoney(7000) 
                guiSetVisible(GUIEditor_Window[1],false) 
                showCursor (false) 
                setPlayerTeam ( player, getTeamFromName('111') ) 
                else 
                guiSetVisible(GUIEditor_Window[1],false) 
                guiSetVisible(GUIEditor_Window[2],true) 
                end              
        end 
end) 

+чел не переносится в команду.. чо за фигня, бабло-то снимают ыы

Link to comment
addEventHandler("onClientGUIClick",getRootElement(), 
function (player) 
            if (source == button) then 
                guiSetVisible (GUIEditor_Window[2],false) 
                guiSetVisible (GUIEditor_Window[1],true) 
                 
            elseif (source == exite) then 
                guiSetVisible (GUIEditor_Window[2],false) 
                guiSetVisible (GUIEditor_Window[1],false) 
                showCursor (false) 
                 
            elseif (source == GUIEditor_Button[22]) then 
                money = getPlayerMoney (source) 
                if (money>=7000) and getElementData(getLocalPlayer(),"kills")>=100 then 
                outputChatBox ("Хуясе берсерк!",225,225,0) 
                takePlayerMoney(7000) 
                guiSetVisible(GUIEditor_Window[1],false) 
                showCursor (false) 
                setPlayerTeam ( player, getTeamFromName('111') ) 
                else 
                outputChatBox ("У вас недостаточно убийств",255,0,0) 
                end              
        end 
end) 

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

Link to comment
addEventHandler("onClientGUIClick",getRootElement(), 
function (player) 
            if (source == button) then 
                guiSetVisible (GUIEditor_Window[2],false) 
                guiSetVisible (GUIEditor_Window[1],true) 
                 
            elseif (source == exite) then 
                guiSetVisible (GUIEditor_Window[2],false) 
                guiSetVisible (GUIEditor_Window[1],false) 
                showCursor (false) 
                 
            elseif (source == GUIEditor_Button[22]) then 
                money = getPlayerMoney (source) 
                if (money>=7000) and getElementData(getLocalPlayer(),"kills")>=100 then 
                outputChatBox ("Хуясе берсерк!",225,225,0) 
                takePlayerMoney(7000) 
                guiSetVisible(GUIEditor_Window[1],false) 
                showCursor (false) 
                setPlayerTeam ( player, getTeamFromName('111') ) 
                else 
                outputChatBox ("У вас недостаточно убийств",255,0,0) 
                end              
        end 
end) 

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

деньги отбираются

Link to comment

Значит у тебя не указано значение Элемент даты. Я ж тебе это ради примера только дал как проверять нужно. Все что тебе остается сделать это присвоить значение "kills" когда это нужно. Например чтобы убийства засчитывать, нужно добавлять +1 к этому значению при каждом килле. И еще изначально присвоить ей 0, например в самом начале игры, а то не будет работать.

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