1 mesaj
Administrator Administrator
  • Mesaje: 4516
  • Reacții: 92437
  • Mesaje utile: 44
  • Status: Pe aici.. 🤠
  • Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • Contact:
    *Descriere:

    Acest tutorial iti arata cum sa adaugi o functie nativa db.query pentru quest-uri Metin2, direct din C++/Lua.

    Aceasta inlocuieste metoda veche mysql_query care folosea os.execute, metoda ce putea provoca lag pe game core.

    Noua functie foloseste direct DBManager::DirectQuery, fiind mai rapida si potrivita pentru UPDATE, INSERT, DELETE sau REPLACE.


    *Link download / Code:

    Deschide game/src/questlua.cpp si cauta functia:
    Code:
    ScriptToString
    
    Dupa finalul functiei, adauga:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschide game/src/questlua.cpp si cauta:
    Code:
    RegisterHorseFunctionTable();
    
    Adauga sub:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschide game/src/questlua.h si cauta zona cu declaratiile:
    Code:
    extern void Register
    
    Adauga:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Deschide fisierul quest_functions din folderul quest, de exemplu:
    Code:
    share/locale/english/quest/quest_functions
    
    Adauga:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.




    Exemplu de folosire in quest:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Atentie:
    Code:
    - aceasta functie este recomandata pentru UPDATE, INSERT, DELETE si REPLACE
    - nu este facuta pentru SELECT
    - nu returneaza randuri SQL in Lua
    - pMsg este sters direct dupa executie
    
    Important pentru securitate:
    Code:
    Nu folosi input() direct in db.query fara filtrare stricta.
    
    Exemplu periculos:
    Code:
    local text = input()
    db.query("UPDATE tabel SET ceva = '"..text.."'")
    
    Daca un jucator introduce caractere SQL speciale, poate provoca SQL Injection.

    Recomandat:
    Code:
    - foloseste valori sigure precum pc.get_player_id()
    - foloseste pc.get_name() doar daca stii ca numele sunt filtrate corect
    - nu permite query-uri construite direct din input liber
    - limiteaza caracterele acceptate daca trebuie neaparat sa folosesti text introdus de jucator
    

    Nou Cum descarc de pe TeraBox?

    Afișează detalii Ascunde detalii
    • Este asemănător cu Mega.nz
    • Instalați-vă clientul lor de Download de aici
    • Faceți-vă un cont (vă puteți loga cu Facebook / Google / etc)
    • Nou Dacă nu vreți să descărcați clientul de Download, folosiți acest site
    • Gata! Acum puteți descărca resursele rapid & simplu.

    De ce folosim TeraBox?

    • Este gratuit
    • Primești 1TB de spațiu gratuit la orice cont creat!
    • Este ușor de folosit și varianta premium este foarte ieftină
    • Fișierele nu sunt șterse niciodată
    TeraBox logo
    Te asteptam si pe serverul de Discord :p - aici ne-am strans toata comunitatea de Metin2 din Romania.
    Link: https://discord.gg/jWxeDSf7HP

    Suntem aproape 2000 membri! - Avem chat activ zilnic, support, cereri, resurse. :D :ymcowboy:





    See full signature

    Creează-ți un cont sau autentifică-te pentru a participa la discuție

    Trebuie să fii membru pentru a răspunde

    Creează-ți un cont

    Membrii pot crea subiecte noi și pot descărca resurse Metin2 Gratuit!


    Te poți înregistra sau conecta rapid utilizând contul tău de Discord, Github sau Google.

    Înregistrare

    Autentifică-te

    Înapoi la “Îmbunătățiri”

    Informații

    Utilizatori ce navighează pe acest forum: Enciu, Florin1o1, P1KS3L și 1 vizitator

    Discord ID copiat: