Vehicle Dimension probléma!

Indította Riccardo, 2016. augusztus 03. - 12:50:31

Előző téma - Következő téma

Riccardo

Sziasztok! Az lenne az én problémám, hogy mikor lelép egy játékos a szerverről (RolePlay) akkor a járműve eltűnik és ez tökjó meg minden, de mikor vissza lép nem jön vissza a jármű, hanem ugyan abba a dimensioba marad a jármű ahova el geteli a rendszer mikor lelépet (1-es dimenzióba)!
 
UI: A szerver Valhallából épül fel!
Lua file:
 
function PlayerJoin()
if getElementData(source, \"loggedin\") == 1 then
local dbid = getElementData(source, \"dbid\")
local veh = exports.pool:getPoolElementsByType(\"vehicle\")
for key, value in ipairs(veh) do
local owner = tonumber(getElementData(value, \"owner\"))
if (owner) and (owner==dbid) then
   local id = getElementData(value, \"dbid\")
   setElementDimension(value, 0)
end
end
end
end
addEventHandler(\"onPlayerJoin\", getRootElement() ,PlayerJoin)
function PlayerQuit()
local dbid = getElementData(source, \"dbid\")
local veh = exports.pool:getPoolElementsByType(\"vehicle\")
for key, value in ipairs(veh) do
local owner = tonumber(getElementData(value, \"owner\"))
if (owner) and (owner==dbid) then
   local id = getElementData(value, \"dbid\")
   setElementDimension(value, 1)
end
end
end
addEventHandler(\"onPlayerQuit\",getRootElement(),PlayerQuit)

Eduka

Miért akarod 1-es dimenzióba rakni mikor lelép az adott játékos? :O
Miért nem használsz destroyElementet?

Riccardo

Értem, akkor mit kéne rajta változtatnom? :)

Eduka

Én úgy oldottam meg, h resource startnál(vehicle sys) és mikor belép a játékos(acc sys) akkor meghív egy funkciót a veh sysben, lekéri az adatokat sql-ből h van-e kocsija, ha van akkor meghív egy másik funkciót ami spawnol, lelépésnél vagy resource stopnál/restartnál pedig meghív egy törlés funkciót és ennyi.

Riccardo

Értem, köszönöm a segítséget!
De még várok segítségeket, valahogy ehhez a rendszerhez megoldást! :)

Xistance

Nem nagy was ist das, de a helyedben nem dolgoznék valhallával.
 
function quitSaveCar()
for k,v in ipairs(getElementsByType(\"vehicle\") do
if v:getData(\"dbid\") == source:getData(\"owner\") then
   v:setDimension(1)
end
end
end
addEventHandler(\"onPlayerQuit\", getRootElement(), quitSaveCar)
 
function showTheCar()
for k,v in ipairs(getElementsByType(\"vehicle\") do
if v:getData(\"dbid\") == source:getData(\"owner\") then
   v:setDimension(0)
end
end
end
addEventHandler(\"onPlayerJoin\", getRootElement(), showTheCar)

Xenius

Maga az egész kód értelmetlen, próbáld meg még egyszer átgondolni.
\"for k,v in ipairs(getElementsByType(\"vehicle\") do\" ezzel csak azt éred el hogy 50-100 kocsinál végignézi az összeset -> lagg, esetleg network trouble

golyoka1

+ meg amikor joinolsz nincs dbid-d mivel akkor lépsz fel és még be se loginoltál így a szerver hogy tudja hogy a te dbid-d mi inkább használj onPlayerSpawnt :)

Xistance

A kód nem értelmetlen egyáltalán. Én nekem fogalmam sincs, hogy a valhallába mi hogy működik, tehát alapból nem tudhattam hogy a dbid mihez van kötve ebben az esetben. Laggoltatni nem fog egy for loop, csak esetleg ha sok van belőle.

Xenius

Idézetet írta: Xistance date=1471377148\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62473\" data-ipsquote-contentclass=\"forums_TopicA kód nem értelmetlen egyáltalán. Én nekem fogalmam sincs, hogy a valhallába mi hogy működik, tehát alapból nem tudhattam hogy a dbid mihez van kötve ebben az esetben. Laggoltatni nem fog egy for loop, csak esetleg ha sok van belőle.
 
Ennél nagyobb butaságot rég olvastam :)

#chrstn

Xenius[/member] te hogy oldanád meg? :)

Xistance

Idézetet írta: Xenius date=1471425234\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62473\" data-ipsquote-contentclass=\"forums_Topic

A kód nem értelmetlen egyáltalán. Én nekem fogalmam sincs, hogy a valhallába mi hogy működik, tehát alapból nem tudhattam hogy a dbid mihez van kötve ebben az esetben. Laggoltatni nem fog egy for loop, csak esetleg ha sok van belőle.
 
Ennél nagyobb butaságot rég olvastam :)
 
[/quote]
Akkor nagyon nem értünk egyet, de nem is szándékozok egy valhalla editerrel leállni veszekedni :)

id100

egy minden vehiclen végigmenő loop 300 playernél akik csatlakozgatnak le és fel akadna.
 :-[
Xenius pedig sokat letett az asztalra, nem hívható egyszerű Valhalla editernek.

Xistance

Idézetet írta: id100 date=1471433856\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62473\" data-ipsquote-contentclass=\"forums_Topicegy minden vehiclen végigmenő loop 300 playernél akik csatlakozgatnak le és fel akadna.
 :-[
Xenius pedig sokat letett az asztalra, nem hívható egyszerű Valhalla editernek.
 
Igen, de aki feltette a kérdést, azt kérdezte, milyen megoldás lehet rá, nem azt hogy hogyan lehet 100 százalékosan optimalizáltan kidolgozva megírni. Nálam aki valhalla editer, már elásta magát a szemembe :)

Eduka

Tehát te úgy gondolod h ha valaki egyszer is valhallához nyúlt akkor ő már a szemedben egy senki? Szerintem akkor a mai \"scripterek\" 99%-a a szemedben senki :)