Wysłany: 2016-11-06, 14:17
polaczkos
Wiek: 25 Na forum: 4085 dni Posty: 168
Nick w MP: polaczkos
Piwa : 3
prosze o pomoc z przecho bo mam b?ad w 62 linijce z salon:zapis_aut_s
Kod:
--SQL LITE
handler = dbConnect("sqlite", "przechowywalnia.db")
dbExec(handler, "CREATE TABLE IF NOT EXISTS `przechowywalnia` (`id` INTEGER, `model` INTEGER, `wlasciciel` INTEGER)")
function onStartPrzechowywalnia()
--marker
local maly = createMarker( 1937.29,2333.67,10.82-0.9, "cylinder", 1, 255, 0, 0, 45)
local maly2 = createMarker( 1547.18,-2416.65,13.55-0.9, "cylinder", 1, 255, 0, 0, 45)
addEventHandler("onMarkerHit", maly, onPrzechowywalniaHit)
addEventHandler("onMarkerHit", maly2, onPrzechowywalniaHit2)
duzy = createMarker( 1936.92,2337.58,10.82-0.8, "cylinder", 9.5, 0, 71, 255, 75)
duzy2 = createMarker( 1556.92,-2416.05,13.55-0.8, "cylinder", 9.5, 0, 71, 255, 75)
end
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), onStartPrzechowywalnia)
function onPrzechowywalniaHit(hitElement)
if getElementType(hitElement) == "player" then
local acc = getPlayerAccount(hitElement)
if acc then
local veh = getPedOccupiedVehicle(hitElement)
if not veh then
local login = getAccountName(acc)
local query = dbQuery(handler, "SELECT * FROM przechowywalnia WHERE wlasciciel='"..login.."'")
local result, rows = dbPoll (query, -1)
triggerClientEvent(hitElement, "showPrzechowywalniaGUI", root, result or {})
end
end
end
end
function onPrzechowywalniaHit2(hitElement)
if getElementType(hitElement) == "player" then
local acc = getPlayerAccount(hitElement)
if acc then
local veh = getPedOccupiedVehicle(hitElement)
if not veh then
local login = getAccountName(acc)
local query = dbQuery(handler, "SELECT * FROM przechowywalnia WHERE wlasciciel='"..login.."'")
local result, rows = dbPoll (query, -1)
triggerClientEvent(hitElement, "showPrzechowywalniaGUI2", root, result or {})
end
end
end
end
addEvent("onPrzywrocPojazdZPrzechowywalni", true)
addEventHandler("onPrzywrocPojazdZPrzechowywalni", getRootElement(),
function(id)
local query = dbQuery(handler, "SELECT * FROM przechowywalnia WHERE id='"..id.."'")
local result, rows = dbPoll (query, -1)
local hajs = getPlayerMoney(source)
koszt = 200
if #result > 0 then
dbExec(handler, "DELETE FROM przechowywalnia WHERE id='"..id.."'")
local x, y, z = getElementPosition(duzy)
local zrob = exports.Salon:zapis_aut_s(id, x, y, z)
if zrob then
takePlayerMoney ( source, tonumber(koszt) )
outputChatBox("Z twojego konta pobrano "..koszt.."$ za przechowywanie pojazdu, ?yczymy mi?ej jazdy!", source)
warpPedIntoVehicle(source, zrob)
setVehiclePlateText( zrob, id )
else
outputChatBox("Podane auto nie istnieje.", source, 255, 255, 255, true)
end
end
end)
addEvent("onPrzywrocPojazdZPrzechowywalni2", true)
addEventHandler("onPrzywrocPojazdZPrzechowywalni2", getRootElement(),
function(id)
local query = dbQuery(handler, "SELECT * FROM przechowywalnia WHERE id='"..id.."'")
local result, rows = dbPoll (query, -1)
local hajs = getPlayerMoney(source)
koszt = 200
if #result > 0 then
dbExec(handler, "DELETE FROM przechowywalnia WHERE id='"..id.."'")
local x, y, z = getElementPosition(duzy2)
local zrob = exports.Salon:zapis_aut_s(id, x, y, z)
if zrob then
takePlayerMoney ( source, tonumber(koszt) )
outputChatBox("Z twojego konta pobrano "..koszt.."$ za przechowywanie pojazdu, ?yczymy mi?ej jazdy!", source)
warpPedIntoVehicle(source, zrob)
setVehiclePlateText( zrob, id )
else
outputChatBox("Podane auto nie istnieje.", source, 255, 255, 255, true)
end
end
end)
function czyPojazdJestWPrzechowywalni(id)
local query = dbQuery(handler, "SELECT * FROM przechowywalnia WHERE id='"..id.."'")
local result, rows = dbPoll (query, -1)
if #result > 0 then
return true
else
return false
end
end
--##
timery = {}
function onPrzechoVehExit(player, seat)
if isElementWithinMarker(source, duzy) then
if seat == 0 then
local id = getElementData(source, "car_id")
if id then
timery[id] = setTimer(oddajPojazdDoPrzechowywalni, 5000, 1, source, player, id, true)
end
end
end
end
addEventHandler("onVehicleExit", getRootElement(), onPrzechoVehExit)
function onPrzechoVehExit(player, seat)
if isElementWithinMarker(source, duzy2) then
if seat == 0 then
local id = getElementData(source, "car_id")
if id then
timery[id] = setTimer(oddajPojazdDoPrzechowywalni, 5000, 1, source, player, id, true)
end
end
end
end
addEventHandler("onVehicleExit", getRootElement(), onPrzechoVehExit)
function oddajPojazdDoPrzechowywalni(veh, player, id, bool)
if isElement(veh) then
local acc = getPlayerAccount(player)
if acc or source then
local wlasciciel = getElementData(veh, "car_owner")
local model = getElementModel(veh)
dbExec(handler, "INSERT INTO przechowywalnia VALUES('"..id.."', '"..model.."', '"..wlasciciel.."')")
if isElement(player) then
if bool then
outputChatBox("Tw?j pojazd "..getVehicleName(veh).." zosta? umieszczony w przechowywalni.", player, 255, 255, 255, true)
else
outputChatBox("Odda?e? pojazd "..getVehicleName(veh).." do przechowywalni.", player, 255, 255, 255, true)
end
end
destroyElement(veh)
end
end
end
function komendaDlaAdmina(player)
local acc = getPlayerAccount(player)
if acc then
local login = getAccountName(acc)
if ( hasObjectPermissionTo ( player, "function.kickPlayer", true ) ) then
local veh = getPedOccupiedVehicle(player)
if veh then
local id = getElementData(veh, "car_id")
if id then
oddajPojazdDoPrzechowywalni(veh, player, id)
end
end
end
end
end
addCommandHandler("oddajauto", komendaDlaAdmina)
function notifyAboutExplosion(player)
local acc = getElementData(source, "car_owner")
local id = getElementData(source, "car_id")
if acc then
if id then
oddajPojazdDoPrzechowywalni(source, player, id)
outputChatBox("Tw?j pojazd wybuch?, znajdziesz go w przechowywalni.", source)
end
end
end
addEventHandler("onVehicleExplode", getRootElement(), notifyAboutExplosion)
function onPrzechoVehEnter(player, seat)
if seat == 0 then
local id = getElementData(source, "car_id")
if id then
if isTimer(timery[id]) then
killTimer(timery[id])
end
end
end
end
addEventHandler("onVehicleEnter", getRootElement(), onPrzechoVehEnter)
Więcej szczegółów
Wystawiono 1 piw(a):DubineQ
Wysłany: 2016-11-06, 14:40
amited
Wiek: 26 Na forum: 3714 dni Posty: 1233
Nick w MP: Amited
Piwa : 512
polaczkos , Jaki b??d? I okre?l t? lini? a nie ka?dy musi liczy?....
Wysłany: 2016-11-06, 14:47
polaczkos
Wiek: 25 Na forum: 4085 dni Posty: 168
Nick w MP: polaczkos
Piwa : 3
Kod: local zrob = exports.Salon:zapis_aut_s(id, x, y, z)
w tej linjce jest b??d
Wysłany: 2016-11-06, 15:55
amited
Wiek: 26 Na forum: 3714 dni Posty: 1233
Nick w MP: Amited
Piwa : 512
polaczkos , Ale jaki b??d ? -.-
Podpis
"amited" napisał/a :
Wysłany: 2016-11-06, 17:54
Pawel5321
Szkrypter
Wiek: 36 Na forum: 3809 dni Posty: 237
Nick w MP: Pawell
Piwa : 2315
Nie jestem pewien , ale chyba w exporcie nie mo?na u?ywa? locali.
Ale mo?e zadzia?a z tym:
Je?li w skrypcie Salon w mecie nie masz masz <export function="zapis_aut_s" type="server"/> to dopisz.
Je?li nie b?dzie dzia?a?o spr?buj inny zapis exporta
exports["Salon"]:zapis_aut_s(id, x, y, z)
Wysłany: 2016-11-06, 17:55
polaczkos
Wiek: 25 Na forum: 4085 dni Posty: 168
Nick w MP: polaczkos
Piwa : 3
to jest b?ad
Wysłany: 2016-11-07, 15:16
marcin778
Krytyk serwerów MTA
Wiek: 24 Na forum: 4149 dni Posty: 2268
Nick w MP: Marcineg
Piwa : 4662
Czy na pewno zas?b nazywa si? 'Salon' ? Czy na pewno funkcja, kt?r? eksportujesz nazywa si? 'zapis_aut_s' ?
Wysłany: 2016-11-07, 16:21
polaczkos
Wiek: 25 Na forum: 4085 dni Posty: 168
Nick w MP: polaczkos
Piwa : 3
to jest skrypt na zapis aut
zapis_auta_s.lua
Kod:
handler = dbConnect("sqlite", "pojazdy.db")
--pojazdy
dbExec(handler, "CREATE TABLE IF NOT EXISTS pojazdy (id INTEGER PRIMARY KEY AUTOINCREMENT, wlasciciel TEXT, model INTEGER, x FLOAT, y FLOAT, z FLOAT, rot FLOAT, r1 INTEGER, g1 INTEGER, b1 INTEGER, r2 INTEGER, g2 INTEGER, b2 INTEGER, r3 INTEGER, g3 INTEGER, b3 INTEGER, r4 INTEGER, g4 INTEGER, b4 INTEGER, przebieg FLOAT, paliwo FLOAT)")
dbExec(handler, "CREATE UNIQUE INDEX IF NOT EXISTS IDX_id on pojazdy(id)")
--tuning
dbExec(handler, "CREATE TABLE IF NOT EXISTS tuning (id INTEGER, t0 INTEGER, t1 INTEGER, t2 INTEGER, t3 INTEGER, t4 INTEGER, t5 INTEGER, t6 INTEGER, t7 INTEGER, t8 INTEGER, t9 INTEGER, t10 INTEGER, t11 INTEGER, t12 INTEGER, t13 INTEGER, t14 INTEGER, t15 INTEGER, t16 INTEGER, paintjob INTEGER, hr INTEGER, hg INTEGER, hb INTEGER)")
dbExec(handler, "CREATE UNIQUE INDEX IF NOT EXISTS IDX_id on tuning(id)")
function onStartLoadVehicles()
local query = dbQuery(handler, "SELECT * FROM pojazdy")
local result, num_rows, errormsg = dbPoll (query, -1)
for i,v in pairs(result) do
local veh = createVehicle(v["model"], v["x"], v["y"], v["z"])
setElementRotation(veh, 0, 0, v["rot"])
setVehicleColor(veh, v["ca"], v["cb"], v["cc"])
ustawDanePojazdu(veh, v["id"], v["wlasciciel"])
setVehiclePlateText(veh, "SA "..v["id"])
--ustawiam paliwo i przebieg
setElementData(veh, "pojazd_paliwo", v["paliwo"] or 50)
setElementData(veh, "pojazd_przebieg", v["przebieg"] or 0)
--<< na koncu -->>
local query = dbQuery(handler, "SELECT * FROM tuning WHERE id='"..v["id"].."'")
local result, num_rows, errormsg = dbPoll (query, -1)
setVehiclePaintjob(veh, result[1].paintjob)
setVehicleHeadLightColor(veh, result[1].hr, result[1].hg, result[1].hb)
for i,v in pairs(result) do
for ii, vv in pairs(v) do
if (ii ~= "id" and ii ~= "paintjob" and ii ~= "hr" and ii ~= "hg" and ii ~= "hb") then
local vv = tonumber(vv)
if vv ~= 0 then
addVehicleUpgrade(veh, vv)
end
end
end
end
end
end
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), onStartLoadVehicles)
function ustawDanePojazdu(veh, id, wlasciciel) --id = INT, wlasciciel = STRING
setElementData(veh, "car_id", id)
setElementData(veh, "car_owner", wlasciciel)
end
function onVehicleStartEnter(player, seat, jacked)
if seat == 0 then
local car_owner = getElementData(source, "car_owner")
if car_owner then
local account = getPlayerAccount(player)
if account then
local name = getAccountName(account)
if car_owner == name then
--mamy prawo wejscia do auta
prawo_ = true
end
end
if prawo_ then
--wchodzim
prawo_ = false
else
--sio
cancelEvent()
end
end
end
end
addEventHandler ("onVehicleStartEnter", resourceRoot, onVehicleStartEnter)
--<<ZAPIS POJAZDU-->>
function zapiszPojazdy()
for i,v in pairs(getElementsByType("vehicle")) do
local id = getElementData(v, "car_id")
if id then
local owner = getElementData(v, "car_owner")
local x, y, z = getElementPosition(v)
local _, _, rot = getElementRotation(v)
local r1,g1,b1,r2,g2,b2,r3,g3,b3,r4,g4,b4 = getVehicleColor(v,true)
--local paliwo = getElementData(v, "pojazd_paliwo")
--local przebieg = getElementData(v, "pojazd_przebieg")
dbExec(handler, "UPDATE pojazdy SET x='"..x.."', y='"..y.."', z='"..z.."', rot='"..rot.."', r1='"..r1.."', g1='"..g1.."', b1='"..b1.."', r2='"..r2.."', g2='"..g2.."', b2='"..b2.."', r3='"..r3.."', g3='"..g3.."', b4='"..b3.."', r4='"..r4.."', g4='"..g4.."', b4='"..b4.."' WHERE id='"..id.."'")
local paintjob = getVehiclePaintjob(v)
local r, g, b = getVehicleHeadLightColor(v)
sav = {}
for i=0, 16 do
local upgrade = getVehicleUpgradeOnSlot(v, i)
sav[i] = upgrade or 0
end
dbExec(handler, "UPDATE tuning SET t0='"..sav[0].."', t1='"..sav[1].."', t2='"..sav[2].."', t3='"..sav[3].."', t4='"..sav[4].."', t5='"..sav[5].."', t6='"..sav[6].."', t7='"..sav[7].."', t8='"..sav[8].."', t9='"..sav[9].."', t10='"..sav[10].."', t11='"..sav[11].."', t12='"..sav[12].."', t13='"..sav[13].."', t14='"..sav[14].."', t15='"..sav[15].."', t16='"..sav[16].."', paintjob='"..paintjob.."', hr='"..r.."', hg='"..g.."', hb='"..b.."' WHERE id="..id.."")
sav = nil
end
end
end
setTimer(zapiszPojazdy, 900000, 0)
function zapiszKomenda(player)
local acc = getAccountName (getPlayerAccount(player))
if isObjectInACLGroup ("user."..acc, aclGetGroup ("Admin")) then
zapiszPojazdy()
outputChatBox("** Zapisano pojazdy.", player, 255, 255, 255, true)
end
end
addCommandHandler("zp", zapiszKomenda)
-- mapa, f11
addEvent("pobierzPojazdyGracza", true)
addEventHandler("pobierzPojazdyGracza", getRootElement(),
function()
local account = getPlayerAccount(source)
if account then
local name = getAccountName(account)
local vehs = getVehiclesByOwner(name)
triggerClientEvent(source, "zwrocPojazdyGracza", root, vehs)
end
end)
--
--zwraca pojazd o danym ID
function getVehicleByID(poszukiwane_id)
for i,v in pairs(getElementsByType("vehicle")) do
local id = getElementData(v, "car_id")
if id then
local id = tonumber(id)
local poszukiwane_id = tonumber(poszukiwane_id)
if id == poszukiwane_id then
return v
end
end
end
return false
end
--zwraca pojazdy ktore posiada dany login
function getVehiclesByOwner(szukany)
tab = {}
for i,v in pairs(getElementsByType("vehicle")) do
local owner = getElementData(v, "car_owner")
if owner then
if owner == szukany then
table.insert(tab, v)
end
end
end
return tab
end
--zwraca liczbe pojazdow jaka ma dany login
function getYourVehicleCount(login)
local vehs = getVehiclesByOwner(login)
return #vehs
end
a tu linijka z przecho
Kod: local zrob = exports.zapis_aut_s:vehicle(id, x, y, z)
if zrob then
[ Dodano : 2016-11-07, 16:22 ]
Wysłany: 2016-11-10, 14:44
Pawel5321
Szkrypter
Wiek: 36 Na forum: 3809 dni Posty: 237
Nick w MP: Pawell
Piwa : 2315
Prawdopodobnie w funkcji export masz nazw? skryptu , a nie nazw? dodatku.
Wysłany: 2016-11-10, 20:51
amited
Wiek: 26 Na forum: 3714 dni Posty: 1233
Nick w MP: Amited
Piwa : 512
Podaj ca?y folder z tymi skryptami bo to co da?e? to nie jest zapis aut do przecho tylko zapis aut z poziomu gry kt?re zapisuje x,y,z itp.
Podpis
"amited" napisał/a :
Wysłany: 2016-11-11, 18:07
EvilXmik
Wiek: 28 Na forum: 3620 dni Posty: 148
Nick w MP: EvilXmik
Piwa : 399
Wysłany: 2016-11-11, 18:19
amited
Wiek: 26 Na forum: 3714 dni Posty: 1233
Nick w MP: Amited
Piwa : 512
EvilXmik , To s? dwie r??ne przechowywalnie
Wysłany: 2016-11-11, 20:39
EvilXmik
Wiek: 28 Na forum: 3620 dni Posty: 148
Nick w MP: EvilXmik
Piwa : 399
Jo tylko mia?em podes?a?
Wysłany: 2016-11-11, 21:03
amited
Wiek: 26 Na forum: 3714 dni Posty: 1233
Nick w MP: Amited
Piwa : 512
EvilXmik , Ale t? co jest w temacie
Podpis
"amited" napisał/a :
Wysłany: 2016-11-11, 22:53
EvilXmik
Wiek: 28 Na forum: 3620 dni Posty: 148
Nick w MP: EvilXmik
Piwa : 399
OMG to niech on pode?le m?wil ?eby to podes?a? to podes?a?em....
Tagi: przecho
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: