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:  

Spichy

Members
  • Content count

    333
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by Spichy

  1. [Návod]Jak udělat XP víkend

    Včera jsem u nás na serveru dělal XP víkend a je to tak jednoduchý, že sem se rozhodl ukázat vám jak na to: Nejdříve si vytvoříme samotný event, který se zapne o víkendu a trvá přez sobotu a neděli. Pro vytvoření zmiňovaného eventu vložte do DB (do tabulky, kde máte creatury,..) INSERT INTO `game_event` (`entry`, `start_time`, `end_time`, `occurence`, `length`, `holiday`, `description`) VALUES (99, '2009-10-31 00:00:00', '2010-01-07 23:00:00', 10080, 2880, 0, 'XP vikend'); pro vysvětlení: 99 - id eventu, který se začně spouštět od data 2009-10-31 00:00:00 - do data 2010-01-07 23:00:00 - každých 10080 - minut a bude trvat 2880 - minut ... event se jmenuje XP vikend První část by jsme měli. Teď jen stačí vložit do zdrojáků následující script. jak vložit script do souborů? Následovně: Najdete si soubor Formulas.h, otevřete a stiskněte ctrl+f, tam napište: return (uint32)(xp_gain*sWorld.getRate(RATE_XP_KILL)); a nad tento řádek vložte //---------- XP vikend ---------- uint16 id_eventu = 99; if (gameeventmgr.IsActiveEvent(id_eventu)) xp_gain *= 2; //------------------------------- xp_gain *= 2; značí počet, o kolik se zvýší rate při eventu (při zabití kreatury) nyní si otevřete soubor Player.cpp a najdete si pomocí ctrl+f řádek if (getLevel() < sWorld.getConfig(CONFIG_MAX_PLAYER_LEVEL)) nad který vložíte: //---------- XP vikend ---------- uint16 id_eventu = 99; if (gameeventmgr.IsActiveEvent(id_eventu)) XP *= 2; //------------------------------- XP *= 2; značí počet, o kolik se zvýší rate při eventu (při splnění questu) A je to, teď už jen stačí skompilovat a budete mít o víkendu 2x zvýšený kill, quest rate (můžete si to libovolně změnit v proměnných xp_gain a XP) dík za pozornost.. snad to někomu helpne (popř uvítam + rep se spokojeností )
  2. [C++] Problém s addy.

    float ADDS_COORDS[9][3] = { {3269.590f, -3161.287f, 297.423f}, {3277.797f, -3170.352f, 297.423f}, {3267.049f, -3172.820f, 297.423f}, {3252.157f, -3132.135f, 297.423f}, {3259.990f, -3126.590f, 297.423f}, {3259.815f, -3137.576f, 297.423f}, {3308.030f, -3132.135f, 297.423f}, {3303.046f, -3180.682f, 297.423f}, {3313.283f, -3180.766f, 297.423f} }; ...... ...... ...... Unit* SummonedZombies[9]; for(int i = 0; i < 9; i++) { SummonedZombies[i] = me->SummonCreature(16360,ADDS_COORDS[i][0],ADDS_COORDS[i][1],ADDS_COORDS[i][2],0,TEMPSUMMON_TIMED_OR_DEAD_DESPAWN,80000); if(SummonedZombie[i]) { pTarget = SelectUnit(SELECT_TARGET_RANDOM,0); if (pTarget) SummonedZombie[i]->AddThreat(pTarget,1.0f); } } Psal jsem to na rychlo, nevím jestli tam mam nějakou chybu, kdyžtak si to uprav
  3. Zdravím, nevím jestli je toto fórum ještě aktivní, dlouho jsem tu nebyl, ale přesto se zeptám. Tak trochu si hraji s klientem a dělám vlastní spell systém, ale mam problém s itemy. Itemy i sockety jsem vytvořil vlastní v DBC, ale stále se mi nezobrazují správně v inventáři a sockety mi v itemech mizí úplně (co mají dělat dělají, ale vizualizace chybí) zde je ukázka jak systém funguje a pro představu co myslím tou špatnou vizualizací. Za každou radu děkuji. (Patch mám vytvořený) S pozdravem, Spichy.
  4. Vlastní itemy, sockety

    Vyřešeno, prosím zavřít
  5. 4.3.4 Problém s Updaty.

    Z počátku jsem to také neviděl, ale v updatu je mírné typo. ALTER TABLE `reputation_reward_rate` ADD `quest_repeatable_rate` FLOAT NOT NULL DEFAULT '1' AFTER `quest_weekly_rate`;
  6. pdump-error

    Datový typ sloupce `deleteInfos_Account` nechce přijmout zadanou hodnotu - nekompatibilní tabulka `characters` s jádrem. Nějaký update jste vynechal, pokud ne, napište sem strukturu tabulky. Edit: Error sice popisuje co jsem napsal výše, ale dotaz používá pro tento sloupec nulovou hodnotu. Zkuste sem spolu se strukturou vložit celý výpis logu. Dotaz pasuje do této struktury: Prosím o kontrolu datových typů u sloupců této tabulky.
  7. DNS

    Musíte si zakoupit doménu.
  8. Chyba pri kompilácii

    Musíte si nejprve vytvořit složku build, ze které použijete příkaz cmake. (mkdir build && cd build && cmake [parametry]) Neboli nelze kompilovat ze source složky, vždy se musí vytvořit složka rozdílná.
  9. Chyba pri kompilácii

    Poprosím o reup. obrázku nebo výpis z logu.
  10. Pomoc s 4.3.4 serverem

    Poslal jsem vám PM.
  11. Pomoc s 4.3.4 serverem

    Postupujte tak, jak jste postupoval, chybu nemáte v revizi nebo špatné kompilaci, chyba je pouze na straně databáze. Vše co potřebujete k plné funkčností je pouze nahrání zmiňovaných sql`s ze složky sql\updates. Složku sql jste určitě otvíral, jsou v ní také sql`s pro prázdné databáze realm a characters. Edit: doporučuji projít link viz výše a dodělat body v postupu pro zprovoznění serveru, které jste doposud neudělal. Snad jsem pomohl, přeji hezký večer.
  12. Pomoc s 4.3.4 serverem

    Po kompilaci a nahrání databází musíte ještě nahrát *.sql soubory, které naleznete ve složce sql/updates. Nepasují Vám tabulky k jádru.
  13. Pomoc s 4.3.4 serverem

    Celkem by se hodilo uploadnout log nebo vypsat dané chyby.
  14. Pomoc s 4.3.4 serverem

    Vše potřebné najdete zde: http://collab.kpsn.org/display/tc/TrinityCore+Home
  15. Definice "me" v Trinitycore

    Proměnná "me" je chráněnou součástí třídy UnitAI a plní se v jejím konstruktoru. Tato proměnná je však v základu trinitycore, takže nevím, co by jste chtěl definovat. Možná jsem tak úplně nepochopil otázku. V této http://www.trinitycore.net/ dokumentaci můžete hledat veškeré funkce, proměnné, které trinitycore ubsahuje, možná díky ní najdete odpověď na svou otázku rychleji.
  16. C++ HP Bossů

    to je tak, když člověk píše rychleji než myslí.. samozřejmě jsem myslel int32
  17. [C++] Analyzování inputu od uživatele

    spíš jsem myslel něco takového: http://pastebin.com/vaJtZF88
  18. C++ HP Bossů

    HP jsou v clientu udávány jako hodnota typu uint32. 2147483647 je nejvyšší možné číslo, které tento datový typ může pobrat. Nelze stanovit vyšší číslo, bez následných problémů.
  19. [C++] Analyzování inputu od uživatele

    tak to nech ve stringu, pomocí regexu uděláš kontrolu, zda se jedná o text nebo o číslo. Při textu vypíše chybovou hlášku a při čísle pokračování.. číslo ze stringu do intu převedeš pomocí atoi.
  20. [C++] Analyzování inputu od uživatele

    Jestli jsem to pochopil správně, tak se zkus podívat na regex: http://www.cplusplus.com/reference/regex/
  21. Mohu se zeptat jaké parametry má ten 'výkonnější' server?
  22. Dotaz: Výkon her

    to máš v pohodě... já mam noťas: intel core i7-2670QM CPU @ 2.20 - 3.00 GHz, 6 GB ram, nvidia geforce GT540M CUDA 2gb a seká se mi i DotA 2
  23. Zdravíčko. Snažím se získat data ze souboru do struktury, ale nevím, jak vytvořit array, když předem neznám délku příchozích dat. kód: struct MTEX { char sign[4]; uint32 byte_size; unsigned char filelist; }; ... stringstream buffer; ifstream tempFile("template.adt", ios::in | ios::binary); ... MTEX tempFileMtex; ... tempFile.read((char *)&tempFileMtex, sizeof(MTEX)); tempFile.close(); ... Struktura s unsigned charem zaznamená pouze prvních 8 bajtů Napadlo mě použít stringstream, který získá potřebná data, ale svou velikostí zasahuje do dalších datových bloků. Předem děkuji za rady
  24. Aha, to je přesně to co jsem potřeboval vědět.. MTEX udává zero-terminated odkazy k *.BLP, MMDX udává zero-terminated odkazy k *.M2, které se v mapě nachází. MMID pak udává offset který referuje pro MDDF blok s doodads,. Zkusím načíst blok do bufferu a s 0x00 explodovat data do vektoru, pak dám vědět. Zatím děkuji. Edit: char * ReadInFile(int pos, int len) { char * ret = new char[len]; _mInFile.seekg(pos); _mInFile.read(ret, len); _mInFile.seekg(mInFilePos); return ret; } ... struct MTEX { uint32 signature; int size; //char* fileList[1024]; std::vector<std::string> filenames; }; ... void AdtFile::LoadMTEX(int len) { mTexData.signature = 'XETM'; mTexData.size = len; char * buffer = ReadInFile(mHdrData.ofsMtex + 28, len); vector<string> vec; stringstream ss; for(int i = 0; i < len; i++) { if(buffer[i] != 0x00) ss << buffer[i]; else { vec.push_back(ss.str()); ss.str(""); ss.clear(); } } mTexData.filenames = vec; for(vector<string>::iterator iter = mTexData.filenames.begin(); iter != mTexData.filenames.end(); ++iter) printf("%s \n", *iter); } Output: Tileset\Wetlands\Wetlandsdirt01.blp Tileset\TirisFall\TirisFallDirtRock07.blp Tileset\TirisFall\TirisFallRockyMudGrass.blp Tileset\TirisFall\TirisFallRockyMudGrassHighlight.blp Tileset\TirisFall\TirisfallShore.blp Tileset\RedRidge\RedridgeRockRoadBase.blp Tileset\Elwynn\ElwynnDirtBase2.blp Tileset\TirisFall\TirisFallgrass01.blp Tileset\Duskwood\DuskwoodRockGravel.blp Tileset\Deadwind Pass\DeadwindPassRockBase.blp Děkuji mockrát
  25. Jde o to, že nevím jak deklarovat strukturu tak, aby to pobral read a načetl data do určené struktury správně. Když definuji délku charu pomocí konstruktoru char se nenaplní daty.. Možná jsem na to šel špatně.
×