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

Wysłany: 2017-10-14, 21:40


Hatcher







Wiek: 27
Na forum: 3274 dni
Posty: 6
Nick w MP: JanuszBiznesu

Piwa: 1

Respekt: 50

Witam, ot?? pisz? ten post gdy? mam problem, w tym, ?e gdy wejd? w marker pojawia si? gui lecz gdy nacisn? przycisk, kt?ry odpowiada za rozpocz?cie pracy, wyst?puje b??d i niewiem jak to zrobi?, ?eby dzia?a?o.

server side:

marker createMarker(2517.17, -1944.7716.88-0.8,"cylinder",1.2971255130)

function pokazGUI(el)
    triggerClientEvent(el"showGUI"el)
end
addEventHandler("onMarkerHit"markerpokazGUI)

function schowajGUI(el)
    triggerClientEvent(el"hideGUI"el)
end
addEventHandler("onMarkerLeave"markerschowajGUI)

function vehicle(el)
    createVehicle(602,2501.57, -1947.6513.48)
    outputChatBox("* Rozpocz?to prac?!"el)
end
addEvent("startJOB"true)
addEventHandler("startJOB"getRootElement(), vehicle)

client side:

local dxfont0_Roboto dxCreateFont(":slotmachine-MTA-master/font/Roboto.ttf"10)
local dxfont1_Roboto dxCreateFont(":slotmachine-MTA-master/font/Roboto.ttf"9)
local screenWscreenH guiGetScreenSize()

