Jump to content

Bad argument @ 'guiGridListGet...'


Recommended Posts

Помоги пожалуйста

  Reveal hidden contents

 

Edited by saluta
Link photo fixed
Link to comment
  On 05/07/2021 at 21:50, Erlkonig said:

Пришлите пожалуйста весь код.

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

Expand  
  Reveal hidden contents

 

help pls

Edited by saluta
Code fixed
Link to comment
  • Scripting Moderators

Если речь про код, который выше, переменная grid нигде не определена.
Но если нужен элемент, по которому дважды щёлкнули, тогда используйте source, которая и будет этим элементом.

Link to comment
  On 06/07/2021 at 17:44, Sarrum said:

Если речь про код, выше, переменная  сетка  нигде не определена.
Но если нужно элемент, по которому дважды щёлкнул, тогда используйте источник , которая и будет этот элемент.

Expand  

как использовать то, пример кода хотябы есть?

Link to comment
  • Scripting Moderators
addEventHandler( "onClientGUIDoubleClick", root, function()
	if isInArray (pointData,guiGridListGetItemText ( source, guiGridListGetSelectedItem ( source ), 1 )) then
		rebuildGridList (isInArray (pointData,guiGridListGetItemText ( source, guiGridListGetSelectedItem ( source ), 1 )))
	end
	if guiGridListGetItemText ( source, guiGridListGetSelectedItem ( source ), 1 )=="..." then
		rebuildGridList (0)
	end
end)

 

Link to comment
  On 07/07/2021 at 08:51, Sarrum said:
addEventHandler( "onClientGUIDoubleClick", root, function()
	if isInArray (pointData,guiGridListGetItemText ( source, guiGridListGetSelectedItem ( source ), 1 )) then
		rebuildGridList (isInArray (pointData,guiGridListGetItemText ( source, guiGridListGetSelectedItem ( source ), 1 )))
	end
	if guiGridListGetItemText ( source, guiGridListGetSelectedItem ( source ), 1 )=="..." then
		rebuildGridList (0)
	end
end)

 

Expand  

некоторые ошибки пропали но остались и те же ошибки Warning: gps\client.lua:157:Bad argument @'guiGridListGetSelectedItem' [Expected gui-element at argument 1]  и Warning: gps\client.lua:157:Bad argument @'guiGridListGetItemText' [Expected gui-element at argument 1]

  On 07/07/2021 at 08:51, Sarrum said:
addEventHandler( "onClientGUIDoubleClick", root, function()
	if isInArray (pointData,guiGridListGetItemText ( source, guiGridListGetSelectedItem ( source ), 1 )) then
		rebuildGridList (isInArray (pointData,guiGridListGetItemText ( source, guiGridListGetSelectedItem ( source ), 1 )))
	end
	if guiGridListGetItemText ( source, guiGridListGetSelectedItem ( source ), 1 )=="..." then
		rebuildGridList (0)
	end
end)

 

Expand  

это вот эта строка 157 -- 

  Reveal hidden contents

 

Link to comment
  • Scripting Moderators

Сложно ответить без остального кода. Возможно событие onClientGUIDoubleClick срабатывает на клики по другим GUI элементам, либо же в rebuildGridList с гридлистом что-то происходит.

Link to comment
  On 07/07/2021 at 12:50, Sarrum said:

Сложно ответить без остального кода. Возможно событие onClientGUIDoubleClick срабатывает на клики по другим элементам GUI, либо же в rebuildGridList с гридлистом что-то происходит.

Expand  

так иесть это событие срабатывает на клики по другим элементам GUI в том же числе в админ панеле. Что делать

Link to comment
  On 07/07/2021 at 12:50, Sarrum said:

Сложно ответить без остального кода. Возможно событие onClientGUIDoubleClick срабатывает на клики по другим элементам GUI, либо же в rebuildGridList с гридлистом что-то происходит.

Expand  

FUll code:

  Reveal hidden contents

 

Link to comment
  • Scripting Moderators
addEventHandler( "onClientGUIDoubleClick", guiRoot, function()
	if source == grid then
		local row = guiGridListGetSelectedItem ( grid )
		local itemText = guiGridListGetItemText ( grid, row, 1 )
		local i = isInArray (pointData,itemText)
		if i then
			rebuildGridList (i)
		end
		if itemText=="..." then
			rebuildGridList (0)
		end
	end
end)

1) Разумней использовать guiRoot, если GUI элементы в одном ресурсе. guiRoot - корневой элемент всех GUI элементов текущего ресурса.
2) Добавил проверку, что элемент, по которому кликнули это действительно нужный гридлист.
3) Перед rebuildGridList() нужно сохранить значение guiGridListGetItemText в переменную, ибо после "ребилда" там будет уже совершенно другой текст, так как список поменяется. Либо же перед if itemText=="..." then можно заново получать row и itemText.

  • Thanks 1
Link to comment
  On 07/07/2021 at 20:29, Sarrum said:
addEventHandler( "onClientGUIDoubleClick", guiRoot, function()
	if source == grid then
		local row = guiGridListGetSelectedItem ( grid )
		local itemText = guiGridListGetItemText ( grid, row, 1 )
		local i = isInArray (pointData,itemText)
		if i then
			rebuildGridList (i)
		end
		if itemText=="..." then
			rebuildGridList (0)
		end
	end
end)

1) Разумней использовать guiRoot, если GUI элементы в одном ресурсе. guiRoot - корневой элемент всех GUI элементов текущего ресурса.
2) Добавил проверку, что элемент, по которому кликнули это действительно нужный гридлист.
3) Перед rebuildGridList() нужно сохранить значение guiGridListGetItemText в переменную, ибо после "ребилда" там будет уже совершенно другой текст, так как список поменяется. Либо же перед if itemText=="..." then можно заново получать row и itemText.

Expand  

спасибО, низкий поклон

Link to comment
  On 07/07/2021 at 20:29, Sarrum said:
addEventHandler( "onClientGUIDoubleClick", guiRoot, function()
	if source == grid then
		local row = guiGridListGetSelectedItem ( grid )
		local itemText = guiGridListGetItemText ( grid, row, 1 )
		local i = isInArray (pointData,itemText)
		if i )
		end
		if itemText=="..." then
			rebuildGridList (0)
		end
	end

1) Разумней использовать guiRoot, если GUI элементы в одном ресурсе. guiRoot - корневой элемент всех GUI элементов текущего ресурса.
2) Добавил проверку, что элемент, по которому кликнули это действительно нужный гридлист.
3) Перед rebuildGridList() нужно сохранить значение guiGridListGetItemText в переменную, ибо после "ребилда" там будет уже совершенно другой текст, так как список поменяется. Либо же перед if itemText=="..." then можно заново получать row и 

Expand  

а нет ошибься ошибки пропали но теперь маркер не пропадает когда я жму кнопку отметить или снять метку с карты

Link to comment
  • Scripting Moderators
  On 10/07/2021 at 18:12, saluta said:

а нет ошибься ошибки пропали но теперь маркер не пропадает когда я жму кнопку отметить или снять метку с карты

Expand  

Но метка пропадает? Возможно нужно выполнить совет в 3 пункте тогда (про row и itemText), либо же пересмотреть логику в своём коде.

  • Thanks 1
Link to comment
  On 10/07/2021 at 19:42, Sarrum said:

Но метка пропадает? Возможно нужно выполнить совет в 3 тогда (про row  и  itemText ), либо же пересмотреть логику в своём коде.

Expand  

нет метка не пропадает, она ставится ее видно а вот как нажимаешь снова она же по сути должна снятся метка но она не снимается.

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