Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2014-10-11, 18:35


TruskawkaPL

Początkujący LUA






Wiek: 26
Na forum: 4267 dni
Posty: 30
Nick w MP: BOLEQ



Respekt: 50

Ostrzeżeń: 100%
Z g?ry zakazuje ?ci?ganie kodu, kt?ry by? mo?e b?dzie widoczny w tym temacie!

Jako, i? nikt nie odpowiedzia? w moim ostatnim temacie, pozwol? sobie na nast?pny.
Tym razem ju? inny problem, mianowicie chodzi o otwieranie panelu za pomoc? bindKey.

Same otwarcie panelu dzia?a, lecz nie wiem jak zrobi? bindKey na zamykanie go.
Po naci?ni?ciu pare razy klawisza kt?ry odpowiada za otwarcie tworzy si? takie co?

Tworz? si? jak wida? takie schody z g?ry na d??, nie wiem czemu tak si? dzieje.
Kolejne naci?ni?cie (w tym przypadku klawisza m) tworzy si? schodek w d??.

Prosz? o pomoc.
Pozdrawiam.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-11, 18:43


Vike4562

LUA <3






Wiek: 28
Na forum: 4938 dni
Posty: 144
Nick w MP: Vike4562

Piwa: 32

Respekt: 61

Za ka?dym razem przy otwarciu panelu daj:

Więcej informacji znajdziesz w Wikipedii MTA:

GuiGridListClear


Aby zrobi? otwarcie i zamkni?cie na 1 button to mo?esz zastosowa? bardzo prost? funkcj?

Kod:

function otwarciezamkniecie()
if guiGetVisible(nazwapaneluglownego) == true then
guiSetVisible(nazwa, false)
else
guiSetVisible(nazwa, true)
end
end
bindKey("m", "down", otwarciezamkniecie)


Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-11, 19:01


TruskawkaPL

Początkujący LUA






Wiek: 26
Na forum: 4267 dni
Posty: 30
Nick w MP: BOLEQ



Respekt: 50

Ostrzeżeń: 100%
Vike4562, czym mam zast?pi? 'nazwa' ?
Poni?ej daje kod, by by?o Ci ?atwiej..

local Druzyna getTeamFromName("Pogotowie")

function Pokaz()
    if getPlayerTeam(getLocalPlayer()) == Druzyna then
    local Kolumna guiGridListAddColumnWybierzGracza"Wybierz gracza"0.9 )    
            if ( Kolumna then 
                          for idplayeritem in ipairs(getElementsByType("player")) do 
                               local Row guiGridListAddRow WybierzGracza )
                            guiGridListSetItemText WybierzGraczaRowKolumnagetPlayerName playeritem ), falsefalse )
                    end

        end
        guiSetVisible(StworzPaneltrue)
        showCursor(true)        
end
end

function Ukryj()
    guiSetVisible(StworzPanelfalse)
    showCursor(false)
end

function lecz()
    local player guiGridListGetItemText (WybierzGraczaguiGridListGetSelectedItem (WybierzGracza), 1) 
    triggerServerEvent("lecz"getRootElement(), playergetLocalPlayer())
end
addEventHandler"onClientGUIClick"StworzGuzikULECZlecz )


StworzPanel = {}
StworzGuzikULECZ = {}
TekstPanelu = {}
WybierzGracza = {}

StworzPanel =  guiCreateWindow(582316214274"Panel Pogotowia"false)
guiWindowSetMovable(StworzPanelfalse)
guiWindowSetSizable(StworzPanelfalse)
guiSetAlpha(StworzPanel1.00)

StworzGuzikULECZ guiCreateButton(924219522"ULECZ"falseStworzPanel)
TekstPanelu guiCreateLabel(92619528"PROSZ? WYBRA? GRACZA"falseStworzPanel)
guiSetFont(TekstPanelu"default-bold-small")
guiLabelSetHorizontalAlign(TekstPanelu"center"false)
guiLabelSetVerticalAlign(TekstPanelu"center")

