Jump to content
  • Announcements

    • Xmat

      Pravidlo pro postování v TTT

      Do sekce Tipy, triky, tutoriály nepatří žádné dotazy.   Postujte sem vaše návody, tipy a různé další věci jež uznáte za vhodné sdělit zdejšímu osazenstvu, ale veškeré dotazy směřujte do sekce Všeobecná diskuse.
    • Replik

      Seznam návodů a důležitých témat v této sekci

      Pro lepší přehlednost jsem vytvořil tento seznam, který vás, méně zkušené, lépe provede touto sekcí. Věřím, že zde najdete, co hledáte. Vypsané jsou návody, které jsou oficiálně uznané jako návody. Běžné diskuze, které neposkytují postupy a rady zvěřejněny nejsou.   Instalace vlastního MaNGOS Serveru Díky těmto návodům budete (měli by jste být) schopni vytvořit a následně spustit váš vlastní server. Nastavení je pro verze s i bez datadisku.   Instalace MaNGOS Serveru (bez datadisku TBC) - Autor Benny Instalace MaNGOS Serveru (s datadiskem TBC) - Autor Malfik Instalace MaNGOS Serveru v prostředí Linux - Autor charlie Instalace MaNGOS Serveru v prostředí Linux - Autor kupkoid   Chyby a jejich řešení při přihlašování k serveru - Autor Cybe   Zálohování uživatelských dat   Dávkový soubor (BAT soubor) pro vytvoření SQL záloh - Autor Replik   Kompilování - tvoření vlastních release (revizí)   Tvorba kompilací pro Win32 (MangoScript) - Autor bLuma   Ostatní - těžko zařaditelné, ale neznamená to, že nejsou dobré   VIP Systém - Autor charlie Tvorba Webových stránek pro MaNGOS - Autor zahuba Tvorba teleportačních NPC (MangoScript) - Autor Replik Registrační web (původně předělaná SPORA) Funkční pro Antrix i MaNGOS - Autor Replik Nastavení a spuštění Minimanager pro MaNGOS - Autor BlackMartin Nastavení MaNGOS Website - Autor Artorius   Samozřejmě jsou zde i jiné návody, ale tyto jsou nejvíce používané, proto věřím, že vám budou nápomocné. Tuto sekci budeme upravovat podle potřeby. Pokud by jste něco nenašli nebo si nevěděli rady, hledejte na fóru a teprve potom založte vlastní topik. Pokud nějaký autor vytvoří kvalitní návod a chtěl by ho zveřejnit i v tomto seznamu, doporučuji, aby mi napsal zprávu skrze PM.   Díky a přeji hezký den na WoWResource   Replik
    • Aristo

      Příspěvky tam, kde nemají co dělat

      Dodržujte zákaz přispívání do topiků s repaky pokud si to zakladatelé nepřejí!! Opakované psaní příspěvků bude trestáno warnem.
    • Aristo

      Používání spoilerů

      Poslední dobou má většina uživatelů fora zvláštní nutkání postovat extrémně dlouhé texty nebo kódy, které zabírají v nejedenom případu i 80% obsahu celé stránky a hodně tak zvedají nepřehlednost v topiku. Chtěl bych všechny uživatele požádat, aby při postování citací, jakýchkoliv kódů, errorů, atp... delších než 30 řádků používali funkci spoileru.   Funkci vyvoláte příkazem [spoiler] text [/spoiler]   Ukázka:  

bLuma

Members
  • Content count

    2523
  • Joined

  • Last visited

  • Days Won

    19

