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

Wysłany: 2016-02-17, 23:32


SzczepSon1204







Wiek: 29
Na forum: 4247 dni
Posty: 24
Nick w MP: SzczepSon



Respekt: 50

Ot?? troch? si? pogubi?em i nie wszystko mi dzia?a jak powinno.

Za?o?enia s? takie:
Marker1 - tworzy GUI z "rozpocznij prac?" (to daje mi skina i dodaje do grupy mechanik)

Marker2 - pojawia si? dopiero gdy zaczn? prac?, gdy wjad? w niego pojazdem powinno si? pokaza? drugie okienko GUI(Napraw/wyjdz) i dopiero wtedy mi naprawia auto.

Brakuje mi paru opcji, jakby kto? m?g?by mnie nakierowa?:
- opcja w GUI dla "Zako?cz prac?" + powr?t do porzedniego skina(potrzebna baza danych?)
-marker2 widoczny tylko dla grupy "Mechanik" pojawiaj?cy si? po klikni?ciu "Zacznij prac?"
- nie chcia?bym ?eby dawa?o pieni?dze za napraw?.


CLIENT
GUIEditor = {
    memo = {},
    button = {},
    window = {},
}

addEventHandler("onClientResourceStart"resourceRoot,
    function()
    GUIEditor.window[4] = guiCreateWindow(0.290.240.300.20""true)
    guiWindowSetSizable(GUIEditor.window[4], false)
    guiSetVisible(GUIEditor.window[4], false)

    bAccept guiCreateMemo(0.080.200.400.20""trueGUIEditor.window[4])
        
        bAccept guiCreateButton(0.600.200.200.15"ZACZNIJ PRAC?"trueGUIEditor.window[4])
        guiSetFont(GUIEditor.button[4], "sa-header")
        guiSetProperty(GUIEditor.button[4], "NormalTextColour""FFAAAAAA")
        addEventHandler("onClientGUIClick"bAcceptshowGUIbffalse)
        addEventHandler("onClientGUIClick"bAcceptjoinTeamfalse)
        
        bClose guiCreateButton(0.600.400.200.15"ZAMKNIJ"trueGUIEditor.window[4])
        guiSetProperty(bClose"NormalTextColour""FFAAAAAA") 
        addEventHandler("onClientGUIClick"bCloseshowGUIbffalse)
        
        
        
    end
)

local marker1 createMarker(1930.067, -1992.47112.6"cylinder"125500150)


local marker2 createMarker(1933.02, -200112.6"cylinder"402550150)              


addEventHandler"onClientResourceStart"getRootElement( ),
    function ( startedRes )
    createBlipAttachedTomarker127);
    end
);

function showGUIbt(hitElement)
 if getElementType(hitElement) == "player" and (hitElement == localPlayerthen
 guiSetVisible(GUIEditor.window[4], true)
 showCursortrue )
 marker2 createMarker(1933.02, -200112.6"cylinder"402550150) 
 end
 end
 addEventHandler("onClientMarkerHit"marker1showGUIbt) 

function showGUIbf()
    guiSetVisible (GUIEditor.window[4], false )
    showCursor false )
end



function joinTeam()
    triggerServerEvent("grupa123"localPlayer"teamSet")
end

function fix()
    triggerServerEvent("napraw1"localPlayer"fix")
end                                                        


-- Nie do ko?ca mi wychodzi tworzenie drugiego GUI dla tego fix
-- Trigger powinien i?? od przycisku "napraw1" do funkcji fix po stronie serwera
SERVER
GrupacreateTeam("Mechanik",0,255,160)

miqTeams = { [Grupa] = true }
miqVehs = { [525] = true }

function teamSet ( )
    local team getTeamFromName "Mechanik" )
    if team then
        setPlayerTeam sourceteam )
        setPlayerNametagColor source0255)
        setElementModel(source50)
            outputChatBox("Zacz??e? prac? jako Mechanik"thePlayer)
        else
            local teamw getTeamFromName "Mechanik" )
            if teamw then
            cancelEvent()
            outputChatBox("You are already a Mechanic!"source)
        end
    end
end
addEvent "grupa123"true)
addEventHandler "grupa123"rootteamSet )


local allowedTeams = { 
["Mechanics"] = true,
["Mechanik"] = true,
}

function fix ()
car getPedOccupiedVehicle(source)
if allowedTeams[getTeamName(getPlayerTeam(source))] and getElementHealth(car) < 999 then
price 1001 getElementHealth(cargivePlayerMoney(sourceprice*2)
fixVehicle(car)
outputChatBox("Naprawi?e?/a? ten pojazd!"source02550)
end
end
addEvent ("napraw1"true)
addEventHandler ("napraw1"getRootElement(), fix)


Najch?tniej przytuli?bym fragmenty gotowca + obja?nienie. Ale szanuj? wasz czas, wi?c uciesz? si? nawet z suchych wskaz?wek.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-02-18, 08:30


TheGuruPolska







Wiek: 36
Na forum: 3766 dni
Posty: 65
Nick w MP: TheGuru

Piwa: 47

Respekt: 50

Hmmm marker po stronie clienta to nie najlepsze rozwi?zanie.

Zachowanie skina:

Kod:

addEventHandler("onClientMarkerHit",marker1,
function(hitElement)
local poprzedniskin = getElementModel(hitElement)
setElementData(hitElement,"prvsskin",poprzedniskin)
end)


Puzniej tylko to wykorzystujesz jak gracz skonczy prace.

Usu? "local marker2 = createMarker........." i daj tam "marker2 = nil"

Polecam skorzysta? z wiki.mtasa.com

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-02-18, 14:39


SzczepSon1204







Wiek: 29
Na forum: 4247 dni
Posty: 24
Nick w MP: SzczepSon



Respekt: 50

Wiki jest u mnie otwarte przez ca?y czas :D
Z tym skinem w sumie na to bym nie wpad?, zaraz przetestuj?.
Wczoraj jeszcze wieczorem troch? posiedzia?em i obecnie jest tak.

2 markery s? bez r??nicy czy jest si? mechanikiem czy nie.
Dzia?a mi ju? naprawianie, ale ka?dy mo?e to robi?.

Dzi? spr?buj? troch? upro?ci? kod, bo odrobin? ju? si? gubi?...

PS. Marker po stronie klienta to z?y pomys?? Chcia?em ?eby marker2 pojawia? si? tyko dla osoby kt?ra bedzie mechanikiem.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-02-18, 15:16


Patrix100

Amator LUA.






Wiek: 26
Na forum: 3887 dni
Posty: 182
Nick w MP: .:Patrix:.

Piwa: 952

Respekt: 40,5

isObjectInACLGroup - przypisanie komend itp do acl

Podpis
Pomogłem? Wystarczy że podziękujesz albo dasz respekt :D
Wole respekt niz piwka :P
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-02-18, 16:22


SzczepSon1204







Wiek: 29
Na forum: 4247 dni
Posty: 24
Nick w MP: SzczepSon



Respekt: 50

B?dzie du?o zabawy :D ju? mi si? podoba
Jakby co to licz? na wsparcie

A teraz id? pr?bowa?.

Postaw piwo autorowi tego posta
 

 
Tagi: skrypt :: mechanika :: -trochę :: się :: pogubiłem
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