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:  
Sign in to follow this  
Cäsh

Půjčovna mountu pro TrinityCore

Recommended Posts

nebude ti snad vadiť ak si hopožičam a trocha prerobim že nie samozrejme podpis necham :D len ho chcem prerobit v štyle iny mounti viac druhom a nejake special napriklad a tak

Share this post


Link to post
Share on other sites

Prepsano pro novy ScriptSystem, melo by to byt funkcni (nemam ted moznost otestovat, kdyztak napiste chyby, diky).

 

/*************************
*      Cäsh (c) 2010     *
* Edited by Brseker 2011 *
*   for wowresource.eu   *
**************************/

#include "ScriptPCH.h"

#define MSG1                    "Jsi v combatu. Vrat se pozdeji!"
#define MSG2                    700044
#define MSG3                    "Opravdu si chces pujcit tohoto mounta?"     
#define MSG4                    "Nemas dostatek penez!"
#define MSG5                    "Nemas spell Cold Weather Flying."
#define PRICE                   200000   // Default: 200000(cooper) => 20G

class custom_npc_mounts : public CreatureScript
{
public:
   custom_npc_mounts() : CreatureScript("custom_npc_mounts") { }

   bool OnGossipHello(Player *pPlayer, Creature *pCreature)
   {
       if (pPlayer->isInCombat())
       {
           pPlayer->CLOSE_GOSSIP_MENU();
           pCreature->MonsterWhisper(MSG1, pPlayer->GetGUID());
           return true;
       }

       pPlayer->SEND_GOSSIP_MENU(MSG2, pCreature->GetGUID());

       pPlayer->ADD_GOSSIP_ITEM_EXTENDED(5, "Red Riding Nether Ray",         GOSSIP_SENDER_MAIN, 7001, MSG3, PRICE, false);
       pPlayer->ADD_GOSSIP_ITEM_EXTENDED(5, "Swift Freen Wind Rider",        GOSSIP_SENDER_MAIN, 7002, MSG3, PRICE, false);
       pPlayer->ADD_GOSSIP_ITEM_EXTENDED(5, "Ashes of Al'ar",                GOSSIP_SENDER_MAIN, 7003, MSG3, PRICE, false);
       pPlayer->ADD_GOSSIP_ITEM_EXTENDED(5, "Green Proto-Drake",             GOSSIP_SENDER_MAIN, 7004, MSG3, PRICE, false);
       pPlayer->ADD_GOSSIP_ITEM_EXTENDED(5, "Mimiron's Head",                GOSSIP_SENDER_MAIN, 7005, MSG3, PRICE, false);
       pPlayer->ADD_GOSSIP_ITEM_EXTENDED(5, "Turbo-Charged Flying Machine",  GOSSIP_SENDER_MAIN, 7006, MSG3, PRICE, false);
       pPlayer->ADD_GOSSIP_ITEM_EXTENDED(5, "X-51 Nether-Rocket X-TREME",    GOSSIP_SENDER_MAIN, 7007, MSG3, PRICE, false);
       pPlayer->ADD_GOSSIP_ITEM_EXTENDED(5, "Flying Broom",                  GOSSIP_SENDER_MAIN, 7008, MSG3, PRICE, false);
       pPlayer->ADD_GOSSIP_ITEM_EXTENDED(5, "Deadly Gladiator's Frost Wyrm", GOSSIP_SENDER_MAIN, 7009, MSG3, PRICE, false);
       pPlayer->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, pCreature->GetGUID());

       return true;
   }

   bool OnGossipSelect(Player *pPlayer, Creature *pCreature, uint32 sender, uint32 action)
   {
       if (sender != GOSSIP_SENDER_MAIN)
           return true;

       if (pPlayer->isInCombat())
       {
           pPlayer->CLOSE_GOSSIP_MENU();
           pCreature->MonsterWhisper(MSG1, pPlayer->GetGUID());
           return true;
       }

       switch(action)
       {
           case 7001: //Red Riding Nether Ray
               AddAuraMount(pPlayer, pCreature, 39800);
               pPlayer->CLOSE_GOSSIP_MENU();
               break;

           case 7002: //Swift Green Wind Rider
               AddAuraMount(pPlayer, pCreature, 32295);
               pPlayer->CLOSE_GOSSIP_MENU();
               break;

           case 7003: //Ashes of Al'ar
               AddAuraMount(pPlayer, pCreature, 40192);
               pPlayer->CLOSE_GOSSIP_MENU();
               break;

           case 7004: //Green Proto-Drake
               AddAuraMount(pPlayer, pCreature, 61294);
               pPlayer->CLOSE_GOSSIP_MENU();
               break;

           case 7005: //Mimiron's Head
               AddAuraMount(pPlayer, pCreature, 63796);
               pPlayer->CLOSE_GOSSIP_MENU();
               break;

           case 7006: //Turbo-Charged Flying Machine
               AddAuraMount(pPlayer, pCreature, 44151);
               pPlayer->CLOSE_GOSSIP_MENU();
               break;

           case 7007: //X-51 Nether-Rocket X-TREME
               AddAuraMount(pPlayer, pCreature, 46199);
               pPlayer->CLOSE_GOSSIP_MENU();
               break;

           case 7008: //Flying Broom
               AddAuraMount(pPlayer, pCreature, 42667);
               pPlayer->CLOSE_GOSSIP_MENU();
               break;

           case 7009: //Deadly Gladiator's Frost Wyrm
               AddAuraMount(pPlayer, pCreature, 64927);
               pPlayer->CLOSE_GOSSIP_MENU();
               break;

           default:
               return true;
       }

       return true;
   }

