-
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:
-
F0rM1s
-
Content count
60 -
Joined
-
Last visited
Posts posted by F0rM1s
-
-
Ahoj chtěl bych se zeptat jestli někdo nemáte vendory na catač konkretne na skyfire emu a potřeboval bych aby tam byl vicious a bloodtristr dištak děkuju každymu kdo mi pomuže (+rep to je samozřejmy )
-
Tak to jsem netusil ze trinity funguje na stejnem principu jako mangos, jinak mi to pomohlo tak 50/50, prepsani zbrane funguje, ale nezmeni se mi jeji vzhled, ten zustane stejny a tenhle radek v navodu:
nejak moc nechapu, jelikoz jestli tim World configem je myslen mangos.conf tak tam jsem nic takoveho nenasel...
dit to display id taky prepis a nebudes mit v baglu otaznik ...
a jinak trinity je akorat opachovany mangos ... takze neni co resit
-
hele to request mele weapon to je stejne jako u trinity zakazaly delat nove weapony musis prepsat nejakou ktera uz je ve svete napriklad na 1 level a pak bude fungovat me tohle pomohlo staci nahradit jen vzhled a staty ale id musi byt uz pouzity
PS : prominte za pismo pisu to rychlo
-
Ty kra** nemam slov toto uz je moc Smrtokvitek je borec !
+1 rep mozna vyuziju Diky moc
-
vyreseno smazat
-
muzete mi poradit co stim mam
../game/libgame.a(ScriptLoader.cpp.o): In function `AddCustomScripts()':
ScriptLoader.cpp:(.text+0x45): undefined reference to `AddSC_guildmaster()'
../game/libgame.a(ScriptLoader.cpp.o): In function `AddScripts()':
ScriptLoader.cpp:(.text+0x1167): undefined reference to `AddSC_guildmaster()'
collect2: ld returned 1 exit status
make[2]: *** [src/server/worldserver/worldserver] Error 1
make[1]: *** [src/server/worldserver/CMakeFiles/worldserver.dir/all] Error 2
make: *** [all] Error 2
-
dekuji moc
-
Myslí.. ..přepsat to na novej formát scriptu TC (kdy je všechno ve třídě), pokud se nepletu.
Už to předělávám.. 30 minut mi dejte.
ty si zlato wolfe mucq te
-
Dobry den našel by se tu nějaky hodny člověk na přeskriptování toho to scriptu ?
je to gh system
#include "ScriptedPch.h" //extern DatabaseMysql SD2Database; extern DatabaseType WorldDatabase; #define MSG_GOSSIP_TELE "Teleport do vaseho Guild Housu" #define MSG_GOSSIP_BUY "Koupit Guild House(1000 gold)" #define MSG_GOSSIP_SELL "Prodat Guild House (500 gold)" #define MSG_GOSSIP_NEXTPAGE "Dalsi Stranka -->" #define MSG_INCOMBAT "¨Jsi v Combatu!" #define MSG_NOGUILDHOUSE "Vase Guilda nema Guild House!" #define MSG_NOFREEGH "Strpeni prosim, Vsechny guild housy jsou plne." #define MSG_ALREADYHAVEGH "Prominte, Ale uz mate Guild House (%s)." #define MSG_NOTENOUGHMONEY "Nemate Penize. Musite mit %u goldu ke koupeni Guild Housu." #define MSG_GHOCCUPIED "Omlouvame se, ale tento Guild House se jiz pouziva." #define MSG_CONGRATULATIONS "Gratulujeme! Koupili jste si Guild House!" #define MSG_SOLD "Prodal jste Guild House. Tady je %u goldu." #define MSG_NOTINGUILD "Nejste v Guilde. Pripojte se nebo udelejte guildu." #define CODE_SELL "Prodat" #define MSG_CODEBOX_SELL "Vlozte \"" CODE_SELL "\" Pokud chcete opravdu Guild House prodat. Upozorneni ! : Dostanete jen 50 % hodnoty Gh !" #define OFFSET_GH_ID_TO_ACTION 1500 #define OFFSET_SHOWBUY_FROM 10000 #define ACTION_TELE 1001 #define ACTION_SHOW_BUYLIST 1002 //deprecated. Use (OFFSET_SHOWBUY_FROM + 0) instead #define ACTION_SELL_GUILDHOUSE 1003 #define ICON_GOSSIP_BALOON 0 #define ICON_GOSSIP_WING 2 #define ICON_GOSSIP_BOOK 3 #define ICON_GOSSIP_WHEEL1 4 #define ICON_GOSSIP_WHEEL2 5 #define ICON_GOSSIP_GOLD 6 #define ICON_GOSSIP_BALOONDOTS 7 #define ICON_GOSSIP_TABARD 8 #define ICON_GOSSIP_XSWORDS 9 #define COST_GH_BUY 900000000 //1000 g. #define COST_GH_SELL 450000000 //500 g. #define GOSSIP_COUNT_MAX 10 bool isPlayerGuildLeader(Player *player) { return (player->GetRank() == 0) && (player->GetGuildId() != 0); } bool getGuildHouseCoords(uint32 guildId, float &x, float &y, float &z, uint32 &map) { if (guildId == 0) { //if player has no guild return false; } QueryResult_AutoPtr result; result = WorldDatabase.PQuery("SELECT `x`, `y`, `z`, `map` FROM `guildhouses` WHERE `guildId` = %u", guildId); if(result) { Field *fields = result->Fetch(); x = fields[0].GetFloat(); y = fields[1].GetFloat(); z = fields[2].GetFloat(); map = fields[3].GetUInt32(); return true; } return false; } void teleportPlayerToGuildHouse(Player *player, Creature *_creature) { if (player->GetGuildId() == 0) { //if player has no guild _creature->MonsterWhisper(MSG_NOTINGUILD, player->GetGUID()); return; } if (!player->getAttackers().empty()) { //if player in combat _creature->MonsterSay(MSG_INCOMBAT, LANG_UNIVERSAL, player->GetGUID()); return; } float x, y, z; uint32 map; if (getGuildHouseCoords(player->GetGuildId(), x, y, z, map)) { //teleport player to the specified location player->TeleportTo(map, x, y, z, 0.0f); } else _creature->MonsterWhisper(MSG_NOGUILDHOUSE, player->GetGUID()); } bool showBuyList(Player *player, Creature *_creature, uint32 showFromId = 0) { //show not occupied guildhouses QueryResult_AutoPtr result; result = WorldDatabase.PQuery("SELECT `id`, `comment` FROM `guildhouses` WHERE `guildId` = 0 AND `id` > %u ORDER BY `id` ASC LIMIT %u", showFromId, GOSSIP_COUNT_MAX); if (result) { uint32 guildhouseId = 0; std::string comment = ""; do { Field *fields = result->Fetch(); guildhouseId = fields[0].GetInt32(); comment = fields[1].GetString(); //send comment as a gossip item //transmit guildhouseId in Action variable player->ADD_GOSSIP_ITEM(ICON_GOSSIP_TABARD, comment, GOSSIP_SENDER_MAIN, guildhouseId + OFFSET_GH_ID_TO_ACTION); } while (result->NextRow()); if (result->GetRowCount() == GOSSIP_COUNT_MAX) { //assume that we have additional page //add link to next GOSSIP_COUNT_MAX items player->ADD_GOSSIP_ITEM(ICON_GOSSIP_BALOONDOTS, MSG_GOSSIP_NEXTPAGE, GOSSIP_SENDER_MAIN, guildhouseId + OFFSET_SHOWBUY_FROM); } player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _creature->GetGUID()); return true; } else { if (showFromId = 0) { //all guildhouses are occupied _creature->MonsterWhisper(MSG_NOFREEGH, player->GetGUID()); player->CLOSE_GOSSIP_MENU(); } else { //this condition occurs when COUNT(guildhouses) % GOSSIP_COUNT_MAX == 0 //just show GHs from beginning showBuyList(player, _creature, 0); } } return false; } bool isPlayerHasGuildhouse(Player *player, Creature *_creature, bool whisper = false) { QueryResult_AutoPtr result; result = WorldDatabase.PQuery("SELECT `comment` FROM `guildhouses` WHERE `guildId` = %u", player->GetGuildId()); if (result) { if (whisper) { //whisper to player "already have etc..." Field *fields = result->Fetch(); char msg[100]; sprintf(msg, MSG_ALREADYHAVEGH, fields[0].GetString()); _creature->MonsterWhisper(msg, player->GetGUID()); } return true; } return false; } void buyGuildhouse(Player *player, Creature *_creature, uint32 guildhouseId) { if (player->GetMoney() < COST_GH_BUY) { //show how much money player need to buy GH (in gold) char msg[100]; sprintf(msg, MSG_NOTENOUGHMONEY, COST_GH_BUY / 10000); _creature->MonsterWhisper(msg, player->GetGUID()); return; } if (isPlayerHasGuildhouse(player, _creature, true)) { //player already have GH return; } QueryResult_AutoPtr result; //check if somebody already occupied this GH result = WorldDatabase.PQuery("SELECT `id` FROM `guildhouses` WHERE `id` = %u AND `guildId` <> 0", guildhouseId); if (result) { _creature->MonsterWhisper(MSG_GHOCCUPIED, player->GetGUID()); return; } //update DB result = WorldDatabase.PQuery("UPDATE `guildhouses` SET `guildId` = %u WHERE `id` = %u", player->GetGuildId(), guildhouseId); if (result) player->ModifyMoney(-COST_GH_BUY); _creature->MonsterSay(MSG_CONGRATULATIONS, LANG_UNIVERSAL, player->GetGUID()); } void sellGuildhouse(Player *player, Creature *_creature) { if (isPlayerHasGuildhouse(player, _creature)) { QueryResult_AutoPtr result; result = WorldDatabase.PQuery("UPDATE `guildhouses` SET `guildId` = 0 WHERE `guildId` = %u", player->GetGuildId()); if (result) player->ModifyMoney(COST_GH_SELL); //display message e.g. "here your money etc." char msg[100]; sprintf(msg, MSG_SOLD, COST_GH_SELL / 10000); _creature->MonsterWhisper(msg, player->GetGUID()); } } bool GossipHello_guildmaster(Player *player, Creature *_creature) { player->ADD_GOSSIP_ITEM(ICON_GOSSIP_BALOON, MSG_GOSSIP_TELE, GOSSIP_SENDER_MAIN, ACTION_TELE); if (isPlayerGuildLeader(player)) { //show additional menu for guild leader player->ADD_GOSSIP_ITEM(ICON_GOSSIP_GOLD, MSG_GOSSIP_BUY, GOSSIP_SENDER_MAIN, ACTION_SHOW_BUYLIST); if (isPlayerHasGuildhouse(player, _creature)) { //and additional for guildhouse owner player->PlayerTalkClass->GetGossipMenu().AddMenuItem(ICON_GOSSIP_GOLD, MSG_GOSSIP_SELL, GOSSIP_SENDER_MAIN, ACTION_SELL_GUILDHOUSE, MSG_CODEBOX_SELL, 0, true); } } player->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, _creature->GetGUID()); return true; } bool GossipSelect_guildmaster(Player *player, Creature *_creature, uint32 sender, uint32 action ) { if (sender != GOSSIP_SENDER_MAIN) return false; switch (action) { case ACTION_TELE: //teleport player to GH player->CLOSE_GOSSIP_MENU(); teleportPlayerToGuildHouse(player, _creature); break; case ACTION_SHOW_BUYLIST: //show list of GHs which currently not occupied showBuyList(player, _creature); break; default: if (action > OFFSET_SHOWBUY_FROM) { showBuyList(player, _creature, action - OFFSET_SHOWBUY_FROM); } else if (action > OFFSET_GH_ID_TO_ACTION) { //player clicked on buy list player->CLOSE_GOSSIP_MENU(); //get guildhouseId from action //guildhouseId = action - OFFSET_GH_ID_TO_ACTION buyGuildhouse(player, _creature, action - OFFSET_GH_ID_TO_ACTION); } break; } return true; } bool GossipSelectWithCode_guildmaster( Player *player, Creature *_creature, uint32 sender, uint32 action, const char* sCode ) { if(sender == GOSSIP_SENDER_MAIN) { if(action == ACTION_SELL_GUILDHOUSE) { int i = -1; try { //compare code if (strlen(sCode) + 1 == sizeof CODE_SELL) i = strcmp(CODE_SELL, sCode); } catch(char *str) {error_db_log(str);} if (i == 0) { //right code sellGuildhouse(player, _creature); } player->CLOSE_GOSSIP_MENU(); return true; } } return false; } void AddSC_guildmaster() { Script *newscript; newscript = new Script; newscript->Name = "guildmaster"; newscript->pGossipHello = &GossipHello_guildmaster; newscript->pGossipSelect = &GossipSelect_guildmaster; newscript->pGossipSelectWithCode = &GossipSelectWithCode_guildmaster; newscript->RegisterSelf(); }
-
Dobrý den
Chtěl bych se zeptat jestli nevíte proč mi nefunguji zbrane které si sám udělam
Dělám na " wow-v.com "
(už je to tam i na Trinity, dříve jsem dělal na MaNGOS)
Ale stále to nejde
Hoši prd trinity core zakazalo delani svojich vlastnich zbrani takze ti to nepude udelat jako novou ja osobne sem to resil tak ze sem si vzal uz nejakou existujici zbran a prepsal sem ji na tu jakou sem chtel a pak to funguje uplne v poho takze distak kdyz budes chtit chowky pomoct tak zaskoc na stranky darkdreamu a tam mas myslim muj skype tak distak napis anebo mam skype na svym profilu
-
Když chcete importovat teleportera do DB a hodí vám to chybu a script vipada takhle -
DELETE FROM `creature_template` WHERE `entry` = 500102;
INSERT INTO `creature_template` (`entry`, `modelid_A`, `modelid_A2`, `modelid_H`, `modelid_H2`, `name`, `subname`, `IconName`, `minlevel`, `maxlevel`, `minhealth`, `maxhealth`, `minmana`, `maxmana`, `armor`, `faction_A`, `faction_H`, `npcflag`, `speed`, `scale`, `rank`, `mindmg`, `maxdmg`, `dmgschool`, `attackpower`, `baseattacktime`, `rangeattacktime`, `flags`, `dynamicflags`, `family`, `trainer_type`, `trainer_spell`, `class`, `race`, `minrangedmg`, `maxrangedmg`, `rangedattackpower`, `type`, `flag1`, `lootid`, `pickpocketloot`, `skinloot`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `spell1`, `spell2`, `spell3`, `spell4`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `RacialLeader`, `RegenHealth`, `equipment_id`, `mechanic_immune_mask`, `flags_extra`, `ScriptName`) VALUES (500102, 146, 0, 146, 0, 'Taxi', 'Server Teleporter', "", 255, 255, 8000000, 8000000, 0, 0, 1000000, 35, 35, 2, 2, 1, 3, 10000, 10000, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10000, 10000, 3000, 6, 0, 0, 0, 0, 10000, 10000, 10000, 10000, 10000, 10000, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 1, 0, 0, 0, '');
Tak ho zmněnte na tenhle script-
DELETE FROM `creature_template` WHERE `entry` = 500102;
INSERT INTO `creature_template` (`entry`, `heroic_entry`,`modelid_A`, `modelid_A2`, `modelid_H`, `modelid_H2`, `name`, `subname`, `IconName`, `minlevel`, `maxlevel`, `minhealth`, `maxhealth`, `minmana`, `maxmana`, `armor`, `faction_A`, `faction_H`, `npcflag`, `speed`, `scale`, `rank`, `mindmg`, `maxdmg`, `dmgschool`, `attackpower`, `baseattacktime`, `rangeattacktime`, `unit_flags`, `dynamicflags`, `family`, `trainer_type`, `trainer_spell`, `class`, `race`, `minrangedmg`, `maxrangedmg`, `rangedattackpower`, `type`, `type_flags`, `lootid`, `pickpocketloot`, `skinloot`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `spell1`, `spell2`, `spell3`, `spell4`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `RacialLeader`, `RegenHealth`, `equipment_id`, `mechanic_immune_mask`, `flags_extra`, `ScriptName`) VALUES (500102, 0, 146, 0, 146, 0, 'Taxi', 'Server Teleporter', "", 255, 255, 8000000, 8000000, 0, 0, 1000000, 35, 35, 2, 2, 1, 3, 10000, 10000, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10000, 10000, 3000, 6, 0, 0, 0, 0, 10000, 10000, 10000, 10000, 10000, 10000, 0, 0, 0, 0, 0, 0, '', 0, 3, 0, 1, 0, 0, 0, '');
Vpodstatě je chyba v-
- Flags > unit_flags
- Flags1 > type_flags
dík
Ty kravo joke stoleti ! XD ja tu umru XD
-
Dobrý den Server Alkazan Fun (s novým vedením) hledá :
1x C++ developéra a 1x Sql Developera
1)C++ Developeři Požadavky :
-Plně ovládat C++
-Umět příkazy Tcoru
-Být inteligentní
-Věk 15+
-Mít funkční mikrak a skype na poradu Gm
-Znalost jádra TrinityCore
-Mít skušeností z jiných serverů
2)SQL Developeři Požadavky :
-Musí umět EventAI
-Umět Sql Příkazy (např.: Nové itemy , Opravit některé questy atd ...)
-Být inteligentní
-Věk 15+
-Mít funkční mikrak a skype na poradu Gm
-Znalost databaze emulatoru TrinityCore
-Mít skušeností z jiných serverů
Nabízím:
-3 Gm level pro obě místa
-level 80 pro 2 kamoše + t7
Zájemci pište na:
Skype : formis4
Nebo sem do topicku
Děkujeme všem kteří se zůčastní
S pozdravem Bobromylus.
-
Zdravím nevíte kde se dá opravit rychlost hráče? Mám buglý druidy jsou o něco rychlejší než ostatní. Díky za radu.
V configu jsem zkoušel nastavit jinou rychlost, ale změní to i druidum a jsou ještě rychlejší.
hele a jeste by me zajimalo co dela tenhle topic v tomhle oddeleni
-
Zdravím nevíte kde se dá opravit rychlost hráče? Mám buglý druidy jsou o něco rychlejší než ostatní. Díky za radu.
V configu jsem zkoušel nastavit jinou rychlost, ale změní to i druidum a jsou ještě rychlejší.
hele a mas zaply aby meli hned vsechny spelly ja sem to mel taky na serveru vypnul sem aby meli po zacatku vsechny spelly a uz byly v normalu
- 2
-
VIP
in TrinityCore
Pokud by jsi neměl živnostenský list, či firmu dopouštíš se porušování zákona a až na tebe příjde finančák, tak budeš platit jako mourovatý....
tak diky za oznameni
-
VIP
in TrinityCore
F0rm1s.. ale jak vidíš tak i Mousik, který ví že se to nesmí, má na serveru VIP KLIK
a nevite co bych popripade z toho mel ?
-
VIP
in TrinityCore
ahoj lidi mam taky dotaz jestli musim mit nejake pov oleni na vybyrani vip na serveru ?
-
Jo, dobrý tohle jsem věděl, ale štvou mě ty zabugovany death knighti. Jak u nich s tim?
s deka je to stejny zmenis zonu a y x z a jejich id je 6
-
Najdi si table battleground_template tam si najdi (podle levlu řekl bych že jsou od 71-80) ty dvě BG a dej buďto start level 81 nebo min.player třeba 400. Píšu to z hlavy tak jsou možná trošku jiný názvy
dobry ja uz sem nasel vona je vzadu tabulka disabled XD
-
plz potrebuji poradit jak zakazat strand a isle of conquection dekuji za vsechny prizpevky
-
ne tak to furt nejde dal sem jim spawntimesecs 0.000005 a stejne se furt nerespawnujou
-
mangos.creature sloupec spawntimesecs
XD
jenze ja nemam mangos XD se koukni co to je za voddeleni ale diky zaradu ale tohle sem vedel kazdopadne diky za prispevek
-
ahoj wowresource poitrebuju poradit jak udelam ze se budou npc respawnovat treba za 5 s po killu estli to nekdo vi tak at mi poradi skousel sem najit v creature template nejaky respawn ale tam nic neni tak jesli mi nekdo poradi budu moc !! rad uz si fakt nevim rady
-
nedoporučuji, je tam spousta chyb v kompilaci a nejsou celé tabulky
ja vim ale skousel sem to a docela to slape samozdrejme neni to nic nejlepsiho ale myslim si ze nekterym invidium to tu staci (napr: pajzl XD)
hele ale nahodou se tam da sosnout docela hodne uzitecnejch veci treba ten ICC slape uplne v poho
nebo treba ten web
Vendori 4.0.6
in TrinityCore
Posted · Report reply
omg to sem udelal jenze tam neni na ty novy itemy