QConsole
Posted: March 17, 2014, 8:31 pm


Konzolu som upravil aby bola komfortná na ovládanie, dokáže:
- prechádzať text a označiť ho (SHIFT + šípky)
- skopírovať, vystrihnúť a vložiť text (CTRL + C/X/V)
- prehľadávať históriu napísaných príkazov (šípka hore)
- automaticky doplniť začatý príkaz (TAB)
- prehľadávať napísané príkazy scrollbarom, alebo (MWHEEL)
- prácu s parametrami oddelené medzerou (viz. nižšie)
- celkovo vykonať akýkoľvek príkaz naprogramovaný autorom
CONFIG:
Na začiatku hry je možné prispôsobiť si vzhľad a ovládane konzoly podľa svojho. Tri skripty ponúkajú celkom pestrý výber nastavenia pre vašu hru:
Code: Select all
console_config_control(enabled, clearAfterOpen, pauseAfterOpen, writeLastLine, history, speed, writeTime);
console_config_user(semicolonOpen, keyOpen, keyClose, maxlength, slashRequired);
console_config_appearance(shadows, color, bgColor1, bgColor2, background, depth, scrollbar, height, alpha);
- enabled - konzola má byť aktívna [true / false]
- clearAfterOpen - vyčistí riadok kde sa píšu príkazy [true / false]
- pauseAfterOpen - pozastaví hru pri otvorení konzoly, využíva instance_deativate_all() [true / false]
- writeLastLine - vypíše najprv do konzoly napísaný príkaz, potom vykoná akciu [true / false]
- history - bude uchovávať napísané príkazy [true / false]
- speed - rýchlosť otvárania a zatvárania konzoly, default. 3
- writeTime - vypíše čas odoslania pred každým príkazom [true / false]
- semicolonOpen - otváranie konzoly pomocou bodkočiarky (tlačidlo pod Escapom) [true / false]
- keyOpen - klávesa pre otváranie konzoly (pre žiadne zadaj vk_nokey)
- keyClose - klávesa pre zatváranie konzoly
- maxlength - maximálna dĺžka pre písanie príkazu, default. 512
- slashRequired - nutnosť písať pre každým príkazov lomítko / [true / false]
- shadows - tieňované písmo [true / false]
- color - defaultná farba textu [farba]
- bgColor1 - 1. farba pozadia [farba]
- bgColor2 - 2. farba pozadia [farba]
- background - pozadie pre konzolu, (pre žiadne zadaj prázdny string "" !)
- depth - hĺbka konzoly, využitie najmä pri pozastavení hry, default. -1000000
- scrollbar - zobrazí scrollbar pri približení myšky na konzolu, ak je tam viac riadkov [true / false]
- height - celková výška konzoly, doporučujem písať násobky čísla 18, default. 198
- alpha - priehľadnosť konzoly [0 - 1], default. 0.8
Pre nastavenie príkazu ktorý bude dostupný pre hráča sa používa jeden skript, ktorý môže vykonať dve možnosti: a) napísať ľubovoľný text, b) vykonať udalosť
Samozrejme je možné aj aby vykonal udalosť - napísanie textu...
Možné spôsobi napísania skriptu:
- 1. console_command("reset", "game_restart()") - po zadaní príkazu reset sa vykoná udalosť uvedená v druhom agumente, teda game_restart()
- 2. console_command("reset|restart", "game_restart()") - je možné nastaviť tú istú udalosť dvom príkazom, ktoré sa oddeľujú znakom |
- 3. console_command("hello", "Pozdravil si svet!", c_red) - ak je vyplnený tretí argument (farba), konzola vypíše text v zadaný v uvodzovkách, v našom prípade po zadaní príkazu hello vypíše červeným písmom text Pozdravil si svet!
- 4. console_command("say", "{1}", c_red) - tento znak v sebe uchováva parameter, resp. slovo ktoré sa nachádza na prvom mieste za príkazom. Po zadaní príkazu say ahoj!, vypíše teda konzola len slovo ahoj!.
Spolu je možné použiť až 9 parametrov {0} - {9}
Parametre sa oddeľujú medzerou! - preto v našom poslednom príklade keby sme zadali príkaz say ahoj svet!, zobrazil by sa stále len text ahoj. V takom prípade sa pripíše k číslo znamienko +, ktoré znamená, že všetky slová od čísla v zátvorkách sa uložia ako jeden parameter - 5. console_command("say", "{1+}", c_red) - preto teraz po zadaní say ahoj svet! vypíše ahoj svet!
Parameter {0} v sebe uchováva napísaný príkaz, napr. /say
Teda je možné efektívne rozdeliť parametre podľa nutnosti. Príklad:
console_command("kick", "Player {1} was kicked. Reason: {2+}", c_red) - Vykopne hráča napísaný prvým slovom, z dôvodu, ktorý sa napíše za meno, napr.: kick DDL_Blue neposlúchalvypíše do konzoly text DDL_Blue was kicked. Reason: neposlúchal
Aby bolo možné zároveň vykonať akciu, resp. externý skript ktorý naozaj zabezpečí vyhodenie hráča zo serveru, nedefinuje sa príkaz ako text, ale ako udalosť, do ktorej sa vloží skript. Napr.: - 6. console_command("kick", "scrKickPlayer('{1}', '{2+}')") - to vykoná skript scrKickPlayer, ktorému odovzdávate dve argumenty (pozor na úvodzovky!), v ktorom si naprogramujete vyhodenie hráča zo serveru a prípadne si doňho môžete vložiť správu, že bol hráč vyhodený (viz. nižšie)
Veľmi jednoduchý skript console_write, kde si napíšete text a zadáte farbu
console_write("Type 'help' to show available commands", c_orange) - vypíše správu oranžovou farbou
EXPLODE a TRIM
Pridal som dve užitočné skripty pre tých skúsenejších, prvým je explode(array, separator, string), ktorý dokáže "rozbiť" string na poľa, ktorého názov sa zadáva do "array" v úvodzovkách!, separator je znak, ktorým je text rozdelený a string je reťazec, ktorý chcete rozdeliť. Vracia to počet polí. [Príklad na pripojenie s portom] [Príklad na error message]
Druhým je trim(string, char), ktorý vie orezať text od znaku char umiestnených po stranách textu. Využíva sa najmä ak chcete odstrániť medzeri na začiatku a konci slova
Download:


Screeny: