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:  

Wolf Officious

Administrátor
  • Content count

    2092
  • Joined

  • Last visited

  • Days Won

    148

Posts posted by Wolf Officious


  1. B30wu1fa znám poměrně dlouho. Spolu jsme dokonce otevírali snad první server v čechách pro WoW CATA (F&F Alpha) a hodně moc mi tenkrát pomáhal s DB, kterou jsme předělali skoro ručně z WotLKu. :D Jelo to sice asi jenom týden a byla to taková WS lahůdka, ale kdo měl klienta, mohl si to zkusit i bez slizzu (blizzard). :D

    (zrovna dneska jsme si na skype tak trochu zavzpomínali na starý dobrý časy) :)

     

    Dneska už je doba jiná, ale tenhle borec se skoro nezměnil. V dnešní době spolu úzce (tak trochu) spolupracujeme. Nejde sice o spolupráci z mojí strany uplně na 100% (ani na 10%), ale když vím, tak poradím. A jestli to klapne, tak bude i hybridní core z mojí dílny. To bude takový "Puzzle Core" :D ...ale možná se to tak nakonec i pracovně nazve. :D

     

    Prostě doporučuju. Fakt, jemu fandím. Jako jeden z mála lidí co prolezl přes WS na to fakt má. Je to férovej borec. :)

     

    EDIT: Typo...

    • Upvote 2

  2. Tady jde o to, jestli tenhle warden filtr na WPE funguje. Když jedeš WPE a WoW, určitě nemáš dobré úmysly, proto se to zakazuje. Myslel jsem, že takovýmu inteligentovi by tohle mohlo dojít samo. ;)

     

    Jestli se chceš bavit o exploitech a nabádáš uživatele k jejich zveřejňování, vybízíš je v podstatě k porušování pravidel. Nestrhávej opět diskuzi špatným směrem, jak to máš ve zvyku. ;) Dokola jen omýláš ty tvoje irelevantní kecy a možná že právě díky nim nejsi schopný vidět fakta. Už toho bylo dost, nemyslíš?

     

    PS: Zkus si to sám, ne? Alespoň uvidíš jak moc se pleteš. :diablo:


  3. Ale většina děravých míst byla zneužita a následně opravena. Navíc kupa věcí je vyloženě server-side. Takže to ani hacknout nejde (například quest se děje čiště na serveru).

    "Většina" neznamená "všechno". Obzvlášť pokud jde o OC, tam je toho dost. Kdyby to nešlo, tak jak ty tvrdíš, nezakazovalo by se to a Blizzard by nikdy nevyvinul warden. http://en.wikipedia.org/wiki/Warden_%28software%29

    • Upvote 1

  4. Hele, nemyslím si že je moudré to uplně odstranit. :) Já bych to tam nechal jako poznámku. :)

     

    bool InstanceMap::CanEnter(Player *player)
    {
           if (player->GetMapRef().getTarget() == this)
           {
                   sLog.outError("InstanceMap::CanEnter - player %s(%u) already in map %d,%d,%d!", player->GetName(), player->GetGUIDLow(), GetId(), GetInstanceId(), GetSpawnMode());
                   ASSERT(false);
                   return false;
           }
           // cannot enter if the instance is full (player cap), GMs don't count
           InstanceTemplate const* iTemplate = objmgr.GetInstanceTemplate(GetId());
           if (!player->isGameMaster() && GetPlayersCountExceptGMs() >= iTemplate->maxPlayers)
           {
                   sLog.outDetail("MAP: Instance '%u' of map '%s' cannot have more than '%u' players. Player '%s' rejected", GetInstanceId(), GetMapName(), iTemplate->maxPlayers, player->GetName());
                   player->SendTransferAborted(GetId(), TRANSFER_ABORT_MAX_PLAYERS);
                   return false;
           }
           // cannot enter while players in the instance are in combat
           /*Group *pGroup = player->GetGroup();
           if (!player->isGameMaster() && pGroup && pGroup->InCombatToInstance(GetInstanceId()) && player->GetMapId() != GetId())
           {
                   player->SendTransferAborted(GetId(), TRANSFER_ABORT_ZONE_IN_COMBAT);
                   return false;
           }*/
           return Map::CanEnter(player);
    }

     


  5. Netuším co třída `Map` reprezentuje. Dle toho co píšeš to bude nějaká abstraktní mapa, popřípadě obyčejná mapa ve světě, kde žádná omezení nejsou - tudíž `return true` je logické.

    Jo, pravda.

    virtual bool CanEnter(Player* /*player*/) { return true; }

     

    A ještě něco (abys pochopil z čeho jsem vycházel).

    Tohle je dost zvláštní, protože v komentáři je napsáno že se to používá v CanEnter, přitom tomu tak není.

            //Used by the map's CanEnter function.
           //This is to prevent players from entering during boss encounters.
           virtual bool IsEncounterInProgress() const;

    (ano, je taky viruální, používá se v instance scriptech...)

     

    Oni tu metodu prostě nepoužívají. Trinity jí používá, nevím proč OC ne.

    Úryvek z TC, metoda InstanceMap::CanEnter:

        // cannot enter while an encounter is in progress on raids
       /*Group* group = player->GetGroup();
       if (!player->isGameMaster() && group && group->InCombatToInstance(GetInstanceId()) && player->GetMapId() != GetId())*/
       if (IsRaid() && GetInstanceScript() && GetInstanceScript()->IsEncounterInProgress())
       {
           player->SendTransferAborted(GetId(), TRANSFER_ABORT_ZONE_IN_COMBAT);
           return false;
       }

     

    Já nevím o čem mluvím? Prosímtě mohl by sis přečíst co k tomu píšu? Onu kolizi jsem ti ihned vysvětlil, tak nechápu, proč tvrdíš podobné hlouposti. A pokud se ti nezdá to co píšu, tak by sis měl přečíst něco o objektovém modelování a návrhu objektových aplikací.

    Ne. Stalo se. Kolize - řešení ve scriptech s něčím snad koliduje? Psal jsi aby se nezasahovalo do API - že jsem našel metodu která tohle měla mít na starosti a je ve scriptech by přeci už od začátku řešilo daný problém. Kdo ale mohl tušit, že oni to tam sic mají, ale je to nedomrlý pahýl? Ze začátku jsem si toho nevšiml, vždyť jsme lidi. Pokud ani tohle nechápeš, pak se nemáme o čem bavit. Měl by sis přečíst něco o slušném chování.

     

     


  6. No, u TC platí, že to můžeš zakázat jen v určitých instancích na základě jejich scriptů (přímo ve scriptech, jak jsem zmiňoval). Když jsi nechtěl upravovat API, teď do něj lezeš a upravuješ podmínku. Já jenom že si hodně protiřečíš; jako bys nevěděl o čem mluvíš.

     

    Jen tak mimochodem, je zvláštní, že metoda Map::CanEnter má v těle jenom return true; Že by další pahýl?

     

    ShadowyCZ: Musíš zapoznámkovat celou tu podmínku, včetně vnření (obsahu mezi { a } .. )

    PS: ... jak psal Tom, koukám že dřív.


  7. Já chtěl hlavně říct, že WPE řešit nemusíš. Žádná hrozba není a jen tak nebude.

    Já bych řekl že obava je na místě, když umí filtrovat a editovat packety. ;)

    Proč se to asi jmenuje "Winsock Packet Editor"? :D


  8. Stáhni si zdroják, koukni se do něj a navrhni lepší řešení, ty chytráku.

    Hlavně ať je konkrétní. Kecat o tom by ti šlo, ale činy jsou ty tam. :rolleyes:

     

    Další možností je upravit metody CanEnter, ale to se tady panu chytrákovi opět líbit nebude.

    Díky takovýmhle lidem tu ztrácí všichni motivaci se o čemkoliv normálně bavit. ;)

     

    PS: IsEncounterInProgress není v žádné podmínce. Je to nevyužitý pahýl. Když se podíváme na TC, používá se to. Zvláštní, jak tu meleš o upravování API a ani si neprověříš fakta. Říct mi že se to tam nepoužívá by bylo relevantnější.


  9. Je hloupej ten, kterej si to neumí nastavit. Mě to fungovalo, Zailovi taky, Oneb1tovi taky... Všechno na OC.

    Nevím jestli jsem tam měl konkrétně tenhle klíč, někde bych to možná ještě našel.


  10. To jdeš z druhé strany a IMHO tím něco mužeš rozbít - lepší bude smazat podmínku na straně playera, než takhle odstřihnout celou funkci a ovlivnit XY dalších věcí.

    Ta metoda je v podstatě jako šablona pro scripty a vlastně se nepoužívá. Proto se nic nerozhodí a pravděpodobně se ani nic nestane (nic to neovlivní). V každým instance scriptu je vlastní (přetěžuje se?), v některých je dokonce napsaná stejně jak jsem jí tu popsal (pouze vrací false). Bude nejspíš třeba projít všechny instance scripty a patřičně je upravit - vyhledat IsEncounterInProgress a přepsat dle vzoru (viz. výše).


  11. InstanceData.cpp obsahuje metodu:

    bool InstanceData::IsEncounterInProgress() const
    {
       for (std::vector<BossInfo>::const_iterator itr = bosses.begin(); itr != bosses.end(); ++itr)
           if (itr->state == IN_PROGRESS)
               return true;
    
       return false;
    }

     

    Stačí jí přepsat na:

    bool InstanceData::IsEncounterInProgress() const
    {
       return false;
    }


  12. Zdar Andys7, omlouvám se za zdržení, nějakou dobu jsem tu nebyl a téma jsem našel až teď.

    Pravděpodobně ti jde o tohle: http://www.wowresource.eu/index.php?showtopic=20901

    Kdybys měl zájem, mám tu ještě zdroják a můžu to i upravit podle potřeb. Musel bych ale importovat data z TBC.

     

    Nicméně nevidím důvod k zakládání extra tématu, když jsi mohl napsat přímo do tématu s programem. Všiml bych si toho dříve (všechny ty témamta jsem pravidelně sledoval).


  13. Obecně platí, že:

    Nesmíš zakazovat ID toho spelu; musíš zakázat ID spelu, který to učí (tzv. spell-learn-spell).

    Věř, je v tom rozdíl. Prostě existují spelly, které když vyvláš (vy-cast-íš), naučíš se tím jiný spell. :)

     

    Jak je to ale u talentů, to netuším.

     

    PS: Je to sice celkem starý téma, a myslím si že už to týpek nějak vyřešil. Ovšem stále o tom můžeme diskutovat. Máte někdo nějaký nápad? :)


  14. Zdar.

     

    Už nějakou dobu ke mě na forum (phpBB) chodí Majestic-12[bot]. Trochu jsem hledal na google oč vlastně běží, ale moc jsem se toho nedozvěděl. Vím jen že jde nejspíš o jakýsi crawler (search engine). Zajímalo by mě, kdo to provozuje a za jakým účelem. Našel jsem jenom tohle: http://www.majestic12.co.uk/

     

    Je to zvláštní, Majestic-12 je na wiki, ale tam je něco o nějakým dokumentu, něco je taky na stránkách FBI. Možná i pro to mě tolik zajímá, co to vlastně je, jak se to používá a jak to funguje. A jestli se dá v záznamech někde vyhledávat (jestli existuje nějaký interface pro vyhledávání, nebo jak se k tomu vlastně přistupuje).

     

    majestic12.png

     

    Nevíte někdo z vás o tom víc? Díky.


  15. @Wolf

    Pokud už je řeč o sématice - tak taky existují tagy jako , a ;). To by ti zjednodušilo definici stylů a ušetřil by si práci robotům.

    Stylovat obecně všechny tabulky není moc moudré, s největší pravděpodobnost bude tento výpis umístěn do nějakého již existujícího designu a tímto všechny tabulky rozházíš a přestyluješ.

     

    A místo $i += 1 by bylo lepší použít $i++ :D.

    Uzavírat MySQL spojení je zbytečné, to dělá PHP automaticky a tak mysql_close() je jen zbytečný řádek na parsování.

     

    @Harmless

    Teď mě došlo, že tvůj výpis vypisuje i off-line hráče - to je naprosto nepoužitelné, například kdyby si měl server kde hraje 100 lidí, tak takovej výpis zabije web, resp. prohlížeč (tisíce herních postav).

    Pokud je řeč o čemkoliv... Na každým lejnu najdeš mouchu, to je normální. ;) Styly jsou definovaný tak, jak jsou definovaný; html tagy jsou takový jaký jsou, není třeba se v tom zbytečně nimrat.

     

    Přesně vím co si dokazuješ tím remcáním o moudrosti stylování tabulky; s největší pravděpodobností to ten, kdo to bude na web vkládát, upraví podle svýho - včetně přestylování. Prosím, mysli hlavou než cokoliv kvákneš a rozpitváš.

     

    $i++; další detail, kterej ti nedá spát.

    MySQL spojení si budu uzavírat kdy já uznám za vhodné. Mám rád přehledný kód, který po sobě uklidí bordel (alespoň částečně). V aplikacích občas taky volám destruktory tříd manuálně. Vůbec se nevzrušuj. ;)

     

    Omyl, on tam má limit 35. Kdyby sis přečetl jeho kód a nedělal rozborku mého, věděl bys to. Ikdyž já to tam mám taky. To hlavní vždycky přehlídneš, to na tobě miluju. :in_love::D

     

    :rm_sperm:

     

    hle, ja som pisal ze som si to robil podla seba a nech si to kazdy upravi ako chce tak to kritizovat nemusis :)

    A já jsem to upravil podle sebe. :D V pořádku, ne? :new_russian:

    • Upvote 1

  16. Sorry, hned vysvětlím.

    Spell Focus - tím jsem myslel typ gameobjektu (GAMEOBJECT_TYPE_SPELL_FOCUS). Viz. tabulka gameobject_template, sloupec type: http://wiki.wowresource.eu/index.php/Mangos_world_gameobject_template#type (hodnota 8 pro spell focus). Hledal bych objekty s typem 8 které mají v názvu řetězec "rune". Pak bych se kouknul jestli jsou někde spawnovaný a zkusil bych je vyhledat in-game. Většinou nejsou vidět (nemají model), ale není to pravidlem.

×