WybierzGracza guiCreateGridList(956195176falseStworzPanel)
guiSetVisible(StworzPanelfalse)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-11, 19:22


Vike4562

LUA <3






Wiek: 28
Na forum: 4938 dni
Posty: 144
Nick w MP: Vike4562

Piwa: 32

Respekt: 61

Na czyszczenie listy:
Kod:

guiGridListClear(WybierzGracza)


Funkcja otwierania i zamykania panelu:
Kod:


function otwarciezamkniecie()
if guiGetVisible(StworzPanel) == true then
guiSetVisible(StworzPanel, false)
else
guiSetVisible(StworzPanel, true)
end
end
bindKey("m", "down", otwarciezamkniecie)


Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-11, 19:55


TruskawkaPL

Początkujący LUA






Wiek: 26
Na forum: 4267 dni
Posty: 30
Nick w MP: BOLEQ



Respekt: 50

Ostrzeżeń: 100%
Vike4562, jeszcze jedno.
W jakim miejscu umie?ci? czyszczenie listy?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-11, 19:58


Vike4562

LUA <3






Wiek: 28
Na forum: 4938 dni
Posty: 144
Nick w MP: Vike4562

Piwa: 32

Respekt: 61

Przed linijk? kt?ra dodaje row'y na grid'a

tu:
Kod:

function Pokaz()
if getPlayerTeam(getLocalPlayer()) == Druzyna then
local Kolumna = guiGridListAddColumn( WybierzGracza, "Wybierz gracza", 0.9 )
if ( Kolumna ) then
guiGridListClear(WybierzGracza)
for id, playeritem in ipairs(getElementsByType("player")) do
local Row = guiGridListAddRow ( WybierzGracza )
guiGridListSetItemText ( WybierzGracza, Row, Kolumna, getPlayerName ( playeritem ), false, false )
end

end
guiSetVisible(StworzPanel, true)
showCursor(true)
end
end


Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-11, 20:11


TruskawkaPL

Początkujący LUA






Wiek: 26
Na forum: 4267 dni
Posty: 30
Nick w MP: BOLEQ



Respekt: 50

Ostrzeżeń: 100%
Vike4562, teraz jest problem, bo nie wy?wietla graczy w Gird li?cie.

StworzPanel = {}
StworzGuzikULECZ = {}
TekstPanelu = {}
WybierzGracza = {}

StworzPanel =  guiCreateWindow(582316214274"Panel Pogotowia"false)
guiWindowSetMovable(StworzPanelfalse)
guiWindowSetSizable(StworzPanelfalse)
guiSetAlpha(StworzPanel1.00)

StworzGuzikULECZ guiCreateButton(924219522"ULECZ"falseStworzPanel)
TekstPanelu guiCreateLabel(92619528"PROSZ? WYBRA? GRACZA"falseStworzPanel)
guiSetFont(TekstPanelu"default-bold-small")
guiLabelSetHorizontalAlign(TekstPanelu"center"false)
guiLabelSetVerticalAlign(TekstPanelu"center")

WybierzGracza guiCreateGridList(956195176falseStworzPanel)
guiSetVisible(StworzPanelfalse)

-------------------------------------
-------------- Funkcje --------------
-------------------------------------

local Druzyna getTeamFromName("Pogotowie")

function Pokaz()
    if getPlayerTeam(getLocalPlayer()) == Druzyna then
    local Kolumna guiGridListAddColumnWybierzGracza"Wybierz gracza"0.9 )    
            if ( Kolumna then 
            guiGridListClear (WybierzGracza) 
                          for idplayeritem in ipairs(getElementsByType("player")) do 
                               local Row guiGridListAddRow WybierzGracza )
                            guiGridListSetItemText WybierzGraczaRowKolumnagetPlayerName playeritem ), falsefalse )
                    end

        end
        guiSetVisible(StworzPaneltrue)
        showCursor(true)    
        end
    end

function Ukryj()
    guiSetVisible(StworzPanelfalse)
    showCursor(false)
end

