Wysłany: 2016-02-17, 23:32
SzczepSon1204
Wiek: 29 Na forum: 4247 dni Posty: 24
Nick w MP: SzczepSon
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.
Wysłany: 2016-02-18, 08:30
TheGuruPolska
Wiek: 36 Na forum: 3766 dni Posty: 65
Nick w MP: TheGuru
Piwa : 47
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
Wysłany: 2016-02-18, 14:39
SzczepSon1204
Wiek: 29 Na forum: 4247 dni Posty: 24
Nick w MP: SzczepSon
Wiki jest u mnie otwarte przez ca?y czas
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.
Wysłany: 2016-02-18, 15:16
Patrix100
Amator LUA.
Wiek: 26 Na forum: 3887 dni Posty: 182
Nick w MP: .:Patrix:.
Piwa : 952
isObjectInACLGroup - przypisanie komend itp do acl
Podpis
Pomogłem? Wystarczy że podziękujesz albo dasz respekt
Wole respekt niz piwka
Wysłany: 2016-02-18, 16:22
SzczepSon1204
Wiek: 29 Na forum: 4247 dni Posty: 24
Nick w MP: SzczepSon
B?dzie du?o zabawy ju? mi si? podoba
Jakby co to licz? na wsparcie
A teraz id? pr?bowa?.
Tagi: skrypt :: mechanika :: -trochę :: się :: pogubiłem
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: