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. no skusil som a

     

    Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /var/www/clients/client52/web795/web/subdom/manager/pages/prevod.php on line 62

     

    pricom riadok 62 je to echo na done

    Jo, chybička se vloudila, to se stane. Vypadla mi tečka. Má tam být tohle:

      echo "Postava #".$user_character_guid." (".stripslashes_ex($_POST[postava]).") bola úspešne presunutá na účet #".$target_account_id." (".stripslashes_ex($_POST[cil]).")";
    

    A přidej si tam ten tvůj FORM (jenom na začátek NEBO jenom na konec (souboru), a nezapomeň ho uzavřít). Já bych to dal úplně extra, ale nechci ti tím motat hlavu.

    • Upvote 1

  2. Vždyť říkám že je to v manuálu PHP, tak se do něj koukni. Jsou tam i příklady. Koukni se na die(), mysql_error(), mysql_query(), mysql_fetch()... To prověřování jestli je tam jeden záznam když limituješ na 1 je uplně zcestný.

     

     

    <?php
    $dbhost = "x"; // DB Host
    $dbuser = "x"; // DB User
    $dbpass = "x"; // DB user Password
    
    $realmd = "x"; // REalmd DB
    $characters = "x"; // Char DB
    
    function sha_password($user, $pass)
    {
     return hash('sha1', strtoupper($user).':'.strtoupper($pass));
    }
    
    function addslashes_ex($s)
    {
     return (get_magic_quotes_gpc() ? $s : addslashes($s));
    }
    
    function stripslashes_ex($s)
    {
     return (get_magic_quotes_gpc() ? $s : stripslashes($s));
    }
    
    if(isset($_POST["ucet"], $_POST["heslo"], $_POST["postava"], $_POST["cil"]))
    {
     // CONNECT
     mysql_connect("$dbhost", "$dbuser", "$dbpass");
    
     $_POST["ucet"]    = addslashes_ex($_POST["ucet"]);
     $_POST["heslo"]   = addslashes_ex($_POST["heslo"]);
     $_POST["postava"] = addslashes_ex($_POST["postava"]);
     $_POST["cil"]     = addslashes_ex($_POST["cil"]);
    
     // Tohle nikde pouzivany neni, asi priprava...
     //$i = sha_password($_POST["ucet"],$_POST["heslo"]);
    
     //                            0
     $data = mysql_query("SELECT `id` FROM `$realmd`.account WHERE username=".$_POST['ucet']." LIMIT 1") or die(mysql_error());
     $data_row = mysql_fetch_row($data) or die("Účet nenájdený. Zle zadané údaje.");
     $user_account_id = $data_row[0];
    
     //                              0
     $data = mysql_query("SELECT `guid` FROM `$characters`.`character` WHERE (`name`='$_POST[postava]') AND (`account`='$user_account_id')");
     $data_row = mysql_fetch_row($data) or die("Postava nenájdená. Zle zadané údaje / neexistujúca postava.");
     $user_character_guid = $data_row[0];
    
     //                            0
     $data = mysql_query("SELECT `id` FROM `$realmd`.`account` WHERE (`username`='$_POST[cil]') LIMIT 1");
     $data_row = mysql_fetch_row($data) or die("Cieľový účet nenájdený.");
     $target_account_id = $data_row[0];
    
     // DONE
     mysql_query("UPDATE `$characters`.`character` SET `account`='$target_account_id' WHERE `guid`='$user_character_guid'");
     echo "Postava #".$user_character_guid." (".stripslashes_ex($_POST[postava]).") bola úspešne presunutá na účet #".$target_account_id." (".stripslashes_ex($_POST[cil]).")";
    }
    ?>

     

     

    EDIT: Oprava/Typo...


  3. Hľadaj v dotaze chybu, lebo 43. riadok je podmienka ale chyba je v dotaze. (Ešte, že to vypisuje :devil: )

    To není tak jednoznačný. PHP funkce mysql_num_rows vrací false, když je tam chyba; jinak vrací číselnou hodnotu. Je to napsaný v manuálu. Očekává se jako první parametr reference. Použil bych u query die s výpisem mysql_error(). Nebo spíš používat mysqli.


  4. Bóže, tak si vyndej hlavu z hýždí a hlavně nainstaluj všechny ovladače. Aktuální!

     

    Windows Server 2008 R2 a Windows 7 mají identickou verzi (6.1), akorát že W2008S není workstation. Každopádně by to nemělo mít vliv na funkčnost triviálních (ehm... pitomých) aplikací.


  5. V metodě OnLootStateChanged musíš prověřovat lootera a jeho vztah k danému objektu (pokaždé, když se loot změní, takže opravdu pokaždé (i to, jestli se loot změnil)).

     

    EDIT: Udělej to následovně (abys pochopil, jak to funguje). Vytvoř metodu OnLootStateChanged a nezapomeň na argumenty...

    void OnLootStateChanged(GameObject* go, uint32 state, Unit* unit)

    Následně si udělej výpis (třeba do chatu, nebo do konzole core) celočíselné hodnoty state. Unit je v tomto případě ten (hráč), který lootoval. Zjisti si jak ty staty pracují. Možná že state je počet itemů, který zbývají v objektu. Zkusil bych třeba něco jako...

    if(state == 0)
    {
       // zde bude kod pro situaci, kdy je loot gameobject prazdny
    }

     

    Nabízí se i možnost, že toto ještě TC nemá podchycený (neumí to). V tom případě máš mizivou šanci, že bys to realizoval. Tedy nic ve zlém, nechci tě podceňovat ani shazovat.

    • Upvote 1

  6. tak este by som potreboval aby to overovalo podmienku $wam_gmlevel_hgm , jak skusam tak skusam, nejde mi to

     

     

     

    if(!isset($mysql_connect))

    {

    exit();

    }

    else if(!isset($_COOKIE["wam_username"]) || $user_check_gmlevel != $wam_gmlevel_hadmin || $user_check_gmlevel != $wam_gmlevel_admin || $user_check_gmlevel != $wam_gmlevel_hgm)

    {

    header("Location: ?id=404");

    exit();

    }

     

     

     

    mam to takto a nefunguje, ked tam chcem zadat viac premenne tak ako na to?

     

    tak uz som na to prisiel, v tomto pripade funguje miesto || && ;)

    Vždyť jsem o tom psal tady! http://www.wowresource.eu/index.php?showtopic=25958&view=findpost&p=228594

    Četl sis to vůbec? Četl jsi i to vysvětlení? To vysvětlení jsem nepsal pro sebe; psal jsem to aby ses to naučil! :angry:

    • Upvote 1

  7. Nepodceňujme logiku podmínky, kterou vytváříme.

     

    if(!isset($mysql_connect))
    {
     exit();
    }
    else if(!isset($_COOKIE["wam_username"]) || $user_check_gmlevel != $wam_gmlevel_hadmin && $user_check_gmlevel != $wam_gmlevel_admin)
    {
     header("Location: ?id=404");
     exit();
    }
    

     

    Vysvětlení:

    První podmínka je jasná. Druhá podmínka říká, že stránka bude přesměrována a ukončí se provádění scriptu za těchto podmínek:

    NENÍ nastavena hodnota $_COOKIE["wam_username"] NEBO user_check_gmlevel NENÍ wam_gmlevel_hadmin A NENÍ ANI wam_gmlevel_admin

     

    Představte si to v číslech...

    if(false == false || $cislo != 11 && $cislo != 12)
    {
     exit();
    }
    

    1. Když $cislo bude 11, nebude platit druhá část podmínky, protože v tu chvíli bude $cislo == 11. Ostatní části podmínky budou platit (první a třetí). Podmínka neprojde, script pokračuje.
    2. Když $cislo bude 12, nebude platit třetí část podmínky, protože v tu chvíli bude $cislo == 12. Ostatní části podmínky budou platit (první a druhá). Podmínka neprojde, script pokračuje.
    3. Když $cislo nebude 11 ani 12, budou platit všechny části podmínky (první, druhá i třetí). Podmínka projde, script končí na exitu.

    Pozn.: Část podmínky "false == false" reprezentuje NEnastavenou hodnotu $_COOKIE["wam_username"] (úmyslné vyvolání chyby, lépe se to pak vysvětluje).

     

     

     

    Prostě... Patří tam AND a né OR. :diablo:

    Ale v pohodě, buďte dobrý... Ču$ :beach:

    • Upvote 1

  8.  

    , 51000);

     

    mas to zle ma tam byt '51000'

    Blbost - celočícelné hodnoty se nemusí uvozovat. V tom to rozhodně není, ta chyba říká něco jiného.

    "Column count doesn't match value count" = počet sloupců nesouhlasí s počtem hodnot.

     

    Problém je v tom, že u desetiných čísel se používá k oddělení desetiných míst TEČKA, NÉ ČÁRKA. Takže to má být takhle:

    INSERT INTO `quest_end_scripts` ( `id`, `delay`, `command`, `datalong`, `datalong2`, `dataint`,     `x`,      `y`,   `z`,  `o`) VALUES
                                   (51000,       0,         6,          1,           0,         0, 1629.36, -4373.39, 31.26, 3.55);
    

    • Upvote 3

  9. Samozrejme, to mi je úplne jasné. Moje skúsenosti som vyjadril myslím dosť jasne, a prehľadne, a viac k tomu asi nemám čo dodať.

    JISTĚ! V editu, který jsi publikoval ve stejnou minutu, ve kterou jsem ti to vytýkal. Před tím jsi měl to téma holý.

    A ještě jedna věc. Jestli tu chceš nějaký čas zůstat, nedělej doubleposty. Je to považováno za flood fora. Používej odkaz "Upravit".

     

    PS: Hodně štěstí ve tvém snažení.


  10. Nechybí, ta doména nemá hodnotu. ;)

    No zjevně nemá hodnotu ze strany... počkej, (jak to říkal?) něco friendly... :D

    Asi tam nic nejelo. A jestli, tak to friendly pro vyhledávače nebylo.

    A i kdyby... tím že to tam už nejede, je to v háji (a stačí na to pouhý týden). :D

     

    Takže de-facto ceníme jenom jméno (lukrativitu?). Pro wow servery to nemá smysl; každý si vymyslí vlastní jméno. Tohle by se hodilo pro projekt spojující WOW servery, ale takový projekty už tu jsou a není jich málo. Takže? :D


  11. Promiň, není to shit.

    Shit je pouze jeho uživatel, který se hrabe ve věcech, kterým vůbec nerozumí.

    Víš co je SHIT MEGA FEKÁL? Nabízet nátroje jako CCleaner běžným uživatelům a dělat z toho "mega suber uber cool" uklizečku.

     

    CCleaner je teoreticky úžasnej (na což ses nachytal i ty, očividně (nic ve zlým)); prakticky však jde o program, který se ani nesnaží pochopit strukturu toho, co ve Windowsech máš nainstalováno. Mohl bych se tu rozepisovat o mrtě nevýhodách těchto "kravských programů", ale rád bych zdůraznil, že rozumný člověk tyto nástroje nepotřebuje.

     

    CCleaner? Zahodit, zapálit a nehasit! :):D

     

    LOCK na základě postu #6


  12. Klient (2.4.3) víc neumí. I kdyby to fungovalo, nebude se to zobrazovat (levely se budou "protáčet" (tzn. že po maximílním to půjde zas od nuly)) a může to dokonce padat. Takovýhle úpravy "jenom aby to bylo cool" jsou k ničemu. Raději to vychytej v rozsahu který máš k dispozici; level 300 na TBC klientovi (originál) mít nelze.


  13. Já mluvím o appce, co dává AJAXově kupu dotazu za vteřinu = WEB, né u emulátoru :D. Tím memory-storage jsem myslel třeba Redis. Nejdřív se nauč číst a pak piš tyhle proslovy do duše.

    Já nevím kdo tu neumí číst, když tu rozjíždíš diskuzi absolutně mimo téma. Neodpovídám na nějaký tvoje kraviny mimo téma - já jsem se tématu držel.

     

    ZNOVA - NAUČ SE ČÍST! On se ptá, zda jde TrinityCore rozložit na více stroju, odpověď je jasná = NE NEJDE TO. Nějaký starý a nedotáhnutý projekt ho nezajímá, to je mu k prdu... Stejně jako fakt, že se to dá naprogramovat. Co je tak těžký na tom pochopit?

    Čtení není moje slabina, za to tvojí slabinu vidím v nepochopení věci. Jde to rozdělit po předělání, takže odpověď měla znít "ANO". Napsat že něco nejde je blbost; ve většině případů je to spíš tak, že to jenom někdo neumí nebo je línej. Je jednodušší napsat že něco nejde, než se o to zajímat.

     

    Ty si se radši ani neměl zapojovat, jen vytrhneš věci z kontextu a píšeš úplně mimo. A jedinej kdo tu ztratil důstojnost seš ty a to právě teď. Fakt promiň ale jinak to nejde.

    A je to tady. Nevyčítej mi tvoje vlastní chyby. Když vím že něco udělat lze a mám s tím zkušenost daleko přesahující tvoje chápání, nemusíš se mi omlouvat.

     

    Mimochodem... ORM nemá nic společnýho s in-memory storage.

    Ale má, zvlášť když je navrženej tak, jako u MaNGOSu, TC, OC, atd... Opět - nic o tom nevíš, jenom trolíš a vyvoláváš flame.


  14. Tome, k čemu si myslíš že slouží v core managery (...Mgr.cpp, Mgr.h)? Kam myslíš že ty data jdou? Core má ORM, všechno co je třeba často číst (eg. questy, npc, texty, etc...) je v paměti. Takže tvoje tvrzení "bych úplně SQL databázi vypustil a šel do nějaké memory-stored", je hooodně mimo-mísu.

     

    Vraťme se ale kousek zpět. O tvém problému se sociální interakcí víme snad všichni, to řešit nechci. Tvůj výkřik "ne - není to možné" je nesmysl. Já osobně mám dva roky starý experimentální projekt jménem Multi-MaNGOS. Je tam 6 world démonů a jeden realm démon. Díky nedostatku času, náročnosti a samotářství jsem se na to po čase vybodnul. Je to rozdělený na 3 světy, 1 instanční, 1 pvp. Poslední byl pro zakázaný a starý zóny. Ale jak jsem řekl, nikdy jsem to nedokončil. Vývoj emulátorů a DD bych stejně nikdy sám dohnat nemohl a nechtěl jsem se dělit o kód.

     

    Každopádně bych tuhle debatu ukončil, protože díky tobě ztratila smysl a důstojnost.

    • Upvote 1
×