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

[C++] Dynamic Teleporter (v1.0) - TrinityCore

Recommended Posts

Když core nevypíše zprávu o počtu načtených lokací, znamená to že se ten script NESPUSTIL. A spouští se jen přes script NPC. Tak si chybu najdi sám, protože jsem pevně přesvědčen o tom, že na mojí straně není.

 

A hlavně si nezapomeň smazat CACHE a WTF u WoWka...

Share this post


Link to post
Share on other sites

Když core nevypíše zprávu o počtu načtených lokací, znamená to že se ten script NESPUSTIL. A spouští se jen přes script NPC. Tak si chybu najdi sám, protože jsem pevně přesvědčen o tom, že na mojí straně není.

 

A hlavně si nezapomeň smazat CACHE a WTF u WoWka...

Cache vymazané a nejde

 

dynamic_teleporter.sql som nahral do databáze World je to správne?

 

ukrb1rvm1hwj8trmqq7j_thumb.png

mvwsn4zfh9czttksie2s_thumb.png

Edited by Bacardi

Share this post


Link to post
Share on other sites

Jo, ale ty nechápeš jednu uplně jednoduchou věc. To NPC, co tam máš, není propojený s tím scriptem. Tohle si musíš vyřešit sám. Když to řešit neumíš, řekni nekomu kdo na tebe bude mít čas a nervy.

 

Podle mě máš u toho NPC v tý databázi blbě scriptname, nebo jinou chybu, kterou jsem tu už vyjmenoval. Nebaví mě se opakovat.

 

EDIT: Jestli já mám někde chybu a ukazuješ svojí DB jako argument - dává to nějaký smysl? Jestli já tam mám chybu, tak ty jsi prezident zeměkoule.

Edited by Wolf Officious

Share this post


Link to post
Share on other sites

Jo, ale ty nechápeš jednu uplně jednoduchou věc. To NPC, co tam máš, není propojený s tím scriptem. Tohle si musíš vyřešit sám. Když to řešit neumíš, řekni nekomu kdo na tebe bude mít čas a nervy.

 

Podle mě máš u toho NPC v tý databázi blbě scriptname, nebo jinou chybu, kterou jsem tu už vyjmenoval. Nebaví mě se opakovat.

3bk5ht8tt7cz8l5tqu94_thumb.png

podľa mňa máš ti niekde chybu

Edited by Bacardi
  • Downvote 1

Share this post


Link to post
Share on other sites

no dal som recompilovat kniznice pridalo

 

Je tu nejaká ochotná duša mi pomôct s tímto problémom budem nesmierne rád veľmi pekne ďakujem vopred.

Edited by Wardenicek

Share this post


Link to post
Share on other sites

Tak to potom fakt neviem, mne to frčí v pohode

 

PS: nechcem zakladať ďalší post WOLF ide to super ! :clapping:

môžeš mi to poslať ako to máš ti?

 

treba dať do core aj Úprava souboru WORLD.CPP (kvůli chybám na linuxu) ??? lebo server localhost mám na windowse

Edited by Bacardi

Share this post


Link to post
Share on other sites

 

môžeš mi to poslať ako to máš ti?

 

treba dať do core aj Úprava souboru WORLD.CPP (kvůli chybám na linuxu) ??? lebo server localhost mám na windowse

 

Na Windows to není potřeba. Na linuxu to řeší problémy s kompilací. Je to jen "HARD-FIX" pro linux. Ale když to máš na win, nic se tím nezkazí. A na tvůj problém by tohle rozhodně nemělo mít žádný vliv. Ty máš problém s přiřazením scriptu k hernímu objektu, v tomto případě tedy k NPC.

 

Ještě jednou si ověř, že spouštíš správné core (to, které je zkompilováno s tímto patchem a scriptem). Koukni do logu, jestli ti to nevyhodilo chybu, že scriptname, který jsi zvolil neexistuje.

 

Pokud vše selže, zkus to hodit na jinou revizi. Problém může být i ve "front-side" (vývojáři TC) - ikdyž o tom docela pochybuji.

Edited by Wolf Officious

Share this post


Link to post
Share on other sites

Na Windows to není potřeba. Na linuxu to předchází kompilačním problémům. Je to jen "HARD-FIX" pro linux. Ale když to máš na win, nic se tím nezkazí. A na tvůj problém by tohle rozhodně nemělo mít žádný vliv. Ty máš problém s přiřazením scriptu k hernímu objektu, v tomto případě tedy k NPC.

ja tomu nechápem všetko som nahral bez chybi i to npc a nefunguje mi to. prosím ta veľmi pekne pomôžeš mi? budem ti veľmy vdačný.

 

