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: 4388 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.29, 0.24, 0.30, 0.20, "", true)
    guiWindowSetSizable(GUIEditor.window[4], false)
    guiSetVisible(GUIEditor.window[4], false)

    bAccept = guiCreateMemo(0.08, 0.20, 0.40, 0.20, "", true, GUIEditor.window[4])
        
        bAccept = guiCreateButton(0.60, 0.20, 0.20, 0.15, "ZACZNIJ PRAC?", true, GUIEditor.window[4])
        guiSetFont(GUIEditor.button[4], "sa-header")
        guiSetProperty(GUIEditor.button[4], "NormalTextColour", "FFAAAAAA")
        addEventHandler("onClientGUIClick", bAccept, showGUIbf, false)
        addEventHandler("onClientGUIClick", bAccept, joinTeam, false)
        
        bClose = guiCreateButton(0.60, 0.40, 0.20, 0.15, "ZAMKNIJ", true, GUIEditor.window[4])
        guiSetProperty(bClose, "NormalTextColour", "FFAAAAAA") 
        addEventHandler("onClientGUIClick", bClose, showGUIbf, false)
        
        
        
    end
)

local marker1 = createMarker(1930.067, -1992.471, 12.6, "cylinder", 1, 255, 0, 0, 150)


local marker2 = createMarker(1933.02, -2001, 12.6, "cylinder", 4, 0, 255, 0, 150)              


addEventHandler( "onClientResourceStart", getRootElement( ),
    function ( startedRes )
    createBlipAttachedTo( marker1, 27);
    end
);

function showGUIbt(hitElement)
 if getElementType(hitElement) == "player" and (hitElement == localPlayer) then
 guiSetVisible(GUIEditor.window[4], true)
 showCursor( true )
 marker2 = createMarker(1933.02, -2001, 12.6, "cylinder", 4, 0, 255, 0, 150) 
 end
 end
 addEventHandler("onClientMarkerHit", marker1, showGUIbt) 

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
Grupa= createTeam("Mechanik",0,255,160)

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

function teamSet ( )
    local team = getTeamFromName ( "Mechanik" )
    if team then
        setPlayerTeam ( source, team )
        setPlayerNametagColor ( source, 0, 255, 0 )
        setElementModel(source, 50)
            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", root, teamSet )


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

function fix ()
car = getPedOccupiedVehicle(source)
if allowedTeams[getTeamName(getPlayerTeam(source))] and getElementHealth(car) < 999 then
price = 1001 - getElementHealth(car) 
givePlayerMoney(source, price*2)
fixVehicle(car)
outputChatBox("Naprawi?e?/a? ten pojazd!", source, 0, 255, 0)
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: 3908 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: 4388 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: 4028 dni
Posty: 182
Nick w MP: .:Patrix:.

Piwa: 953

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: 4388 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 » Skrypt na mechanika -trochę się pogubiłem 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