Jump to content

Не работает AddEventHandler в паре с гуи кнопкой


Recommended Posts

Доброго времени суток. Возникла проблема при написании мода.
Я скриптер начинающий, так что сразу извиняюсь за возможные "глупости".

Есть гуи кнопка(crbutton) и addEventHandler(37-38 строчка) который должен реагировать на нажатие этой кнопки, а проблема в том, что он никак не реагирует. Вроде как аналогичный код для других функций спокойно работает, а конкретно тут проблема.

 


character.window = nil
character.btnCh = {}
character.label = {}
character.labelStart = {}
character.img = {}
local t_alpha = 0.90
malestartetskins = { "34", "60", "73", "101", "133"}
femstarterskins = {"157", "190", "195", "201"}


function skinSellGui()
     skinselectwindow = guiCreateWindow(566, 666, 234, 81, "Выберите скин", true)
     guiWindowSetSizable(skinselectwindow, false)

     buttonSkinLeft = guiCreateButton(9, 35, 77, 30, "<<<<", false, skinselectwindow)
     buttonSkinOK = guiCreateButton(96, 35, 39, 30, "OK", false, skinselectwindow)
     buttonSkinRight = guiCreateButton(145, 35, 77, 30, ">>>>", false, skinselectwindow)    
	 guiSetVisible( skinselectwindow, false)
end

function createChar()
		
		local screenW, screenH = guiGetScreenSize()
        cr_window = GuiWindow((screenW - 198) / 2, (screenH - 242) / 2, 198, 242, "Создание персонажа", false)
        guiWindowSetMovable(cr_window, false)
        guiWindowSetSizable(cr_window, false)

        namelabel = guiCreateLabel(10, 28, 182, 21, "Введите имя персонажа:", false, cr_window)
        labelFam = guiCreateLabel(10, 80, 182, 21, "Введите фамилию персонажа:", false, cr_window)
        editFam = guiCreateEdit(10, 107, 172, 22, "", false, cr_window)
        sexCombo = guiCreateComboBox(11, 172, 171, 76, "Мужской", false, cr_window)
        guiComboBoxAddItem(sexCombo, "Мужской")
        guiComboBoxAddItem(sexCombo, "Женский")
        editName = guiCreateEdit(10, 54, 172, 22, "", false, cr_window)
        sexlabel = guiCreateLabel(10, 147, 182, 21, "Выберите пол персонажа:", false, cr_window)
        crbutton = guiCreateButton(46, 205, 100, 27, "Готово", false, cr_window) 
		addEventHandler( "onClientGUIClick", crbutton, characterSkinSelect, false )
		guiSetVisible(cr_window, false)
end

function character.createGui()
	createChar()
	
	character.window = GuiWindow( 0.4, 0.21, 0.20, 0.53, lang( "char_select" ), true )
	character.window:setSizable( false )
	character.window:setMovable( false )
	character.window:setVisible( true )
	character.window:setAlpha( 0.0 )

	local temp = 0
	for i = 1, #character.account do 
		local char, date = character.account[i], getRealTime( character.account[i].lastDate )
		character.btnCh[i] = GuiButton( 0.04, 0.06 + ( 0.22 * temp ), 0.94, 0.20, "", true, character.window )
		character.btnCh[i]:setAlpha( 0.80 )
		character.btnCh[i]:setData( "character.table", char )

		date.hour = string.format( "%02d", date.hour )
		date.minute = string.format( ":%02d", date.minute )
		date.monthday = string.format( "%02d.", date.monthday )
		date.month = string.format( "%02d", tonumber( date.month ) + 1 )
		date.year = string.format( ".%02d", date.year - 100 )

		local status = ""
		if char.status == 0 then status = lang( "char_status_a" )
		else status = lang( "char_status_d" ) end	

		character.label[i] = GuiLabel( 0.3, 0.06, 0.90, 0.70, 
			lang( "char_name" )..char.name.."\
			"..lang( "char_age" )..": "..char.age.."\
			"..lang( "char_status" )..status.."\
			"..lang( "char_money" )..": $"..char.money.."\
			"..lang( "char_last_game" )..": "..date.monthday.. date.month ..date.year.." "..date.hour..date.minute, true, character.btnCh[i] )

		character.label[i]:setFont( notice.font )
		character.label[i]:setEnabled( false )

		character.img[i] = GuiStaticImage( -0.16, 0.02, 0.57, 0.98, "media/skin/"..character.account[i].skin..".png", true, character.btnCh[i] )
		character.img[i]:setEnabled( false )
		character.img[i]:setAlpha( 0.0 )
		
		temp = temp + 1

		addEventHandler( "onClientGUIClick", character.btnCh[i], character.click, false )
	end	
	if temp < 4 then
		character.btnCreate = GuiButton( 0.04, 0.06 + ( 0.22 * temp ), 0.94, 0.20, lang( "char_create" ), true, character.window )
		character.btnCreate:setFont( notice.font )
		character.btnCreate:setAlpha( 0.80 )
		addEventHandler( "onClientGUIClick", character.btnCreate, showcrgui, false )
	end
	t_alpha = 0
	setTimer( function() 
				gui.show( character.window ) 
				gui.func_2 = function() 
					for i = 1, #character.account do character.img[i]:setAlpha( gui.alpha ) end 
				end
			end, 500, 1 )	
end
 
function showcrgui()
	gui.hide( character.window )
	guiSetVisible(cr_window, true)
	addEventHandler( "onClientGUIClick", crbutton, characterSkinSelect, false )
end

function characterSkinSelect()
	skinSellGui()
	charCrName = GuiGetText (editName)
	charCrFam = GuiGetText (editFam)
	charCrSex = GuiGetText (sexCombo)
	gui.hide(cr_window)
	guiSetVisible(cr_window, false)
	blur.visible( false )
	triggerServerEvent( "character.skinSelect.server", localPlayer )
	Camera.setMatrix( -275.3017578125, 1100.021484375, 25, -268.3017578125, 1089.021484375, 19.7421875)
	guiSetVisible( skinselectwindow, true)
	addEventHandler( "onClientGUIClick", buttonSkinLeft, characterSkinSelect1, false )
	addEventHandler( "onClientGUIClick", buttonSkinRight, characterSkinSelect2, false )
	addEventHandler( "onClientGUIClick", buttonSkinOK, characterSkinSelect3, false )
end	

Ну и еще извиняюсь за чистоту кода, я уже десяток раз его перекрутил в поисках решения, а проблема осталась.

 

 

Edited by AlexRazor
Link to comment
4 hours ago, LoveFist said:

Есть какие-то ошибки в консоли отладки?

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

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