Wysłany: 2019-12-28, 14:03
daybreakx3
Wiek: 27 Na forum: 2412 dni Posty: 11
Nick w MP: Daybreak
Piwa : 2
Witam Serdecznie czytaj?cych chcia?bym uzyska? pomoc w zmienianiu nazw pojazd?w w przecho oraz salonie Kody mog? wys?a? je?li kto? b?dzie sk?ony pomoc, jest tu wiele post?w na ten temat ale ?aden z tych opis?w co tam s? nie dzia?a... pr?bowa?em ju? wszystkiego pr?bowa?em sam kod pisa? i nici... dlatego te? zwracam si? tu o pomoc... bardzo bym by? wdzi?czny je?li kto? by m?g? udzieli? pomocy
Kod przecho od strony clienta
local screenW , screenH = guiGetScreenSize ()
local marker = createMarker ( 1680.59 , - 1364.84 , 17.49 , "cylinder" , 1.35 , 153 , 50 , 204 )
exports . ps_markers : createCustomMarker ( marker , "garage" )
local sphere = createColSphere ( 1680.59 , - 1364.84 , 17.44 , 5 )
local mileage = ""
local wm ={}
wm . gridlist = guiCreateGridList ( 0.34 , 0.39 , 0.333 , 0.24 , true )
guiGridListAddColumn ( wm . gridlist , "ID Pojazdu" , 0.3 )
guiGridListAddColumn ( wm . gridlist , "Model" , 0.3 )
guiGridListAddColumn ( wm . gridlist , "Kierowca" , 0.3 )
guiSetVisible ( wm . gridlist , false )
panel = false
function PrzechoGUI ()
local Alpha , Alpha2 = interpolateBetween ( 0 , 0 , 0 , 255 , 180 , 0 , (( getTickCount () - czas ) / 2500 ), "Linear" )
local r2 , g2 , b2 = interpolateBetween ( 255 , 255 , 255 , 20 , 250 , 0 ,( getTickCount ()- czas )/ 1100 , "SineCurve" )
local r , g , b = interpolateBetween ( 255 , 255 , 255 , 255 , 0 , 0 ,( getTickCount ()- czas )/ 1100 , "SineCurve" )
exports [ "buttons" ]: createCustomWindow ( "Przechowalnia Pojazd?w" , screenW * 0.3016 , screenH * 0.2786 , screenW * 0.4092 , screenH * 0.4805 , tocolor ( 255 , 255 , 255 , 255 ), false )
exports [ "buttons" ]: createCustomWindow ( "Dane Pojazdu" , screenW * 0.7416 , screenH * 0.2786 , screenW * 0.2492 , screenH * 0.3805 , tocolor ( 255 , 255 , 255 , 255 ), false )
exports [ "buttons" ]: createCustomButton ( "" , screenW * 0.3392 , screenH * 0.6719 , screenW * 0.1094 , screenH * 0.0600 , tocolor ( 255 , 255 , 255 , 255 ), false )
exports [ "buttons" ]: createCustomButton ( "" , screenW * 0.5632 , screenH * 0.6719 , screenW * 0.1094 , screenH * 0.0600 , tocolor ( 255 , 255 , 255 , 255 ), false )
dxDrawText ( "Wyjmij pojazd" , screenW * 0.3422 , screenH * 0.7132 , screenW * 0.4422 , screenH * 0.6875 , tocolor ( 255 , 255 , 255 , Alpha ), 1.14 , "default-bold" , "center" , "center" , false , false , false , false , false )
dxDrawText ( "Zamknij okno" , screenW * 0.5622 , screenH * 0.7132 , screenW * 0.6728 , screenH * 0.6888 , tocolor ( 255 , 255 , 255 , Alpha ), 1.14 , "default-bold" , "center" , "center" , false , false , false , false , false )
end
addEvent ( "onParkingGetVehicles" , true )
addEventHandler ( "onParkingGetVehicles" , root , function( result )
guiGridListClear ( wm . gridlist )
if not result then return end
for i , v in pairs ( result ) do
local row = guiGridListAddRow ( wm . gridlist )
guiGridListSetItemText ( wm . gridlist , row , 1 , v [ "id" ], false , false )
guiGridListSetItemText ( wm . gridlist , row , 2 , getVehicleNameFromModel ( v [ "model" ]), false , false )
guiGridListSetItemText ( wm . gridlist , row , 3 , v [ "driver" ]: gsub ( "#%x%x%x%x%x%x" , "" ), false , false )
if v [ "ownedGroup" ] ~= "0" then
guiGridListSetItemColor ( wm . gridlist , row , 2 , 153 , 51 , 255 )
else
guiGridListSetItemColor ( wm . gridlist , row , 2 , 255 , 255 , 255 )
end
if v [ "rent" ] ~= "0" then
guiGridListSetItemColor ( wm . gridlist , row , 1 , 255 , 0 , 0 )
else
guiGridListSetItemColor ( wm . gridlist , row , 1 , 255 , 255 , 255 )
end
end
end )
addEvent ( "setInfoFromID" , true )
addEventHandler ( "setInfoFromID" , root ,function( q )
for i , v in pairs ( q ) do
mileage = v [ "mileage" ]
pojemnosc = v [ "silnik" ]
rodzaj = v [ "rodzaj" ]
bak = v [ "bak" ]
if v [ "GazZamont" ] == 'Tak' then
gaz = "LPG, "
else
gaz = ""
end
if v [ "up1" ] == 1 then
mk1 = "MK1"
else
mk1 = ""
end
if v [ "licznik" ] == "blekit" then
kolorl = "Licznik (#005cff█#ffffff),"
elseif v [ "licznik" ] == "czerw" then
kolorl = "Licznik (#FF0000█#ffffff),"
elseif v [ "licznik" ] == "nieb" then
kolorl = "Licznik (#0000ff█#ffffff),"
elseif v [ "licznik" ] == "zolty" then
kolorl = "Licznik (#ffff00█#ffffff),"
elseif v [ "licznik" ] == "roz" then
kolorl = "Licznik (#ff00ff█#ffffff),"
elseif v [ "licznik" ] == "turkus" then
kolorl = "Licznik (#00ffff█#ffffff),"
elseif v [ "licznik" ] == "pom" then
kolorl = "Licznik (#ff6000█#ffffff),"
elseif v [ "licznik" ] == "fiolet" then
kolorl = "Licznik (#8a00ff█#ffffff),"
elseif v [ "licznik" ] == "zielone" then
kolorl = "Licznik (#03a700█#ffffff),"
else
kolorl = ""
end
if v [ "tempomat" ] == 1 then
temp = "Tempomat,"
else
temp = ""
end
if v [ "cb" ] == 1 then
cb = "cb,"
else
cb = ""
end
dodatki = string . format ( "" .. gaz .. "" .. kolorl .. "" .. temp .. "" .. cb .. "" .. mk1 .. "" )
addEventHandler ( "onClientRender" , root , renderInfo )
end
end )
function renderInfo ()
dxDrawText ( "Przebieg: " .. mileage .. "km\nPojemno??: " .. pojemnosc .. "cm³\nTyp Paliwa: " .. rodzaj .. "\nPojemno?? baku: " .. bak .. " litr?w\nDodatki: " .. dodatki .. "" , screenW * 0.7892 , screenH * 0.3532 , screenW * 0.9422 , screenH * 0.4875 , tocolor ( 255 , 255 , 255 , 255 ), 1.44 , "default-bold" , "center" , "center" , true , true , true , true , true )
end
addEventHandler ( "onClientMarkerHit" , marker , function( el , md )
if el ~= localPlayer then return end
if isPedInVehicle ( el ) then return end
if guiGetVisible ( wm . gridlist ) == false then
if panel == false then
addEventHandler ( "onClientRender" , root , PrzechoGUI )
czas = getTickCount ()
panel = true
showCursor ( true )
guiSetVisible ( wm . gridlist , true )
triggerServerEvent ( "onParkingGetRekords" , localPlayer )
-- etCameraMatrix (- 2056.26 , 468.77 , 38.49 , - 2048.08 , 467.73 , 35.17 )
end
end
end )
local nazwy_pojazdow = {
[ 527 ] = { nazwa = "Honda NSX" },
}
function getVehicleCustomName ( model )
local nazwa = ""
if ( nazwy_pojazdow [ model ]) then
nazwa = nazwy_pojazdow [ model ]. nazwa
else
nazwa = getVehicleNameFromModel ( model )
end
return name
end
addEventHandler ( "onClientClick" , root ,function( button , state )
if panel and button == "left" and state == "down" then
local selectedRow = guiGridListGetSelectedItem ( wm . gridlist ) or - 1
if selectedRow < 0 then return end
local id = guiGridListGetItemText ( wm . gridlist , selectedRow , 1 )
triggerServerEvent ( "getInfoFromID" , localPlayer , tonumber ( id ))
removeEventHandler ( "onClientRender" , root , renderInfo )
end
end )
function Przechowyjmij ( button , state )
if panel and button == "left" and state == "down" then
if cursorPosition ( screenW * 0.3367 , screenH * 0.6719 , screenW * 0.1054 , screenH * 0.0600 ) then
local selectedRow = guiGridListGetSelectedItem ( wm . gridlist ) or - 1
if selectedRow < 0 then return end
local vehicles = getElementsWithinColShape ( sphere , "vehicle" )
if #vehicles > 0 then
outputChatBox ( "* Nie ma miejsca aby wyciagnac pojazd!" , 255 , 0 , 0 )
return
end
local id = guiGridListGetItemText ( wm . gridlist , selectedRow , 1 )
guiGridListRemoveRow ( wm . gridlist , selectedRow )
triggerServerEvent ( "onParkingVehicleSpawn" , localPlayer , tonumber ( id ))
end
end
end
addEventHandler ( "onClientClick" , getRootElement (), Przechowyjmij )
function Zamknij ( button , state )
if panel and button == "left" and state == "down" then
if cursorPosition ( screenW * 0.5688 , screenH * 0.6719 , screenW * 0.1054 , screenH * 0.0600 ) then
panel = false
removeEventHandler ( "onClientRender" , root , PrzechoGUI )
showCursor ( false )
guiSetVisible ( wm . gridlist , false )
setTimer (function()
removeEventHandler ( "onClientRender" , root , renderInfo )
end , 300 , 1 )
end
end
end
local pojazdy = {[ "Banshee" ] = "AMG" , [ "Infernus" ] = "Honda" }
addEventHandler ( "onClientClick" , getRootElement (), Zamknij )
function cursorPosition ( x , y , w , h )
if ( not isCursorShowing ()) then
return false
end
local mx , my = getCursorPosition ()
local fullx , fully = guiGetScreenSize ()
cursorx , cursory = mx * fullx , my * fully
if cursorx > x and cursorx < x + w and cursory > y and cursory < y + h then
return true
else
return false
end
end
Kod od strony serwera
createBlip ( 1666.57 , - 1362.26 , 17.44 , 35 , 2 , 0 , 0 , 0 , 0 , 0 , 250 )
local mdestroy = createMarker ( 1666.57 , - 1362.26 , 17.44 , "cylinder" , 4 , 153 , 50 , 204 )
exports . ps_markers : createCustomMarker ( mdestroy , "shoes" )
addEvent ( "onParkingGetRekords" , true )
addEventHandler ( "onParkingGetRekords" , root , function()
local uid = getElementData ( source , "player:uid" )
if not uid then return end
local org = getElementData ( source , "player:organization" )
local result = exports [ "ogrpg-db" ]: dbGet ( "SELECT * FROM ogrpg_vehicles WHERE (ownedPlayer=? OR ownedGroup=?) AND parking=1" , uid , org or "Brak" )
if #result > 0 then
triggerClientEvent ( source , "onParkingGetVehicles" , source , result )
end
end )
local vehCustomNames = {
[ 527 ] = 'Jaguar F TYPE' ,
}
addEvent ( "getInfoFromID" , true )
addEventHandler ( "getInfoFromID" , root ,function( id )
local q = exports [ "ogrpg-db" ]: dbGet ( "SELECT * FROM ogrpg_vehicles WHERE id=?" , id )
triggerClientEvent ( source , "setInfoFromID" , source , q )
end )
addEventHandler ( "onMarkerHit" , mdestroy , function( el , md )
if getElementType ( el ) == "player" then
local veh = getPedOccupiedVehicle ( el )
if not veh then return end
if getVehicleController ( veh ) ~= el then return end
local id = getElementData ( veh , "vehicle:id" )
if not id then return end
if isTimer ( timeroddania ) then return end
setElementFrozen ( veh , true )
outputChatBox ( "* Trwa oddawanie pojazdu do przechowalni..." , el , 255 , 255 , 255 , true )
toggleControl ( el , "enter_exit" , false )
timeroddania = setTimer (function()
setElementFrozen ( veh , false )
local id = getElementData ( veh , "vehicle:id" )
if not id then return end
exports [ "ogrpg-vehicles" ]: onSaveVehicle ( veh )
destroyElement ( veh )
exports [ "ogrpg-db" ]: dbSet ( "UPDATE ogrpg_vehicles SET parking=1 WHERE id=?" , id )
toggleControl ( el , "enter_exit" , true )
outputChatBox ( "* Pomy?lnie zapisano pojazd." , el , 255 , 255 , 255 , true )
end , 3000 , 1 )
elseif getElementType ( el ) == "vehicle" then
local peds = getVehicleOccupants ( el )
if #peds > 0 then return end
local id = getElementData ( el , "vehicle:id" )
if not id then return end
if isTimer ( timeroddania ) then return end
timeroddania = setTimer (function()
setElementFrozen ( el , false )
local id = getElementData ( el , "vehicle:id" )
if not id then return end
exports [ "ogrpg-vehicles" ]: onSaveVehicle ( el )
destroyElement ( el )
exports [ "ogrpg-db" ]: dbSet ( "UPDATE ogrpg_vehicles SET parking=1 WHERE id=?" , id )
end , 3000 , 1 )
setElementFrozen ( el , true )
setVehicleLocked ( el , true )
end
end )
local pojazdy = {[ "Banshee" ] = "AMG" , [ "Infernus" ] = "Honda" }
addEvent ( "onParkingVehicleSpawn" , true )
addEventHandler ( "onParkingVehicleSpawn" , root , function( id )
if not id then return end
local spawn = exports [ "ogrpg-vehicles" ]: onRespawnVehicles ( _ , id ,{ 1675.48 , - 1362.23 , 17.44 , - 0.00 , 0.00 , 0 })
outputChatBox ( "* Pomy?lnie przywr?cono pojazd." , source , 255 , 255 , 255 , true )
if spawn then
end
end )
Wysłany: 2019-12-28, 14:17
Wilq
Wiek: 24 Na forum: 4428 dni Posty: 3410
Piwa : 739
Funkcje, kt?ra Ci zmienia nazwy to getVehicleCustomName. Nigdzie jej nie wykonujesz wi?c nie ma co sie dziwi?, ?e nie dzia?a. W pierwszy evencie ustawiasz nazw? eventu, w drugiej kolumnie listy przechowalni. Tam musisz to wstawi?. Je?li nie ma auta w tabeli nazwy_pojazdow to nazwa pozostanie oryginalna.
Wysłany: 2019-12-28, 14:28
daybreakx3
Wiek: 27 Na forum: 2412 dni Posty: 11
Nick w MP: Daybreak
Piwa : 2
Wilq , M?g? by? jako? pomoc to napisa? i zrobi? funkcje? bardzo bym by? wdzi?czny... bo widz? to na wielu serwerach a ja robi?c sw?j autorski serwer tego nie potrafi? zrobi?... masakra jaka?
Wysłany: 2019-12-28, 15:07
Wilq
Wiek: 24 Na forum: 4428 dni Posty: 3410
Piwa : 739
Autorski? S?owo ogrpg chyba znik?d si? nie wzi??o.
Nie musisz zadnej funkcji wpisa?, ty masz WYKONA? funkcje, kt?ra ju? masz. Jej nazw? przecie? napisa?em wy?ej. Jedno s?owo dajesz i zamykasz nawiasami, tylko to jednak si? wysil.
Wysłany: 2019-12-28, 23:11
daybreakx3
Wiek: 27 Na forum: 2412 dni Posty: 11
Nick w MP: Daybreak
Piwa : 2
Wilq , Wi?kszo?? rzeczy jest Autorskich nie wiedzia?em ?e mamy Podstaw? z OGRPG, i tak w ogol? m?g? by? troch? ja?niej jakie to ma by? s?owo i w kt?rym miejscu dane z tym nawiasem..? bardzo bym by? wdzi?czny i nawet bym ci zap?aci? za pomoc je?li chcia?by?...
Wysłany: 2019-12-30, 20:18
KucharSolo
Wiek: 35 Na forum: 3438 dni Posty: 94
Nick w MP: Kuchar
Piwa : 2
??????
Wysłany: 2019-12-30, 20:48
Wilq
Wiek: 24 Na forum: 4428 dni Posty: 3410
Piwa : 739
No ja tego bardziej nie wyt?umacz?, odpu?? sobie serwer i rozpocznij nauk? od podstaw a nie od stawiania pseudola.
Wykonanie GOTOWEJ funkcji (kt?r? ju? masz, jeszcze raz napisz?) nie powinno sprawi? problem?w, a jednak.
triggerClientEvent, outputChatBox, wszystko to s? funkcj?, kt?re wykonujesz. Przyjrzyj si? temu co masz w kodzie, wyci?gnij jakie? wnioski.
Więcej szczegółów
Wystawiono 1 piw(a):Eitho
Tagi: zmiana :: nazwy :: pojazdu :: salonie :: oraz :: przecho
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: