Metin2 Quest Lua Extension pentru VS Code - Autocomplete, Highlight si QC
Quest Lua este o extensie pentru VS Code facuta special pentru quest-urile Metin2. Citeste automat API-ul din sursa serverului si ofera autocomplete, highlight, hover, navigation si verificare cu qc.exe.
- autocomplete pentru functiile Metin2 si Lua;
- highlight pentru quest, state, when, variabile si functii;
- Go to Definition si Rename intre mai multe quest-uri;
- verificare cu qc.exe direct din VS Code;
- API generat automat din questlua_*.cpp si questmanager.cpp.
*Link download / Code:
Pentru aceasta extensie ai nevoie de:
- Node.js LTS;
- Visual Studio Code;
- sursa serverului Metin2;
- fisierele questlua_*.cpp si questmanager.cpp;
- qc.exe sau un compiler similar pentru quest-uri;
- optional locale_quest.txt pentru suportul [LC;ID].
Download:
Descarca arhiva extensiei si extrage folderul vscode-quest-lua.
Deschide folderul vscode-quest-lua in Visual Studio Code.
Deschide un terminal din:
Code:
Terminal -> New TerminalRuleaza:
Code:
npm run install:allIntra in folderul generator si copiaza fisierul:
Code:
generator.config.json.exampleRedenumeste copia in:
Code:
generator.config.jsonDeschide generator.config.json si modifica gameSourceDir astfel incat sa pointeze catre folderul sursei tale unde se afla direct fisierele questlua_*.cpp si questmanager.cpp.
questFunctionsListPath este optional si poate ramane gol.
Dupa configurare, revino in terminal si ruleaza:
Code:
npm run buildDupa build, extensia va fi generata ca fisier .vsix in folderul extensiei.
O poti instala direct din terminal:
Code:
code --install-extension extension/quest-lua-0.1.0.vsixSau din Visual Studio Code:
Code:
Extensions -> ... -> Install from VSIX...Selecteaza fisierul .vsix generat.
Dupa instalare, reincarca Visual Studio Code:
Code:
Ctrl+Shift+P -> Reload WindowDaca quest-urile tale folosesc extensia .lua in loc de .quest, deschide .vscode/settings.json din workspace-ul serverului si adauga:
Dupa instalare trebuie configurate si path-urile folosite zilnic de extensie.
Deschide setarile VS Code:
Code:
Ctrl+,Cauta:
Code:
questLuaSeteaza questLua.gameSourceDir catre folderul care contine direct fisierele questlua_*.cpp si questmanager.cpp.
Pe majoritatea surselor acesta este folderul:
Code:
game/srcSeteaza questLua.questScriptsDir catre folderul care contine quest-urile tale si qc.exe.
Structura pentru gameSourceDir trebuie sa contina direct fisierele:
Code:
questlua_*.cpp
questmanager.cppScanarea nu este recursiva, deci aceste fisiere nu trebuie sa fie intr-un subfolder fata de path-ul configurat.
Folderul setat in questLua.questScriptsDir trebuie sa contina in mod normal:
Code:
qc.exe
*.lua / *.quest
quest_functionsDaca qc.exe se afla in alta locatie, seteaza separat questLua.qcExePath.
Dupa configurarea path-urilor, deschide Command Palette:
Code:
Ctrl+Shift+PRuleaza:
Code:
Quest Lua: Regenerate API StubsAcest pas citeste functiile direct din sursa ta si genereaza API-ul folosit de extensie pentru autocomplete, hover si highlight.
Pentru suportul [LC;ID] poti configura optional questLua.clientLocaleDir si questLua.locale, folosind fisierul locale_quest.txt in formatul:
Code:
ID<TAB>TEXTExtensia include si suport pentru:
- quest, state, when si define;
- functii precum pc.*, npc.* si game.*;
- functiile standard Lua;
- Go to Definition cu F12 sau Ctrl+Click;
- Rename cu F2;
- Outline cu Ctrl+Shift+O;
- diagnostic live pentru blocuri si string-uri neincheiate;
- validare reala prin qc.exe.
Parser-ul extensiei este custom si nu este un parser Lua complet. Pentru cod foarte complex pot exista detectii gresite, iar pentru verificarea finala este recomandat sa te bazezi pe qc.exe.
*Link scanare VirusTotal (obligatoriu):


la acest mesaj și conținutul se va afișa automat.
