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

Všechno tam rozhodně nemáš. Nejspíš jsi zapoměl patchnout World.cpp! Všechno je to v prvním postu! Tam se volá initer, kterej ty data nahraje při startu core. To uvidíš i v logu core (pokud to bylo úspěšný).

Edited by Wolf Officious

Share this post


Link to post
Share on other sites

Zajímavý kód, ale přijde mi to zbytečné dělat tak složitě když stačí jeden cyklus a pár selectů v samotném kodu NPC...

 

přesto si to ale zaslouží like :)

Share this post


Link to post
Share on other sites

Jeden cyklus a pár selectů v samotném kodu NPC ti při 1000 online položí server. :D

Cokoliv můžeš preloadnout při startu serveru a syslit v paměti, si v tý paměti sysli. Případně v případě že ten select fakt potřebuješ, omez ho ve stylu např. maximálně jednou za minutu.

Share this post


Link to post
Share on other sites

Jeden cyklus a pár selectů v samotném kodu NPC ti při 1000 online položí server. :D

Cokoliv můžeš preloadnout při startu serveru a syslit v paměti, si v tý paměti sysli. Případně v případě že ten select fakt potřebuješ, omez ho ve stylu např. maximálně jednou za minutu.

Jeden select je necelá ms když si dobře nakonfiguruješ MySQLko, ale neznam moc lidí co dělaj na serveru s 1k hráči a berou kody z wowresource...

 

Máš pravdu, pro servery s 1000 hráči ti to zvedne diff MySQLka...

Edited by Boomper

Share this post


Link to post
Share on other sites

Ak sa nemýlim Boomper, myslím že tu vôbec nejde o to o čom hovoríš. Hlavným cieľom je snáď script ktorý je čo najlepšie využitelný a pritom čo najmenej náročný (práve na DB) nehlade na to, koľko ľudí má server. Ak máš lepšie riešenie, hoď ho sem, pretože práve kritizuješ to, čo spravil Wolf lepšie ako by si to spravil ty ;)

  • Upvote 1

Share this post


Link to post
Share on other sites

Zdravím,

 

předem chci říct, že jsem se svoji následující otázku pokoušel přijít několik hodin, hledal jsem kde jsem mohl, ale nenašel jsem, tak prosím, nebuďte na mě moc zlý =).

 

Kód jsem úspěšně přidal do coru, kompilace bez problému. Udělal jsem novou tabulku v databázi, dal jsem do ní data jaká byla v příkladě použití, všechno fajn.

 

Jediný, co mi nejde do hlavy, tak jak toho teleportera spawnu ve hře ? Já vím, že se teď musíte chytat za hlavu, co jsem to za člověka, ale věřte mi, já na to nepřišel ani jsem to nikde nenašel. Prosím o radu nebo o odkaz, kde je to řešené - nikde jsem to nenašel a hledal jsem opravdu dlouho =/.

 

Díky za odpověď.

Share this post


Link to post
Share on other sites

Čau,

musíš si vytvořit NPC a do ScriptName dát npc_dynamic_teleporter

Share this post


Link to post
Share on other sites

Čau,

musíš si vytvořit NPC a do ScriptName dát npc_dynamic_teleporter

 

Skvělý, díky moc =)

 

Kdyby náhodou si s tím někdo dál nevěděl rady, jako já před chvílí, tak do creature_template vložit např.

 

insert into `world`.`creature_template`(`entry`,`difficulty_entry_1`,`difficulty_entry_2`,`difficulty_entry_3`,`KillCredit1`,`KillCredit2`,`modelid1`,`modelid2`,`modelid3`,`modelid4`,`name`,`subname`,`IconName`,`gossip_menu_id`,`minlevel`,`maxlevel`,`exp`,`faction_A`,`faction_H`,`npcflag`,`speed_walk`,`speed_run`,`scale`,`rank`,`mindmg`,`maxdmg`,`dmgschool`,`attackpower`,`dmg_multiplier`,`baseattacktime`,`rangeattacktime`,`unit_class`,`unit_flags`,`dynamicflags`,`family`,`trainer_type`,`trainer_spell`,`trainer_class`,`trainer_race`,`minrangedmg`,`maxrangedmg`,`rangedattackpower`,`type`,`type_flags`,`lootid`,`pickpocketloot`,`skinloot`,`resistance1`,`resistance2`,`resistance3`,`resistance4`,`resistance5`,`resistance6`,`spell1`,`spell2`,`spell3`,`spell4`,`spell5`,`spell6`,`spell7`,`spell8`,`PetSpellDataId`,`VehicleId`,`mingold`,`maxgold`,`AIName`,`MovementType`,`InhabitType`,`Health_mod`,`Mana_mod`,`Armor_mod`,`RacialLeader`,`questItem1`,`questItem2`,`questItem3`,`questItem4`,`questItem5`,`questItem6`,`movementId`,`RegenHealth`,`equipment_id`,`mechanic_immune_mask`,`flags_extra`,`ScriptName`,`WDBVerified`) values ( '250000','0','0','0','0','0','3206','0','0','0','Teleporter','T-Style','Directions','0','71','71','0','35','35','3','1','1.4286','1,25','1','0','0','0','0','1','0','0','0','2','0','0','0','0','0','0','0','0','0','7','138936390','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','NullAI','0','3','1','1','1','0','0','0','0','0','0','0','0','1','0','0','0','npc_dynamic_teleporter','1')

 

a ve hře spawnout příkazem .add npc 250000

Edited by Gendry

Share this post


Link to post
Share on other sites

Mohl bych poprosit o upravení teleportera na aktuální revizy?

Zadarmo ani pes nesere -,- zrejme to sem wolf dal z vlastnej dobrej vôle ze to nevyuzije

Share this post


Link to post
Share on other sites

Ahojte, mam s tymto teleporterom problem.

 

Vsetky kody mam napisane tak , ako su uvedene v prvom prispevku. Core mi nacita porty z databazi

>> Loaded 49 Dynamic Teleporter rows in 0 ms

, ale v teleporterovy nic nevidno. Pouzivam teleportera z examplu.

REPLACE INTO `creature_template` (`entry`, `difficulty_entry_1`, `difficulty_entry_2`, `difficulty_entry_3`, `KillCredit1`, `KillCredit2`, `modelid1`, `modelid2`, `modelid3`, `modelid4`, `name`, `subname`, `IconName`, `gossip_menu_id`, `minlevel`, `maxlevel`, `exp`, `faction_A`, `faction_H`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `rank`, `mindmg`, `maxdmg`, `dmgschool`, `attackpower`, `dmg_multiplier`, `baseattacktime`, `rangeattacktime`, `unit_class`, `unit_flags`, `dynamicflags`, `family`, `trainer_type`, `trainer_spell`, `trainer_class`, `trainer_race`, `minrangedmg`, `maxrangedmg`, `rangedattackpower`, `type`, `type_flags`, `lootid`, `pickpocketloot`, `skinloot`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `spell1`, `spell2`, `spell3`, `spell4`, `spell5`, `spell6`, `spell7`, `spell8`, `PetSpellDataId`, `VehicleId`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `Health_mod`, `Mana_mod`, `Armor_mod`, `RacialLeader`, `questItem1`, `questItem2`, `questItem3`, `questItem4`, `questItem5`, `questItem6`, `movementId`, `RegenHealth`, `equipment_id`, `mechanic_immune_mask`, `flags_extra`, `ScriptName`, `WDBVerified`)
VALUES('700020','0','0','0','0','0','736','0','0','0','Dynamic Teleporter','TEST','','0','80','80','1','35','35','1','1','1.14286','2','0','5000','5000','0','35000','10','1','0','1','512','0','0','0','0','0','0','10000','10000','68','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','','0','3','20','20','20','0','0','0','0','0','0','0','0','255','0','0','0','npc_dynamic_teleporter','0');

 

Viete kde je chyba ? alebo tento teleporter uz je stary na nove revizie ?

 

 

-----------------------------------------------------

 

no jasne, precital som si vsetko poriadne a nasiel som to ... moja zaciatocnicka chyba prepacte (ScriptLoader)

Edited by Dancike

Share this post


Link to post
Share on other sites

Jeden select je necelá ms když si dobře nakonfiguruješ MySQLko, ale neznam moc lidí co dělaj na serveru s 1k hráči a berou kody z wowresource...

 

Máš pravdu, pro servery s 1000 hráči ti to zvedne diff MySQLka...

Neodpustím si poznámku k tomu co jsi napsal. Ano, MySQL (dejme tomu) jedním dotazem sežere 1ms (což je individuální), ale v případě výběru správně formovaných dat v operační paměti se budeme bavit už pouze v řádu nanosekund. Nehledě na možnost reloadu pohodlně přímo ze hry. Přečti si první post znovu.

 

Gendry: Perfektně umíš papouškovat to, co je v prvním postu. V kódu už SQL example je! ;)

Pandaria: Funguje, tak tady nemel bludy!

Bindiks: Psal jsem to pro tohle forum už od začátku. Nebyl to jenom zbytek, jako když řezník odhodí kus zkaženýho masa. Jsi mimo?

Dancike: Zaregistruj script portera v core. Loader pojede i bez NPC scriptu (logicky), ale musíš správně přidat script do core!!! :angry:

Edited by Wolf Officious

Share this post


Link to post
Share on other sites

Chcel by som poprosiť o radu, neviem ako mám pridať teleportera, prosím poradte ďakuje. A chcel by som podotknúť, že som ešte začiatočník :)

Edited by Smikle

Share this post


Link to post
Share on other sites

Chcel by som poprosiť o radu, neviem ako mám pridať teleportera, prosím poradte ďakuje. A chcel by som podotknúť, že som ešte začiatočník :)

Sice trochu pozdě, ale přece. Doporučuji nastudovat toto: http://www.wowresource.eu/index.php?showtopic=20396

Edited by Wolf Officious

Share this post


Link to post
Share on other sites

Zdravím dal by sa tento script aktualizovať? mám najnovšie Core a vypisuje mi

 

4>------ Build started: Project: game, Configuration: Release Win32 ------

4> DynamicTeleportMgr.cpp

4> ScriptLoader.cpp

3> npc_dynamic_teleporter.cpp

4>..\..\..\..\TrinityCore\src\server\game\Entities\Player\DynamicTeleportMgr.cpp(22): error C2039: 'outString' : is not a member of 'Log'

4> C:/Server/TrinityCore/src/server/shared/Logging\Log.h(33) : see declaration of 'Log'

4>..\..\..\..\TrinityCore\src\server\game\Entities\Player\DynamicTeleportMgr.cpp(55): error C2039: 'outString' : is not a member of 'Log'

4> C:/Server/TrinityCore/src/server/shared/Logging\Log.h(33) : see declaration of 'Log'

3>..\..\..\..\TrinityCore\src\server\scripts\Custom\npc_dynamic_teleporter.cpp(83): error C2660: 'Log::outError' : function does not take 1 arguments

3>..\..\..\..\TrinityCore\src\server\scripts\Custom\npc_dynamic_teleporter.cpp(111): error C2660: 'Log::outError' : function does not take 1 arguments

3>..\..\..\..\TrinityCore\src\server\scripts\Custom\npc_dynamic_teleporter.cpp(147): error C2660: 'Log::outError' : function does not take 1 arguments

5>------ Build started: Project: ALL_BUILD, Configuration: Release Win32 ------

5> Build all projects

========== Build: 3 succeeded, 2 failed, 14 up-to-date, 0 skipped ==========

 

ďakujem vopred. Edited by Bacardi

Share this post


Link to post
Share on other sites

Zdravím dal by sa tento script aktualizovať? mám najnovšie Core a vypisuje mi

....

ďakujem vopred.

 

Soubor DynamicTeleportMgr.cpp - Vyhledej kousek kódu:

sLog->outString("

...nahraď za:

sLog->outInfo(LOG_FILTER_GENERAL, "

 

Soubor npc_dynamic_teleporter.cpp - Vyhledej kousek kódu:

sLog->outError("

...nahraď za:

sLog->outError(LOG_FILTER_GENERAL, "

 

EDIT: Typo...

EDIT2: POZOR! Popis úprav souborů je redundantní. To znamená, že v kódu je více řádků, které se musí opravit stejným způsobem.

 

Btw, stejně je zajímý, že i po dvou letech to používáte. :) Neřikam nic, je to dobře, jsem šťastný. ;)

Díky za report. :in_love:

 

Upravené celé soubory (včetně adresářové struktury) jsou zde (ZIP):

Dynamic_Teleporter_TC_(2013_01_24).zip

 

Edited by Wolf Officious

Share this post


Link to post
Share on other sites

ďakujem pekne idem skúsiť

 

edit:

nefunguje zase

 

4>..\..\..\..\TrinityCore\src\server\game\Entities\Player\DynamicTeleportMgr.cpp(22): error C2039: 'outString' : is not a member of 'Log'

4> C:/Server/TrinityCore/src/server/shared/Logging\Log.h(33) : see declaration of 'Log'

3> npc_dynamic_teleporter.cpp

3>..\..\..\..\TrinityCore\src\server\scripts\Custom\npc_dynamic_teleporter.cpp(111): error C2660: 'Log::outError' : function does not take 1 arguments

3>..\..\..\..\TrinityCore\src\server\scripts\Custom\npc_dynamic_teleporter.cpp(147): error C2660: 'Log::outError' : function does not take 1 arguments

5>------ Build started: Project: ALL_BUILD, Configuration: Release Win32 ------

5> Build all projects

========== Build: 3 succeeded, 2 failed, 14 up-to-date, 0 skipped ==========-

Edited by Bacardi

Share this post


Link to post
Share on other sites

ďakujem pekne idem skúsiť

 

edit:

nefunguje zase

 

4>..\..\..\..\TrinityCore\src\server\game\Entities\Player\DynamicTeleportMgr.cpp(22): error C2039: 'outString' : is not a member of 'Log'

4> C:/Server/TrinityCore/src/server/shared/Logging\Log.h(33) : see declaration of 'Log'

3> npc_dynamic_teleporter.cpp

3>..\..\..\..\TrinityCore\src\server\scripts\Custom\npc_dynamic_teleporter.cpp(111): error C2660: 'Log::outError' : function does not take 1 arguments

3>..\..\..\..\TrinityCore\src\server\scripts\Custom\npc_dynamic_teleporter.cpp(147): error C2660: 'Log::outError' : function does not take 1 arguments

5>------ Build started: Project: ALL_BUILD, Configuration: Release Win32 ------

5> Build all projects

========== Build: 3 succeeded, 2 failed, 14 up-to-date, 0 skipped ==========-

Ty blázne, těch řádků co je třeba upravit je v každým soboru víc!!! Na každý error jeden! BOHA!!! :death:

 

PS: Toto je inteligencia v praxi.

Edited by Wolf Officious

Share this post


Link to post
Share on other sites

Ty blázne, těch řádků co je třeba upravit je v každým soboru víc!!! Na každý error jeden! BOHA!!! :death:

 

PS: Toto je inteligencia v praxi.

Ďakujem nevedel som že je tam toho viac.

Share this post


Link to post
Share on other sites

Ďakujem nevedel som že je tam toho viac.

Keby si sa pozeral na ten error čo ti to vypísalo, natrieskal bys to tam sám.

 

Tady jsou celé soubory (aktuální, před malým okamžikem testované).

Dynamic_Teleporter_TC_(2013_01_24).zip

Edited by Wolf Officious

Share this post


Link to post
Share on other sites

Keby si sa pozeral na ten error čo ti to vypísalo, natrieskal bys to tam sám.

Bohužial zase problém npc nič neponúka len Greetings a moje meno. Všetko som nahral SQL i scripty všetko bolo pridané bez chybi dokonca som nahral i tie mestá čo si asi na prvej strane napísal. Ďakujem vopred za pomoc

 

4pfqi38wj9ph20eixtry_thumb.png

Edited by Bacardi

Share this post


Link to post
Share on other sites

A konzole hlásí co? Hmm? Zjevně nemáš správně vytvořené gossip NPC. Scriptname? (Bacha, je to case sensitive). Vytvářet gossip NPC přes SQL co je v kódu prvního příspěvku je dost vošajstlich, když jsem to psal skoro před dvěma lety.

Edited by Wolf Officious

Share this post


Link to post
Share on other sites

A konzole hlásí co? Hmm? Zjevně nemáš správně vytvořené gossip NPC. Scriptname? (Bacha, je to case sensitive). Vytvářet gossip NPC přes SQL co je v kódu prvního příspěvku je dost vošajstlich, když jsem to psal skoro před dvěma lety.

všetko správne nahralo script name správne npc_dynamic_teleporter konzola nič nehlási

Share this post


Link to post
Share on other sites

všetko správne nahralo script name správne npc_dynamic_teleporter konzola nič nehlási

Zapsal jsi vůbec ten script do ScriptLoader.cpp? Asi to bude tvůj hlavní průblém (jako snad všech, kterým to nešlo). Víš, tento script vyžaduje abys uměl přidávat custom scripty...

 

Tobě vážně nejde pomoct.

Share this post


Link to post
Share on other sites

Zapsal jsi vůbec ten script do ScriptLoader.cpp? Asi to bude tvůj hlavní průblém (jako snad všech, kterým to nešlo). Víš, tento script vyžaduje abys uměl přidávat custom scripty...

 

Tobě vážně nejde pomoct.

áno je pridaný pane bože...

 

#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

}

Edited by Bacardi

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


×