Wysłany: 2015-08-26, 20:56
jg2aviva1
Rusek :D
Wiek: 25 Na forum: 4134 dni Posty: 445
Nick w MP: _Wolfenstei[N]^.^
Piwa : 1033
Siema. Mam kod na mechanika. I jak uzupe?ni? ten kod odpowiednimi rzeczami to jak wjad? uszkodzonym pojazdem na stanowisku i podejd? do markera to mam informacj? "Na stanowisku naprawczym nie ma ?adnego pojazdu!". Wie kto? o co chodzi?
Dodam, ?e db3 milczy
--[[
@ author Lukasz Biegaj < wielebny @ bestplay . pl >
@ author Karer < karer . programmer @ gmail . com >
@ author RacheT < rachet @ pylife . pl >
@ copyright 2011 - 2013 Lukasz Biegaj < wielebny @ bestplay . pl >
@ license Dual GPLv2 / MIT
@ package MTA - XyzzyRP
@ link https : //github.com/lpiob/MTA-XyzzyRP GitHub
]]--
-- uniwersalny kod wspoldzielony pomiedzy warsztatami
local strefyNapraw ={
-- Doherty
warsztatIdlewoodStanowsko11 ={
cuboid ={- 2056.70 , 176.37 , 28.00 , 9.80 , 5.50 , 5.20 },-- cuboid w ktorym musi znalezc sie pojazd
mpos ={- 2050.63 , 175.93 , 28.00 }, -- pozycja markera w ktorym gracz bedzie stal aby naprawiac
faction_id = 3 , -- id frakcji ktora ma do tego dostep
},
-- Doherty
warsztatIdlewoodStanowsko12 ={
cuboid ={- 2056.72 , 168.30 , 28.00 , 9.80 , 5.50 , 5.20 },-- cuboid w ktorym musi znalezc sie pojazd
mpos ={- 2050.12 , 167.96 , 28.00 }, -- pozycja markera w ktorym gracz bedzie stal aby naprawiac
faction_id = 3 , -- id frakcji ktora ma do tego dostep
},
-- Garcia
warsztatIdlewoodStanowsko13 ={
cuboid ={ - 2331.62 , - 166.85 , 34.5 , 10.0 , 0 , 0 },-- cuboid w ktorym musi znalezc sie pojazd
mpos ={ - 2329.33 , - 163.50 , 34.5 }, -- pozycja markera w ktorym gracz bedzie stal aby naprawiac
faction_id = 3 , -- id frakcji ktora ma do tego dostep
},
}
for i , v in pairs ( strefyNapraw ) do
v . cs = createColCuboid ( unpack ( v . cuboid ))
css = createColCuboid ( - 2304.94 , - 124.98 , 35.32 , 10.0 )
v . marker = createMarker ( v . mpos [ 1 ], v . mpos [ 2 ], v . mpos [ 3 ], "cylinder" , 1 , 0 , 0 , 0 , 100 )
setElementData ( v . marker , "cs" , v . cs )
setElementData ( v . marker , "faction_id" , v . faction_id )
end
-- triggerServerEvent ( "naprawaElementu" , resourceRoot , naprawiany_pojazd , czesc , koszt )
addEvent ( "naprawaElementu" , true )
addEventHandler ( "naprawaElementu" , resourceRoot , function( pojazd , czesc , koszt )
outputDebugString ( "Naprawa elementu " .. czesc .. " za " .. koszt )
takePlayerMoney ( client , koszt )
if koszt > getPlayerMoney ( client ) then
return
end
if ( czesc ==- 1 ) then
-- setElementHealth ( pojazd , 1000 )
local vps ={}
local vds ={}
local vls ={}
for i = 0 , 6 do vps [ i ]= getVehiclePanelState ( pojazd , i ) end
for i = 0 , 3 do vds [ i ]= getVehicleDoorState ( pojazd , i ) end
for i = 0 , 3 do vls [ i ]= getVehicleLightState ( pojazd , i ) end
fixVehicle ( pojazd )
for i = 0 , 6 do setVehiclePanelState ( pojazd , i , vps [ i ]) end
for i = 0 , 3 do setVehicleDoorState ( pojazd , i , vds [ i ]) end
for i = 0 , 3 do setVehicleLightState ( pojazd , i , vls [ i ]) end
triggerClientEvent ( client , "refreshVehicleData" , resourceRoot , pojazd )
elseif czesc >= 0 and czesc <= 6 then
setVehiclePanelState ( pojazd , czesc , 0 )
triggerClientEvent ( client , "refreshVehicleData" , resourceRoot , pojazd )
elseif czesc >= 10 and czesc < 20 then
local drzwi = czesc - 10
setVehicleDoorState ( pojazd , drzwi , 0 )
triggerClientEvent ( client , "refreshVehicleData" , resourceRoot , pojazd )
elseif czesc >= 20 then
local swiatlo = czesc - 20
setVehicleLightState ( pojazd , swiatlo , 0 )
triggerClientEvent ( client , "refreshVehicleData" , resourceRoot , pojazd )
end
end )
--[[
@ author Lukasz Biegaj < wielebny @ bestplay . pl >
@ author RacheT < rachet @ pylife . pl >
@ author karer < karer . programmer @ gmail . com >
@ copyright 2011 - 2013 Lukasz Biegaj < wielebny @ bestplay . pl >
@ license Dual GPLv2 / MIT
@ package MTA - XyzzyRP
@ link https : //github.com/lpiob/MTA-XyzzyRP GitHub
]]--
local punkty_brania_kol ={
-- {- 2042.60 , 162.87 , 28.84 - 0.9 , 1.5 , faction_id = 3 }, -- idlewood
}
local warsztatyid = {
[ 3 ]= true ,
}
for i , v in ipairs ( punkty_brania_kol ) do
v . marker = createMarker ( v [ 1 ], v [ 2 ], v [ 3 ], "cylinder" , v [ 4 ], 0 , 0 , 0 , 100 )
setElementData ( v . marker , "braniekola" , true )
setElementData ( v . marker , "faction:id" , v . faction_id )
end
local function czyPracownikWarsztatu ( gracz )
local lfid = getElementData ( gracz , "faction:id" ) or - 1
if not warsztatyid [ lfid ] then return false end
return true
end
local function najblizszeKolo ( gracz , pojazd )
-- easy peasy
local xg , yg , zg = getElementPosition ( gracz )
local najblizszeKolo = nil
local najblizszeDist = 1000
local x , y , z = getElementPosition ( pojazd )
local _ , _ , rz = getElementRotation ( pojazd )
for i = 1 , 4 do
local rrz = math . rad ( rz + 45 +( i - 1 )* 90 )
local x = x + ( 1 * math . sin (- rrz ))
local y = y + ( 1 * math . cos (- rrz ))
if not najblizszeKolo or getDistanceBetweenPoints2D ( x , y , xg , yg )< najblizszeDist then
najblizszeDist = getDistanceBetweenPoints2D ( x , y , xg , yg )
najblizszeKolo = i
end
end
-- ugly
if not najblizszeKolo then return nil end
if najblizszeKolo == 4 then return 3
elseif najblizszeKolo == 3 then return 4 end
return najblizszeKolo
end
local function zalozKolo ( plr )
local x , y , z = getElementPosition ( plr )
local _ , _ , rz = getElementRotation ( plr )
local rrz = math . rad ( rz )
local x = x + ( 1.5 * math . sin (- rrz ))
local y = y + ( 1.5 * math . cos (- rrz ))
local cs = createColSphere ( x , y , z , 2.5 )
local pojazdy = getElementsWithinColShape ( cs , "vehicle" )
destroyElement ( cs )
if ( #pojazdy~=1) then
return false
end
-- okreslamy , kolo ktorego kola jest gracz
local k1 , k2 , k3 , k4 = getVehicleWheelStates ( pojazdy [ 1 ])
if ( k1 == 0 ) and ( k2 == 0 ) and ( k3 == 0 ) and ( k4 == 0 ) then return end
local kolo = najblizszeKolo ( plr , pojazdy [ 1 ])
if not kolo then return end
setPedAnimation ( plr , "MISC" , "pickup_box" , 1 , false , false , true , true )
toggleControl ( plr , "forward" , false )
setTimer ( setPedAnimationProgress , 600 , 1 , plr , "pickup_box" , 0.5 )
setElementData ( plr , "blockSettingAnimation" , true ) -- blokujemy ENTER
if kolo == 1 then
k1 = 0
elseif kolo == 2 then
k2 = 0
elseif kolo == 3 then
k3 = 0
elseif kolo == 4 then
k4 = 0
end
setTimer ( setPedAnimation , 9000 , 1 , plr , "ped" , "phone_in" )
setTimer ( setPedAnimation , 9300 , 1 , plr )
setTimer ( setVehicleWheelStates , 9000 , 1 , pojazdy [ 1 ], k1 , k2 , k3 , k4 )
setTimer ( setElementData , 9000 , 1 , plr , "blockSettingAnimation" , true )
setTimer ( toggleControl , 9000 , 1 , plr , "forward" , true )
zabierzKolo ( plr , 9000 )
end
function zabierzKolo ( el , delay )
local niesionyObiekt = getElementData ( el , "niesioneKolo" )
if niesionyObiekt then
if isElement ( niesionyObiekt ) then
if delay then
setTimer ( destroyElement , delay , 1 , niesionyObiekt )
else
destroyElement ( niesionyObiekt )
end
end
removeElementData ( el , "niesioneKolo" )
setPedWalkingStyle ( el , 0 )
unbindKey ( el , "fire" , "down" , zalozKolo )
return true
end
return false
end
addEventHandler ( "onMarkerHit" , resourceRoot , function( el , md )
if not md or getElementType ( el )~= "player" then return end
if not czyPracownikWarsztatu ( el ) then return end
if not getElementData ( source , "braniekola" ) then return end
if getElementData ( source , "faction:id" ) ~= getElementData ( el , "faction:id" ) then return end
if zabierzKolo ( el ) then return end
local kolo = createObject ( 1098 , 0 , 0 , 0 )
setObjectScale ( kolo , 0.7 )
setElementData ( el , "niesioneKolo" , kolo , false )
-- attachElements ( kolo , el , 0 , 0.4 ,- 0.2 , 0 , 0 , 90 )
bindKey ( el , "fire" , "down" , zalozKolo )
exports [ "bone_attach" ]: attachElementToBone ( kolo , el , 11 , 0.1 ,- 0.1 , 0 )
setPedWalkingStyle ( el , 66 )
end )
pickup = createPickup ( - 2041.72986 , 158.42293 , 28.83594 , 3 , 1275 , 0 , 0 )
setElementDimension ( pickup , 0 )
addEventHandler ( "onPickupHit" , pickup , function( element )
if isObjectInACLGroup ( "user." .. getAccountName ( getPlayerAccount ( element ) ), aclGetGroup ( "Mechanik" ) ) then
cywilt = getTeamFromName ( "CYWILE" )
setPlayerTeam ( element , cywilt )
if getAccountData ( getPlayerAccount ( element ), "stary:skin" ) then
id = tonumber ( getAccountData ( getPlayerAccount ( element ), "stary:skin" ) )
setElementModel ( element , id )
setAccountData ( getPlayerAccount ( element ), "stary:skin" , false )
else
skin = tonumber ( getElementModel ( element ) )
setAccountData ( getPlayerAccount ( element ), "stary:skin" , skin )
setElementModel ( element , 50 )
end
end
end )-- POGO !!!
--[[
myMarker3 = createMarker ( - 2039.64 , 174.76 , 28.84 - 0.9 , 'cylinder' , 1 , 0 , 0 , 0 )
bra3 = createObject ( 11416 , - 2038.88 , 178.76 , 29.84 , 0 , 0 , 0 )
function MarkerHit3 ( hitPlayer , matchingDimension )
local playera = hitPlayer
local easing = "OutBounce"
local time = 5000
if getElementType ( playera ) == "player" then
if isObjectInACLGroup ( 'user.' .. getAccountName ( getPlayerAccount ( playera ) ), aclGetGroup ( "Mechanik" ) ) then
moveObject ( bra3 , time , - 2038.88 , 178.76 , 29.84 - 5.5 , 0 , 0 , 0 , easing )
end
end
end
function MarkerLeave3 ()
local easing2 = "OutBounce"
local time = 5000
moveObject ( bra3 , time , - 2038.88 , 178.76 , 29.84 , 0 , 0 , 0 , easing2 )
end
addEventHandler ( "onMarkerHit" , myMarker3 , MarkerHit3 )
addEventHandler ( "onMarkerLeave" , myMarker3 , MarkerLeave3 )
--]]
local pojazdyPubliczne = {
{ 525 , - 2053.08 , 146.19 , 28.71 , 358.1 , 0.0 , 179.4 },
{ 525 , - 2047.16 , 146.22 , 28.72 , 358.2 , 360.0 , 180.0 },
}
for i , v in ipairs ( pojazdyPubliczne ) do
local pojazd = createVehicle ( v [ 1 ], v [ 2 ], v [ 3 ], v [ 4 ], v [ 5 ], v [ 6 ], v [ 7 ])
setElementData ( pojazd , "pojazd_opis" , "Mech #" .. i .. "" )
setElementFrozen ( pojazd , true )
setElementData ( pojazd , "pojazd_paliwo" , 100 )
end
addEventHandler ( "onVehicleStartEnter" , resourceRoot , function( plr , seat )
if seat == 0 then
local accountName = getAccountName ( getPlayerAccount ( plr ))
if isObjectInACLGroup ( "user." .. accountName , aclGetGroup ( "Mechanik" )) then return end
outputChatBox ( "* Nie jeste? pracownikiem." , plr , 255 , 0 , 0 )
cancelEvent ()
return
end
end )
addEventHandler ( "onVehicleEnter" , resourceRoot , function( plr , seat )
if seat == 0 then
setElementFrozen ( source , false )
setElementData ( source , "pojazd_paliwo" , 100 )
end
end )
Podpis
GTAO Member: 2015-08-23, 14:26
Wysłany: 2015-08-26, 21:07
BlackTen
LUA Dev.
Wiek: 28 Na forum: 4329 dni Posty: 698
Piwa : 2080
Wysłany: 2015-08-26, 21:14
jg2aviva1
Rusek :D
Wiek: 25 Na forum: 4134 dni Posty: 445
Nick w MP: _Wolfenstei[N]^.^
Piwa : 1033
Wysłany: 2015-08-26, 21:16
BlackTen
LUA Dev.
Wiek: 28 Na forum: 4329 dni Posty: 698
Piwa : 2080
Wysłany: 2015-08-26, 21:16
Fanciak
BOT
Wiek: 25 Na forum: 4446 dni Posty: 728
Nick w MP: Fanciak
Piwa : 1572
Masz skrypt tzw. "runcode"? Jezeli nie to go pobierz z community i uruchom na serwie. Po uruchomieniu otworz konsole (F8) i wpisz:
srun setDevelopmentMode(true)
Jezeli wpisales to i sie wyswietlil rozowy tekst na czacie to teraz wpisz komende /showcol 1 i widzisz cuboidy.
@Down literowa... Wybacz
Ostatnio zmieniony przez Fanciak 2015-08-26, 21:20, w całości zmieniany 1 raz
Wysłany: 2015-08-26, 21:19
#404
Wiek: 26 Na forum: 4771 dni Posty: 1438
Piwa : 2512
"Fanciak" napisał/a :
srun setDevelopmentMode(true)
Je?eli masz ?le pomaga?, lepiej si? nie udzielaj... Ta funkcja jest po stronie Client'a, czyli crun...
Wysłany: 2015-08-26, 21:20
jg2aviva1
Rusek :D
Wiek: 25 Na forum: 4134 dni Posty: 445
Nick w MP: _Wolfenstei[N]^.^
Piwa : 1033
Wysłany: 2015-08-26, 21:24
Fanciak
BOT
Wiek: 25 Na forum: 4446 dni Posty: 728
Nick w MP: Fanciak
Piwa : 1572
jg2aviva1 ,
css = createColCuboid ( - 2304.94 , - 124.98 , 35.32 , 10 , 5 , 4 )
Pokombinuj z trzema ostatnimi argumentami - popatrz jak to widac na /showcol 1
Wysłany: 2015-08-26, 21:25
jg2aviva1
Rusek :D
Wiek: 25 Na forum: 4134 dni Posty: 445
Nick w MP: _Wolfenstei[N]^.^
Piwa : 1033
Wysłany: 2015-08-26, 21:38
Fanciak
BOT
Wiek: 25 Na forum: 4446 dni Posty: 728
Nick w MP: Fanciak
Piwa : 1572
Runcode powinien juz by? wgrany automatycznie. Zobacz, czy nie ma /start runcode
Wysłany: 2015-08-26, 21:49
BlackTen
LUA Dev.
Wiek: 28 Na forum: 4329 dni Posty: 698
Piwa : 2080
coleditor jest banalny jezeli ogarniesz to klikasz enter/spacje nie pamietam i potem masz kordy i wysokosc,szerokosc,dlugosc i to kopiujesz itd ;/
Wysłany: 2015-08-26, 21:51
jg2aviva1
Rusek :D
Wiek: 25 Na forum: 4134 dni Posty: 445
Nick w MP: _Wolfenstei[N]^.^
Piwa : 1033
Wysłany: 2015-08-26, 21:53
Dexnes_
Tiger
Wiek: 26 Na forum: 4401 dni Posty: 620
Nick w MP: Dexnes
Piwa : 1394
Wysłany: 2015-08-26, 21:57
jg2aviva1
Rusek :D
Wiek: 25 Na forum: 4134 dni Posty: 445
Nick w MP: _Wolfenstei[N]^.^
Piwa : 1033
Wysłany: 2015-08-26, 22:03
Fanciak
BOT
Wiek: 25 Na forum: 4446 dni Posty: 728
Nick w MP: Fanciak
Piwa : 1572
W runcode u?ywasz funkcji z mta.
NP. createVehice, createPed itd.
srun - strona serwera
crun - strona clienta
Tagi: mechanik
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: