GTA Közösség - A magyar GTA fórum

Multi Theft Auto (MTA) => MTA: Szerverfejlesztés => Segítségkérés => A témát indította: Riccardo - 2016. Augusztus 03. - 12:50:31

Cím: Vehicle Dimension probléma!
Írta: Riccardo - 2016. Augusztus 03. - 12:50:31
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)
Cím: Vehicle Dimension probléma!
Írta: Eduka - 2016. Augusztus 03. - 12:59:34
Miért akarod 1-es dimenzióba rakni mikor lelép az adott játékos? :O
Miért nem használsz destroyElementet?
Cím: Vehicle Dimension probléma!
Írta: Riccardo - 2016. Augusztus 03. - 13:07:12
Értem, akkor mit kéne rajta változtatnom? :)
Cím: Vehicle Dimension probléma!
Írta: Eduka - 2016. Augusztus 03. - 13:13:01
É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.
Cím: Vehicle Dimension probléma!
Írta: Riccardo - 2016. Augusztus 03. - 13:34:12
Értem, köszönöm a segítséget!
De még várok segítségeket, valahogy ehhez a rendszerhez megoldást! :)
Cím: Vehicle Dimension probléma!
Írta: Xistance - 2016. Augusztus 10. - 15:20:12
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)
Cím: Vehicle Dimension probléma!
Írta: Xenius - 2016. Augusztus 15. - 08:42:43
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
Cím: Vehicle Dimension probléma!
Írta: golyoka1 - 2016. Augusztus 16. - 19:48:47
+ 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 :)
Cím: Vehicle Dimension probléma!
Írta: Xistance - 2016. Augusztus 16. - 21:52:28
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.
Cím: Vehicle Dimension probléma!
Írta: Xenius - 2016. Augusztus 17. - 11:13:54
Idézetet írta: Xistance date=1471377148\" 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 :)
Cím: Vehicle Dimension probléma!
Írta: #chrstn - 2016. Augusztus 17. - 11:39:17
Xenius[/member] te hogy oldanád meg? :)
Cím: Vehicle Dimension probléma!
Írta: Xistance - 2016. Augusztus 17. - 13:06:10
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 :)
Cím: Vehicle Dimension probléma!
Írta: id100 - 2016. Augusztus 17. - 13:37:36
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.
Cím: Vehicle Dimension probléma!
Írta: Xistance - 2016. Augusztus 17. - 13:47:45
Idézetet írta: id100 date=1471433856\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62473\" data-ipsquote-contentclass=\"forums_Topic
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.
 
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 :)
Cím: Vehicle Dimension probléma!
Írta: Eduka - 2016. Augusztus 17. - 16:28:06
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 :)
Cím: Vehicle Dimension probléma!
Írta: Xistance - 2016. Augusztus 17. - 16:54:50
Idézetet írta: Eduka date=1471444086\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62473\" data-ipsquote-contentclass=\"forums_Topic
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 :)
 
Ez így van. De a scripterek körétől beszéltem, nem a sima emberekről van szó.
Cím: Vehicle Dimension probléma!
Írta: Xenius - 2016. Augusztus 18. - 13:08:14
local lama = {}
kocsi betöltésnél/létrehozásnál pedig a láma táblába berakod a kocsikat tulaj vagy adatbázis id alapján aztán csak lekérdezed -> magyarul be indexeled normálisan és nem fog semmiféle laggot sem okozni.
a másik megoldás pedig a setElementByID + getElementByID, ami sok lekérdezésnél szintén laggoltatni fog
 
Idézetet írta: Xistance date=1471431970\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62473\" data-ipsquote-contentclass=\"forums_Topic
Akkor nagyon nem értünk egyet, de nem is szándékozok egy valhalla editerrel leállni veszekedni :)
Xistance[/member] erre van az a mondás hogy \"Nem mindegy hogy a h***e okoskodik vagy az okos h***éskedik\"
Cím: Vehicle Dimension probléma!
Írta: BlackSy - 2016. Augusztus 18. - 13:24:58

Xistance[/member] erre van az a mondás hogy \"Nem mindegy hogy a h***e okoskodik vagy az okos h***éskedik\"[/quote]
Van benne igazság. :D
Cím: Vehicle Dimension probléma!
Írta: Xistance - 2016. Augusztus 18. - 13:26:14
Idézetet írta: Xenius date=1471518494\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62473\" data-ipsquote-contentclass=\"forums_Topic
local lama = {}
kocsi betöltésnél/létrehozásnál pedig a láma táblába berakod a kocsikat tulaj vagy adatbázis id alapján aztán csak lekérdezed -> magyarul be indexeled normálisan és nem fog semmiféle laggot sem okozni.
a másik megoldás pedig a setElementByID + getElementByID, ami sok lekérdezésnél szintén laggoltatni fog
 
Akkor nagyon nem értünk egyet, de nem is szándékozok egy valhalla editerrel leállni veszekedni :)
Xistance[/member] erre van az a mondás hogy \"Nem mindegy hogy a h***e okoskodik vagy az okos h***éskedik\"
 
[/quote]
Tehát adott a te megoldásod, ami szintén laggoltat magas használat esetén, és adott az enyém, ami szintén magas használaton laggol. Magyarán, ugyanazt dolgoztuk ki máshogyan, tehát ütöd a saját szavadat. Az folyamatos adatbázis lekerdezés is laggol, hiába van táblába. :)
Cím: Vehicle Dimension probléma!
Írta: whadez - 2016. Augusztus 18. - 13:47:33
Na most akkor még tegyünk egy kis fát a tűzre.
Szerintem  ti egyáltalán nem tudtok LUA-t scriptelni.
:-[ :-[ :-[
Valhalla editerek vagytok mind a ketten.  :-[
(( Nem mindegy hogy ki hogyan oldja meg, de most őszintén, így is úgy is laggolni fog magas használat esetén. ))
kappa  :shifty:
kommentfight
Cím: Vehicle Dimension probléma!
Írta: DrAkE - 2016. Augusztus 18. - 13:48:24
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]
Nem a for ciklus laggoltatja a szervert, hanem ami végigfut benne :\'D
Cím: Vehicle Dimension probléma!
Írta: Xistance - 2016. Augusztus 18. - 14:15:01
Idézetet írta: DrAkE date=1471520904\" 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]
Nem a for ciklus laggoltatja a szervert, hanem ami végigfut benne :\'D
 
[/quote]
És az nem a for ciklus? kiégtem mára.
Cím: Vehicle Dimension probléma!
Írta: DrAkE - 2016. Augusztus 18. - 14:58:55
Idézetet írta: Xistance date=1471522501\" 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]
Nem a for ciklus laggoltatja a szervert, hanem ami végigfut benne :\'D
 
[/quote]
És az nem a for ciklus? kiégtem mára.
 
[/quote]
What?
Cím: Vehicle Dimension probléma!
Írta: whadez - 2016. Augusztus 18. - 15:04:59
Ezt én sem értem hogy őszinte legyek.  :nugget:  :facepalm:
Cím: Vehicle Dimension probléma!
Írta: Xistance - 2016. Augusztus 18. - 17:19:22
Idézetet írta: whadez date=1471525499\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62473\" data-ipsquote-contentclass=\"forums_Topic
Ezt én sem értem hogy őszinte legyek.  :nugget:  :facepalm:
 
\"Nem a for ciklus laggoltat, hanem ami benne van.\" Tehát a for ciklus.
Cím: Vehicle Dimension probléma!
Írta: Xenius - 2016. Augusztus 18. - 18:13:20
Idézetet írta: whadez date=1471520853\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62473\" data-ipsquote-contentclass=\"forums_Topic
Na most akkor még tegyünk egy kis fát a tűzre.
Szerintem  ti egyáltalán nem tudtok LUA-t scriptelni.
:-[ :-[ :-[
Valhalla editerek vagytok mind a ketten.  :-[
(( Nem mindegy hogy ki hogyan oldja meg, de most őszintén, így is úgy is laggolni fog magas használat esetén. ))
kappa  :shifty:
kommentfight
 
Ahogy érzed, viszont az én megoldásom nem használ szinte semmi erőforrást.
lama[kocsiid] = createVehiclevel letrehozott szar
És pl outputChatBox(tostring(lama[kocsiid]))
És legyetek szívesek nem belepofázni  ha nem látjátok át.
+ez semmi for ciklust nem használ
és Xistance[/member] nem ugyan az a két dolog, teljesen másról írtam
Cím: Vehicle Dimension probléma!
Írta: Xistance - 2016. Augusztus 18. - 19:45:41
Idézetet írta: Xenius date=1471536800\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62473\" data-ipsquote-contentclass=\"forums_Topic


Na most akkor még tegyünk egy kis fát a tűzre.
Szerintem  ti egyáltalán nem tudtok LUA-t scriptelni.
:-[ :-[ :-[
Valhalla editerek vagytok mind a ketten.  :-[
(( Nem mindegy hogy ki hogyan oldja meg, de most őszintén, így is úgy is laggolni fog magas használat esetén. ))
kappa  :shifty:
kommentfight
 
Ahogy érzed, viszont az én megoldásom nem használ szinte semmi erőforrást.
lama[kocsiid] = createVehiclevel letrehozott szar
És pl outputChatBox(tostring(lama[kocsiid]))
És legyetek szívesek nem belepofázni  ha nem látjátok át.
+ez semmi for ciklust nem használ
és Xistance[/member] nem ugyan az a két dolog, teljesen másról írtam
 
[/quote]
Akkor schuldigung bitte.
Cím: Vehicle Dimension probléma!
Írta: lackos888 - 2016. Augusztus 18. - 19:55:05
Nem mindegy, hogy a for ciklus átmegy az összes járművön, vagy csak azon, amin kell. Lásd: alap DayZ mód item respawn.
Cím: Vehicle Dimension probléma!
Írta: Xistance - 2016. Augusztus 18. - 21:17:48
Idézetet írta: lackos888 date=1471542905\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62473\" data-ipsquote-contentclass=\"forums_Topic
Nem mindegy, hogy a for ciklus átmegy az összes járművön, vagy csak azon, amin kell. Lásd: alap DayZ mód item respawn.
 
Senki nem mondta, hogy mindegy.
Cím: Vehicle Dimension probléma!
Írta: DrAkE - 2016. Augusztus 18. - 21:51:55
Idézetet írta: Xistance date=1471533562\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62473\" data-ipsquote-contentclass=\"forums_Topic


Ezt én sem értem hogy őszinte legyek.  :nugget:  :facepalm:
 
\"Nem a for ciklus laggoltat, hanem ami benne van.\" Tehát a for ciklus.
 
[/quote]
Nem érted mit mondok, nem az laggoltat a for ciklusban, hogy végiglépked egy adott iteratoron, vagy tömbön, vagy akármin, hanem ami lefut benne.
Cím: Vehicle Dimension probléma!
Írta: Xistance - 2016. Augusztus 19. - 00:01:11
Idézetet írta: DrAkE date=1471549915\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62473\" data-ipsquote-contentclass=\"forums_Topic


 

Ezt én sem értem hogy őszinte legyek.  :nugget:  :facepalm:
 
\"Nem a for ciklus laggoltat, hanem ami benne van.\" Tehát a for ciklus.
 
[/quote]
Nem érted mit mondok, nem az laggoltat a for ciklusban, hogy végiglépked egy adott iteratoron, vagy tömbön, vagy akármin, hanem ami lefut benne.
 
[/quote]
 :wall: Ami lefut benne az a ciklushoz tartozik. Ha nem lépked a ciklusban semmi, akkor nem fog laggoltatni. Egy merő baromságok a kommentjeid.
Cím: Vehicle Dimension probléma!
Írta: AnthonyGates - 2016. Augusztus 19. - 01:15:35
Omg. Nem a ciklus és a lépkedés laggoltat, hanem az, amit csinál. Megint hozzáértés hiánya...
Az iteratoron lépkedés hogy a viharba laggoltatna? Általában a baj, hogy 9000 műveletet indít lépésenként.
Remélem így már értitek...
u.i: Xistance és az arc. Örülnél ha fele annyira értenél a dologhoz, mint DrAkE.
Cím: Vehicle Dimension probléma!
Írta: DrAkE - 2016. Augusztus 19. - 01:16:15
Idézetet írta: Csiiiga date=1471562135\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62473\" data-ipsquote-contentclass=\"forums_Topic
Omg. Nem a ciklus és a lépkedés laggoltat, hanem az, amit csinál. Megint hozzáértés hiánya...
Az iteratoron lépkedés hogy a viharba laggoltatna? Általában a baj, hogy 9000 műveletet indít lépésenként.
Remélem így már értitek...
u.i: Xistance és az arc. Örülnél ha fele annyira értenél a dologhoz, mint DrAkE.
 
Theeeeeeeerrrrrreeee you goooooooooo....... Valaki megértette! Megyek leiszom magam.
 

Örülnél te ha az én szintemen lennél  :D
 
[/quote]
https://github.com/drakeee/samp-plugin-lua
Biztos hülyeségeket beszélek és nem értek a Luahoz, meg a programozáshoz.
Taníts mester.
Cím: Vehicle Dimension probléma!
Írta: AnthonyGates - 2016. Augusztus 19. - 01:19:05
Minden elindított folyamatnak (ofc a programkódod minden utasítása egy-egy folyamat [na jó azért nem teljesen]) van egy futásideje, és ha ezzel számolsz, talán te is megérted:
pszeudo:
 

ismételd 10x: ezt
  folyamat1() // futásidő 0.2mp
  folyamat2() // futásidő 0.3mp
  folyamat3() //futásidő 0.5mp --> pl egy nagy sql tábla beolvasása változóba
eddig

 
Na ez lépésenként ~1mp, azaz ha ezt mind egy szálon csinálod, 10 másodpercig fog futni a ciklus. Tehát mi laggoltat?.
Mielőtt beleköttök ebbe is, egy-egy ilyen szar függvény nyílván nem kér tizedmásodpercnyi CPU időket, csak .
Jééé, ha PAWN-ban pl:
 

halt(seconds)
{
new _newTime[4], _oldTime[4];
gettime(_oldTime[0], _oldTime[1], _oldTime[2]);
_oldTime[3] = _oldTime[2] + (_oldTime[1] * 60) + (_oldTime[0] * 600);
while(_newTime[3] != (_oldTime[3] + seconds))
{
gettime(_newTime[0], _newTime[1], _newTime[2]);
_newTime[3] = _newTime[2] + (_newTime[1] * 60) + (_newTime[0] * 600);
}
}

 
halt(30); akkor 30 másodpercig ROHADUL megáll a szerver, hisz ezt a függvényt csinálja. Írd át luába és nézd meg, ha ennyire nem értesz hozzá.
Cím: Vehicle Dimension probléma!
Írta: ZyZu. - 2016. Augusztus 19. - 03:34:42
[gmod]Hozzászólások törölve. Az írjon aki eltudja magyarázni normálisan a témanyitónak a megoldást. Nem kéne egy ilyen apróságon is vitatkozni mivel ez csak egy \'játék\' srácok.[/gmod]