Na Windows to není potřeba. Na linuxu to řeší problémy s kompilací. Je to jen "HARD-FIX" pro linux. Ale když to máš na win, nic se tím nezkazí. A na tvůj problém by tohle rozhodně nemělo mít žádný vliv. Ty máš problém s přiřazením scriptu k hernímu objektu, v tomto případě tedy k NPC.

 

Ještě jednou si ověř, že spouštíš správné core (to, které je zkompilováno s tímto patchem a scriptem). Koukni do logu, jestli ti to nevyhodilo chybu, že scriptname, který jsi zvolil neexistuje.

 

Pokud vše selže, zkus to hodit na jinou revizi. Problém může být i ve "front-side" (vývojáři TC) - ikdyž o tom docela pochybuji.

Aktualizoval som novú reviziu. Spúštam to na tom core kde je script ešte dávam výpis servera (World)

http://pastebin.com/xxN0zK6g

Edited by Wardenicek

Share this post


Link to post
Share on other sites

ja tomu nechápem všetko som nahral bez chybi i to npc a nefunguje mi to. prosím ta veľmi pekne pomôžeš mi? budem ti veľmy vdačný.

Aktualizoval som novú reviziu. Spúštam to na tom core kde je script ešte dávam výpis servera (World)

http://pastebin.com/xxN0zK6g

Blbče, nedělej doubleposty! Hrabe ti snad, nebo co? Přečti si pravidla!

 

A jak jsem říkal už mnohokrát: Pomož si sám, je to tvoje věc. Tady je spousta témat jak řešit podobný chujoviny.

Edited by Wolf Officious

Share this post


Link to post
Share on other sites

Už si to prostě přiznej .. chyba je u tebe !

no som zvedavý. idem teraz vymazat komplet a komplet všetko nahráť znova db + core. a som zvedavý..

 

Takže.. všetko som urobil znovu nahral novú db a core. presne som postupoval podľa bodov a výsledok

f5ijicbiiuyla1qv1nwd_thumb.png

budem veľmi rád ak mi niekto s mojím problémom pomôže dakujem vám vopred.

 

Problém je konečne vyriešený stačilo dať do core aj Úprava souboru WORLD.CPP

 

 

http://2i.sk/12545872a1

Edited by Wolf Officious
triplepost

Share this post


Link to post
Share on other sites

Zdravím při kompilaci mi ho to hodí chybu

/src/server/game/World/World.cpp: In member function âvoid World::SetInitialWorldSettings()â:
/src/server/game/World/World.cpp:1797: error: redeclaration of âuint32 startupDurationâ
compilation terminated due to -Wfatal-errors.
make[2]: *** [src/server/game/CMakeFiles/game.dir/World/World.cpp.o] Error 1
make[1]: *** [src/server/game/CMakeFiles/game.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 16%] Building CXX object src/server/authserver/CMakeFiles/authserver.dir/PrecompiledHeaders/authPCH.cpp.o
Linking CXX executable authserver
[ 16%] Built target authserver
make: *** [all] Error 2
[email protected]:/build#

 

 

Zapsal jsem tam ten ten začátek

 

#include "DynamicTeleportMgr.h" // WLK - DYNAMIC TELEPORTER

 

dole ve scriptu jsem to vložil takhle

 

// WLK - DYNAMIC TELEPORTER
   sDynamicTeleportMgr->Init();
   uint32 startupDuration = GetMSTimeDiffToNow(startupBegin);
   sLog->outString();
   sLog->outString("WORLD: World initialized in %u minutes %u seconds", (startupDuration / 60000), ((startupDuration % 60000) / 1000) );
   sLog->outString();

}   
   if (uint32 realmId = ConfigMgr::GetIntDefault("RealmID", 0)) // 0 reserved for auth
    sLog->SetRealmId(realmId);

void World::DetectDBCLang()
{
   uint8 m_lang_confid = ConfigMgr::GetIntDefault("DBC.Locale", 255);
   if (m_lang_confid != 255 && m_lang_confid >= TOTAL_LOCALES)
   {
    sLog->outError(LOG_FILTER_SERVER_LOADING, "Incorrect DBC.Locale! Must be >= 0 and < %d (set to 0)", TOTAL_LOCALES);
    m_lang_confid = LOCALE_enUS;
   }
   ChrRacesEntry const* race = sChrRacesStore.LookupEntry(1);

 

 

Ale při kompilaci mi to prostě hází chybu nevíte někdo co stím ?

Share this post


Link to post
Share on other sites

Ach jo. Když to neumíte, neupravujte to. Přidávají se pouze řádky, před kterýmí je znaménko + !!! NA OSTATNÍ ŘÁDKY NESAHEJ, SLOUŽÍ JEN PRO ORIENTACI V KÓDU !!!

 

Takže přidáš dva řádky (v návodu se píše "PŘIDEJTE PÁR ŘÁDKŮ... Pár jsou 2, slovy DVA), KONKRÉTNĚ TYTO:

    // WLK - DYNAMIC TELEPORTER
   sDynamicTeleportMgr->Init();

PŘÍMO SEM: https://github.com/TrinityCore/TrinityCore/blob/master/src/server/game/World/World.cpp#L1787

 

Vždyť tys tam vyhodil podmínku mimo kód a vložil jsi tam řádky, který tam nemají co dělat.

 

Tys tam naflákal i ty řádky, který tam vůbec nepatří, tak se nediv. Příště buď pečlivější.

Edited by Wolf Officious

Share this post


Link to post
Share on other sites

Zdravím tak díky vlku dělal jsem to večer tak jsem si to neuvědomil ty ++

 

Ale mám problém číslo 2 :-) já ví jsme otravný ale s c++ teprv začínám vše jsem přidal na svá místa jak má být ale když upravím scriptloader tak jak tu psal Henzigo

 

Takhle

#ifdef SCRIPTS
/* This is where custom scripts' loading functions should be declared. */
void AddSC_npc_dynamic_teleporter();
#endif
void AddCustomScripts()
{
#ifdef SCRIPTS
/* This is where custom scripts should be added. */
AddSC_npc_dynamic_teleporter();

#endif
}

 

Ale při kompilaci mi to nahlásilo tuto chybu

 

Linking CXX executable worldserver
../game/libgame.a(ScriptLoader.cpp.o): In function `AddCustomScripts()':
ScriptLoader.cpp:(.text+0x41): undefined reference to `AddSC_npc_dynamic_teleporter()'
../game/libgame.a(ScriptLoader.cpp.o): In function `AddScripts()':
ScriptLoader.cpp:(.text+0xd74): undefined reference to `AddSC_npc_dynamic_teleporter()'
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
[email protected]:/build#

 

Zkoušel jsem kontrolovat všechno co se tu psalo ve všech postech ale nenašel jsem nikdy chybu ve scriptech. Mám core z 03-05-2013 z githubu takže nevím :-(

Edited by Wealfix

Share this post


Link to post
Share on other sites

Při kompilaci na linuxu je třeba zapsat soubor se scriptem

(máš ho mít pojmenovaný dynamic_teleporter.cpp a má být ve složce /src/server/scripts/Custom )

do souboru /src/server/scripts/Custom/CMakeLists.txt

 

Bude to vypadat nějak takhle:

# Copyright (C) 2008-2013 TrinityCore <http://www.trinitycore.org/>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

set(scripts_STAT_SRCS
 ${scripts_STAT_SRCS}
 Custom/dynamic_teleporter.cpp
)

message("  -> Prepared: Custom")

 

POZOR na VeLiKoSt písmen v názvu souboru; souborový systém na linuxu je case sensitive (citlivý na velikost písmen).

Pak to znova nakonfiguruj a zkompiluj. Když to neuděláš, soubor custom scriptu se nezkompiluje, nevytvoří se objekt a vyhodí to tuhle chybu.

Edited by Wolf Officious
  • Upvote 1

Share this post


Link to post
Share on other sites

Dík wolfe už to šlape jak hodinky jdu si jen doplnit tvůj zakladí sql soubor s městy :-) pár portů přidat a podobně jinak díky :-)

Edited by Wolf Officious
ZBYTEČNÁ CITACE

Share this post


Link to post
Share on other sites

No nahodil som vsetko podla planu + do ScriptLoaderu som pridal deklaraciu a definiciu, v DB vytvoril NPC priradil mu script rekompiloval restartoval a NPC stale nenacita gossip menu, ako keby ten script tam vobec nebral. Neviete v com by mohol byt problem ?

 

EDIT1: Skúšam opraviť podla Wolfovej rady na CMakeLists.txt...

EDIT2: Konečne to fachčí !!! :D

Edited by Lernias

Share this post


Link to post
Share on other sites

neco podobneho se resilo ve starsich prispevcich. Takze otazka: Napsal si tam uplne vsechny zmeny? co tam ma wlk napsany? (tj. dynamic_teleporter.cpp, DynamicTeleportMgr.h, DynamicTeleportMgr.cpp a uprava world.cpp)

 

 

druha moznost, ale pouze pokud mas core starsi min nez 2 dny, je ta, ze trinitycore prepisovalo funkce a jedna z nich je isGameMaster ktera je ve scriptu. Musi se prepsat na IsGameMaster

Edited by siley
  • Upvote 1
  • Downvote 1

Share this post


Link to post
Share on other sites

EDIT1: Skúšam opraviť podla Wolfovej rady na CMakeLists.txt...

EDIT2: Konečne to fachčí !!! :D

Příště dvakrát měř a jednou řež.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×