martinpozs

Fórumozó
  • Hozzászólások

    38
  • Csatlakozott

  • Utoljára aktív

Közösségi hírnév

5 Újonc

martinpozs felhasználóról

  • Rang
    Újonc
  • Születésnap 1-01-01

Egyéb

  • Játékos név
    Max_Flash
  1. Sziasztok! Kérdésem a következő lenne. Jól hoztam-e létre a DxDrawRectlange editbox-ot ( mármint hogy így kell ezt egyáltalán, vagy másképp, más módszerekkel szokás egy ilyet összehozni.. )? Illetve milyen paraméterek kellenek ahhoz, hogy ne csússzon el írás közben? Mit kell még hozzátennem? pl.: írok sok "Á" betűt, oké, hogy kiírja normálisan, csak ugye van maga a kis csík, az á betű már vagy 2 cm-el előtte van, szóval a fekete függőleges csík a szövegben van, magyarul elcsúszik. ) Köszönöm a segítségeteket előre is! : local lfelh = guiCreateEdit( 0.44, 0.448, 0.14, 0.035, "teszt", true ) guiEditSetMaxLength ( lfelh, 24 ) guiSetAlpha(lfelh, 0) guiSetFont ( lfelh, "image/tahomabd.ttf" ) username = guiGetText ( lfelh ) dxDrawText (username, 607, 351, 793, 504, tocolor ( 255, 255, 255, 255 ), 0.94, "default-bold" )
  2. Szia! Lekéred a játékos "tengelyét", lejátszod a turn_180 animot, majd igazából a karaktered xy idő alatt ugye az anim által megteszi a megfordulást, ( most én 0.55 mp-t írtam, kb annyi idő alatt teszi meg, hogy 180 fokba megfordul az animmal ). Ha megfordult teljesen, akkor nem csak az animmal fordítod meg a karaktert, hanem "rendesen" setElementRotation-al, és lejátszod neki az animot. function animation(player, command) local rotX, rotY, rotZ = getElementRotation(player) setPedAnimation(player, "ped", "turn_180", 1, true, true, false) setTimer ( function() setElementRotation(player,0,0,rotZ+180,"default",true) setPedAnimation(player, "ped", "walk_civi", 1, true, true, false) end, 550, 1 ) end addCommandHandler("anim", animation)
  3. Vagy igazából itt van a MySQL scriptje, amit ugye youtube-ról másoltam. Esetleg eltudná valaki mondani, mit jelent maga a querySingle? Előre is köszönöm. local connection = nil addEventHandler("onResourceStart",resourceRoot,function(resource) connection = dbConnect("mysql","dbname=ig_mta;host=localhost;port=3306;","root","martinka02") if connection then outputDebugString(getResourceName(resource) .. " : connected to database.") return true else outputDebugString(getResourceName(resource) .. " : Unable to connect with database. Please contact Developer.") return false end end ) function _Query( ... ) if connection then local query = dbQuery(connection, ... ) local result = dbPoll(query,-1) return result else return false end end function _QuerySingle(str,...) if connection then local result = _Query(str,...) if type(result) == 'table' then return result[1] end else return false end end function _Exec(str,...) if connection then local query = dbExec(connection,str,...) return query else return false end end
  4. Nos, hát jelenleg így állok, viszont ugye ezzel az a baj, hogy az accounts-ban az első sort íratja ki, amit legelsőnek talál. Hogyan tudnám megcsinálni, hogy az összeset keresse ki? local serial = getPlayerSerial(player) local query = dbQuery(connect,"SELECT * FROM accounts WHERE serial = serial", serial) local result, num_rows = dbPoll(query, -1) if not ( result == nil ) then outputServerLog(result[1]["serial"]) else dbFree(query) end
  5. Nos, az előzőt megoldottam végül is. Viszont már tényleg egy utolsó kérdésem lenne. Sikeresen megcsináltam, hogy ha nem az adott felhasználónév/jelszó nem a kiválasztott géphez van társítva, akkor nem tud bejelentkezni, viszont nem tudom megcsinálni, hogy ha van már ilyen serial az accounts-ba, akkor ne tudjon létrehozni új felhasználót :/ . Esetleg valaki még ebben tudna segíteni? addEvent("loginPlayer", true) function loginPlayer(player, username, password, serial) local check = exports.mta_connection:_QuerySingle("SELECT * FROM accounts WHERE username = ?",username) local serial = getPlayerSerial(player) if check then local checkPass = check.password local checkSerial = check.serial if ( checkSerial == serial ) then if (checkPass == password) then logIn(player,tostring(username),tostring(password)) outputDebugString("User is loggined!") triggerClientEvent(player,"showHide",getRootElement()) else exports["notices"]:addNotification(root,"Hibás felhasználónév/jelszó!",'error') end else exports["notices"]:addNotification(root,"Ez a felhasználó nem ehhez a számítógéphez van társítva!",'error') end else exports["notices"]:addNotification(root,"Hibás felhasználónév/jelszó!",'error') end end addEventHandler("loginPlayer", getRootElement(),loginPlayer) addEvent("registerPlayer", true) function registerPlayer(player, username, password, email, serial, ip, money) local serial = getPlayerSerial(player) local check = exports.mta_connection:_QuerySingle("SELECT * FROM accounts WHERE serial = ?",serial) if ( check ~= serial ) then local account = getAccount(username) if account == false then local ip = getPlayerIP(player) local money = 100 exports.mta_connection:_Exec("INSERT INTO accounts(username,password,email,serial,ip,money) values (?,?,?,?,?,?)",username,password,email,serial,ip,money) local addAccount = addAccount(tostring(username), tostring(password)) if addAccount then exports["notices"]:addNotification(root,"A felhasználó sikeresen létrehozva!",'succes') else exports["notices"]:addNotification(root,"Hiba történt! Keress fel egy fejlesztőt a problémával kapcsolatban!",'error') end else exports["notices"]:addNotification(root,"Ez a felhasználónév már foglalt! Válassz másikat!",'error') end else exports["notices"]:addNotification(root,"Ehhez a számítógéphez van felhasználó társítva!",'error') end end addEventHandler("registerPlayer", getRootElement(), registerPlayer)
  6. Nem baj, ez segített nekem kicsit, illetve legalább ezt is megtudtam, biztos hasznomra fog még válni ;) ! Illetve még egy kérdésem lenne ( igazából mondhatni ugyan az mint az alap kérdés, a lekérdezés... ), az előző másolt sorom az egy undorító, youtube videó utánzat volt. Most úgy gondoltam, magamtól is megpróbálok rájönni az SQL lekérdezésére, illetve adat feltöltésére. A "feltöltés" már megvan, ugye az a dbExec, viszont arra nem tudok rájönni, hogyan lehetséges magát az adatot lekérdezni, esetleg ezt egy outputChatBox-ba is kiíratni. ( pl.: lekérni a serial-t, ha van már ilyen felh. ne tudjon regisztrálni + ki is írni neki outputChatBox-ba a serialját. ) dbQuery-t nagyon nézegetem, próbálok rájönni, viszont nem megy. ( A MySQL-em: https://imgur.com/a/vfBR6, serial és az IP szándékosan van kitakarva! )
  7. Köszönöm a segítségeteket! :) Igából nem az UPDATE-t használom, viszont maga az oldal segített jobban értelmezni az adott dolgot, amit köszönöm : ) ( végül rájöttem, hogy amit keresek az a dbExec ) dbExec( connection, "INSERT INTO accounts VALUES (?,?,?,?,?)", 1, "username","password","email","ip" )
  8. Köszönöm válaszotokat :) És feltölteni rá adatot hogyan tudok? Mármint melyik kell hozzá?
  9. Sziasztok. Az lenne a kérdésem, melyik miért jobb? Illetve a másik miért roszabb? Mi a kettő közötti különbség? Oké, hogy az egyik az web adatbázisba menti le, a másik meg ugye az FTP-ben lévő adatbáziba, addig világos, viszont nem tudom, miért jobb az egyik, mint a másik. Válaszotokat előre is köszönöm!
  10. Igen... teljes mértékben igazad van. Ahogy almási is elmondta, ezeknek egy lényege van: Legyen player, amivel "menizek" a haveroknak.
  11. Figyelj. Szerintem sokkal jobb ha az ember feltesz 4-5 kérdést, és összedob önállóan egy EGYEDI scriptet, minthogy letöltsön a netről egy más által készített scriptet, amiben azt se tudod mi található.... + ebből születnek a EXERNAL GAMING V9 5 MILLIÓ PP + VÉGTELEN KEZDŐPÉNZ, GYERE FEL, ÉS JÁTSZ! ( Direkt exernal, mivel jó szokás ez, hogy export gaming stb. )
  12. Sziasztok. Van egy kis login részem, full hülye vagyok a MySQL-hez, azt elmondom. Lekérem a MySQL-ből az accounts táblában lévő username részt. Eddig megvan, viszont ezek után hogyan lehetne azt, hogy ha már van ilyen felhasználónév regisztrálva, akkor ne engedje ezt az adott illetőnek? MySQL scriptem: https://pastebin.com/RXk2ztwf Illetve egyáltalán helyesen kértem én ezt le? local check = exports.mysql:_QuerySingle("select * from accounts where username = ? ",username)
  13. Sziasztok! Mai nap elkezdtem az MySQL összekötésről, illetve egy rendes Login Panel készítéséről tanulni, viszont 1-2 videót/segédletet találtam fent erről az interneten angol nyelven. A kérdésem az lenne, ti miként tanultátok meg ezt? Mármint milyen segédletet használtatok.. Válaszotokat előre is köszönöm.
  14. Oksa. Na, tényleg egy utolsó kérdés, és nem bombázlak tovább titeket vele, majd a többire magamtól rájövök, ezt sajna nem találom mta wikin se :D . Be szeretnék helyezni pl. 3 kocsi modot, viszont ezeket 1 darab mappába szeretném tárolni, pl.: modok\repulo1 nevű mappába szeretném ezt tárolni. ( a modok nevű mappán belül a repülő1 almappa mellett még lenne másik almappa is... ), ezt hogy írjam be mtaserver.conf-ba? Vagy ez hogyan szokták, hogy ne legyen 2000 mappa benne?
  15. Ohh, már értem ;) Köszönöm szépen segítségeteket, 1000x hálám, amúgy most már elementData-ba fogom intézni a dolgokat.