TwiX! Posted December 21, 2011 Posted December 21, 2011 (edited) сделал инфо в gui (grid) но на какого бы я игрока не нажимал, показывает только моё инфо, как исправить? client как у меня.. function startGUI() --Start gui local sgn = getElementData(getLocalPlayer(), "info.signature") -- и другие что в InfoUsers users_tab = guiCreateTab("Users",srtabpanel) --создал сам таб с игроками users_grid = guiCreateGridList(11,41,203,327,false,users_tab) -- players grid(выбор игрока0 usersInfo_grid = guiCreateGridList(223,41,414,328,false,users_tab) --(грид где всё инфо) guiGridListSetSelectionMode(usersInfo_grid,2) namecolumn = guiGridListAddColumn(usersInfo_grid,"Name:",0.5) --создал где имя infocolumn = guiGridListAddColumn(usersInfo_grid,"Value:",0.5) -- и где значение InfoUsers = {{"Name: ", " "..string.gsub(getPlayerName(getLocalPlayer()),"#%x%x%x%x%x%x", "")},{"Country: "," "..cny},{"E-Mail: "," "..mail},{"Age: "," "..age},{"Gender: "," "..gender},{"Contact: "," "..contact},{"Signature: "," "..sgn},{"Money: "," "..money},{"Rank: "," "..rank},{"Wins: "," "..DMWins},{"Loses: "," "..Loses}} -- это для записи в "Name" и "Value" usersprogressbar = guiCreateProgressBar(278,7,358,28,false,users_tab) -- сам прогресс бар guiGridListSetSortingEnabled ( usersInfo_grid, false ) --выключил сортировку local column4 = guiGridListAddColumn( users_grid, "Users", 0.9 ) --добовляю юсерс if ( column4 ) then for id, player in ipairs(getElementsByType("player")) do row = guiGridListAddRow ( users_grid ) guiGridListSetItemText ( users_grid, row, column4, string.gsub(getPlayerName ( player ),"#%x%x%x%x%x%x", ""), false, false ) end end --получил всех игроков убрал хекс end addEventHandler("onClientResourceStart",getResourceRootElement(getThisResource()),startGUI) function gridlistPlayerSelect() -- функция выбора игрока if source == users_grid then -- если кто то нажал на игрока в грид листе то guiGridListClear(usersInfo_grid) -- очищаю правую колонку что бы он не копировал их ниже if ( usersprogressbar ) then -- если это наш прогресс бар, то guiProgressBarSetProgress(usersprogressbar, rank) -- устанавливаем прогресс progress = guiProgressBarGetProgress(usersprogressbar) -- проверяем какой сейчас он установлен local selectedUsers = guiGridListGetItemText(users_grid, guiGridListGetSelectedItem(users_grid), 1) -- сам выбор игрока if ( selectedUsers ) then -- если игрок выбран то for i,v in ipairs (InfoUsers) do local row = guiGridListAddRow (usersInfo_grid) --создаём row guiGridListSetItemText (usersInfo_grid, row, 1, v[1], false, true) --утсанавливаем значение что в "name" (UsersInfo) guiGridListSetItemText (usersInfo_grid, row, 2, v[2], false, true) -- что в "Value" end end end end end addEventHandler("onClientGUIClick", getResourceRootElement(getThisResource()), gridlistPlayerSelect) -- event Edited December 23, 2011 by Guest - Working on [php/HTML/Mysql/Lua/Java Scripts/Web Design/3D Modeling]
MX_Master Posted December 21, 2011 Posted December 21, 2011 А как оно будет меняться, если ты не добавил обработчик при клике на другой пункт? И ваще, выкладывай полные коды, у меня кофе нет, чтобы гадать, что же ты там от нас скрыл.. topcnc.ru # vydrenko.ru
TwiX! Posted December 21, 2011 Author Posted December 21, 2011 1 пост, добавил весь код как его добавить? у мея не получается сделать с grid листом только - Working on [php/HTML/Mysql/Lua/Java Scripts/Web Design/3D Modeling]
MX_Master Posted December 21, 2011 Posted December 21, 2011 Итак, этот совет еще актуален А как оно будет меняться, если ты не добавил обработчик при клике на другой пункт? и откуда у тебя там source в функции, если эта функция не является обработчиком какого-либо события? topcnc.ru # vydrenko.ru
TwiX! Posted December 21, 2011 Author Posted December 21, 2011 Итак, этот совет еще актуаленА как оно будет меняться, если ты не добавил обработчик при клике на другой пункт? и откуда у тебя там source в функции, если эта функция не является обработчиком какого-либо события? можно просто исправить и показать где ошибка, а не гадать что делать.. - Working on [php/HTML/Mysql/Lua/Java Scripts/Web Design/3D Modeling]
Vladimir5 Posted December 22, 2011 Posted December 22, 2011 Мы можем опмочь тебе с кодом,а не делать его за тебя. Так что выкладывай полный код. Или найми скриптера.
kashtesov Posted December 22, 2011 Posted December 22, 2011 они пытаются показать тебе как исправить чтобы в дальнейшем ты не тупил... MTA DayZ Ultimate: http://vk.com/bsmta [WIP] MTA Wasteland: http://vk.com/mta_wasteland [WIP] MTA PortMaker: http://vk.com/mta_ports
MX_Master Posted December 22, 2011 Posted December 22, 2011 Автор топика, ответь на вопрос, откуда у тебя в той функции взялась переменная source? Это же обычный вопрос. topcnc.ru # vydrenko.ru
TwiX! Posted December 22, 2011 Author Posted December 22, 2011 (edited) Мы можем опмочь тебе с кодом,а не делать его за тебя.Так что выкладывай полный код. Или найми скриптера. это полный код, зачем мне скриптер если я сам могу сделать? тем более если он сделает, я то ничё не пойму.. незнаю пример же можно показать.. я попросил помощи только как сделать проверку, чтобы показывал инфо и другого игрока, а не сделать весь код, исправить мой. как бы мне сразу с сампа (pwn) на lua сложновато перейти.. Edited December 22, 2011 by Guest - Working on [php/HTML/Mysql/Lua/Java Scripts/Web Design/3D Modeling]
TwiX! Posted December 22, 2011 Author Posted December 22, 2011 они пытаются показать тебе как исправить чтобы в дальнейшем ты не тупил... как то не заметно где они показывают это Автор топика, ответь на вопрос, откуда у тебя в той функции взялась переменная source? Это же обычный вопрос. ..как мне ещё тогда проверку сделать по другому? - Working on [php/HTML/Mysql/Lua/Java Scripts/Web Design/3D Modeling]
Kernell Posted December 22, 2011 Posted December 22, 2011 Qwert123, Вы выложили полную кашу в место нормального логичного кода, и ещё возмущаетесь. Вам правильно всё говорят. Поставим вопрос по другому: что такое source в Вашем коде? Не оказываю поддержку посредством личных сообщений, ICQ, ВК и тому подобное. Все вопросы задавайте на форуме.
TwiX! Posted December 22, 2011 Author Posted December 22, 2011 Qwert123,Вы выложили полную кашу в место нормального логичного кода, и ещё возмущаетесь. Вам правильно всё говорят. Поставим вопрос по другому: что такое source в Вашем коде? подправил код, и описал.. эм.. как бы просто source - Working on [php/HTML/Mysql/Lua/Java Scripts/Web Design/3D Modeling]
MX_Master Posted December 22, 2011 Posted December 22, 2011 ВОТ! Мы как раз и ждали 49 строку. Тебе надо таблицу InfoUsers обновлять в этой функции, потому что InfoUsers всегда содержит данные локального игрока, т.е. ТВОИ. Откуда ты берешь данные игрока - неизвестно, так что тебе лучше знать откуда брать данные других игроков для обновления таблицы InfoUsers. Ну или нужно хранить данные всех игроков с помощью ElementData, чтобы потом можно было их легко вставить в GUI. topcnc.ru # vydrenko.ru
TwiX! Posted December 22, 2011 Author Posted December 22, 2011 ВОТ! Мы как раз и ждали 49 строку.Тебе надо таблицу InfoUsers обновлять в этой функции, потому что InfoUsers всегда содержит данные локального игрока, т.е. ТВОИ. Откуда ты берешь данные игрока - неизвестно, так что тебе лучше знать откуда брать данные других игроков для обновления таблицы InfoUsers. Ну или нужно хранить данные всех игроков с помощью ElementData, чтобы потом можно было их легко вставить в GUI. вся статистика у меня сохраняется, как тогда сделать выбор игрока, и показать его статистику? а не только свою - Working on [php/HTML/Mysql/Lua/Java Scripts/Web Design/3D Modeling]
MX_Master Posted December 23, 2011 Posted December 23, 2011 а как она у тебя хранится? в каком виде и где? topcnc.ru # vydrenko.ru
TwiX! Posted December 23, 2011 Author Posted December 23, 2011 а как она у тебя хранится? executeSQLCreateTable в каком виде setElementData где? server.lua client ну например local sgn = getElementData(getLocalPlayer(), "info.signature") - Working on [php/HTML/Mysql/Lua/Java Scripts/Web Design/3D Modeling]
MX_Master Posted December 23, 2011 Posted December 23, 2011 Ну значит названия параметров ElementData ты все знаешь, при клике на гуевый ник игрока, вписываешь в нужные поля данные из ElementData игрока. Ты попробуй, еси чо потом подправим topcnc.ru # vydrenko.ru
TwiX! Posted December 23, 2011 Author Posted December 23, 2011 Ну значит названия параметров ElementData ты все знаешь, при клике на гуевый ник игрока, вписываешь в нужные поля данные из ElementData игрока. Ты попробуй, еси чо потом подправим значит эта функция function gridlistPlayerSelect() у меня не правильная вся? подправил 1 пост - Working on [php/HTML/Mysql/Lua/Java Scripts/Web Design/3D Modeling]
MX_Master Posted December 23, 2011 Posted December 23, 2011 там ты берешь данные из таблицы, а нужно из ElementData нужного игрока topcnc.ru # vydrenko.ru
TwiX! Posted December 23, 2011 Author Posted December 23, 2011 там ты берешь данные из таблицы, а нужно из ElementData нужного игрока я тогда не понимаю как в грид листе показать чью то информацию так как InfoUsers берёт данные из ElementData - Working on [php/HTML/Mysql/Lua/Java Scripts/Web Design/3D Modeling]
MX_Master Posted December 23, 2011 Posted December 23, 2011 У тебя есть ники игроков. По нику можно узнать элемент игрока. По элементу игрока можно получить ElementData этого элемента topcnc.ru # vydrenko.ru
StUNt71 Posted December 23, 2011 Posted December 23, 2011 addEventHandler("onClientGUIClick", users_grid, function () guiGridListClear(usersInfo_grid) if (usersprogressbar) then guiProgressBarSetProgress(usersprogressbar, rank) progress = guiProgressBarGetProgress(usersprogressbar) local selectedUsers = guiGridListGetItemText(users_grid, guiGridListGetSelectedItem(users_grid), 1) if (selectedUsers) then local player = getPlayerFromName(selectedUsers) if player then InfoUsers = { {"Name: ", " " .. string.gsub(selectedUsers, "#%x%x%x%x%x%x", "")}, {"Country: ", " " .. cny}, {"E-Mail: ", " " .. mail}, {"Age: ", " " .. age}, {"Gender: ", " " .. gender}, {"Contact: ", " " .. contact}, {"Signature: ", " " .. getElementData(player, "info.signature")}, {"Money: ", " " .. money}, {"Rank: ", " " .. rank}, {"Wins: ", " " .. DMWins}, {"Loses: ", " " .. Loses} } -- Сам получай эти значения for _, info in ipairs (InfoUsers) do local row = guiGridListAddRow (usersInfo_grid) guiGridListSetItemText(usersInfo_grid, row, 1, info[1], false, true) guiGridListSetItemText(usersInfo_grid, row, 2, info[2], false, true) end end end end end, false ) Обработчик события при клике. Sorry for my bad english!
MX_Master Posted December 23, 2011 Posted December 23, 2011 остальные данные нужно брать тоже из ElementData topcnc.ru # vydrenko.ru
StUNt71 Posted December 23, 2011 Posted December 23, 2011 Увы я их не знаю. Я там комментов подписал, что он сам должен получить эти значения. Sorry for my bad english!
TwiX! Posted December 24, 2011 Author Posted December 24, 2011 function getInfoUsers() local cnt = getElementData(getLocalPlayer(), "info.country") local age = getElementData(getLocalPlayer(), "info.age") local email = getElementData(getLocalPlayer(), "info.email") local gebder = getElementData(getLocalPlayer(), "info.gender") local contact = getElementData(getLocalPlayer(), "info.contact") local sgn = getElementData(getLocalPlayer(), "info.signature") local DMWins = getElementData(getLocalPlayer(),"Wins") local Loses = getElementData(getLocalPlayer(),"Loses") local money = getElementData(getLocalPlayer(), "data.money") guiGridListClear(usersInfo_grid) local selectedUsers = guiGridListGetItemText(users_grid, guiGridListGetSelectedItem(users_grid), 1) if (selectedUsers) then local Player = findPlayerByName(selectedUsers) if Player then if (usersprogressbar) then guiProgressBarSetProgress(usersprogressbar, ratio) progress = guiProgressBarGetProgress(usersprogressbar) InfoUsers = {{"Name: ", " "..string.gsub(getPlayerName(getLocalPlayer()),"#%x%x%x%x%x%x", "")},{"Country: "," "..cnt},{"E-Mail: "," "..email},{"Age: "," "..age},{"Gender: "," "..Edit5},{"Contact: "," "..contact},{"Signature: "," "..sgn},{"Money: "," "..money},{"Rank: "," "..rank},{"Wins: "," "..DMWins},{"Loses: "," "..Loses}} for _, info in ipairs (InfoUsers) do local row = guiGridListAddRow (usersInfo_grid) guiGridListSetItemText(usersInfo_grid, row, 1, info[1], false, true) guiGridListSetItemText(usersInfo_grid, row, 2, info[2], false, true) end end end end end addEventHandler("onClientGUIClick",getResourceRootElement(getThisResource()), getInfoUsers) или addEventHandler ( "onClientGUIClick", users_grid, getInfoUsers, false ) всё равно только моё инфо function findPlayerByName (name) local player = getPlayerFromName(name) if player then return player end for i, player in ipairs(getElementsByType("player")) do if string.find(string.gsub(getPlayerName(player):lower(),"#%x%x%x%x%x%x", ""), name:lower(), 1, true) then return player end end return false end - Working on [php/HTML/Mysql/Lua/Java Scripts/Web Design/3D Modeling]
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