Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.
Üzenetek - Lömpi
1
« Dátum: 2017. május 28. - 11:54:39 »
Szia, ezt már én is megtaláltam wikipedian, viszont, unithoz milyen értéket kellene megadnom?
2
« Dátum: 2017. május 28. - 08:53:25 »
Sziasztok! Miként tudnám megoldani azt, hogy egy parancsot csak akkor lehessen használni mikor a jármű amiben ül a megadott játékos álló helyzetben legyen, tehát ne guruljon vagy közlekedjen vele?! getElementVelocity-t probáltam már, de nem igazán jött össze
3
« Dátum: 2017. május 22. - 14:20:09 »
Ment az üzenet!
4
« Dátum: 2017. május 22. - 13:55:56 »
Elsőnél az a baj hogy vagy row.vehicleID vagy a vehcile változód nil. Az pedig nem lehet az indexe egy táblának. Index csak szám, szöveg és userdata lehet (booleanba nem vagyok biztos de talán az is) A 2-nál meg nem tudom, hogy hol bukik el de valószínűleg a getElementData-nal falseval tér vissza. Lehet elfelejtetted set-elni az elementDatát. (Majd ha már menni fog a dolog rendesen, akkor érdemes lesz optimalizálni egy kicsit rajta, mert sok kocsinál ez megfoghatja a szervert. Érdemes lenne majd külön \"threadra\" pakolni van rá egy könyvtár)
Esetleg ha van egy kis időd rám, esetleg egy 10 perced egy TS-szobában tudnál pár említést tenni nekem erről? Nem szeretnék az agyadra menni tényleg, csak én is szeretnék biztosra menni
5
« Dátum: 2017. május 22. - 12:49:16 »
Köszönöm szépen, most már tényleg sokat jutottam előre! Már sikeresen betölti a járműveket a szerverre, viszont most kaptam egy errort erre a két sorra címezve vehIDs[ row.vehicleID ] = newvehicle vehs[ vehicle ] = { vehicleID = row.vehicleID, ownerID = row.tulaj, engine = row.engine, allapot = row.allapot,benzin = row.benzin, rX = row.xp, rY = row.yp,rZ = row.zp,rtX = row.txp,rtY = row.typ,rtZ = row.tzp } ezt a LoadVehicle résznél próbáltam irogatni, hogy ElementData-val tudjam kezelgetni az adatokat.. [természetesen local vehIDs = {} és local vehs = {} ottvannak a scriptem elején] Az error a következő volt Error: table index is nil na meg próbáltam a Globális mentést, hogy minden autót ami van szerveren mentse le. de igazából játék közben nem reagál rá semmit hiába csináltam neki parancsot.. function saveAll() for key, vehicle in ipairs( getElementsByType( \"vehicle\" ) ) do if ( getElementData( vehicle, \"vehicleID\" )) then local carX, carY, carZ = getElementPosition( vehicle ) local carRotX, carRotY, carRotZ = getElementRotation( vehicle ) local carHealth = getElementHealth( vehicle ) local carFuel = getElementData( vehicle, \"Benzin\" ) local engine = getVehicleEngineState ( vehicle ) local c1,c2,c3 = getVehicleColor(vehicle) local kulcsa = getElementData(vehicle,\"Kulcs\") local zar = getElementData(vehicle,\"Zarva\") execute(\"UPDATE `vehiclesystem` SET xp = \'\".. carX ..\"\', yp = \'\".. carY ..\"\', zp = \'\".. carZ ..\"\', txp = \'\".. carRotX ..\"\', typ = \'\".. carRotY ..\"\', tzp = \'\".. carRotZ ..\"\', c1 = \'\".. c1 ..\"\',c2 = \'\".. c2 ..\"\',c3 = \'\".. c3 ..\"\',locked = \'\".. zar ..\"\',kulcs = \'\".. kulcsa ..\"\', allapot = \'\".. carHealth ..\"\', benzin = \'\".. carFuel ..\"\', engine = \'\".. engine ..\"\'\") outputDebugString(vehicle..\" elmentve az adatbázisba\") end end end
6
« Dátum: 2017. május 22. - 09:35:33 »
Az a baj, hogy nincs dbPoll. A dbQuery annyit csinál, hogy elküld egy parancsot a MySql szervernek. (Nem tudom mennyire tudod mik azok az adatbázisok ezért leírom kb, az adatbázisok az adatok tárolásában keresésében nyújtanak segítséget. Sok féle adatbázis van az egyik ilyen a MySql. A legtöbb adatbázist SQL nyelven \"programozod\", igazából csak parancsokat adsz neki hogy mentsd le ezt keresd ki azt stb) Tehát fut-fut a scripted egyszer csak kell neki valami adat az adatbázisból. Ez akár viszonylag sok időt is felemészthet míg kikeres valamit. Ami nem jó, mert nem akarjuk hogy a script futása egyszer csak megálljon és várjon az adatra, mert ilyenkor nem tud csinálni semmit a scripted csak vár. Ezért találták ki úgy hogy meg lehessen ilyen callbackesen hívni. A callback csak annyi, hogy egy adat lekérdezéshez pl nálad a kocsik lekérdezéséhez hozzárendelsz egy függvényt amit majd akkor kell meghívni az MTAnak, ha választ kapott az adatbázistól megvannak a kocsik lehet őket használni. Ezért ketté szedték a lekérdezést két függvénybe: dbQuery - csak felküldi a parancsot a MySql nek és a visszatérési értéke egy handler (amit csak egy azonosító csak így nevezik. Mivel lehet hogy egyszerre több lekérésre is vár az MTA, ezért meg kell tudni különböztetni melyik melyik olyan kb mint egy id) dbPoll - ez dolgozza fel a tényleges választ és a visszatérési értéke egy tábla amit lekérdeztünk. Úgy van elkészítve hogy első bemenete egy handler, hogy melyik lekérést adatait dolgozza fel 2. bemenete pedig, hogy mit meddig várjon ha az a bizonyos lekérés még nem tért vissza semmivel nincs adat még amit feldolgozzon. (A -1 jelenti, hogy addig várjon amíg meg nem jön a válasz)ű És mivel a callback csak akkor hívódik meg ha már van válasz ezért ott lehet mondani a dbPollnak hogy meddig várjon -> 0 msig hisz tudjuk hogy már megvan a válasz.
Nagyon szépen köszönöm ezt a magyarázatot, nagyon szépen leírtad, és most így meg is értettem, a különbséget.. viszont még mindig nem tudom, hogy osszem el az eredményt azaz a \"result\" lokális változót , sorokra, és értékekre :\\ function aaa() dbQuery( myCallback, connection, \"SELECT * FROM vehiclesystem\" ) outputDebugString(\"info: aaaa\") end addCommandHandler(\"adat\",aaa) function myCallback(qh) local result = dbPoll( qh, 0 ) for i=1, #result do for column, value in pairs ( row) do outputDebugString ( column .. \" : \"..value ) end end end Valamiért nem az igazi
7
« Dátum: 2017. május 21. - 21:45:28 »
Próbálkozom, próbálkozom :\\ de egyszerűen nem jövök rá, hogy csináljam :\\\\ LoadVehicles-t megirtam [ami jött...igazából nem is biztos hogy jó sőt.. ] nem müködik.. bementi adatbázisba a dolgokat simán de utana mar nem spawnolja le.. :\\ aztán a getvdata-val is probálkoztam de az se igazán jött össze.. bemásolom most a teljes kódot. local db_host = \"127.0.0.1\" local db_username = \"root\" local db_password = \"\" local db_table = \"mtascript\" local db_port = \"3306\" local connection = false local vehs = {} function connect() connection = dbConnect(\"mysql\",\"dbname=\"..db_table..\";host=\"..db_host..\";port=\"..db_port..\";unix_socket=/var/run/mysqld/mysqld.sock\",db_username,db_password) if (connection) then outputDebugString(\"Sikeresen felcsatlakoztál!\") createTable() return true else outputDebugString(\"Hibás csatlakozás!\",1) end end addEventHandler(\"onResourceStart\",resourceRoot,connect) function createTable() execute(\"CREATE TABLE IF NOT EXISTS vehiclesystem (id INT AUTO_INCREMENT PRIMARY KEY , model INT , tulaj TEXT , xp REAL, yp REAL , zp REAL)\") end function Create(player,command,model) if tonumber(model) and tonumber(model) >= 400 and tonumber(model) < 609 then outputChatBox(\"Jármű elkészült sikeresen!\") local vx,vy,vz = getElementPosition(player) local theCar = createVehicle(model,vx,vy,vz) local theOwner = getPlayerName(player) warpPedIntoVehicle(player,theCar, 0) execute(\"INSERT INTO vehiclesystem (model,tulaj,xp,yp,zp) VALUES (?,?,?,?,?)\", getElementModel(theCar), theOwner, vx , vy , vz) else outputChatBox(\"400-609 közötti modelszám a megengedett!\",player) end end addCommandHandler(\"vcre\", Create) function LoadVehicles()
local vehicles = dbQuery(connection, \"SELECT * FROM vehiclesystem\") for i, v in pairs (vehicles) do local newvehicle = createVehicle(v.model,v.xp,v.yp,v.zp) table.insert(vehs,newvehicle) setElementData(newvehicle,\"Tulajdonos\",v.tulaj) setElementData(newvehicle,\"Modellszama\",v.model) end
outputDebugString ( #vehicles..\" jármű elhelyezve a rendszer segítségével\" ) end addEventHandler(\"onResourceStart\",resourceRoot,LoadVehicles) addCommandHandler(\"getvdata\", function(player,command,vid) if(vid == nil) then if(vid == \"\") then local tuj = getElementData(vid,\"Tulajdonos\") local mosz = getElementData(vid,\"Modellszama\") outputChatBox(\"Tulajdonos: \"..tuj..\" Modellszáma: \"..mosz\"\", player) end end end ) function singleQuery(str,...) if (connection) then local query = dbQuery(connection,str,...) local result = dbPoll(query,-1) if (type(result == \"table\")) then return result[1] else return result end else return false end end function execute(str,...) if (connection) then local query = dbExec(connection,str,...) return query else return false end end
8
« Dátum: 2017. május 21. - 20:26:57 »
Kérlek titeket, mutassatok példákat rá nekem, hogy tudnám lekérni a sorokat a scriptemben, és a sorokhoz tartozó értékeket, komolyan nem tudnám már megszámolni, hányszor olvastam át a db-s wikipedia oldalakat, egyszerüen nem jövök rá.. igazából elég sok mindennel elboldogulok de ez leizzaszt.. :\\
9
« Dátum: 2017. május 21. - 19:46:03 »
Halihó skacok! Nagyon rég jártam már itt, és örülnék ha valaki megtudná mondani hogyan is tudom lekérni a dolgok mysql adatbázisból? Elkezdtem írni egy rendszert addig oké, hogy létrehozza adatbázist, a játékban sikerül is lekérnem a járművet, be is teszi adatbázisba.. de hogyan tovább?, hogy tudok lekérni dbPoll segítségével? Táblából, sorokat és hozzájuk tartozó értékeket? Igazából az utolsó funkció ami nem igazán érthető számomra, pedig csak tesztelgetem.. hogy tényleg miként is kérjek le adatokat. Ha valaki segítene, akkor hálával tartozom local db_host = \"127.0.0.1\" local db_username = \"root\" local db_password = \"\" local db_table = \"mtascript\" local db_port = \"3306\" local connection = false function connect() connection = dbConnect(\"mysql\",\"dbname=\"..db_table..\";host=\"..db_host..\";port=\"..db_port..\";unix_socket=/var/run/mysqld/mysqld.sock\",db_username,db_password) if (connection) then outputDebugString(\"Sikeresen felcsatlakoztál!\") createTable() return true else outputDebugString(\"Hibás csatlakozás!\",1) end end addEventHandler(\"onResourceStart\",resourceRoot,connect) function createTable() execute(\"CREATE TABLE IF NOT EXISTS vehiclesystem (id INT AUTO_INCREMENT PRIMARY KEY , model INT , tulaj TEXT , xp REAL, yp REAL , zp REAL)\") end function Create(player,command,model) if tonumber(model) and tonumber(model) >= 400 and tonumber(model) < 609 then outputChatBox(\"Jármű elkészült sikeresen!\") local vx,vy,vz = getElementPosition(player) local theCar = createVehicle(model,vx,vy,vz) local theOwner = getPlayerName(player) warpPedIntoVehicle(player,theCar, 0) execute(\"INSERT INTO vehiclesystem (model,tulaj,xp,yp,zp) VALUES (?,?,?,?,?)\", getElementModel(theCar), theOwner, vx , vy , vz) else outputChatBox(\"400-609 közötti modelszám a megengedett!\",player) end end addCommandHandler(\"spawn-v\", Create) function check() if (connection) then local queryHandle = dbQuery ( connection, \"SELECT id FROM vehiclesystem \") local result, num = dbPoll(queryHandle, -1) if #result > 0 then for _, rows in ipairs(result) do outputDebugString(tulajname) end end end end addCommandHandler(\"check\", check)
10
« Dátum: 2013. november 13. - 19:07:08 »
the west, forge of empires, ilyenek [/quote] eddig oké, de úgy értem hogy témában, milyen témában lenne érdemes egy új játékot létrehozni. igaz már meg van. el is kezdtem de további ötleket várok még azért a jövõ számára:D
11
« Dátum: 2013. november 13. - 17:48:52 »
Sziasztok! Elkezdenék írni egy internetes, böngészõs játékot, DE nem tudom, hogy manapság milyen játéknak örülnének az emberek? Ötleteket szeretnék meghallgatni miaz ami mostanság felkapott vagy felkapott lehetne. Olyan játékokra gondoljatok mint például ( Bitefight, stb.. : D ) Ötleteket várok, akik tudnak valamilyen formában segíteni a projektben azok jelentkezését is szivesen várom! pusz
12
« Dátum: 2013. november 13. - 17:30:14 »
Szép! Annyit tennék hozzá hogy szerintem figyeld meg a case-s sorokat! case 0: SendClientMessage(playerid,0x15ff00AA,\"Tonhal Ára:9000$\") || GivePlayerMoney(playerid,9000);
13
« Dátum: 2013. október 26. - 11:48:21 »
Nálam is ugyanez volt a baj, 1 - 2 hete, de hasonló módon sikerült megoldanom nekem is . igaz rákattintani nem volt nehéz egy szimpla texturára de sikerült.
14
« Dátum: 2013. október 26. - 10:36:38 »
Szerintem egy gyors mysql. [/quote] Ez igazából attól is függ hogy milyen gyors a mysql szolgáltató válaszideje. de amúgy valóban, jó hostingnál a mysql-el érné meg a legjobban
15
« Dátum: 2013. október 26. - 10:34:53 »
Nem értem, hogy kapcsolódik az pont a pluginokhoz?! Maga a játékmódba vagy filterscriptjeidbe lesz a hiba.
|