function dxDrawRoundedRectangle(xywhborderColorbgColorpostGUI)
    if (and and and hthen
        if (not borderColorthen
            borderColor tocolor(000200);
        end
       
        if (not bgColorthen
            bgColor borderColor;
        end
       
        dxDrawRectangle(xywhbgColorpostGUI);
       
        dxDrawRectangle(2141borderColorpostGUI); -- top
        dxDrawRectangle(2h41borderColorpostGUI); -- bottom
        dxDrawRectangle(1214borderColorpostGUI); -- left
        dxDrawRectangle(w214borderColorpostGUI); -- right
    end
end

function isMouseIn(psx,psy,pssx,pssy,abx,aby)
    if not isCursorShowing() then return end
    cx,cy=getCursorPosition()
    cx,cy=cx*screenW,cy*screenH
    if cx >= psx and cx <= psx+pssx and cy >= psy and cy <= psy+pssy then
        return true,cx,cy
    else
        return false
    end
end

function gui()
        dxDrawRectangle(screenW 0.6021screenH 0.3704screenW 0.1708screenH 0.3963tocolor(100125), false)
        dxDrawRectangle(screenW 0.6021screenH 0.3704screenW 0.1708screenH 0.0157tocolor(12312226254), false)
        dxDrawText("PRACA STREET VIEW", (screenW 0.6021) + 1, (screenH 0.3861) + 1, (screenW 0.7729) + 1, (screenH 0.4343) + 1tocolor(000254), 1.00dxfont0_Roboto"center""center"falsefalsefalsefalsefalse)
        dxDrawText("PRACA STREET VIEW"screenW 0.6021screenH 0.3861screenW 0.7729screenH 0.4343tocolor(255255255254), 1.00dxfont0_Roboto"center""center"falsefalsefalsefalsefalse)
        dxDrawText("Praca polega na indentyfikowaniu punkt?w. Zarobki s? r??ne, je?li posiadasz konto premium, wtedy wi?cej.", (screenW 0.6021) + 1, (screenH 0.4185) + 1, (screenW 0.7729) + 1, (screenH 0.6426) + 1tocolor(000254), 1.00dxfont1_Roboto"center""center"falsetruefalsefalsefalse)
        dxDrawText("Praca polega na indentyfikowaniu punkt?w. Zarobki s? r??ne, je?li posiadasz konto premium, wtedy wi?cej."screenW 0.6021screenH 0.4185screenW 0.7729screenH 0.6426tocolor(255255255255), 1.00dxfont1_Roboto"center""center"falsetruefalsefalsefalse)
        
        if not isMouseIn(screenW 0.6073screenH 0.6519screenW 0.1604screenH 0.1056then dxDrawRoundedRectangle(screenW 0.6073screenH 0.6519screenW 0.1604screenH 0.1056tocolor(12312226254), false)
        else dxDrawRoundedRectangle(screenW 0.6073screenH 0.6519screenW 0.1604screenH 0.1056tocolor(77,7,141), falseend
        
        dxDrawText("Zacznij pracowa?", (screenW 0.6073) + 1, (screenH 0.6509) + 1, (screenW 0.7677) + 1, (screenH 0.7574) + 1tocolor(101254), 1.00dxfont0_Roboto"center""center"falsefalsefalsefalsefalse)
        dxDrawText("Zacznij pracowa?"screenW 0.6073screenH 0.6509screenW 0.7677screenH 0.7574tocolor(255255255255), 1.00dxfont0_Roboto"center""center"falsefalsefalsefalsefalse)
end
addEvent("showGUI"true)
function pokazGUI()
    addEventHandler("onClientRender"rootgui)
    addEventHandler("onClientClick"rootstart)
    showCursor(true,false)
end
addEventHandler("showGUI"getRootElement(), pokazGUI)

function schowajGUI()
    removeEventHandler("onClientRender"rootgui)
    removeEventHandler("onClientClick"rootstart)
    showCursor(false)
end
addEvent("hideGUI"true)
addEventHandler("hideGUI"getRootElement(), schowajGUI)

function start(buttonstate,el)
    if button == "left" and state == "up" then
        if    isMouseIn(screenW 0.6073screenH 0.6519screenW 0.1604screenH 0.1056then
            triggerServerEvent("startJOB"el)
        end
    end
end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-10-14, 22:06


Atroth







Wiek: 23
Na forum: 3677 dni
Posty: 1089
Nick w MP: Atroth

Piwa: 4808

Respekt: 540
Respekt: 540

Hatcher,

Gdzie jest eventHandler na funkcji "start"? Poza tym, w triggerze w tej?e funkcji nie wysy?asz gracza [localPLayer]. Nie wiem po co marker po s-side jak mo?na zrobi? po stronie clienta.

Podpis

Użytkownik - 10-05-2016
Support Team - 17.06.2017
Moderator - 25.11.2017
Mod-Team - 02.07.2018

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-10-14, 22:28


Hatcher







Wiek: 27
Na forum: 3274 dni
Posty: 6
Nick w MP: JanuszBiznesu

Piwa: 1

Respekt: 50

"_Mike" napisał/a:

Hatcher,

Gdzie jest eventHandler na funkcji "start"? Poza tym, w triggerze w tej?e funkcji nie wysy?asz gracza [localPLayer]. Nie wiem po co marker po s-side jak mo?na zrobi? po stronie clienta.


M?g?by? mi powiedzie? jak by to wygl?da? mia?o? Z g?ry dzi?ki

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-10-14, 22:46


Atroth







Wiek: 23
Na forum: 3677 dni
Posty: 1089
Nick w MP: Atroth

Piwa: 4808

Respekt: 540
Respekt: 540

Hatcher,


Więcej informacji znajdziesz w Wikipedii MTA:

PL/onClientClick



Więcej informacji znajdziesz w Wikipedii MTA:

triggerServerEvent


Nawet Ci pomog? w kwestii drugiego:

Kod:


Optional Arguments
arguments...: A list of arguments to trigger with the event. You can pass any lua data type (except functions). You can also pass elements.


Zwyk?e sprawdzanie czy pozycja myszki gracza znajduje si? w takim po?o?eniu. Aby zapobiedz wywo?ywaniu danej funkcji proponuj? doda? zmienn? true albo false. Je?eli jest true zdarzenie si? wywo?a;

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-10-15, 14:58


Hatcher







Wiek: 27
Na forum: 3274 dni
Posty: 6
Nick w MP: JanuszBiznesu

Piwa: 1

Respekt: 50

"_Mike" napisał/a:

Hatcher,


Więcej informacji znajdziesz w Wikipedii MTA:

PL/onClientClick



Więcej informacji znajdziesz w Wikipedii MTA:

triggerServerEvent


Nawet Ci pomog? w kwestii drugiego:

Kod:


Optional Arguments
arguments...: A list of arguments to trigger with the event. You can pass any lua data type (except functions). You can also pass elements.


Zwyk?e sprawdzanie czy pozycja myszki gracza znajduje si? w takim po?o?eniu. Aby zapobiedz wywo?ywaniu danej funkcji proponuj? doda? zmienn? true albo false. Je?eli jest true zdarzenie si? wywo?a;


Niestety zrobi?em jak napisa?e?, lecz dalej nie dzia?a. :look:

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-10-15, 15:38


Atroth







Wiek: 23
Na forum: 3677 dni
Posty: 1089
Nick w MP: Atroth

Piwa: 4808

Respekt: 540
Respekt: 540

Hatcher, Mo?e podaj kod?

Podpis

Użytkownik - 10-05-2016
Support Team - 17.06.2017
Moderator - 25.11.2017
Mod-Team - 02.07.2018

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-10-16, 18:51


Hatcher







Wiek: 27
Na forum: 3274 dni
Posty: 6
Nick w MP: JanuszBiznesu

Piwa: 1

Respekt: 50

"_Mike" napisał/a:

Hatcher, Mo?e podaj kod?


Kod niewiele si? zmieni?, m?g?by? mi to wyt?umaczy? na czym to polega dok?adnie? Z g?ry dzi?ki. Bo ja w tematach triggerEvent?w ma?o pojmuje.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-10-16, 19:10


Atroth







Wiek: 23
Na forum: 3677 dni
Posty: 1089
Nick w MP: Atroth

Piwa: 4808

Respekt: 540
Respekt: 540

Hatcher,

Nie jestem najlepszym nauczycielem Lua, a co dopiero co? wyt?umaczy? w tym. Postaram si? co? powiedzie?. Uczy? musisz si? z wiki. Bez angielskiego ani rusz.


addEventHandler("onClientClick",root,function(btn,state)


Tak wygl?da eventHandler. Do niego dajesz if'a, kt?ry sprawdza czy pozycja myszki jest w odpowiednim miejscu na ekranie. Je?eli tak wykonujesz triggerServerEvent. Np.


triggerServerEvent("trigger",localPlayer,localPlayer)


Na pocz?tku dajesz nazw? eventu [pierwszy argument]. ?r?d?em eventu b?dzie localPlayer [drugi argument], nast?pnie wysy?asz gracza na stron? serwera [trzeci argument] co daje mo?liwo??:


function funkcja (thePlayer)


Oczywi?cie nie musisz wysy?a? gracza, po s-side mo?esz da? "client".

Kod, kt?ry poda?e? na samym pocz?tku jest do przebudowy. Nie ma sensu stawia? marker po s-side (po stronie c-side wszyscy b?d? go widzie?). Mo?esz marker stworzy? po c-side oraz eventHandler 'onClientMarkerHit'.

Podpis

Użytkownik - 10-05-2016
Support Team - 17.06.2017
Moderator - 25.11.2017
Mod-Team - 02.07.2018

Postaw piwo autorowi tego posta
 

 
Tagi: praca :: gui
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