private:
   void AddAuraMount(Player *pPlayer, Creature *pCreature, uint32 mount)
   {
       if (pPlayer->GetMoney() >= PRICE)
       {
           if(pPlayer->HasSpell(54197))
           {
               if(pPlayer->IsMounted())
               {
                   pPlayer->Unmount();
                   pPlayer->RemoveAurasByType(SPELL_AURA_MOUNTED);
               }

               pPlayer->ModifyMoney(-PRICE);
               pCreature->AddAura(mount, pPlayer);
           }
           else
               pCreature->MonsterWhisper(MSG5, pPlayer->GetGUID());
       }
       else
           pCreature->MonsterWhisper(MSG4, pPlayer->GetGUID());
   }
};

void AddSC_custom_npc_mounts()
{
   new custom_npc_mounts();
}

 

Edited by brseker
  • Upvote 2

Share this post


Link to post
Share on other sites

Síce trochu neskoro ale nedá sa to aktualizovať na aktuálne core díky? :)

 

4> ScriptLoader.cpp

3> custom_npc_mounts.cpp

3>..\..\..\..\TrinityCore\src\server\scripts\Custom\custom_npc_mounts.cpp(121): error C2039: 'Unmount' : is not a member of 'Player'

3> C:/Server/TrinityCore/src/server/game/Entities/Player\Player.h(1059) : see declaration of 'Player'

4> game.vcxproj -> C:\Server\ARKADON\src\server\game\Release\game.lib

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

5> Creating library C:/Server/ARKADON/src/server/worldserver/Release/worldserver.lib and object C:/Server/ARKADON/src/server/worldserver/Release/worldserver.exp

5>game.lib(ScriptLoader.obj) : error LNK2019: unresolved external symbol "void __cdecl AddSC_custom_npc_mounts(void)" (?AddSC_custom_npc_mounts@@YAXXZ) referenced in function "void __cdecl AddCustomScripts(void)" (?AddCustomScripts@@YAXXZ)

5>C:\Server\ARKADON\bin\Release\worldserver.exe : fatal error LNK1120: 1 unresolved externals

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

6> Build all projects

========== Build: 4 succeeded, 2 failed, 17 up-to-date, 0 skipped ==========

 

Share this post


Link to post
Share on other sites

Metoda Unmount() se změnila na Dismount(), tak si to tam oprav.

 

 

/*********************************
*         Cäsh (c) 2010         *
*    Edited by Brseker 2011     *
* Edited by Wolf Officious 2013 *
*      for wowresource.eu       *
*********************************/

#include "ScriptPCH.h"

#define MSG1                    "Jsi v combatu. Vrat se pozdeji!"
#define MSG2                    700044
#define MSG3                    "Opravdu si chces pujcit tohoto mounta?"     
#define MSG4                    "Nemas dostatek penez!"
#define MSG5                    "Nemas spell Cold Weather Flying."
#define PRICE                   200000   // Default: 200000(cooper) => 20G

class custom_npc_mounts : public CreatureScript
{
public:
   custom_npc_mounts() : CreatureScript("custom_npc_mounts") { }

   bool OnGossipHello(Player *pPlayer, Creature *pCreature)
   {
       if (pPlayer->isInCombat())
       {
           pPlayer->CLOSE_GOSSIP_MENU();
           pCreature->MonsterWhisper(MSG1, pPlayer->GetGUID());
           return true;
       }

       pPlayer->SEND_GOSSIP_MENU(MSG2, pCreature->GetGUID());

       pPlayer->ADD_GOSSIP_ITEM_EXTENDED(5, "Red Riding Nether Ray",         GOSSIP_SENDER_MAIN, 7001, MSG3, PRICE, false);
       pPlayer->ADD_GOSSIP_ITEM_EXTENDED(5, "Swift Freen Wind Rider",        GOSSIP_SENDER_MAIN, 7002, MSG3, PRICE, false);
       pPlayer->ADD_GOSSIP_ITEM_EXTENDED(5, "Ashes of Al'ar",                GOSSIP_SENDER_MAIN, 7003, MSG3, PRICE, false);
       pPlayer->ADD_GOSSIP_ITEM_EXTENDED(5, "Green Proto-Drake",             GOSSIP_SENDER_MAIN, 7004, MSG3, PRICE, false);
       pPlayer->ADD_GOSSIP_ITEM_EXTENDED(5, "Mimiron's Head",                GOSSIP_SENDER_MAIN, 7005, MSG3, PRICE, false);
       pPlayer->ADD_GOSSIP_ITEM_EXTENDED(5, "Turbo-Charged Flying Machine",  GOSSIP_SENDER_MAIN, 7006, MSG3, PRICE, false);
       pPlayer->ADD_GOSSIP_ITEM_EXTENDED(5, "X-51 Nether-Rocket X-TREME",    GOSSIP_SENDER_MAIN, 7007, MSG3, PRICE, false);
       pPlayer->ADD_GOSSIP_ITEM_EXTENDED(5, "Flying Broom",                  GOSSIP_SENDER_MAIN, 7008, MSG3, PRICE, false);
       pPlayer->ADD_GOSSIP_ITEM_EXTENDED(5, "Deadly Gladiator's Frost Wyrm", GOSSIP_SENDER_MAIN, 7009, MSG3, PRICE, false);
       pPlayer->SEND_GOSSIP_MENU(DEFAULT_GOSSIP_MESSAGE, pCreature->GetGUID());

       return true;
   }

   bool OnGossipSelect(Player *pPlayer, Creature *pCreature, uint32 sender, uint32 action)
   {
       if (sender != GOSSIP_SENDER_MAIN)
           return true;

       if (pPlayer->isInCombat())
       {
           pPlayer->CLOSE_GOSSIP_MENU();
           pCreature->MonsterWhisper(MSG1, pPlayer->GetGUID());
           return true;
       }

       switch(action)
       {
           case 7001: //Red Riding Nether Ray
               AddAuraMount(pPlayer, pCreature, 39800);
               pPlayer->CLOSE_GOSSIP_MENU();
               break;

           case 7002: //Swift Green Wind Rider
               AddAuraMount(pPlayer, pCreature, 32295);
               pPlayer->CLOSE_GOSSIP_MENU();
               break;

           case 7003: //Ashes of Al'ar
               AddAuraMount(pPlayer, pCreature, 40192);
               pPlayer->CLOSE_GOSSIP_MENU();
               break;

           case 7004: //Green Proto-Drake
               AddAuraMount(pPlayer, pCreature, 61294);
               pPlayer->CLOSE_GOSSIP_MENU();
               break;

           case 7005: //Mimiron's Head
               AddAuraMount(pPlayer, pCreature, 63796);
               pPlayer->CLOSE_GOSSIP_MENU();
               break;

           case 7006: //Turbo-Charged Flying Machine
               AddAuraMount(pPlayer, pCreature, 44151);
               pPlayer->CLOSE_GOSSIP_MENU();
               break;

           case 7007: //X-51 Nether-Rocket X-TREME
               AddAuraMount(pPlayer, pCreature, 46199);
               pPlayer->CLOSE_GOSSIP_MENU();
               break;

           case 7008: //Flying Broom
               AddAuraMount(pPlayer, pCreature, 42667);
               pPlayer->CLOSE_GOSSIP_MENU();
               break;

           case 7009: //Deadly Gladiator's Frost Wyrm
               AddAuraMount(pPlayer, pCreature, 64927);
               pPlayer->CLOSE_GOSSIP_MENU();
               break;

           default:
               return true;
       }

       return true;
   }

private:
   void AddAuraMount(Player *pPlayer, Creature *pCreature, uint32 mount)
   {
       if (pPlayer->GetMoney() >= PRICE)
       {
           if(pPlayer->HasSpell(54197))
           {
               if(pPlayer->IsMounted())
               {
                   pPlayer->Dismount();
                   pPlayer->RemoveAurasByType(SPELL_AURA_MOUNTED);
               }

               pPlayer->ModifyMoney(-PRICE);
               pCreature->AddAura(mount, pPlayer);
           }
           else
               pCreature->MonsterWhisper(MSG5, pPlayer->GetGUID());
       }
       else
           pCreature->MonsterWhisper(MSG4, pPlayer->GetGUID());
   }
};

void AddSC_custom_npc_mounts()
{
   new custom_npc_mounts();
}

 

Edited by Wolf Officious
  • Upvote 1

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

Sign in to follow this  

×