-
Announcements
-
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. -
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 -
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. -
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:
-
Cäsh
-
Content count
331 -
Joined
-
Last visited
-
Days Won
6
Posts posted by Cäsh
-
-
Dobrá práce, ale od doby co si můžeš vytvářet gossip menu přes databázi tyhle c++ teleportery podle mě postrádají smysl. :-)
-
Změna hesla
in Tools
4STONERSVK: Jestli jsi se nevšimnul, není to pouze script, obsahuje to i další věci, takže nevidím sebemenší důvod, proč by měl samostatný script, který sám o sobě nikomu k ničemu není dávat na pastebin.
-
-
Změna hesla
in Tools
Můžeš ten script dát na pastebin ? Nechce se mi to stahovat a myslím si že většině taky ne.
Asi těžko bude dávat všechno na pastebin, přece jen to není jenom script, jsou tam i obrázky a css styly.
Brain on.
Edit: Tohle je jako co?
$account = /*mysql_real_escape_string*/($account);
Aneb nechme otevřené zadní vrátka pro SQL Injection?
- 1
-
[Deffender BG] Nábor developérů SQL/C++
Hledám nové členy do našeho týmu. Přihlášky zasílejte buďto do PM nebo na email jaroslav.peter (at) unitedstorm.eu. Dám šanci i začínajícím developérům, ale pouze pokud prokáží, že ví co a jak...
Nabízíme
- Přátelský GM a Admin team.
- Možnost seberealizace.
- GM plvl 5.
- Rozsáhlou hráčskou komunitu.
- Dobrou referenci do budoucna.
Požadujeme
- Patřičné znalosti odpovídající funkci.
- Věk 15 let a více.
- Skype - mikrofon je výhodou.
- Zodpovědnost.
- Plnění zadaných plánů.
To je asi vše co nabízíme a také požadujeme. Předem Vás chci upozornit, že při výběru kandidátů kladu důraz na zpracování přihlášky. Počet míst není omezen.
Odkaz na server zde nebudu dávat, abych neporušoval žádné pravidla. Pro ty co neznají web stačí si ve vyhledávači zadat Deffender BG a hned první odkaz jsme my.
Patch 3.3.5a
Jádro: TrinityCore
Databáze: TDB
-
To co jsem dával na oficiální TC fórum už dávno nepoužívám, přikládám odkaz na upravenou verzi. http://www.wowresource.eu/index.php?showtopic=22377&st=0&p=199449entry199449
-
BG Reward's Vytvořeno pro TrinityCore na patchi 3.3.5a.
Určeno pro FUN a BG servery, které chtějí nabídnout svým hráčům odměnu za výhru v BG.
# HG changeset patch -- Bitbucket.org # Project Deffender BG 3.3.5a NEW # URL https://bitbucket.org/JaroslavPeter/deffender-bg-3.3.5a-new/overview # User Jaroslav Peter <[email protected]> # Date 1301849509 -7200 # Node ID da4639dbe7b371ebf4f0f56741c73fb312e0b62a # Parent fd36d7a2e84582d6c805da62654c483c639c8605 Battleground rewards --- a/src/server/game/Battlegrounds/Battleground.h +++ b/src/server/game/Battlegrounds/Battleground.h @@ -46,36 +46,29 @@ enum BattlegroundQuests SPELL_WS_QUEST_REWARD = 43483, SPELL_AB_QUEST_REWARD = 43484, SPELL_AV_QUEST_REWARD = 43475, - SPELL_AV_QUEST_KILLED_BOSS = 23658, SPELL_EY_QUEST_REWARD = 43477, SPELL_SA_QUEST_REWARD = 61213, + SPELL_IC_QUEST_REWARD = 67033, + SPELL_AV_QUEST_KILLED_BOSS = 23658, SPELL_AB_QUEST_REWARD_4_BASES = 24061, SPELL_AB_QUEST_REWARD_5_BASES = 24064 }; enum BattlegroundMarks { - SPELL_WS_MARK_LOSER = 24950, - SPELL_WS_MARK_WINNER = 24951, - SPELL_AB_MARK_LOSER = 24952, - SPELL_AB_MARK_WINNER = 24953, - SPELL_AV_MARK_LOSER = 24954, - SPELL_AV_MARK_WINNER = 24955, - SPELL_SA_MARK_WINNER = 61160, - SPELL_SA_MARK_LOSER = 61159, - ITEM_AV_MARK_OF_HONOR = 20560, - ITEM_WS_MARK_OF_HONOR = 20558, - ITEM_AB_MARK_OF_HONOR = 20559, - ITEM_EY_MARK_OF_HONOR = 29024, - ITEM_SA_MARK_OF_HONOR = 42425 + ITEM_ARENA_MARK = 33455, + ITEM_BATTLEGROUND_MARK = 4021 }; enum BattlegroundMarksCount { - ITEM_WINNER_COUNT = 3, - ITEM_LOSER_COUNT = 1 + ITEM_WINNER_COUNT = 15, + ITEM_LOSER_COUNT = 8, + ITEM_AV_IOC_MULTIPLIER = 2 }; +const float ITEM_RANDOM_MULTIPLIER = 1.5; + enum BattlegroundCreatures { BG_CREATURE_ENTRY_A_SPIRITGUIDE = 13116, // alliance @@ -581,6 +574,9 @@ class Battleground void RewardXPAtKill(Player* killer, Player* victim); bool CanAwardArenaPoints() const { return m_LevelMin >= BG_AWARD_ARENA_POINTS_MIN_LEVEL; } + void RewardItem(Player* player, uint32 team, uint32 winner); + void RewardQuestComplete(Player* player); + protected: // this method is called, when BG cannot spawn its own spirit guide, or something is wrong, It correctly ends Battleground void EndNow(); --- a/src/server/game/Battlegrounds/Battleground.cpp +++ b/src/server/game/Battlegrounds/Battleground.cpp @@ -812,6 +812,9 @@ void Battleground::EndBattleground(uint3 UpdatePlayerScore(plr, SCORE_BONUS_HONOR, GetBonusHonorFromKill(loser_kills)); } + // Reward Marks + RewardItem(plr, team, winner); + plr->ResetAllPowers(); plr->CombatStopWithPets(true); @@ -1845,3 +1848,56 @@ void Battleground::RewardXPAtKill(Player if (sWorld->getBoolConfig(CONFIG_BG_XP_FOR_KILL) && killer && victim) killer->RewardPlayerAndGroupAtKill(victim, true); } + +void Battleground::RewardItem(Player* player, uint32 team, uint32 winner) +{ + uint32 RewardCount = 0, + RewardItem = 0; + + RewardItem = isArena() ? ITEM_ARENA_MARK : ITEM_BATTLEGROUND_MARK; + RewardCount = team == winner ? ITEM_WINNER_COUNT : ITEM_LOSER_COUNT; + ItemPosCountVec dest; + + if(team == winner) + RewardQuestComplete(player); + + // AV and IOC extra multiplier + if(player->GetMapId() == 30 || player->GetMapId() == 628) + RewardCount = RewardCount * ITEM_AV_IOC_MULTIPLIER; + + if(IsRandom()) + RewardCount = floor(RewardCount * ITEM_RANDOM_MULTIPLIER); + + if (player->CanStoreNewItem(NULL_BAG, NULL_SLOT, dest, RewardItem, RewardCount) == EQUIP_ERR_OK) + { + Item* item = player->StoreNewItem(dest, RewardItem, true, Item::GenerateItemRandomPropertyId(RewardItem)); + player->SendNewItem(item, RewardCount, true, false); + } +} + +void Battleground::RewardQuestComplete(Player* player) +{ + switch(player->GetMapId()) + { + case 30: // Alterac Valley + player->CastSpell(player, SPELL_AV_QUEST_REWARD, true); + break; + case 489: // Warsong Gulch + player->CastSpell(player, SPELL_WS_QUEST_REWARD, true); + break; + case 529: // Arathi Basin + player->CastSpell(player, SPELL_AB_QUEST_REWARD, true); + break; + case 566: // Eye of the Storm + player->CastSpell(player, SPELL_EY_QUEST_REWARD, true); + break; + case 607: // Strand of the Ancient + player->CastSpell(player, SPELL_SA_QUEST_REWARD, true); + break; + case 628: // Isle of Conquest + player->CastSpell(player, SPELL_IC_QUEST_REWARD, true); + break; + default: + break; + } +} --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -2385,25 +2385,7 @@ void Spell::DoCreateItem(uint32 /*i*/, u return; } - // bg reward have some special in code work uint32 bgType = 0; - switch(m_spellInfo->Id) - { - case SPELL_AV_MARK_WINNER: - case SPELL_AV_MARK_LOSER: - bgType = BATTLEGROUND_AV; - break; - case SPELL_WS_MARK_WINNER: - case SPELL_WS_MARK_LOSER: - bgType = BATTLEGROUND_WS; - break; - case SPELL_AB_MARK_WINNER: - case SPELL_AB_MARK_LOSER: - bgType = BATTLEGROUND_AB; - break; - default: - break; - } uint32 num_to_add = damage;
V defaultu je nastavený 15marek za výhru v BG a 8 marek za prohru přičemž za AV a IoC dostanete 1.5x více, pokud jste ovšem šli Random BG dostanete 2x tolik marek, tzn. za výhru ve WSG 30Marek a v AV 45marek. Pokud nechcete nabízet žádné benefity za random stačí upravit ITEM_RANDOM_MULTIPLIER na 1 a pokud nechcete nabízet žádné benefity ani za IoC nebo AV upravte ITEM_AV_IOC_MULTIPLIER taky na 1. Zbytek je myslím dostatečně jasný, kdyby ne, napište.
- 3
-
<PHP> GM LOGY
Chcete zobrazovat logy na webu a nechcete zbytečně přesměrovávat logy do složky /var/www/? Chcete zpřístupnit logy jenom některým osobám? Pak pro Vás je tahle PHP toolska...
index.php:
<?php /* * (c) 2011 Jaroslav Peter @ Cäsh * All rights reserved. * * <[email protected]> */ ob_start(); // Začátek: Konfigurace $config['password'] = 'test'; $config['login_required'] = true; // true - Je vyžadováno přihlášení. false - Není vyžadováno přihlášení. $logs['server'] = '/home/cash/server/logs/server/'; $logs['commands'] = '/home/cash/server/logs/commands/'; $logs['characters'] = '/home/cash/server/logs/characters/'; $logs['other'] = '/home/cash/server/logs/'; // Konec: Konfigurace // Nic co je níže neměňte pokud si nejste jistí čím co děláte, aplikace by potom nemusela jít. $file_format['server'] = 'Server_'; $file_format['commands'] = 'GM_'; $file_format['characters'] = 'Characters'; $file_format['other'] = ''; // Kontrola zda je uživatel přihlášen! @session_start(); if(!isset($_SESSION['logged']) && $config['login_required']) { if(!empty($_POST)) { if($_POST['pass'] == $config['password']) { $_SESSION['logged'] = 1; header("location:index.php"); } else echo "Neplatné přihlášení!"; } echo '<form action="" method="post"><label>Password</label> <input type="password" name="pass" /> <input type="submit" value="Sign In!""></form>'; exit(); } $output = Array(); if(isset($_GET['log'])) { if(!array_key_exists($_GET['log'], $logs)) die("Log type desn't correct!"); $keys = array_keys($logs); for($i=0;$i<count($keys);$i++) { if($logs[$keys[$i]][(strlen($logs[$keys[$i]]) - 1)] != '/') $logs[$keys[$i]] .= '/'; $scan = scandir($logs[$keys[$i]]); for($e=0;$e<count($scan);$e++) { if(file_exists($logs[$keys[$i]] . $scan[$e]) && !is_dir($logs[$keys[$i]] . $scan[$e])) { if(@stristr($scan[$e], $file_format[$keys[$i]])) $output[$keys[$i]][] = Array($scan[$e], $logs[$keys[$i]]); else $output['other'][] = Array($scan[$e], $logs[$keys[$i]]); } } } echo '<ul>'; for($i=0;$i<count($output[$_GET['log']]);$i++) { echo '<li><a href="index.php?download=false&file=' . urlencode($output[$_GET['log']][$i][0]) . '&path=' . urldecode($output[$_GET['log']][$i][1]) . '">' . $output[$_GET['log']][$i][0] . '</a></li>'; } echo '</ul><br /><br /><a href="index.php">Zpět</a>'; } elseif(isset($_GET['download']) && $_GET['download'] == 'false') { $file = urldecode($_GET['file']); $path = urldecode($_GET['path']); echo 'Stahovaný soubor <strong>' . $file . '</strong>. <br /><br /><a href="index.php?download=true&file=' . urlencode($file) . '&path=' . urldecode($path) . '">Zahájit stahování</a>'; } elseif(isset($_GET['download']) && $_GET['download'] == 'true') { $file = urldecode($_GET['file']); $path = urldecode($_GET['path']); if(!file_exists($path . $file)) die("File doesn't exist!"); echo $file; ob_clean(); header('Content-type: text/plain'); header('Content-Disposition: attachment; filename="' . $file . '"'); readfile($path . $file); } else echo '<ul><li><a href="index.php?log=server">SERVER LOGS</a></li><li><a href="index.php?log=commands">GM LOGS</a></li><li><a href="index.php?log=characters">CHARACTERS LOGS</a></li><li><a href="index.php?log=other">OTHER LOGS</a></li></ul>'; ob_end_flush(); ?>
Konfigurace:
// Začátek: Konfigurace $config['password'] = 'test'; // Heslo $config['login_required'] = true; // true - Je vyžadováno přihlášení. false - Není vyžadováno přihlášení. $logs['server'] = '/home/cash/server/logs/server/'; $logs['commands'] = '/home/cash/server/logs/commands/'; $logs['characters'] = '/home/cash/server/logs/characters/'; $logs['other'] = '/home/cash/server/logs/'; // Konec: Konfigurace
Upravte cesty k jednotlivým logům. Je to rozděleno, jelikož mám na svém serveru logy rozděleny do podsložek. Pokud máte logy v jedné složce dejte všude stéjnou cestu, fungovat to bude tak jako tak. :-)
Instalace
Přejděte do složky /var/www/ do které nahrajte soubor index.php (viz. výše) upravte konfiguraci a uložte. Hotovo.
Vytvořeno pro OS LINUX.
- 7
-
Filaj díky. :-) Patch je 3.3.5a - doplněno.
-
Zdravím, hledám člověka, který by se chtěl stát developerem na novém FUN serveru Archenitas. Web serveru zatím není plně dokončen, proto jej nebudu zveřejňovat. Pokud někoho zajímají raty, tak jsou XP 25x, QUEST 30x, MONEY 15x, DROP 10x, REP 10x, zbytek 1x. Patch 3.3.5a. Přečtěte si prosím požadavky, které naleznete níže a pokud vše splňujete čtěte dále.
Požadavky:
- Znalost SQL na velmi dobré úrovni
- Základní znalost struktury TrinityCore
- Dobrá znalost garamatiky
- Ochota učit se novým věcem
- Dostatek vólného času
Pokud čtete dále, předpokládám, že splňujete všechny požadavky.
Nabízíme:
- Možnost seberealizace
- E-mail ve tvaru: [email protected]
- GMLevel 3
- Přístup do databáze
Pokud vše splňujete a máte zájem o post developera, pak mi prosím zašlete vaši přihlášku na email [email protected].
Co by měla přihláška obsahovat?
- Základní informace o Vás (jméno, příjmení, věk, přezdívka)
- Zkušenosti z předchozích serverů
- Dovednosti
- Kontakt (skype, icq - podle toho co máte)
Hlavním faktorem při výběru developera bude jeho přihláška, proto ji prosím neodbývejte, snižujete si tím šanci na přijetí.
-
Chovat se slušně a klidnit slovník by neuškodilo. Vše se dá napsat i slušně.
-
Open
in TrinityCore
UPDATE `gameobject_template` SET `castBarCaption` = 'Co chceš, aby to psalo...' WHERE `entry` = 'entry objektu';
- 1
-
Co takhle napsat co máš za problém, nebo co chceš upravit? Vidím hned základní chybu:
<?php <?php
Víc do detailu si to nebudu prohlížet, pokud napíšeš chybu, možná jo.
-
Zákaz spamování a extrémně krátkých příspěvků typu "jj", smajlík či jiné citoslovce a přitakávání budou smazány. -
Zajímavé, já bydlím na opačném konci republiky a internet mám od o2(tzn.Strašně pomalý) a moje pingy jsou:
Příkaz PING na unitedstorm.zdechov.net [77.92.221.1 Odpověď od 77.92.221.103: bajty=32 čas=38ms TTL=57 Odpověď od 77.92.221.103: bajty=32 čas=39ms TTL=57 Odpověď od 77.92.221.103: bajty=32 čas=37ms TTL=57 Odpověď od 77.92.221.103: bajty=32 čas=37ms TTL=57 Statistika ping pro 77.92.221.103: Pakety: Odeslané = 4, Přijaté = 4, Ztracené = 0 (zt Přibližná doba do přijetí odezvy v milisekundách: Minimum = 37ms, Maximum = 39ms, Průměr = 37ms
Pro srovnání pingy na nix.cz
Příkaz PING na nix.cz [195.47.235.3] - 32 bajtů dat Odpověď od 195.47.235.3: bajty=32 čas=33ms TTL=90 Odpověď od 195.47.235.3: bajty=32 čas=32ms TTL=90 Odpověď od 195.47.235.3: bajty=32 čas=31ms TTL=90 Odpověď od 195.47.235.3: bajty=32 čas=33ms TTL=90 Statistika ping pro 195.47.235.3: Pakety: Odeslané = 4, Přijaté = 4, Ztracené = 0 (zt Přibližná doba do přijetí odezvy v milisekundách: Minimum = 31ms, Maximum = 33ms, Průměr = 32ms
Kde bude asi chyba?
-
Ano toto je VPS a máme jej zatím z toho důvodu, že naše servery ani tyto VPS nevytíží na 40%, jakmile bude vytížení vyšší, tzn. zvedne se počet hráčů hodláme pronajmout či přímo koupit dedikovaný server výhradně pro účely našeho projektu. V současnosti nám toto řešení plně vyhovuje a jiné není zapotřebí.
K lagům, ty jsou maximálně v době kdy se provádí nějaké úpravy na serveru a to z důvodu buďto stahování většího množství dat nebo kompilací nových revizí.
Cäsh, administrátor projektu
-
Webu nemusíš věnovat veškerý volný čas, webu stačí věnovat jednorázově pár hodin práce a vypadá k světu.
-
Proč se tady neustále oháníš nějakým Blood Storm? Koho to zajímá?
-
Sponzoři? Myslíš, že nějaké najdeš? Co myslíš, že by si jim mohl nabídnout tak převratného, aby se tě rozhodli sponzorovat? Počkat teď v tom mám trochu zmatek, nepsal jsi, že by jsi to platil ty?
-
Pokud mohu poradit, začněte tím, že si koupíte vlastní doménu (free nedělá dobrý dojem) a pak hned tím, že tam dáte jiný web (tenhle je otřesný).
-
Existuje i verze Quice pro TC.
-
-
-
Ano mělo by to jít. Brzo to celé trochu upravím.
Developer / Zkušený Game Master / Admin
in Poptávka
Posted · Report reply
Kolik nabízíte, alespoň 8,65€ na hodinu?