Witam, czy m?g? by mi kto? tutaj powiedzie? albo zmieni? to aby gdy kupie pojazd z salonu to spawn samochodu jest obok salonu lub gdzie kol wiek (tylko powiedzcie ci gdzie go potem szuka?) bo teraz mam tak ?e spawn auta jest w przecho ale przecho mi nie chce wej?? i dlatego obra?em inny cel tego systemu pojazd?w prosze o przerobienie tego lub o powiedziecie mi szczeg?lnie krok po kroku. dzi?kuje *******************************************************************
Ostatnio zmieniony przez ProBaton 2019-02-06, 16:09, w całości zmieniany 1 raz
[lua]function convertNumber ( number )
local formatted = number
while true do
formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2')
if ( k==0 ) then
break
end
end
return formatted
end
function createBlips()
for index,value in pairs(blips) do
local blip = createBlip(value[1],value[2],value[3],55)
setBlipVisibleDistance(blip,200)
end
end
function createExhibitToBuy()
local q = exports['pystories-db']:dbGet('select * from n_salon')
for index,value in ipairs(q) do
if value['amount'] > 0 then
local pos = split(value['pos'],',')
local x,y,z = pos[1],pos[2],pos[3]
local rot = split(value['rot'],',')
local rx,ry,rz = rot[1],rot[2],rot[3]
local vehicle = createVehicle(tonumber(value['car']),x,y,z,rx,ry,rz,value['customname'])
setElementData(vehicle,'salon',value['salonid'])
setElementData(vehicle,'salon:car',value['car'])
setElementData(vehicle,'salon:customname',value['customname'])
setElementData(vehicle,'salon:vmax',value['vmax'])
setElementData(vehicle,'salon:price',value['price'])
setElementData(vehicle,'salon:amount',value['amount'])
setElementData(vehicle,'salon:milleage',value['milleage'])
local v_text = createElement('text')
setElementData(v_text,'name',tostring('#0066CC'..value['customname']..'\n'..convertNumber(value['price'])..'$\n#ffffffAby wy?wietli? wi?cej informacji nt. tego pojazdu wejd? do niego.'))
setElementPosition(v_text,x,y,z)
setElementFrozen(vehicle,true)
setElementData(vehicle,'recznySalonData', true)
setVehicleDamageProof(vehicle, true)
setElementData(vehicle,'vehicle.selling', true)
end
end
end
addEventHandler('onVehicleEnter',resourceRoot,function(player,seat)
--if getPlayerSerial(player) ~= 'E31AEC4C62F98B8C0EA93CFB5A469042' and getPlayerSerial(player) ~= 'AC3E4952A412CBDDDB0DA7021C88D484' then return end
if seat == 0 then
if tonumber(getElementData(source,'salon')) then
triggerClientEvent(player,'showGui',player,getElementData(source,'salon:customname'),getElementData(source,'salon:price'),getElementData(source,'salon:amount'),getElementData(source,'salon:vmax'),getElementData(source,'salon:milleage'))
end
end
end)
addEventHandler('onVehicleExit',resourceRoot,function(player)
--if getPlayerSerial(player) ~= 'E31AEC4C62F98B8C0EA93CFB5A469042' and getPlayerSerial(player) ~= 'AC3E4952A412CBDDDB0DA7021C88D484' then return end
if tonumber(getElementData(source,'salon')) then
triggerClientEvent(player,'hideGui',player)
end
end)
function getPlayerBankMoney(player)
local uid = getElementData(player, "player:sid")
local result=exports["pystories-db"]:dbGet("SELECT * from pystories_users where id=?", uid)
if result and #result > 0 then
return result[1].bank_money
end
return 0
end
addEvent('onBuyVehicle',true)
addEventHandler('onBuyVehicle',root,function()
local veh = getPedOccupiedVehicle(source)
local salon = getElementData(veh,'salon')
if veh and tonumber(salon) then
if tonumber(getElementData(veh,'salon:amount')) > 0 then
if getPlayerBankMoney(source) >= tonumber(getElementData(veh,'salon:price')) then
exports['pystories-db']:dbGet('update pystories_users set bank_money=bank_money-? where id=?',tonumber(getElementData(veh,'salon:price')),getElementData(source,'player:sid'))
triggerClientEvent(source,'hideGui',source)
local q,_,id = exports['pystories-db']:dbSet('insert into pystories_vehicles (model,ownedPlayer,mileage,registered,parking,buyPosID) values(?,?,?,?,1,?)',getElementData(veh,'salon:car'),getElementData(source,'player:sid'),getElementData(veh,'salon:milleage'),'true',salon)
setElementData(veh,'salon:amount',tonumber(getElementData(veh,'salon:amount'))-1)
exports['pystories-db']:dbSet('update n_salon set amount=? where car=?',tonumber(getElementData(veh,'salon:amount')),getElementData(veh,'salon:car'))
if salon == 1 then
local result = exports['pystories-db']:dbGet('select * from pystories_vehicles where id=?', id)
if #result > 0 then
for index,value in ipairs(result) do
removePlayerFromVehicle(source); setElementPosition(source,2182.09, 2368.22, 10.48)
exports["pystories-vehicles"]:onRespawnVehicles(_,id,{2182.09, 2368.22, 10.48, 359.5, 360.0, 179.1},true,source)
triggerClientEvent(source, 'onClientAddNotification', source, 'Pomy?lnie zakupi?e? pojazd, nadano mu ID '..id, 'success')
local desc = "#00cc99(ZAKUP Z SALONU ID:"..salon..") Gracz: "..getPlayerName(source):gsub("#%x%x%x%x%x%x","").." ID: "..getElementData(source,"id").." > zakupi? pojazd z salonu: o ID: "..id..".#ffffff"
triggerEvent("admin:addText", resourceRoot, desc,math.random(0,99))
triggerEvent("admin:logs", root, desc)
end
end
elseif salon == 2 then
local result = exports['pystories-db']:dbGet('select * from pystories_vehicles where id=?', id)
if #result > 0 then
for index,value in ipairs(result) do
removePlayerFromVehicle(source); setElementPosition(source,1859.60, -1871.89, 13.41)
exports["pystories-vehicles"]:onRespawnVehicles(_,id,{1859.60, -1871.89, 13.41, 359.4, 0.2, 180.2},true,source)
triggerClientEvent(source, 'onClientAddNotification', source, 'Pomy?lnie zakupi?e? pojazd, nadano mu ID '..id, 'success')
local desc = "#00cc99(ZAKUP Z SALONU ID:"..salon..") Gracz: "..getPlayerName(source):gsub("#%x%x%x%x%x%x","").." ID: "..getElementData(source,"id").." > zakupi? pojazd z salonu: o ID: "..id..".#ffffff"
triggerEvent("admin:addText", resourceRoot, desc,math.random(0,99))
triggerEvent("admin:logs", root, desc)
end
end
elseif salon == 3 then
local result = exports['pystories-db']:dbGet('select * from pystories_vehicles where id=?', id)
if #result > 0 then
for index,value in ipairs(result) do
removePlayerFromVehicle(source); setElementPosition(source,2445.37, -1763.16, 13.41)
exports["pystories-vehicles"]:onRespawnVehicles(_,id,{2445.37, -1763.16, 13.41, 359.8, 360.0, 178.0},true,source)
triggerClientEvent(source, 'onClientAddNotification', source, 'Pomy?lnie zakupi?e? pojazd, nadano mu ID '..id, 'success')
local desc = "#00cc99(ZAKUP Z SALONU ID:"..salon..") Gracz: "..getPlayerName(source):gsub("#%x%x%x%x%x%x","").." ID: "..getElementData(source,"id").." > zakupi? pojazd z salonu: o ID: "..id..".#ffffff"
triggerEvent("admin:addText", resourceRoot, desc,math.random(0,99))
triggerEvent("admin:logs", root, desc)
end
end
elseif salon == 4 then
local result = exports['pystories-db']:dbGet('select * from pystories_vehicles where id=?', id)
if #result > 0 then
for index,value in ipairs(result) do
removePlayerFromVehicle(source); setElementPosition(source,2698.47, -1962.75, 13.06)
exports["pystories-vehicles"]:onRespawnVehicles(_,id,{2698.47, -1962.75, 13.06, 359.9, 0.0, 180.4},true,source)
triggerClientEvent(source, 'onClientAddNotification', source, 'Pomy?lnie zakupi?e? pojazd, nadano mu ID '..id, 'success')
local desc = "#00cc99(ZAKUP Z SALONU ID:"..salon..") Gracz: "..getPlayerName(source):gsub("#%x%x%x%x%x%x","").." ID: "..getElementData(source,"id").." > zakupi? pojazd z salonu: o ID: "..id..".#ffffff"
triggerEvent("admin:addText", resourceRoot, desc,math.random(0,99))
triggerEvent("admin:logs", root, desc)
end
end
elseif salon == 5 then
local result = exports['pystories-db']:dbGet('select * from pystories_vehicles where id=?', id)
if #result > 0 then
for index,value in ipairs(result) do
removePlayerFromVehicle(source); setElementPosition(source,-1936.25, 274.16, 40.84)
exports["pystories-vehicles"]:onRespawnVehicles(_,id,{-1936.25, 274.16, 40.84, 0.8, 360.0, 176.3},true,source)
triggerClientEvent(source, 'onClientAddNotification', source, 'Pomy?lnie zakupi?e? pojazd, nadano mu ID '..id, 'success')
local desc = "#00cc99(ZAKUP Z SALONU ID:"..salon..") Gracz: "..getPlayerName(source):gsub("#%x%x%x%x%x%x","").." ID: "..getElementData(source,"id").." > zakupi? pojazd z salonu: o ID: "..id..".#ffffff"
triggerEvent("admin:addText", resourceRoot, desc,math.random(0,99))
triggerEvent("admin:logs", root, desc)
end
end
end
else triggerClientEvent(source, 'onClientAddNotification', source, 'Nie masz wystarczaj?co funduszy\n w banku by zakupi? ten pojazd.', 'error') end
else triggerClientEvent(source, 'onClientAddNotification', source, 'Ten pojazd zosta? wyprzedany.', 'error') end
end
end)[/lua]
Potrzebuje pomocy ze skryptem na tuning pojazdu! Skrypt nazywa si? sa_customs i jest dostepny w internecie, lecz chce w nim zrobic tuning wydajnosciowy pojazdu i nie wiem jak zrobic aby przy zakupie sprawdzalo czy mam kupione i jak nie mam to zeby kupilo.
Prosz?, tylko MUSISZ zmieni? elementDate w skrypcie z "wklej:element:date:bo:nieznam" na t? kt?ra jest w skrypcie na salony.
Zrobi?em to tak dlatego ?e nie mam skrypt?w z OG-RPG, wi?c nie znam tamtejszych elementData.
bazaPolaczenie = dbConnect("mysql", "dbname=;host=", "","","share=1")
if bazaPolaczenie then
outputDebugString ('Po??czono z baz? danych!')
else
outputDebugString ("Po??czenie z baz? danych jest nie mo?liwe!")
end
function zapiszBron ()
local serial = getPlayerSerial ( source )
local bron = getPedWeapon ( source )
local amunijca = getWeaponAmmo ( source )
local bazaRezultat = dbQuery(bazaPolaczenie, "SELECT * FROM zapisbroni WHERE serial=?", serial)
if(mysql_num_rows(bazaRezultat) == 0) then
dbQuery( bazaPolaczenie, "INSERT INTO zapisbroni (serial, bron, amunicja) VALUES (?,?,?)", serial, bron, amunijca)
else
res = dbQuery ( bazaPolaczenie, "UPDATE zapisbroni SET bron=?, amunicja=? WHERE serial=?", serial, bron, amunijca)
end
end
function zaladujBron ()
local serial = getPlayerSerial ( source )
local bazaRezultat = dbQuery(bazaPolaczenie, "SELECT * FROM zapisbroni WHERE serial=?", serial)
if bazaRezultat then
while true do
local kolumna = mysql_fetch_assoc(bazaRezultat)
if not kolumna then break end
giveWeapon ( source, kolumna.bron)
setWeaponAmmo ( source, kolumna.amunicja )
break
end
end
end
addEventHandler ( "onPlayerJoin", getRootElement(), zaladujBron )
addEventHandler ( "onPlayerQuit", getRootElement(), zapiszBron )
M?g?by kto? to przerobi? aby dzia?a?o poprawnie bo ju? si? z tym mecz? ponad tydzie? i nadal nie dzia?a. Skrypt ma na zadanie zapisywa? bro? do mysql modu?y ju? mam itd tylko w kodzie co? ?le jest bo w konsoli wyskakuj? takie b?edy mi?dzy innymi:
ERROR: zapisbroni/s.lua:25: bad argument #1 to 'mysql_fetch_assoc' (mysqlResult expected, got userdata)
ERROR: zapisbroni/s.lua:11: attempt to call global 'getWeaponAmmo' (a nil value)
bazaPolaczenie = dbConnect("mysql", "dbname=;host=", "","","share=1")
if bazaPolaczenie then
outputDebugString ('Po??czono z baz? danych!')
else
outputDebugString ("Po??czenie z baz? danych jest nie mo?liwe!")
end
function query(...)
local queryHandle = dbQuery(bazaPolaczenie , ...)
if (not queryHandle) then
return nil
end
local rows = dbPoll(queryHandle, -1)
return rows
end
function zapiszBron ()
local serial = getPlayerSerial ( source )
local bron = getPedWeapon ( source )
local amunijca = getPedTotalAmmo ( source )
local bazaRezultat = query(bazaPolaczenie, "SELECT * FROM zapisbroni WHERE serial=?", serial)
if(mysql_num_rows(bazaRezultat) == 0) then
query( bazaPolaczenie, "INSERT INTO zapisbroni (serial, bron, amunicja) VALUES (?,?,?)", serial, bron, amunijca)
else
res = dbQuery ( bazaPolaczenie, "UPDATE zapisbroni SET bron=?, amunicja=? WHERE serial=?", serial, bron, amunijca)
end
end
function zaladujBron ()
local serial = getPlayerSerial ( source )
local bazaRezultat = query(bazaPolaczenie, "SELECT * FROM zapisbroni WHERE serial=?", serial)
if bazaRezultat then
giveWeapon ( source, bazaRezultat[1].bron)
setWeaponAmmo ( source, bazaRezultat[1].amunicja )
end
end
addEventHandler ( "onPlayerJoin", getRootElement(), zaladujBron )
addEventHandler ( "onPlayerQuit", getRootElement(), zapiszBron )
M?g?by kto? mi ten kod przerobi? aby usuwa?o bro? z bazy jak ju? si? za?aduje na serwerze i naprawi? bo bro? si? zapisuje w bazie ale po wej?ciu nie chce si? za?adowa?
function connect()
DBConnection = dbConnect( "mysql", "dbname=;host=;charset=utf8", "", "" )
if (not DBConnection) then
outputDebugString("Nie uda?o si? nawi?za? po??czenia z baz? MySQL")
else
outputDebugString("Po??czenie z MySQL zosta?o nawi?zane")
end
end
addEventHandler("onResourceStart",resourceRoot, connect)
function query(...)
local queryHandle = dbQuery(DBConnection , ...)
if (not queryHandle) then
return nil
end
local rows = dbPoll(queryHandle, -1)
return rows
end
function zapiszBron ()
local serial = getPlayerSerial ( source )
local bron = getPedWeapon ( source )
local amunijca = getPedTotalAmmo ( source )
local bazaRezultat = query("SELECT * FROM zapisbroni WHERE serial=?", serial)
query("INSERT INTO zapisbroni (serial, bron, amunicja) VALUES (?,?,?)", serial, bron, amunijca)
end
function zaladujBron ()
local serial = getPlayerSerial ( source )
local bazaRezultat = query("SELECT * FROM zapisbroni WHERE serial=?", serial)
if bazaRezultat then
giveWeapon ( source, bazaRezultat[1].bron)
setWeaponAmmo ( source, bazaRezultat[1].amunicja )
end
end
addEventHandler ( "onPlayerJoin", getRootElement(), zaladujBron )
addEventHandler ( "onPlayerQuit", getRootElement(), zapiszBron )
Cze??, przerobi? by mi kto? ten skrypt ?eby mk si? zapisywa?o do bazy danych ?eby pojazd po oddaniu do przecho nie traci? mk ? Daje piwo i respekt
skrypt: https://www43.zippyshare.com/v/ct9JAKJA/file.html
Mam problem, zrobi?em HUD ale nie od?wie?a go automatycznie. Trzeba zrestowa? skrypt aby by?y nowe statystyki, mam r?wnie? 2 problem. Ot??, chcia?bym aby u ka?dego na monitorze HUD by? po lewej stronie, umiem zrobi? tylko pod sw?j monitor.
Pomo?e mi kto? przerobi? ten skrypt (najlepiej po stronie serwera), w taki
spos?b, ?e gdy gracz1 wejdzie w stref? ColShape to wy?wietli mu si? "Teraz mo?esz tutaj usi???", a
nast?pnemu graczowi, kt?ry tak?e postanowi wkroczy? w t? stref? np. gracz2
wy?wietli mu si? "Nie mo?esz tutaj usi???, poniewa? siedzi tu inny gracz"?
Za pomoc dam
local newColShape = createColSphere( 1, 2, 3, 4 )
local players = getElementsWithinColShape( newColShape, "player" )
function ColHit(thePlayer, matchingDimension)
?????for _, thePlayer in ipairs( players ) do
?????
??????????if players > 1 then --je?eli graczy w danym obszarze b?dzie wi?cej ni? 1 to wy?wietli nam poni?sz? wiadomo??
???????????????outputChatBox("Nie mo?esz tutaj usi??? poniewa? siedzi tu inny gracz" )
??????????end
?????
??????????if players = 1 then --je?eli w danym obszarze b?dzie 1 gracz to wy?wietli mu poniewa?sz? wiadomo??
???????????????outputChatBox("Teraz mo?esz tutaj usi???" )
??????????end
?????
?????end
end
addEventHandler ( "onColShapeHit", newColShape, ColHit )
Witam, mam pro?b? o przerobieniu w xyzzyrp logowania i rejestracji, ot?? chc? aby kto? usun?? mi pistacie,a by by?y tylko nick ooc itp sama rejestracja i logowanie bez postaci, robota czasoch?onna a nie ci??ka, odwdzi?cze si?
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