Everything posted by bLuma

  1. Online grafy pro servery - beta

    fsockopen není funkce z rozšíření, je dostupná vždy, pokud není zablokována. Ovšem pokud tímhle způsobem voláš i tento skript u klientů bylo by vhodné nastavit ignore_user_abort(true), jinak se ti skript ukončí jakmile to spojení uzavřeš. Což vzhledem k rychlosti SQL dotazů může způsobit, že ten skript přerušíš v půlce činnosti. A opačně stejný problém by mohl mít i server.
  2. Online grafy pro servery - beta

    Obsfukace skriptů je sice fajn, ale nikdy nechrání dokonale. Musím si rýpnout, mluvíš tu o curl a přitom to rozšíření vůbec nepoužiješ. Voláš tam sice funkci, kterou někdo pojmenoval curl_request_async, ale ta využívá standardních možností funkcí fsockopen a fwrite. Na výpočet online hráčů by ti stačil jediný select se seskupením.
  3. mana

    Must remain seated while drinking. Aby to mělo účinek musíš během pití zůstat sedět (ve hře, ne na židli u počítače).
  4. Trinitycore a vicejadrovy server

    UseProcessors říká windowsu, na které procesory se proces může pověsit. To tě nejspíše nijak nevytrhne (v základu mangos/tc využívá jen jedno vlákno na veškeré updaty, pouze obsluha síťových rozhraní jde asynchronně), ale tvé pochopení té hodnoty je chybné. Hodnota je totiž bitová maska jednotlivých jader/procesorů. Aby jsi to povolil pro všechna jádra měl by jsi tam mít hodnotu 255.
  5. [C++] World of Colors (v0.3) - TrinityCore

    Nezkoušel jsem to, ale mám dojem, že string konstruktor nemá definovaný jako explicit a ta konverze by mohla proběhnout implicitně. Schválně to zkus jenom jako "return buf;". Jinak samozřejmě to bylo myšleno, aby to vracelo std::string. Cčkové řetězce jsou jen pole znaků, ovšem pro poznání konce tam musí být znak \0. Proto je nutné si alokovat pole o jeden prvek delší, aby jsi tam měl místo na nulu. Ad dvě tečky - je to nesmysl. V češtině existuje pouze jedna tečka a poté trojtečka (výpustka, elipsa).
  6. [C++] World of Colors (v0.3) - TrinityCore

    std::string GetTestMessage() { char hexVal_R[3] = "00"; sprintf(hexVal_R, "%.2X", color[color_R]); char hexVal_G[3] = "00"; sprintf(hexVal_G, "%.2X", color[color_G]); char hexVal_B[3] = "00"; sprintf(hexVal_B, "%.2X", color[color_B]); std::ostringstream os; os << "|cff" << hexVal_R << hexVal_G << hexVal_B << "WORLD OF COLORS: #" << hexVal_R << hexVal_G << hexVal_B << " TEST MESSAGE.."; return os.str(); } Stačí 1x sprintf, aby jsi složil celý RGB str. A navíc dokonce jeden sprintf zvládne složit komplet celý rětězec char buf[51]; sprintf(buf, "|cff%.2X%.2X%.2XWORLD OF COLORS: #%.2X%.2X%.2X TEST MESSAGE...", color[color_R], color[color_G], color[color_B], color[color_R], color[color_G], color[color_B]); return buf;
  7. [C++] World of Colors (v0.3) - TrinityCore

    Ostream jsem zmiňoval, protože se jedná o předka těchto tříd. Z ostringstreamu dostaneš string stejným způsobem - metodou str() - http://www.cplusplus.com/reference/iostream/ostringstream/'>http://www.cplusplus.com/reference/iostream/ostringstream/ Celá ta hierarchie tříd streamů je znázorněna na http://www.cplusplus.com/reference/iostream/
  8. [C++] World of Colors (v0.3) - TrinityCore

    To si domysli V hlavě kompilátor C/C++ vážně nevedu. Stringstream disponuje funkcemi z istream i ostream. Jediné co však využiješ je ostream část (proto ostringstream), takže alokuješ nějakou pamět navíc a provádíš určité inicilizace navíc. const char* GetTestMessage() Tak přesně tohle jsi dělat neměl. Protože ti to alokuje string na stacku, ze kterého si přečteš adresu ukazatele, vrátíš ji z funkce, string umře a zbylý odpad na dané adrese se pokusíš vložit do gossipu. tady jsi měl nechat vracet string. Jediný důvod proč ti to generuje bordel, je protože jsi provedl tuhle "optimalizaci" navíc, v mých úpravách byl string na tomhle místě ponechán záměrně. A navíc ten bordel by jsi byl schopen dohledat, kdyby jsi použil debugging tak by jsi našel místo, kde se vrací nesmysl. Tu metodu voláš 6x v ní provedeš 52x konstrukci stringu. A to pokaždém vybrání volby v menu. Trochu moc zbytečné práce.
  9. [C++] World of Colors (v0.3) - TrinityCore

    Pořád je co kritizovat Viz komentáře.
  10. define(MYSQL_HOST," "); - pomocí define bych rozhodně přístup do mysql nedefinoval, základem bezpečnosti je smazat minimálně heslo hned po připojení do db a to takhle rozhodně nedokážeš. "html_entity_decode(htmlentities($login))" je blbost, akorát plýtváš výkonem na převedení na entity a zpět. Takže vlastně 3x zvyšuješ šanci, že se to rozpadne. Protože místo jednoho selectu pošleš hned tři, za kterými navíc z nepochopitelných důvodů vnucuješ php cyklus while a děláš tím určitou režii navíc. session_write_close() je rovněž nepotřebné, děje se to automaticky při ukončení skriptu. mysql_fetch_array, mysql_fetch_assoc pravděpodobně vůbec netušíš rozdíl mezi těmi funkcemi a svévolně je mixuješ. Rozdíl je v tom, jestli se vrací pole indexované (row), asociativní (assoc) nebo obojí (array).
  11. Prepojenie program <-> program

    Způsobů je hodně - http://en.wikipedia.org/wiki/Inter-process_communication. Záleží, jaké máš požadavky (komunikace pouze v rámci jednoho OS, přes síť, co nejrychlejší, ...)? Obecně přes síť sokety, v rámci jednoho pc se dají použít i roury nebo různé formy sdílení paměti.
  12. [C++] Dynamic Teleporter (v1.0) - TrinityCore

    Použití mapy je v tvém případě zbytečné, její funkce vůbec nevyužíváš a výkonově to degraduješ na klasické iterování přes vektor. Tím, že jsi entry neuložil jako klíč v mTeleportLoctData nemáš možnost přistoupit k tomu přímo. Obdobně v gossip menu by použitím vhodné složitější struktury bylo možné indexovat podle ID menu a pod tím mít vektor, který jenom vypíšeš. GetTeleportMenuData a GetTeleportLoctData by bylo lepší také označit inline. Automatické načtení dat by bylo vhodnější detekovat a řešit přímo ve třídě DynamicTeleportMgr, podle těch bool příznaků, které tam už máš. Případné dlouhé načtení z db stejně ovlivní všechny hráče a notifikace by tak měla směřovat do broadcastu, aby měla smysl. Pro action_type by bylo vhodnější použít vlastní enum a v načítání z DB kontrolovat správnost vstupů. "#pragma once #ifndef _DYNTEL_H" - totožná funkce pomocí dvou různých způsobů. Vzhledem k lepší kompatibilitě se obvykle používá ifndef, define. Pragma once můžeš klidně smazat.
  13. Linux Ubuntu 10.10 problém

    Funguje ti příkaz startx na spuštění GUI? Pokud ne tak co píše? Ale i tak nepočítej s tím, že by jsi tady dostal v případě větších problémů odpověď. Na linux se specializují servery jako je abclinuxu.cz aj.
  14. Error buildu

    struct MANGOS_DLL_DECL ScriptedAI: public CreatureAI Vytváříš strukturu ScriptedAI, kterou dědíš z CreatureAI. Ovšem v SD2 již ScriptedAI existuje. Ta definice by měla být: struct MANGOS_DLL_DECL boss_critter : public ScriptedAI Což odpovídá tomu, jak máš napsaný konstruktor.
  15. Error buildu

    struct MANGOS_DLL_DECL scriptedAI: public CreatureAI, {
  16. [CS 1.6] Parachute Plugin - Problém

    Zbytečně složitý, správná odpověď už tu zazněla. Stačí si nastavit cenu padáku na nulu, protože na reset hudu máš funkci: public newSpawn(id) { if(para_ent[id] > 0) { remove_entity(para_ent[id]) set_user_gravity(id, 1.0) para_ent[id] = 0 } if (!gCStrike || access(id,PARACHUTE_LEVEL) || get_pcvar_num(pCost) <= 0) { // <-- poslední podmínka has_parachute[id] = true //set_view(id, CAMERA_3RDPERSON) } } A padák ti to nastaví automaticky při nulové ceně.
  17. To je čistě problém databázového serveru. Musíš si nastavit, aby ten uživatel (kterým se v PHP připojuješ do DB) měl práva číst z obou těch databází, resp. konkrétních tabulek.
  18. [C++ Pomoc] Ako spustiť event cez npc

    Neposlal jsi kód, kterým jsi se to pokusil spustit, ani chybu, kterou to vyvolalo. V principu by mělo stačit: sGameEventMgr.StartEvent(12345, true);
  19. [PHP] TOP10 Arena Teamov

    1) SELECT TOP10 - blbost 2) FROM arena_team,arena_team_stats - bez omezujících podmínek provedeš akorát kartézský součin a výsledek ti je k ničemu 3) $riadok = mysql_fetch_row($vysledok); - absence cyklu vypíše pouze první záznam Když už sem chceš něčím přispět opravdu si to nejdříve ozkoušej.
  20. dotaz na moderatory a admina a celou KOMUNITU WS

    Téma bylo smazáno ze zcela konkrétního důvodu, který ti byl oznámen na PM. Navíc osobně podobné téma stejně nepovažuji za přínosné. Diskutovat nad teorií DoS útoků je sice hezké, ale nepřináší to žádné hmatatelné postupy pro uživatele windows/linuxu na čem běžně wow server běží. 99% místních provozovatelů nemá vlastní firewall nebo Cisco router s IOSem, aby pro něj podobné věci byly přínosem. Celý obsah příspěvku byl zkopírován ze serveru živě.cz, který nedovoluje šíření jejich příspěvků. V takovém případě je vhodné pouze uvést odkaz nebo citaci, ale ne provádět kopírování, které je zapovězeno zákony i pravidly fóra: Můžete tu klidně polemizovat, že se tu kopíruje z mnoha jiných fór. Ano je to pravda, ale vesměs jde o veřejné materiály nebo samozřejmě i o autorské texty, ovšem takové návody jsou množeny velmi hromadně a myšlenka, že by to někdo takový chtěl hnát k soudu není příliš reálná. Což v porovnání se solidním periodikem je podstatný rozdíl. A každý rozumný člověk uvidí rozdíl mezi zkopírováním článku z časopisu nebo online periodika a přeposláním příspěvku z jiného fóra (i zde je povinnost uvádět autora a zdroj). Byl tu zmíněn nedávný topic Wolfa ohledně toho, jak se ptát. Zde je zachován plný copyright a licence originálního dokumentu dovoluje za těchto podmínek šíření překladů. (Ne to jsem nehledal při čtení tohoto tématu, ale už když se toto téma objevilo.) Sekce offtopic je na věci, které se vymykají zaměření fóra, ale to neznamená, že ta sekce snese vše. Naprosté blbosti se prostě mažou a mezi to témata typu "plačte - odcházím" prostě patří. Když někdo chce odejít může tak učinit, rozloučit se osobně přes PM, ale opravdu zde není nutné zakládat téma, kde se opět budete hádat nad důvody, proč tomu tak je. A musím říci, že uživatel STONERSVK mě velice zklamal. Toto téma není ničím jiným než dalším flamewarem, kvůli někomu, kdo nemůže nahamtat reputaci na cizím díle. Reagovat mohl odpovědí na PM, místo toho zvolil tuto formu agresivní debaty. ad latnar: warny jsou označením prohřešku uživatele, pokud si myslíš, že jsi se polepšil a nechceš mít tuto výstrahu na svém kontě je čistě na tobě, aby jsi se angažoval v jeho snížení. Nemůžeš chtít, aby moderátoři procházeli všechny pravidla porušující uživatele a čistili jim warny. Co se týče moderátorů a přístupu k tématům, které by se daly považovat za odpad, je čistě individuální. Já osobně témata, která jsou špatně umístěna v tipy&triky, mají titulek "pls pomoc" apod. rovnou mažu. Ohledně kvalit fóra nelze očekávat, že když se zdvojnásobí počet uživatelů a průměrný věk poklesne na 14 let, že při stejném počtu moderátorů bude toto téma vynikat v čistotě a dokonalosti. V poslední době tu nevidím mnoho užitečných příspěvků ani od starších a zkušenějších členů fóra. Fórum je, bylo a bude tvořeno jeho uživateli, pokud každý z nich se bude chovat jako hulvát nemůžete čekat zázraky.
  21. [Arcemu] TEMP file error

    Kolik máš volného místa na disku C?
  22. Log in do Serveru

    Ach jo, zase... Připojovat se na svůj počítač přes veřejnou IP adresu je kravina, to co od těch low-end zařízeních chcete (aby uměli poslat data do smyčky a pak zpátky) to většinou neumějí. Pokud chceš hrát sám nech si tam všude 127.0.0.1, pokud chceš mít i kamarády, vytvoř si v db realm pro ně (veřejná ip) a tebe (127.0.0.1). Nebo si zaregistruj doménu (i .tk) nastav si tam tuto doménu a na svém PC si přidej do souboru HOSTS "přesměrování" této domény na 127.0.0.1.
  23. Program na převedení .xlsx do .html

    No je zcela evidentní, že jsi si ten PNG export nezapnul, protože jsem to zkoušel a s ním to opravdu GIFy nedělá.
  24. Program na převedení .xlsx do .html

    Stačí se naučit číst a hledat, obvykle v nastavení nebo přímo při exportu... Ale snad netřeba dodávat, že chtít dělat HTML z excelu je akorát tak pro export tabulek, dělat na tom web je fakt blbost.
  25. Problém s vytvořením php scriptu.

    Tohle v PHP neuděláš, příslušnost guildy se určuje až u charakteru a to nemůžeš nijak v PHP odchytit. Je nutné upravit zdroják emu, aby se ta guilda přiřadila při vytvoření charakteru a upravit handler na leave z guildy, aby ji nešlo opustit.
×