Flaker Posted January 15, 2013 Share Posted January 15, 2013 Всем привет! И с Новым 2013 Годом! Желаю в этом году побольше путёвых скриптов и идей ))Народ помогите пожалуйста, как сделать такую вещ( человек когда убивает 30 зомби его кидает в определённый тиам но если в дальнейшем он убивает уже 40 его еще раз кидает в другой тиам) С новым! При каждом убитом зомби, присваивать игроку дату с кол-вом убитых зомби + 1 Если кол-во уже убитых + 1 >= 30 и < 40 тогда запихивать его в одну команду если >= 40, то в другую... Таким образом можно впринцепе... Подскажи пожалуйста это setElementData на данный момент я даже понятия не имею как должен выглядить код Ставь запятые чтоль... Я вобще не понял, что ты хочешь Читай WIKI, если хочешь разобраться https://wiki.multitheftauto.com/wiki/SetElementData Link to comment
562141 Posted January 15, 2013 Share Posted January 15, 2013 возможно я неправильно обьяснил Link to comment
562141 Posted January 15, 2013 Share Posted January 15, 2013 Идея такова, игрок за каждое убийство получает определённую еденицу опыта например 5, то когда их соберётся 50 его кидает в тиам Link to comment
Kernell Posted January 15, 2013 Share Posted January 15, 2013 Само событие предназначено на для этих целей, чтобы обновлять альфу гуи элемента.https://wiki.multitheftauto.com/wiki/Gam ... sing_Order Картинка не о чем не говорит, вопрос так же остаётся актуальным. Link to comment
Memory Posted January 16, 2013 Share Posted January 16, 2013 562141, Отправляем в "points" +5 очков за каждое убийство. addEventHandler ( "onPlayerWasted", root, function( totalAmmo, killer, killerWeapon, bodypart, stealth ) if killer then local getpoints = getElementData( killer, "points") if killer ~= source then if getpoints then setElementData (killer,"points", getpoints+5) else setElementData (killer,"points", 0) end end end end ) Проверяем очки ("points"), если они равны 50, то создаём team, если такая team есть, то переносим в неё игрока. и аналогично следующие, например, очки равны 100. addEventHandler ( "onPlayerWasted", root, function( totalAmmo, killer, killerWeapon, bodypart, stealth ) if killer then local points = getElementData( killer, "points") if killer ~= source then if points == 50 then team = createTeam ( "Players of the First Level", 255, 255, 255 ) if team then setPlayerTeam ( source, team ) outputChatBox("#ff0000Поздравляем, вы достигли первого уровня и переноситесь в специальную команду",source,255,255,255, true) end elseif points == 100 then team = createTeam ( "Players of the Second Level", 255, 255, 255 ) if team then setPlayerTeam ( source, team ) outputChatBox("#ff0000Поздравляем, вы достигли первого уровня и переноситесь в специальную команду второго уровня",source,255,255,255, true) end end end end end ) Link to comment
562141 Posted January 16, 2013 Share Posted January 16, 2013 спасибо большое щас немного поправим )) Link to comment
Memory Posted January 16, 2013 Share Posted January 16, 2013 562141, обращайся Привет всем, скажите, как изменить дизайн Gui, вот иногда смотришь в Community на скриншоте один дизайн, даже кнопок (например, https://community.multitheftauto.com/ind ... w&pic=9063 ), а когда скачиваешь и запускаешь, получается обычное GUI (например, https://wiki.multitheftauto.com/wiki/File:AdminGUI.png ). И с таким я встречался не раз, и вот стало интересно где "находится" дизайн Gui. Link to comment
Kernell Posted January 16, 2013 Share Posted January 16, 2013 В настройках МТА, во вкладке Interface, там выбирайте скин для GUI Link to comment
Memory Posted January 16, 2013 Share Posted January 16, 2013 Спасибо Это значит, что такой вид будет только у меня и "экспериментировать" с дизайном Gui можно только с помощью картинок. Link to comment
Kernell Posted January 16, 2013 Share Posted January 16, 2013 Это точно так же как и в Windows делать собственный скин окна, в то время как у тебя вместо Aero стоит Classic, а какая-то чёртова прога грузит кучу графики и не вписывается в общий дизайн. Link to comment
Flaker Posted January 19, 2013 Share Posted January 19, 2013 Сотая страничка объявляется открытой! Юбилей, товарищи) Link to comment
Memory Posted January 20, 2013 Share Posted January 20, 2013 Поздравляю Спасибо вам всем, что помогаете начинающим скриптерам, да и порой опытные скриптеры тоже нуждаются в помощи и совете. Вы всегда отзываетесь на просьбы пользователей Продолжу череду вопросов Проблема - игрок который первый выбрал team, т.е. создал её, переносится в неё, а остальные когда нажимают на ту же 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 Пробовал function (thePlayer, team) но не работает. Link to comment
Kenix Posted January 20, 2013 Share Posted January 20, 2013 Проблема - игрок который первый выбрал team, т.е. создал её, переносится в неё, а остальные когда нажимают на ту же team, уже не переносятся туда. В чём может быть причина? Потому что вы создаете её каждый раз, а создавать не нужно. Вообще можно было сделать намного проще. 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 ) Link to comment
Memory Posted January 20, 2013 Share Posted January 20, 2013 Но дело в том, что у меня удаляются teams, в которых нет игроков, следовательно, нужно создавать её каждый раз. Есть идеи? local function count(team) return countPlayersInTeam ( getTeamFromName ( team ) ) --- to get all players in team end function removeteams() for _, AllTeams in ipairs ( getElementsByType ( "team",getResourceRootElement(getThisResource())) ) do Players = count(getTeamName(AllTeams)) if Players == 0 then -- If there is no one in the team destroyElement(AllTeams) --- destroy team end end end addEventHandler ('lang', root, removeteams) Link to comment
Kenix Posted January 20, 2013 Share Posted January 20, 2013 А зачем их удалять. Можете объяснить более подробней, что именно вы хотите сделать? Link to comment
Memory Posted January 20, 2013 Share Posted January 20, 2013 Предстатьте, что будет около 50 языков, сдледовательно около 50 teams. Они просто не войдут все в scoreboard, да и это будет просто некрасиво. Link to comment
562141 Posted January 20, 2013 Share Posted January 20, 2013 Поздравляю Спасибо вам всем, что помогаете начинающим скриптерам, да и порой опытные скриптеры тоже нуждаются в помощи и совете. Вы всегда отзываетесь на просьбы пользователей Поддержываю и соглошаюсь совсем выше сказанным ! Вы всегда отзываетесь на просьбы начинающих Link to comment
Flaker Posted January 20, 2013 Share Posted January 20, 2013 Но дело в том, что у меня удаляются teams, в которых нет игроков, следовательно, нужно создавать её каждый раз. Есть идеи? local function count(team) return countPlayersInTeam ( getTeamFromName ( team ) ) --- to get all players in team end function removeteams() for _, AllTeams in ipairs ( getElementsByType ( "team",getResourceRootElement(getThisResource())) ) do Players = count(getTeamName(AllTeams)) if Players == 0 then -- If there is no one in the team destroyElement(AllTeams) --- destroy team end end end addEventHandler ('lang', root, removeteams) Вот ресурс, в котором реализована твоя идея: https://community.multitheftauto.com/index.php?p=resources&s=details&id=612 P.S. Команда является элементом, соответсвенно ее наличие можно проверить функцией isElement Соответсвенно, ты можешь просто проверять, при заходе игрока, если нет команды, то создать Link to comment
SweetyWolf Posted January 24, 2013 Share Posted January 24, 2013 Видел в каком-то из РП модов такую штуку, что при нажатии, например кнопки i открывалась строка ввода сообщения для собственного чата. Для тех, кто не понял, объясню поподробнее. На сервере у меня есть команда /o для общего чата, тоесть игрок вводит команду "/o текст" и всем игрокам высвечивается его сообщение. Для удобства я хочу сделать, чтоб не надо было вводить /o, а просто назначить на кнопку i этот чат, что я видел в одном из рп модов. Кто-нибуть знает как это сделать? Link to comment
SweetyWolf Posted January 25, 2013 Share Posted January 25, 2013 Ну а что именно в bindKey писать, чтоб открывалась строка ввода сообщения в чат? Link to comment
AMARANT Posted January 25, 2013 Share Posted January 25, 2013 Клиентская сторона: CHATBOX = "i" bindKey(CHATBOX,"down",Chatbox) function Chatbox() setControlState("chatbox",true) end Link to comment
TaHkep Posted January 28, 2013 Share Posted January 28, 2013 всем ку. как удалить спавн машин, которые на спавнах игроков стоят из freeroam'a? Link to comment
Kenix Posted January 28, 2013 Share Posted January 28, 2013 Отредактируй фаил broph.map, который находится в папке ресурса play. Через него спавнятся все тачки и т.д Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now