AlexSwamp

Segítõkész
  • Hozzászólások

    498
  • Csatlakozott

  • Utoljára aktív

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

131 Elfogadott

3 követő

AlexSwamp felhasználóról

  • Rang
    Vérbeli tag
  • Születésnap 1995-01-07

Egyéb

  • Titulus
    Fórumozó

Utolsó profil megtekintők

946 profil megtekintés
  1. egy nagyjából 500ms-s timer ami megáll egyből nagyon nem terhel semmit, főként miután nem renderben van benne. Amit te írsz sokkal "bonyolultabb" az én általam írt egy sornál, de az eredményessége ugyan az.
  2. Igen setTimer-t használok.
  3. Jelenleg 2mp időközönként tudsz itemet használni (tehát nem tudod lefloodolni ha mondjuk az egyes actionslotra rakod és rátenyerelsz az egyes gombra ) és ezt fogom levenni kevesebb mint 1mp-re (máshol sem nagyon láttam még flood védelmet, tehát ha jól kialakítom, akkor nem kell nagy timerrel dolgoznom).
  4. nem. A rendert azért nem akarom, mert az icon-t nem csak akkor akarom megjeleníteni ha rajta van az egér (ha jól értettem). :D Meg az elég jelentéktelen fogyasztást generált eddig, így nem pont azon "spórolnék". Flood védelmet mindenképp bent tervezem hagyni, csupán az eddigi nagyobb "timert" kisebb értékre fogom cserélni, persze csak ha sikerül jobban kialakítanom az egész témát. :D
  5. Igazából ezen a renderelési dolgon nem nagyon változtatnék, mert speciel az nagyjából rendben van szerencsére. Most belefutottam egy olyan hibába például, hogy fegyver elővételnél, ha floodoltatod az elővételt (setPedAnim és GiveWeapon van szerver oldalon) akkor képest egy játékostól 3-5% cpu-t is megzabálni a szerver, ami azért nem túl frankó (főleg ha ezt mondjuk felszorzom x játékossal). Flood elleni "védelem" sem megoldás, hiszen itt inkább maga a gondolkodás menetem volt fos. Én speciel arra gondoltam (nagy eséllyel azért eszik, mert lefut egy for ciklus azért hogy átnézze, hogy van -e ilyen item nálam és akkor annak visszaadja a pontos helyét és darabszámát), hogy ezt az egészet átviszem client oldalra és szerveren már csak a tényleges, giveWeapon és SetPedAnim hívódik meg. Remélem ezzel sikerül azt a terhelés levennem ami előjött és nem kell felesleges (mármint nagy értékkel, kicsivel szerintem hasznos, hogyha nem tudja lefloodolni a useitem részt) "flood" védelmet beépítenem.
  6. Töröld az előző filet és hozz létre egy új json-t. Én is ezzel szenvedtem és csak ezzel sikerült megoldanom az általam használt elemnél. Nem lesz belőle semmi gond, csak ügyelj, hogy a többi, nem módosított adatot is bele tedd.
  7. Hát lehetséges, én nem használtam még. Én szeretem a phpmyadminos vonalat, bár lehet majd kifogok próbálni mást is egyszer.
  8. Ja hogy nem mysql-t használsz. Akkor már értem. :D Örülök, hogy tudtam valamennyit segíteni. :) Mellesleg miért sqlite-t használsz? :D
  9. És miért nem raksz le egy modelt, amire shaderrel rátöltesz egy texturát (mert az a plakát nálam)? Mellesleg neked az alábbi dolgok mindenképp kellenek: createMarker onClientMarkerHit vagy onMarkerHit onClientRender valami file vagy sql tábla ahol megadod a tábla pozíciókat.
  10. Hát miután rosszul akarod hozzáadni. Úgy nézz ki nem érted meg, hogy rosszul akarod az argumenteket feltölteni. dbExec a következő képen kell kinézzen: dbExec(db_connection, "INSERT INTO users SET username=?, password=?, serial=? , ip=? ", uname, hash("md5", pw), getPlayerSerial(source), getPlayerIP(source)) Nézd meg utána, hogy SQL-be bemegy -e az érték.
  11. dbQuery(function(query) local query, query_lines = dbPoll(query, 0) if query_lines > 0 then -- van találat else -- nincs találat end end, connection, "SELECT * FROM tablaneve WHERE username= ?", felhasznalo123) Ezt kell akkor. WHERE -> ahol username = ? -> felhasználónév ezt lezárod és megadod hogy milyen username az amit keresel tehát jelen esetben felhasznalo123 De amúgy ez a szelektálás fajta azért is jobb, mert egyszer fut le, majd megáll, ellenben a -1-s értékkel, ami folyamatosan újra és újra fog futni, ameddig nem talál értéket. Ha elolvasod a wiki-t amúgy és nem csak "kimásolod" a szükséges dolgokat, akkor ezekről mind tájékoztatást kapsz mellesleg (ha nem tudsz angolul bemásolod google translateba és azzal is megfogod tudni érteni a dolgokat úgy ahogy).
  12. Sziasztok! Huzamosabb ideje gondolkodok már azon, hogy miként lehetne még jobban optimalizált dolgokat létrehozni főként client oldalon (szerver oldalt most ez esetben nem említem, de persze arról is eshet szó, hátha tanulok belőle valami új dolgot). Tehát mondjuk for ciklussal szeretnék felrajzolni valamit. Tegyük fel egy inventory-t csinálok. Ki milyen praktikákra esküszik esetleg mivel tudsz segíteni a minél eredményesebb végcél elérésében? Actionbar esetében miket érdemes csinálni? Esetleg milyen praktikákat ismertek a jobb optimalizálás érdekében? Előre is köszönöm az ötleteket, remélem tudok belőle valami hasznosat tanulni amit a jövőben fel is tudok használni.
  13. Keress rá a createPed szóra, az alábbi programmal /notepad++/ (akár), az alábbi módon: Notepad++ Itt kifogja hozni neked és megtudod nézni.
  14. Szia. Elsőként is javaslom az alábbi sql select használatát: function functionname() dbQuery(function(query) local query, query_lines = dbPoll(query, 0) if query_lines > 0 then for k, v in pairs(query) do -- ide jöhet minden end else -- üres a tábla, itt történjen valami, pl beszúrja neki az adatot vagy amit szeretnél. end end, connection, "SELECT * FROM tablaneve") end Másik fele, hogy amennyiben nem szükséges vagyis nem akarsz választ kapni a történetben, akkor javaslom az alábbi függvény használatát: dbExec A kérdésedre pedig: Selectálás során a teljes táblából kell selectálni (SELECT * FROM ... etc) és utána kell megadnod az argumentet hogy mi alapján. Ahogy nézem alapból maga a felépítés sem stimmel nálad (legalábbis én soha nem láttam még így felépítve egy scriptet sem). Inserthez: dbExec(sqlkapcsolat, "INSERT INTO table_neve SET username = ?, password = ?", username, password ) Selecthez: function functionname() dbQuery(function(query) local query, query_lines = dbPoll(query, 0) if query_lines > 0 then for k, v in pairs(query) do if v["username"] == username and v["password"] == password then -- van találat else -- nincs találat end end else -- üres a tábla, itt történjen valami, pl beszúrja neki az adatot vagy amit szeretnél. end end, connection, "SELECT * FROM tablaneve") end Ha minden igaz itt stimmelni fog a dolog. Ami fontos, hogy ne jelents el titkosítani sem, illetve valami kulcsot sem árt hozzáadni. Remélem tudtam segíteni.
  15. Ha valóban gyakorolni szeretnél, inkább csinálj egy teljesen új motort/módot. Sokkal több mindent tanulsz meg az idő alatt. Semmivel se több és ha valóban csak gyakorlásra szánod, akkor sokkal jobban át is látod az egészet.