function lecz()
    local player guiGridListGetItemText (WybierzGraczaguiGridListGetSelectedItem (WybierzGracza), 1) 
    triggerServerEvent("lecz"getRootElement(), playergetLocalPlayer())
end
addEventHandler"onClientGUIClick"StworzGuzikULECZlecz )

----------------------------------------------------
-------------- Otwieranie i zamykanie --------------
----------------------------------------------------

function OtworzZamknij() 
if guiGetVisible(StworzPanel) == true then 
guiSetVisible(StworzPanelfalse)
showCursor(false)
else 
guiSetVisible(StworzPaneltrueshowCursor(true)
end 
end 
bindKey ("m""down"OtworzZamknij)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-11, 20:19


Vike4562

LUA <3






Wiek: 28
Na forum: 4938 dni
Posty: 144
Nick w MP: Vike4562

Piwa: 32

Respekt: 61

aha, bo ?le dalem, tak powinno dzia?a?:

Kod:

function Pokaz()
if getPlayerTeam(getLocalPlayer()) == Druzyna then
local Kolumna = guiGridListAddColumn( WybierzGracza, "Wybierz gracza", 0.9 )
if ( Kolumna ) then
for id, playeritem in ipairs(getElementsByType("player")) do
local Row = guiGridListAddRow ( WybierzGracza )
guiGridListSetItemText ( WybierzGracza, Row, Kolumna, getPlayerName ( playeritem ), false, false )
end

end
guiSetVisible(StworzPanel, true)
guiGridListClear (WybierzGracza)
showCursor(true)
end
end


Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-11, 20:33


TruskawkaPL

Początkujący LUA






Wiek: 26
Na forum: 4267 dni
Posty: 30
Nick w MP: BOLEQ



Respekt: 50

Ostrzeżeń: 100%
Vike4562, nadal nie pokazuje listy graczy.
Mo?e to co? zwi?zanego z tym kodem?
function OtworzZamknij() 
if guiGetVisible(StworzPanel) == true then 
guiSetVisible(StworzPanelfalse)
showCursor(false)
else 
guiSetVisible(StworzPaneltrueshowCursor(true)
end 
end 
bindKey ("m""down"OtworzZamknij)


Bo widz?, ?e jest dwa razy guiSetVisible..
                    end

        end
        guiSetVisible(StworzPaneltrue)
        guiGridListClear (WybierzGracza) 
        showCursor(true)    
        end
    end

function Ukryj()
    guiSetVisible(StworzPanelfalse)
    showCursor(false)
end

i ten kod wy?ej..

Nie powinien byc tylko ten kod w odpowiednim miejscu?
function OtworzZamknij() 
if guiGetVisible(StworzPanel) == true then 
guiSetVisible(StworzPanelfalse)
showCursor(false)
else 
guiSetVisible(StworzPaneltrueshowCursor(true)
end 
end 
bindKey ("m""down"OtworzZamknij)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-11, 20:43


Vike4562

LUA <3






Wiek: 28
Na forum: 4938 dni
Posty: 144
Nick w MP: Vike4562

Piwa: 32

Respekt: 61

Nie ?aduje, dla tego ?e nie zostaje wywo?ana usu? funkcj? Pokaz() i t? co ci wcze?niej da?em i daj t? ( po??czy?em je )


Kod:

function Pokaz()
if guiGetVisible(StworzPanel) == false then
if getPlayerTeam(getLocalPlayer()) == Druzyna then
guiSetVisible(StworzPanel, true)
showCursor(true)
local Kolumna = guiGridListAddColumn( WybierzGracza, "Wybierz gracza", 0.9 )
if ( Kolumna ) then
guiGridListClear (WybierzGracza)
for id, playeritem in ipairs(getElementsByType("player")) do
local Row = guiGridListAddRow ( WybierzGracza )
guiGridListSetItemText ( WybierzGracza, Row, Kolumna, getPlayerName ( playeritem ), false, false )
end
end
end
else
guiSetVisible(StworzPanel, false)
showCursor(false)
end
end
bindKey ("m", "down", Pokaz)


Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-11, 21:04


TruskawkaPL

Początkujący LUA






Wiek: 26
Na forum: 4267 dni
Posty: 30
Nick w MP: BOLEQ



Respekt: 50

Ostrzeżeń: 100%
Vike4562, panel dzia?a, gracz jest, panel si? r?wnie? zamyka, ale..
Po ponownym uruchomieniu go zostaje pusta kolumna "Wybierz gracza", i tworzy sie kolejna.. I tak przy kazdym wylaczeniu..

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-11, 22:07


Vike4562

LUA <3






Wiek: 28
Na forum: 4938 dni
Posty: 144
Nick w MP: Vike4562

Piwa: 32

Respekt: 61

Nie przyjrza?em si? temu dok?adnie, nie potrzebnie by?a tam addColumn, dodaj to do reszty gui ( Poza funkcj? ) teraz nie wida? ?eby mia?o co? by? nie tak :P

local Kolumna guiGridListAddColumnWybierzGracza"Wybierz gracza"0.9 



function Pokaz() 
if guiGetVisible(StworzPanel) == false then 
if getPlayerTeam(getLocalPlayer()) == Druzyna then 
guiSetVisible(StworzPaneltrueshowCursor(trueguiGridListClear (WybierzGracza) 
for idplayeritem in ipairs(getElementsByType("player")) do 
local Row guiGridListAddRow WybierzGracza guiGridListSetItemText WybierzGraczaRowKolumnagetPlayerName playeritem ), falsefalse end 
end 
else 
guiSetVisible(StworzPanelfalseshowCursor(falseend 
end 
bindKey ("m""down"Pokaz)


Podpis
Ostatnio zmieniony przez Vike4562 2014-10-11, 22:40, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-11, 22:13


TruskawkaPL

Początkujący LUA






Wiek: 26
Na forum: 4267 dni
Posty: 30
Nick w MP: BOLEQ



Respekt: 50

Ostrzeżeń: 100%
Vike4562, rozumiem, ?e ca?o?? ma wygl?da? tak?

function Pokaz() 
if guiGetVisible(StworzPanel) == false then 
if getPlayerTeam(getLocalPlayer()) == Druzyna then 
guiSetVisible(StworzPaneltrueshowCursor(trueguiGridListClear (WybierzGracza) 
for idplayeritem in ipairs(getElementsByType("player")) do 
local Row guiGridListAddRow WybierzGracza guiGridListSetItemText WybierzGraczaRowKolumnagetPlayerName playeritem ), falsefalse end 
end 
else 
guiSetVisible(StworzPanelfalse


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-11, 22:34


Vike4562

LUA <3






Wiek: 28
Na forum: 4938 dni
Posty: 144
Nick w MP: Vike4562

Piwa: 32

Respekt: 61

no, tak :P

Jak nie zauwa?y?e? to tam uci??e? kawa?ek kodu :P w @UP

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-10-11, 22:40


TruskawkaPL

Początkujący LUA






Wiek: 26
Na forum: 4267 dni
Posty: 30
Nick w MP: BOLEQ



Respekt: 50

Ostrzeżeń: 100%
Vike4562, teraz lepiej? :->
local Druzyna getTeamFromName("Pogotowie")
local Kolumna guiGridListAddColumnWybierzGracza"Wybierz gracza"0.9 )

function Pokaz() 
if guiGetVisible(StworzPanel) == false then 
if getPlayerTeam(getLocalPlayer()) == Druzyna then 
guiSetVisible(StworzPaneltrueshowCursor(trueguiGridListClear (WybierzGracza) 
for idplayeritem in ipairs(getElementsByType("player")) do 
local Row guiGridListAddRow WybierzGracza guiGridListSetItemText WybierzGraczaRowKolumnagetPlayerName playeritem ), falsefalse end 
end 
else 
guiSetVisible(StworzPanelfalse)


Postaw piwo autorowi tego posta
 

 
Tagi: bindkey
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku