--[[
@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
},
}
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)
Starting Dodatek-Tuning
SCRIPT ERROR: Dodatek-Tuning/s_tuning.lua:21: 'end' expected (to close 'for' at line 17) near '<eof>'
ERROR: Loading script failed: Dodatek-Tuning/s_tuning.lua:21: 'end' expected (to close 'for' at line 17) near '<eof>'
--[[
Resource: OURGame
Developers: Split <split.programista@gmail.com>
Copyright <split.programista@gmail.com> 2015-2016
You have no right to use this code without my permission.
]]
local stanowiskaSwiatla = {
stanowiskoDoherty={
mpos={-2284.75, -138.97, 34.7}, -- marker
cpos={-2284.75, -136.97, 34.7, 13.30, 6.00, 5.20}, -- cuboid
faction_id=3, -- (id) frakcja kt??ra b?™dzie mia?‚a dost?™p
text="Montarz tuningu"
},
}
for i,v in pairs(stanowiskaSwiatla) do
v.cuboid=createColCuboid(unpack(v.cpos))
v.marker=createMarker(v.mpos[1], v.mpos[2], v.mpos[3]-0.60, "cylinder", 1.2, 0, 0, 255, 100)
if isObjectInACLGroup ("user."..getAccountName ( getPlayerAccount ( element ) ), aclGetGroup ( "MechanikSF" ) ) then
end
-[[
Resource: OURGame
Developers: Split <split.programista@gmail.com>
Copyright <split.programista@gmail.com> 2015-2016
You have no right to use this code without my permission.
]]
local stanowiskaSwiatla = {
stanowiskoDoherty={
mpos={-2284.75, -138.97, 34.7}, -- marker
cpos={-2284.75, -136.97, 34.7, 13.30, 6.00, 5.20}, -- cuboid
faction_id=3, -- (id) frakcja kt??ra b?™dzie mia?‚a dost?™p
text="Montarz tuningu"
},
}
for i,v in pairs(stanowiskaSwiatla) do
v.cuboid=createColCuboid(unpack(v.cpos))
v.marker=createMarker(v.mpos[1], v.mpos[2], v.mpos[3]-0.60, "cylinder", 1.2, 0, 0, 255, 100)
if isObjectInACLGroup ("user."..getAccountName ( getPlayerAccount ( element ) ), aclGetGroup ( "MechanikSF" ) ) then
end
end
! 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.
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