Wysłany: 2016-08-31, 11:43
P.Wiśnia
Programista LUA
Wiek: 24 Na forum: 4045 dni Posty: 568
Nick w MP: P.Wiśnia
Piwa : 376
Mam problem poniewa? jak dodaje nowego mechanika w garci on nie dzia?a
a inne dzia?aj?
wszystko mam dobrze ustawione.
db3
WARNING: [skrypty_glowne]/Mechanik/naprawas.lua:64: Bad argument @ 'createColCuboid' [Expected number at argument 5, got none]
--[[
@ 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
warsztatIdlewoodStanowsko01 ={
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
warsztatIdlewoodStanowsko02 ={
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
},
-- FordCarson1
warsztatIdlewoodStanowsko11 ={
cuboid ={- 91.00 , 1047.17 , 19.25 , 9.80 , 5.50 , 5.20 },-- cuboid w ktorym musi znalezc sie pojazd
mpos ={- 89.03 , 1045.13 , 18.85 }, -- pozycja markera w ktorym gracz bedzie stal aby naprawiac
faction_id = 3 , -- id frakcji ktora ma do tego dostep
},
-- FordCarson2
warsztatIdlewoodStanowsko12 ={
cuboid ={- 91.00 , 1041.47 , 19.25 , 9.80 , 5.50 , 5.20 },-- cuboid w ktorym musi znalezc sie pojazd
mpos ={- 89.03 , 1039.73 , 18.85 }, -- pozycja markera w ktorym gracz bedzie stal aby naprawiac
faction_id = 3 , -- id frakcji ktora ma do tego dostep
},
-- FordCarson3
warsztatIdlewoodStanowsko13 ={
cuboid ={- 91.00 , 1035.67 , 19.25 , 9.80 , 5.50 , 5.20 },-- cuboid w ktorym musi znalezc sie pojazd
mpos ={- 89.03 , 1033.93 , 18.85 }, -- pozycja markera w ktorym gracz bedzie stal aby naprawiac
faction_id = 3 , -- id frakcji ktora ma do tego dostep
},
-- Garcia
warsztatIdlewoodStanowsko13 ={
cuboid ={- 2284.40 , - 131.27 , 34.35 , 9.80 , 5.50 , 5.20 },-- cuboid w ktorym musi znalezc sie pojazd
mpos ={- 2284.40 , - 133.17 , 34.75 }, -- 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 ={
{- 89.10 , 1024.77 , 18.0 , 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 ( - 94.0 , 1056.02293 , 19.53594 , 3 , 1275 , 0 , 0 )
setElementDimension ( pickup , 0 )
addEventHandler ( "onPickupHit" , pickup , function( element )
if isObjectInACLGroup ( "user." .. getAccountName ( getPlayerAccount ( element ) ), aclGetGroup ( "MechanikFC" ) ) 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 )
pickup1 = createPickup ( - 2041.72986 , 158.42293 , 28.83594 , 3 , 1275 , 0 , 0 )
setElementDimension ( pickup1 , 0 )
addEventHandler ( "onPickupHit" , pickup1 , function( element )
if isObjectInACLGroup ( "user." .. getAccountName ( getPlayerAccount ( element ) ), aclGetGroup ( "MechanikSF" ) ) 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 },
{ 525 , - 100.0 , 1052.99 , 19.91 , 358.1 , 0.0 , 179.4 },
{ 525 , - 100.0 , 1059.99 , 19.91 , 358.1 , 0.0 , 179.4 },
}
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." .. accName , aclGetGroup ( "MechanikSF" ) ) and not isObjectInACLGroup ( "user." .. accName , aclGetGroup ( "MechanikFC" ) ) 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 )
--[[
@ 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
]]--
local w_m ={}
-- utils
function math . round ( number , decimals , method )
decimals = decimals or 0
local factor = 10 ^ decimals
if ( method == "ceil" or method == "floor" ) then return math [ method ]( number * factor ) / factor
else return tonumber (( "%." .. decimals .. "f" ): format ( number )) end
end
function string : split ( sep )
local sep , fields = sep or ":" , {}
local pattern = string . format ( "([^%s]+)" , sep )
self : gsub ( pattern , function( c ) fields [ #fields+1] = c end)
return fields
end
w_m . wnd = guiCreateWindow ( 0.1469 , 0.1667 , 0.7344 , 0.675 , "Panel mechanika" , true )
w_m . btn_napraw = guiCreateButton ( 0.0277 , 0.8395 , 0.3064 , 0.1327 , "Napraw" , true , w_m . wnd )
w_m . btn_zamknij = guiCreateButton ( 0.3427 , 0.8395 , 0.3064 , 0.1327 , "Zamknij" , true , w_m . wnd )
w_m . lbl_info = guiCreateLabel ( 0.6 , 0.8395 , 0.35 , 0.1327 , "" , true , w_m . wnd )
w_m . lbl_costinfo = guiCreateLabel ( 0.6 , 0.8395 , 0.35 , 0.1327 , "" , true , w_m . wnd )
guiLabelSetHorizontalAlign ( w_m . lbl_info , "center" , true )
guiLabelSetVerticalAlign ( w_m . lbl_info , "center" )
w_m . grid = guiCreateGridList ( 0.0298 , 0.0895 , 0.9383 , 0.7191 , true , w_m . wnd )
guiGridListSetSelectionMode ( w_m . grid , 1 )
guiGridListSetSortingEnabled ( w_m . grid , false )
w_m . grid_nazwa = guiGridListAddColumn ( w_m . grid , "Nazwa cz?™?›ci" , 0.3 )
w_m . grid_stan = guiGridListAddColumn ( w_m . grid , "Stan cz?™?›ci" , 0.3 )
w_m . grid_koszt = guiGridListAddColumn ( w_m . grid , "Koszt naprawy" , 0.3 )
guiSetVisible ( w_m . wnd , false )
local naprawiany_pojazd = nil
local function kosztNaprawySilnika ( v )
local vhp = 1000 - getElementHealth ( v )
local cenapojazdu = getVehicleHandling ( v ). monetary or 10000
local przebieg =( 10000 - math . min ( getElementData ( v , "przebieg" ) or 5000 , 9999 ))/ 10000
return vhp / 1000 * cenapojazdu * przebieg * 0.002 -- it 's that simple
end
local function kosztNaprawyElementu(v)
local cenapojazdu=getVehicleHandling(v).monetary or 10000
local przebieg=(10000-math.min(getElementData(v,"przebieg") or 5000,9999))/10000
return cenapojazdu*przebieg*0.002 -- it' s that simple
end
local panele ={
[ 0 ]= "Karoseria lewy prz??d" ,
[ 1 ]= "Karoseria prawy prz??d" ,
[ 2 ]= "Karoseria lewy ty?‚" ,
[ 3 ]= "Karoseria prawy ty?‚" ,
[ 4 ]= "Szyba przednia" ,
[ 5 ]= "Zderzak z przodu" ,
[ 6 ]= "Zderzak z ty?‚u"
}
local stanyPaneli ={
[ 0 ]= "100%" ,
[ 1 ]= "66%" ,
[ 2 ]= "33%" ,
[ 3 ]= "0%" ,
}
local nazwyDrzwi ={
[ 0 ]= "Maska" ,
[ 1 ]= "Baga??nik" ,
[ 2 ]= "Drzwi lewy prz??d" ,
[ 3 ]= "Drzwi prawy prz??d" ,
[ 4 ]= "Drzwi lewy ty?‚" ,
[ 5 ]= "Drzwi prawy ty?‚"
}
local nazwySwiatel ={
[ 0 ]= "??wiat?‚o lewy prz??d" ,
[ 1 ]= "??wiat?‚o prawy prz??d" ,
[ 2 ]= "??wiat?‚o lewy ty?‚" ,
[ 3 ]= "??wiat?‚o prawy ty?‚"
}
local function fillVehicleData ( v )
guiGridListClear ( w_m . grid )
do
if getElementHealth ( v ) ~= 1000 then
local row = guiGridListAddRow ( w_m . grid )
guiGridListSetItemText ( w_m . grid , row , 1 , "Silnik" , false , false )
guiGridListSetItemData ( w_m . grid , row , 1 , - 1 )
guiGridListSetItemText ( w_m . grid , row , 2 , math . round ( getElementHealth ( v )/ 10 ).. "%" , false , true )
guiGridListSetItemText ( w_m . grid , row , 3 , math . round ( math . abs ( kosztNaprawySilnika ( v ))+ 2 ).. "$" , false , true )
end
end
for i , panel in pairs ( panele ) do
local stan = getVehiclePanelState ( v , i )
if stan ~= 0 then
local koszt = kosztNaprawyElementu ( v )*( getVehiclePanelState ( v , i ))/ 6
local row = guiGridListAddRow ( w_m . grid )
guiGridListSetItemText ( w_m . grid , row , 1 , panel , false , false )
guiGridListSetItemData ( w_m . grid , row , 1 , i )
local stan = stanyPaneli [ getVehiclePanelState ( v , i )]
guiGridListSetItemText ( w_m . grid , row , 2 , stan , false , true )
guiGridListSetItemText ( w_m . grid , row , 3 , math . round ( koszt + 2 ).. "$" , false , true )
end
end
-- drzwi
for i = 0 , 5 do
local stan = getVehicleDoorState ( v , i )
if stan == 2 or stan == 3 or stan == 4 then
local koszt = kosztNaprawyElementu ( v )* 2 / 6
local row = guiGridListAddRow ( w_m . grid )
guiGridListSetItemText ( w_m . grid , row , 1 , nazwyDrzwi [ i ], false , false )
guiGridListSetItemData ( w_m . grid , row , 1 , i + 10 )
guiGridListSetItemText ( w_m . grid , row , 2 , "0%" , false , true )
guiGridListSetItemText ( w_m . grid , row , 3 , math . round ( koszt + 2 ).. "$" , false , true )
end
end
for i = 0 , 3 do
local stan = getVehicleLightState ( v , i )
if stan == 1 then
local koszt = kosztNaprawyElementu ( v )* 2 / 6
local row = guiGridListAddRow ( w_m . grid )
guiGridListSetItemText ( w_m . grid , row , 1 , nazwySwiatel [ i ], false , false )
guiGridListSetItemData ( w_m . grid , row , 1 , i + 20 )
guiGridListSetItemText ( w_m . grid , row , 2 , "0%" , false , true )
guiGridListSetItemText ( w_m . grid , row , 3 , math . round ( koszt + 2 ).. "$" , false , true )
end
end
end
addEventHandler ( "onClientMarkerHit" , resourceRoot , function( el , md )
if not md or el ~= localPlayer then return end
local cs = getElementData ( source , "cs" )
if not cs then return end
if getElementData ( source , "braniekola" ) then return end
if getElementModel ( el ) ~= 50 then return end
local pojazdy = getElementsWithinColShape ( cs , "vehicle" )
if #pojazdy<1 then
outputChatBox ( "Na stanowisku naprawczym nie ma ??adnego pojazdu." )
return
end
if #pojazdy>1 then
outputChatBox ( "Na stanowisku naprawczym jest zbyt du??o pojazd??w." )
return
end
allCost = setTimer (function( plr )
end , 1000 , 0 , el )
fillVehicleData ( pojazdy [ 1 ])
showCursor ( true )
guiSetEnabled ( w_m . btn_napraw , false )
guiSetText ( w_m . lbl_info , "" )
guiSetVisible ( w_m . wnd , true )
guiSetText ( w_m . btn_napraw , string . format ( "Napraw (%s)" , getVehicleName ( pojazdy [ 1 ])) )
naprawiany_pojazd = pojazdy [ 1 ]
end )
addEventHandler ( "onClientMarkerLeave" , resourceRoot , function( el , md )
if el ~= localPlayer then return end
guiSetVisible ( w_m . wnd , false )
showCursor ( false )
naprawiany_pojazd = nil
if allCost and isTimer ( allCost ) then killTimer ( allCost ) end
end )
addEventHandler ( "onClientGUIClick" , w_m . btn_zamknij , function()
guiSetVisible ( w_m . wnd , false )
showCursor ( false )
naprawiany_pojazd = nil
if allCost and isTimer ( allCost ) then killTimer ( allCost ) end
end , false )
addEventHandler ( "onClientGUIClick" , w_m . grid , function()
guiSetText ( w_m . lbl_info , "" )
selectedRow = guiGridListGetSelectedItem ( w_m . grid ) or - 1
if ( selectedRow < 0 ) then
guiSetEnabled ( w_m . btn_napraw , false )
return
end
local multirepair = {}
local rows = guiGridListGetSelectedItems ( w_m . grid )
for k , v in ipairs ( rows ) do
if ( k / 3 == math . round ( k / 3 )) then -- kazde 3 wyniki sa takie same , pomijamy je
table . insert ( multirepair , v )
end
end
totalkoszt = 0
for k , v in ipairs ( multirepair ) do
local koszt = guiGridListGetItemText ( w_m . grid , v . row , 3 )
local koszt = koszt : split ( "$" )
local koszt = tonumber ( koszt [ 1 ])
totalkoszt = totalkoszt + koszt
end
guiSetText ( w_m . lbl_info , string . format ( "W sumie do zap?‚aty: %s$" , totalkoszt ))
guiSetEnabled ( w_m . btn_napraw , true )
end )
local napraw_lu = getTickCount ()
addEventHandler ( "onClientGUIClick" , w_m . btn_napraw , function()
if getTickCount ()- napraw_lu < 1000 then return end
if not naprawiany_pojazd or not isElement ( naprawiany_pojazd ) then return end
selectedRow = guiGridListGetSelectedItem ( w_m . grid ) or - 1
if selectedRow < 0 then return end
local rows = guiGridListGetSelectedItems ( w_m . grid )
local multirepair = {}
-- musimy sprawdzic , czy gracz zaznaczyl KILKA rowow , czy JEDEN //karer - takie male udogodnienie
for k , v in ipairs ( rows ) do
if ( k / 3 == math . round ( k / 3 )) then -- kazde 3 wyniki sa takie same , pomijamy je
table . insert ( multirepair , v )
end
end
guiSetText ( w_m . lbl_info , "" )
if #multirepair == 1 then
local koszt = guiGridListGetItemText ( w_m . grid , selectedRow , 3 )
local koszt = koszt : split ( "$" )
local koszt = tonumber ( koszt [ 1 ])
if not koszt then return end
if koszt <= 0 then
guiSetText ( w_m . lbl_info , "Ta cz?™?›?‡ jest sprawna." )
return
end
-- if koszt > getPlayerMoney ( localPlayer ) then
-- guiSetText ( w_m . lbl_info , "Nie masz tyle got??wki!" )
-- return
-- end
local czesc = guiGridListGetItemData ( w_m . grid , selectedRow , 1 ) -- numer panelu lub - 1 == silnik
napraw_lu = getTickCount ()
triggerServerEvent ( "naprawaElementu" , resourceRoot , naprawiany_pojazd , czesc , koszt )
elseif #multirepair > 1 then
for i , v in ipairs ( multirepair ) do
local selectedRow = v . row
local koszt = guiGridListGetItemText ( w_m . grid , selectedRow , 3 )
local koszt = koszt : split ( "$" )
local koszt = tonumber ( koszt [ 1 ])
if not koszt then return end
if koszt <= 0 then
break
end
-- if koszt > getPlayerMoney ( localPlayer ) then
-- guiSetText ( w_m . lbl_info , "Nie masz tyle got??wki!" )
-- return
-- end
local czesc = guiGridListGetItemData ( w_m . grid , selectedRow , 1 ) -- numer panelu lub - 1 == silnik
napraw_lu = getTickCount ()
triggerServerEvent ( "naprawaElementu" , resourceRoot , naprawiany_pojazd , czesc , koszt )
end
else
outputDebugScript ( "lss-naprawapojazdow> inna wartosc countRows, should't happen." )
end
end , false )
-- triggerClientEvent ( client , "refreshVehicleData" , resourceRoot , pojazd )
addEvent ( "refreshVehicleData" , true )
addEventHandler ( "refreshVehicleData" , resourceRoot , function( pojazd )
naprawiany_pojazd = pojazd
fillVehicleData ( pojazd )
end )
Wysłany: 2016-08-31, 19:51
BlackTen
LUA Dev.
Wiek: 28 Na forum: 4329 dni Posty: 698
Piwa : 2080
Masz podane db3 w czym problem...
[ skrypty_glowne ]/ Mechanik / naprawas . lua : 64 : Bad argument @ 'createColCuboid' [ Expected number at argument 5 , got none ]
Nie ma pi?tego arg.
Wysłany: 2016-08-31, 20:07
P.Wiśnia
Programista LUA
Wiek: 24 Na forum: 4045 dni Posty: 568
Nick w MP: P.Wiśnia
Piwa : 376
linijka 64
css=createColCuboid( -2304.94, -124.98, 35.32, 10.0 )
Wysłany: 2016-08-31, 20:09
BlackTen
LUA Dev.
Wiek: 28 Na forum: 4329 dni Posty: 698
Piwa : 2080
Wysłany: 2016-08-31, 20:43
P.Wiśnia
Programista LUA
Wiek: 24 Na forum: 4045 dni Posty: 568
Nick w MP: P.Wiśnia
Piwa : 376
Wysłany: 2016-09-01, 11:27
Emm
***** ***
Wiek: 32 Na forum: 3880 dni Posty: 3191
Nick w MP: Emm
Piwa : 6162
Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .
css = createColCuboid ( - 2304.94 , - 124.98 , 35.32 , 10.0 )
Poczytaj o tej funkcji..
Masz 4 argumenty, a musisz mie? 6.. Dodaj te dwa ostatnie argumenty i b?dzie po k?opocie. Dok?adniej tego si? nie da wyt?umaczy?.
Podpis
Użytkownik : 20.10.2015r
GTAO Member : 06.03.2016r
Support-Team : 20.01.2016r
Moderator : 30.03.2016r
Mod-Team : 08.10.2016r
Vice Admin : 04.05.2018r
Administrator : 03.05.2022r
[you]
! Koniecznie zapoznaj się z
regulaminem forum .
Pamiętaj, aby zawsze go przestrzegać, nie mniej ważne są również
regulaminy działów , w których się wypowiadasz!
Zamiast zakładać temat po kilka razy, bo jest usuwany przez
Administrację , przejrzyj regulamin i napisz poprawnie temat!
Sprawy z administracją możesz załatwiać anonimowo w
tym dziale .
Najważniejsze informacje od
Administracji możesz przeczytać
tutaj oraz
tutaj .
Wysłany: 2016-09-01, 15:16
P.Wiśnia
Programista LUA
Wiek: 24 Na forum: 4045 dni Posty: 568
Nick w MP: P.Wiśnia
Piwa : 376
Nadal to samo
ale gdzie indziej dzia?a
for i , v in pairs ( strefyNapraw ) do
v . cs = createColCuboid ( unpack ( v . cuboid ))
css = createColCuboid ( - 2304.94 , - 124.98 , 35.32 , 10.0 , 0 , 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
Wysłany: 2016-09-10, 10:41
MIKAELmta
Wiek: 24 Na forum: 3979 dni Posty: 311
Piwa : 10617
css = createColCuboid ( - 2304.94 , - 124.98 , 35.32 , 10.0 , 0 , 0 )
Skoro warto?? masz zerow?, to co si? dziwisz, ?e cuboid nie dosi?ga Twojego pojazdu?
Ka?dy argument jest wa?ny dla ca?ego kodu, dlatego te?:
css = createColCuboid ( - 2304.94 , - 124.98 , 35.32 , 10.0 , 10.0 , 10.0 )
Tagi: mechanik :: prob*em
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: