Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2015-08-11, 20:04


DaxRel69







Wiek: 30
Na forum: 4107 dni
Posty: 171
Nick w MP: DaxRel

Piwa: 4368

Respekt: 71,5

Ostrzeżeń: 60%
Witam.Mam tu taki skrypt kt?ry mi nie dzia?a co jest z nim nie tak macie link do niego:
http://sendfile.pl/pokaz/455672---rWoc.html

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-11, 20:48


_Haze

Peace Yo!






Wiek: 24
Na forum: 4184 dni
Posty: 1648
Nick w MP: Haze

Piwa: 2628

Respekt: 1020
Respekt: 1020

Daj kod nie chce mi si? pobierac

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-11, 21:01


DaxRel69







Wiek: 30
Na forum: 4107 dni
Posty: 171
Nick w MP: DaxRel

Piwa: 4368

Respekt: 71,5

Ostrzeżeń: 60%
Kod:

Server:
--baza danych SQL Lite
local handler = dbConnect("sqlite", "pojazdy.db")

dbExec(handler, "CREATE TABLE IF NOT EXISTS pojazdy (wlasciciel varchar, id INT, x VARCHAR, y VARCHAR, z VARCHAR, rotx VARCHAR, roty VARCHAR, rotz VARCHAR, parking VARCHAR, kolor1 INT, kolor2 INT)")
dbExec(handler, "CREATE INDEX IF NOT EXISTS IDX_pojazdy on pojazdy(wlasciciel)")

dbExec(handler, "CREATE TABLE IF NOT EXISTS parkingi (id varchar, x VARCHAR, y VARCHAR, z VARCHAR)")
dbExec(handler, "CREATE INDEX IF NOT EXISTS IDX_parkingi on parkingi(id)")

addEvent("rejestrujPojazd", true)
addEventHandler("rejestrujPojazd", getRootElement(),
function(gracz)
local gracz = getPlayerFromName(gracz)
if gracz then
local pojazd = getPedOccupiedVehicle(gracz)
if pojazd then
if (getVehicleController(pojazd) == gracz) then --je?li kierowca pojazdu jest wybrany gracz
local get = getElementData(pojazd, "car:x")
if get == false then
local wlasciciel = getAccountName(getPlayerAccount(gracz))
local query = dbQuery(handler, "SELECT * FROM pojazdy WHERE wlasciciel=?", wlasciciel)
local result, num_affected_rows, errmsg = dbPoll (query, -1)
if (num_affected_rows < 12) then --maks dwa auta
local id = getElementModel(pojazd)
local x, y, z = getElementPosition(pojazd)
local rx, ry, rz = getElementRotation(pojazd)
local kolor1, kolor2, kolor3, kolor4 = getVehicleColor(pojazd)
dbExec(handler, "INSERT INTO pojazdy VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", wlasciciel, id, x, y, z, rx, ry, rz, "", kolor1, kolor2)
setElementData(pojazd, "car:x", x) --zapisujemy wspolrzedna x, bedzie s?uzyla jako jego identyfikator
outputChatBox("Zarejejstrowa?e? pojazd - "..getVehicleName(pojazd)..", w?a?ciciel: "..wlasciciel..".", source, 230, 230, 230, true)
outputChatBox("Tw?j pojazd zosta? zarejestrowany. Sw?j pojazd mo?esz parkowa? w specjelnie wyznaczonych strefach.", gracz, 230, 230, 230, true)
else
outputChatBox("Wybrany gracz mo?e posiada? maksymalnie dwa zarejestrowane pojazdy.", source, 230, 230, 230, true)
end
else
outputChatBox("Ten pojazd jest ju? zarejestrowany.", source, 230, 230, 230, true)
end
end
end
end
end)

--
function onEnterCar(player, seat, jacked)
if (seat == 0) then
local id = getElementData(source, "car:x")
if id then
local query = dbQuery(handler, "SELECT * FROM pojazdy WHERE x=?", id)
local result, num_affected_rows, errmsg = dbPoll (query, -1)
if (num_affected_rows >= 1) then
local wlasciciel = result[1].wlasciciel
local konto = getAccountName(getPlayerAccount(player))
if (wlasciciel ~= konto) then --jesli to nie nasz pojazd
cancelEvent() --blokujemy wejscie do tego pojazdu
outputChatBox("Nie jeste? w?a?cicielem tego pojazdu.", source)
end
end
end
end
end
addEventHandler ("onVehicleStartEnter", getRootElement(), onEnterCar)

function onEnterCar(player, seat, jacked)
if (seat == 0) then
local id = getElementData(source, "car:x")
if id then
local query = dbQuery(handler, "SELECT * FROM pojazdy WHERE x=?", id)
local result, num_affected_rows, errmsg = dbPoll (query, -1)
if (num_affected_rows >= 1) then
local wlasciciel = result[1].wlasciciel
local konto = getAccountName(getPlayerAccount(player))
if (wlasciciel ~= konto) then --jesli to nie nasz pojazd
removePedFromVehicle(player)
end
end
end
end
end
addEventHandler ("onVehicleEnter", getRootElement(), onEnterCar)


--tworzenie parkingow dla administratorow
addCommandHandler("sp",
function(player)
local acc = getAccountName (getPlayerAccount (player))
if isObjectInACLGroup ("user."..acc, aclGetGroup ("Rcon")) then
local id = generateID() --funkcja generuje id parkingu
local x, y, z = getElementPosition(player)
dbExec(handler, "INSERT INTO parkingi VALUES (?, ?, ?, ?)", id, x, y, z)
marker1 = createMarker (x, y, z - 0.8, "cylinder", 1, 255, 255, 255, 80) --ma?y marker
setElementData(marker1, "parking:Maly", id) --przypisujemy id malemu markerkowi
marker2 = createMarker (x, y, z - 1, "cylinder", 12, 255, 255, 0, 50) --duzy marker
setElementData(marker2, "parking:Duzy", id) --oraz przypisuejemy id duzemu markerowi
end
end)

function generateID() --funkcja generuje id parkingu
local time = getRealTime()
local timestamp = time.timestamp
return timestamp
end

function stworzParkingiPoWlaczeniu()
local query = dbQuery(handler, "SELECT * FROM parkingi")
local result, num_affected_rows, errmsg = dbPoll (query, -1)
for i,v in pairs(result) do
local x, y, z = v.x, v.y, v.z
local id = v.id
marker1 = createMarker (x, y, z - 0.8, "cylinder", 1, 255, 255, 255, 80) --ma?y marker
setElementData(marker1, "parking:Maly", id) --przypisujemy id malemu markerkowi
marker2 = createMarker (x, y, z - 1, "cylinder", 12, 255, 255, 0, 50) --duzy marker
setElementData(marker2, "parking:Duzy", id) --oraz przypisuejemy id duzemu markerowi
end

--tworzenie aut
local query = dbQuery(handler, "SELECT * FROM pojazdy")
local result, num_affected_rows, errmsg = dbPoll (query, -1)
for i,v in pairs(result) do

if result[i].parking == "" then
car = createVehicle(result[i].id, result[i].x, result[i].y, result[i].z, result[i].rx, result[i].ry, result[i].rz)
setVehicleColor(car, result[i].kolor1, result[i].kolor2, 0, 0)
setElementData(car, "car:x", result[i].x)
end
end

end
addEventHandler("onResourceStart", getRootElement(), stworzParkingiPoWlaczeniu)

--kasowanie parking?w
addCommandHandler("up",
function(player)
local acc = getAccountName (getPlayerAccount (player))
if isObjectInACLGroup ("user."..acc, aclGetGroup ("Rcon")) then
for i,v in pairs(getElementsByType("marker")) do
local get1 = getElementData(v, "parking:Maly")
local get2 = getElementData(v, "parking:Duzy")
if get1 or get2 then
destroyElement(v)
end
end
local get = getElementData(player, "zapiszParking")
dbExec(handler, "DELETE FROM parkingi WHERE id=?", get)
stworzParkingiPoWlaczeniu()
end
end)


-- :: parkowanie pojazdow ::
function saveLastCar(thePlayer, seat, jacked) --zapisujemy pojazd, jakim ostatnio jezdzilismy
setElementData(thePlayer, "saveLastCar", source)
end
addEventHandler ("onVehicleExit", getRootElement(), saveLastCar)

function onParkingHit(hitElement, dim) --jesli wejdziemy w maly marker
if (getElementType(hitElement) == "player") then
local idd = getElementData(source, "parking:Maly")
if idd then
local veh = getPedOccupiedVehicle(hitElement)
if not veh then
local konto = getAccountName(getPlayerAccount(hitElement))
local query = dbQuery(handler, "SELECT * FROM pojazdy WHERE wlasciciel=? AND parking=?", konto, idd)
local result, num_affected_rows, errmsg = dbPoll (query, -1)
if (num_affected_rows == 0) then
outputChatBox("Nie posiadasz ?adnego zaparkowanego pojazdu na tym parkingu.", hitElement, 230, 230, 230, true)
else --jeden lub wiecej pojazdow
triggerClientEvent(hitElement, "pokazListePojazdow", getRootElement(), result)
end
end
end
end
end
addEventHandler("onMarkerHit", getRootElement(), onParkingHit)

function zapiszParkingi(hitElement, dim)
if (getElementType(hitElement) == "player") then
local id1 = getElementData(source, "parking:Duzy")
local id2 = getElementData(source, "parking:Maly")
if id1 then
setElementData(hitElement, "zapiszParking", id1)
elseif id2 then
setElementData(hitElement, "zapiszParking", id2)
end
end
end
addEventHandler("onMarkerHit", getRootElement(), zapiszParkingi)

function onParkingLeave(leaveElement, dim) --jesli wyjdziemy z duzego markeru
if (getElementType(leaveElement) == "player") then
local id = getElementData(source, "parking:Duzy")
if id then
local veh = getPedOccupiedVehicle(leaveElement)
if not veh then
local lastcar = getElementData(leaveElement, "saveLastCar")
if lastcar then
if isElement(lastcar) then
if isElementWithinMarker(lastcar, source) then
outputChatBox("Zaparkowa?e? sw?j pojad.", leaveElement, 230, 230, 230, true)
local x, y, z = getElementPosition(lastcar)
local rx, ry, rz = getElementRotation(lastcar)

local get = getElementData(lastcar, "car:x")
dbExec(handler, "UPDATE pojazdy SET parking=? WHERE x=?", id, get)
destroyElement(lastcar)

setElementData(leaveElement, "saveLastCar", false)
end
end
end
end
end
end
end
addEventHandler("onMarkerLeave", getRootElement(), onParkingLeave)

--spawnowanie aut
addEvent("spawnujPojazd", true)
addEventHandler("spawnujPojazd", getRootElement(),
function(idd, result)
idd = idd + 1

local x, y, z = getElementPosition(source)
setElementPosition(source, x, y, z + 2.5)
car = createVehicle(result[idd].id, x, y, z, result[idd].rx, result[idd].ry, result[idd].rz)
setVehicleColor(car, result[idd].kolor1, result[idd].kolor2, 0, 0)
setElementData(car, "car:x", result[idd].x)
dbExec(handler, "UPDATE pojazdy SET parking=? WHERE x=?", "", result[idd].x)
end)


--/sprzedaj

addCommandHandler("sprzedaj",
function(player, cmd, nick)
local veh = getPedOccupiedVehicle(player)
if veh then
local kierowca = getVehicleController(veh)
if kierowca == player then
if nick then
local gracz = getPlayerFromName(nick)
if gracz then
local id = getElementData(veh, "car:x")
if id then
local query = dbQuery(handler, "SELECT * FROM pojazdy WHERE x=?", id)
local result, num_affected_rows, errmsg = dbPoll (query, -1)
if (num_affected_rows >= 1) then
local kogo = result[1].wlasciciel
local konto = getAccountName(getPlayerAccount(player))
if (kogo == konto) then --jesli to nasz pojazd
local nowy = getAccountName(getPlayerAccount(gracz))
if nowy then
removePedFromVehicle(player)
local x, y, z = getElementPosition(veh)
local rx, ry, rz = getElementRotation(veh)
local nowy = "Edek"
dbExec(handler, "UPDATE pojazdy SET wlasciciel=?, x=?, y=?, z=?, rotx=?, roty=?, rotz=?, parking=? WHERE x=?", nowy, x, y, z, rx, ry, rz, "", id)
setElementData(veh, "car:x", x)
outputChatBox("Gracz "..getPlayerName(player).." sprzeda? Ci pojazd.", gracz, 230, 230, 230, true)
outputChatBox("Sprzeda?e? sw?j pojazd graczowi "..nick..".", player, 230, 230, 230, true)
end
end
end
end
else
outputChatBox("Podanego gracza nie ma na serwerze.", player, 230, 230, 230, true)
end
end
end
end
end)


addCommandHandler("odrejestruj",
function(player)
local veh = getPedOccupiedVehicle(player)
if veh then
local kierowca = getVehicleController(veh)
if kierowca == player then
local id = getElementData(veh, "car:x")
if id then
local query = dbQuery(handler, "SELECT * FROM pojazdy WHERE x=?", id)
local result, num_affected_rows, errmsg = dbPoll (query, -1)
local konto = getAccountName(getPlayerAccount(player))
if (num_affected_rows >= 1) then
local wlasciciel = result[1].wlasciciel
if (wlasciciel == konto) then --jesli to nasz pojazd
dbExec(handler, "DELETE FROM pojazdy WHERE x=?", id)
setElementData(veh, "car:x", false)
destroyElement(veh)
end
end
end
end
end
end)

function onRejestracyjneExplode()
local id = getElementData(source, "car:x")
local query = dbQuery(handler, "SELECT * FROM parkingi")
local result, num_affected_rows, errmsg = dbPoll (query, -1)

nearestID = -1
nearestDistance = 999999999999
local ex,ey,ez = getElementPosition (source)
for i,v in pairs(result) do
local x,y,z = v.x, v.y, v.z
if (getDistanceBetweenPoints3D (ex,ey,ez,x,y,z) < nearestDistance) then
nearestID = v.id
nearestDistance = getDistanceBetweenPoints3D (ex,ey,ez,x,y,z)
end
end

destroyElement(source)
dbExec(handler, "UPDATE pojazdy SET parking=? WHERE x=?", nearestID, id)
end
addEventHandler("onVehicleExplode", getRootElement(), onRejestracyjneExplode)

Kod:

Client:
sX, sY = guiGetScreenSize()

function centerGUI(window)
local sH, sW = guiGetSize(window, false)
guiSetPosition(window, (sX - sH)/2, (sY - sW)/2, false)
end


urzad = {
window = {},
gridlist = {},
button = {},
}


urzad.window[1] = guiCreateWindow(sX/2, sY/2, 309, 388, "Rejestracja pojazd?w", false)
guiWindowSetSizable(urzad.window[1], false)

urzad.gridlist[1] = guiCreateGridList(9, 21, 300, 314, false, urzad.window[1])
urzad.gridlist[2] = guiGridListAddColumn(urzad.gridlist[1], "Gracz", 0.4)
urzad.gridlist[3] = guiGridListAddColumn(urzad.gridlist[1], "Pojazd", 0.5)
urzad.button[1] = guiCreateButton(215, 342, 81, 30, "Rejestruj", false, urzad.window[1])

guiSetVisible(urzad.window[1], false)
centerGUI(urzad.window[1])


function pokazPanel ()
if (getPlayerTeam(getLocalPlayer()) == getTeamFromName("Urzad/Instruktorzy")) then
if (guiGetVisible(urzad.window[1]) == false) then
clearPlayers()

guiSetVisible(urzad.window[1], true)
showCursor(true)
else
guiSetVisible(urzad.window[1], false)
showCursor(false)
end
end
end
bindKey("f6", "down", pokazPanel)

function clearPlayers() --funkcja czysci liste graczy
guiGridListClear(urzad.gridlist[1])
for k, v in ipairs(getElementsByType("player")) do
local row = guiGridListAddRow (urzad.gridlist[1])
guiGridListSetItemText (urzad.gridlist[1], row, urzad.gridlist[2], getPlayerName (v), false, false)

local car = getPedOccupiedVehicle(v)
if car then
guiGridListSetItemText (urzad.gridlist[1], row, urzad.gridlist[3], getVehicleName (car), false, false)
else
guiGridListSetItemText (urzad.gridlist[1], row, urzad.gridlist[3], "Brak", false, false)
end
end
end

function rejestrujPojazd(button, state)
if (source == urzad.button[1]) then
local item1 = guiGridListGetSelectedItem (urzad.gridlist[1])
if (item1 >= 0) then
local gracz = guiGridListGetItemText (urzad.gridlist[1], item1, 1)
triggerServerEvent("rejestrujPojazd", getLocalPlayer(), gracz)
else
outputChatBox("Nie wybra?e? gracza.", 230, 230, 230, true)
end
end
end
addEventHandler ("onClientGUIClick", urzad.button[1], rejestrujPojazd, false)


--lista pojazdow
lista = {
window = {},
gridlist = {},
button = {},
}


lista.window[1] = guiCreateWindow(sX/2, sY/2, 309, 388, "Twoje pojazdy", false)
guiWindowSetSizable(lista.window[1], false)

lista.gridlist[1] = guiCreateGridList(9, 21, 300, 314, false, lista.window[1])
lista.gridlist[2] = guiGridListAddColumn(lista.gridlist[1], "Pojazd", 0.9)
guiGridListSetSortingEnabled (lista.gridlist[1], false)
lista.button[1] = guiCreateButton(10, 342, 81, 30, "Wyjd?", false, lista.window[1])
lista.button[2] = guiCreateButton(215, 342, 81, 30, "Wybierz", false, lista.window[1])

guiSetVisible(lista.window[1], false)
centerGUI(lista.window[1])


addEvent("pokazListePojazdow", true)
addEventHandler("pokazListePojazdow", getRootElement(),
function(result)
if #result > 0 then
guiGridListClear(lista.gridlist[1])
guiSetVisible(lista.window[1], true)
showCursor(true)

for i,v in pairs(result) do
local row = guiGridListAddRow (lista.gridlist[1])
guiGridListSetItemText (lista.gridlist[1], row, lista.gridlist[2], getVehicleNameFromModel(result[i].id), false, false)
end
tablica = result
end
end)

function wylaczListe(button, state)
if (source == lista.button[1]) then
guiSetVisible(lista.window[1], false)
showCursor(false)
end
end
addEventHandler ("onClientGUIClick", lista.button[1], wylaczListe, false)

function spawnujPojazd(button, state)
if (source == lista.button[2]) then
local item1 = guiGridListGetSelectedItem (lista.gridlist[1])
if (item1 >= 0) then
triggerServerEvent("spawnujPojazd", getLocalPlayer(), item1, tablica)
guiSetVisible(lista.window[1], false)
showCursor(false)
end
end
end
addEventHandler ("onClientGUIClick", lista.button[2], spawnujPojazd, false)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-11, 21:18


Tostuch







Wiek: 27
Na forum: 4931 dni
Posty: 483
Nick w MP: Tost

Piwa: 137

Respekt: 110
Respekt: 110

I b??dy z debugscriptu, to te? si? przyda je?eli jakie? s?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-11, 21:23


BlackTen

LUA Dev.






Wiek: 28
Na forum: 4329 dni
Posty: 698

Piwa: 2080

Respekt: 157
Respekt: 157Respekt: 157

zadnych nie ma db3 , jak cos ja z nim robie wi?c pisze ze nie ma DB3

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-11, 22:14


Tostuch







Wiek: 27
Na forum: 4931 dni
Posty: 483
Nick w MP: Tost

Piwa: 137

Respekt: 110
Respekt: 110

Co konkretnie nie dzia?a, bo widze ?e jest tu kilka komend?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-11, 22:52


BlackTen

LUA Dev.






Wiek: 28
Na forum: 4329 dni
Posty: 698

Piwa: 2080

Respekt: 157
Respekt: 157Respekt: 157

jak oddam auto , i chce je wziasc to pisze ze nie mam auta

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-13, 10:55


Fanciak

BOT






Wiek: 25
Na forum: 4446 dni
Posty: 728
Nick w MP: Fanciak

Piwa: 1572

Respekt: 500
Respekt: 500

Dodaj funkcj?, kt?ra sprawdza, czy gracz ma dany pojazd. (pobieranie z sqlite dodaj)

Postaw piwo autorowi tego posta
 

 
Tagi: przecho
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Przecho Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

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
Dodaj temat do Ulubionych
Wersja do druku