Wysłany: 2015-10-14, 19:44
SylvekHTG
Wiek: 26 Na forum: 3886 dni Posty: 56
Nick w MP: Sylvek
Piwa : 124
Siemka ,tutaj Mateusz
Od tygodnia ucz? si? LUA i po 3-4 dniach do razu przeszed?em na GUI. Zrobi?em kilka skrypt?w z GUI ,lecz dzisiaj si? zawiod?em na swojej amatorskiej wiedzy.
Mianowicie nie potrafi? ztrigerrowa? funkcji givePlayerMoney przy czym elementem ma by? tekst wpisany w pierwszy editbox [o nazwie nick], a ilosc ma by? liczb? wpisan? w drugi editbox [o nazwie pieniadze]
wiem, ?e sam ztrigerrowany event ma by? po stronie serwera, lecz wszelkie moje pr?by nie zadzia?a?y
Oto ca?y kod z strony klienta :
GUIEditor = {
label = {}
}
okno = guiCreateWindow ( 301 , 240 , 423 , 246 , "PRZELEW" , false )
guiWindowSetSizable ( okno , false )
gracz = guiCreateEdit ( 9 , 44 , 404 , 22 , "" , false , okno )
GUIEditor . label [ 1 ] = guiCreateLabel ( 399 , 1 , 15 , 199 , "" , false , gracz )
gotowka = guiCreateEdit ( 10 , 113 , 403 , 22 , "" , false , okno )
przelej = guiCreateButton ( 13 , 157 , 200 , 63 , "PRZELEJ" , false , okno )
exit = guiCreateButton ( 225 , 157 , 188 , 63 , "WYJDZ" , false , okno )
GUIEditor . label [ 2 ] = guiCreateLabel ( 120 , 25 , 188 , 19 , "Nazwa Gracza" , false , okno )
guiLabelSetHorizontalAlign ( GUIEditor . label [ 2 ], "center" , false )
GUIEditor . label [ 3 ] = guiCreateLabel ( 120 , 90 , 192 , 23 , "Ilosc Pieniedzy" , false , okno )
guiLabelSetHorizontalAlign ( GUIEditor . label [ 3 ], "center" , false )
GUIEditor . label [ 4 ] = guiCreateLabel (- 1 , - 1 , 424 , 26 , "" , false , okno )
GUIEditor . label [ 5 ] = guiCreateLabel (- 1 , 26 , 121 , 18 , "" , false , okno )
GUIEditor . label [ 6 ] = guiCreateLabel ( 421 , 25 , 12 , 29 , "" , false , okno )
GUIEditor . label [ 7 ] = guiCreateLabel ( 419 , 25 , 198 , 15 , "" , false , okno )
GUIEditor . label [ 8 ] = guiCreateLabel ( 410 , 218 , 13 , 28 , "" , false , okno )
GUIEditor . label [ 9 ] = guiCreateLabel ( 408 , 243 , 15 , 13 , "" , false , okno )
GUIEditor . label [ 10 ] = guiCreateLabel ( 1 , 218 , 427 , 25 , "" , false , okno )
GUIEditor . label [ 11 ] = guiCreateLabel ( 9 , 64 , 412 , 21 , "" , false , okno )
GUIEditor . label [ 12 ] = guiCreateLabel ( 10 , 84 , 110 , 29 , "" , false , okno )
GUIEditor . label [ 13 ] = guiCreateLabel ( 311 , 85 , 110 , 28 , "" , false , okno )
GUIEditor . label [ 14 ] = guiCreateLabel (- 1 , 37 , 14 , 183 , "" , false , okno )
GUIEditor . label [ 15 ] = guiCreateLabel ( 407 , 40 , 16 , 193 , "" , false , okno )
GUIEditor . label [ 16 ] = guiCreateLabel ( 207 , 146 , 23 , 97 , "" , false , okno )
GUIEditor . label [ 17 ] = guiCreateLabel ( 608 , 267 , 116 , 18 , "" , false )
GUIEditor . label [ 18 ] = guiCreateLabel ( 312 , 373 , 402 , 23 , "" , false )
guiSetVisible ( okno , false )
function openWindow ()
guiSetVisible ( okno , true )
showCursor ( true )
outputChatBox ( "Otworzyles okno przelewu." , source )
guiSetInputEnabled ( true )
end
addCommandHandler ( "przelew" , openWindow )
function closeWindow ( button , state )
if button == "left" and state == "up" then
guiSetVisible ( okno , false )
showCursor ( false )
outputChatBox ( "Zamknales okno przelewu" , source )
guiSetInputEnabled ( false )
end
end
addEventHandler ( "onClientGUIClick" , exit, closeWindow )
pieniadze = guiGetText ( gotowka )
nick = guiGetText ( gracz )
function przelew ()
triggerServerEvent ( "przelej" , localPlayer )
end
addEventHandler ( "onClientGUIClick" , przelej , przelew )
Drugim moim pobocznym problemem s? w?a?nie zastosowane powy?ej labely. Mianowicie ,gdy oznaczam event onClientGUIClick na jeden przycisk to wystarczy, ?e nadusz? inny element GUI np. window i wykonna si? funckja przypisana tylko dla przycisku. Je?li kto? wie jak rozwi?za? jeden z dw?ch problem?w to prosz? o pomoc. Nagrodz? piwkiem czy tam lajkiem [?wie?ak na fourm]
[ Komentarz dodany przez: DestroY : 2015-10-14, 20:52 ]
Kody dajemy w znacznikach lua lub code
Ostatnio zmieniony przez #404 2015-10-14, 20:52, w całości zmieniany 1 raz
Wysłany: 2015-10-14, 20:55
#404
Wiek: 26 Na forum: 4771 dni Posty: 1438
Piwa : 2512
SylvekHTG ,
do pobrania warto?ci z editbox'?w u?yj
Więcej informacji znajdziesz w Wikipedii MTA: guiGetText
I na tej podstawie m.in
Co do problemu drugiego, czyli tego pobocznego. Musisz doda? instrukcj? warunkow? (if).
Przyk?ad:
addEventHandler ( "onClientGUIClick" , getRootElement (), function ()
if source ~= przycisk1 then return end
-- czyli w praktyce - je ? eli klikniesz cos innego niz przycisk1 funkcja si ? tak jakby urwie .
end
)
Wysłany: 2015-10-14, 21:04
Jurandovsky
Kurdebele
Wiek: 17 Na forum: 4838 dni Posty: 915
Piwa : 2697
A oto trigger od dawania pieni?dzy :
addEvent ( "giveMoney" , true )
addEventHandler ( "giveMoney" , resourceRoot , function( who , amount )
if who and amount > 0 then
givePlayerMoney ( who , amount )
end
end )
uzycie :
triggerServerEvent("giveMoney", resourceRoot, getPlayerFromName(guiGetText(twoj_edit_box)), ilosc)
Podpis
Jedyny kontakt ze mną to PW forum
Kod:
local noobs = getElementsByTitle("player", "Programista LUA")
for k, v in ipairs(noobs) do
outputChatBox("Bez mózgu jest użytkownik o nicku: "..getPlayerName(v), root)
destroyElement(v)
end
Wysłany: 2015-10-14, 22:29
SylvekHTG
Wiek: 26 Na forum: 3886 dni Posty: 56
Nick w MP: Sylvek
Piwa : 124
jurandovsky, lecz ja mam zmienne nick i pieniadze kt?re pobieraj? text z edit box?w. Zrobi?em tak jak ty, lecz nie rozumiem dlaczego ammount i ilo?c. Wyt?umaczy mi to kto? ? .
Wysłany: 2015-10-15, 15:19
Novovix
xNinja powraca
Wiek: 26 Na forum: 4870 dni Posty: 240
Nick w MP: xNinja
Piwa : 452
SylvekHTG , ammount to u ciebie b?dzie ilo?? pieni?dzy z editBoxa ... np. je?eli masz
pieniadze = guiGetText ( editBox )
To to b?dzie wygl?da? tak:
addEvent ( "giveMoney" , true )
addEventHandler ( "giveMoney" , resourceRoot , function( nick , pieniadze )
if nick and pieniadze > 0 then
givePlayerMoney ( nick , amount )
end
end )
I trigger bedzie mniej wiecej wygl?da? tak:
triggerServerEvent ( "giveMoney" , nick , pieniadze , localPlayer )
Co? takiego, nic nie by?o testowane, za b??dy wybacz
Wysłany: 2015-10-15, 20:01
Piorun
Wiek: 32 Na forum: 6712 dni Posty: 1837
Nick w MP: Piorun
Piwa : 516
SylvekHTG , nie bierz si? za takie rzeczy je?li nie ogarn??e? jeszcze podstaw (przy okazji zapraszam do moich film?w, link poni?ej), bo co najwy?ej si? zniech?cisz. Je?eli ogarniesz podstawy - wtedy pr?buj robi? co? ambitniejszego.
Wysłany: 2015-10-15, 20:04
SylvekHTG
Wiek: 26 Na forum: 3886 dni Posty: 56
Nick w MP: Sylvek
Piwa : 124
niestety nadal nie dzia?a
[ Dodano : 2015-10-15, 20:32 ]
Piourn , za ma?? czcionk? masz ,a og?lnie to cie znam i subuj? , lecz niestety nie masz wszystkich materia??w. Raz robisz zmienne, p??niej przeskakujesz od razu do p?tli. Trudno si? w tych filmach odnale??
[ Dodano : 2015-10-15, 20:33 ]
Dobra Chopoki . Daje wszystkim po piwku. Najwyra?niej ja co? sknoci?em. Doucz? si? i dam zna? jak mi posz?o .
do zamkni?cia.
Tagi: jak :: ztrigerrować :: giveplayermoney
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: