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  
Drein

Systémové zprávy

Recommended Posts

Chceš li aby se meno zobrazovalo na konci vety tak snad uprav dlumuv navod na

str += "|c1f40af20(";
str += m_session->GetPlayer()->GetName();
str += ")";

Share this post


Link to post
Share on other sites
a ako sa da zmenit prikaz s .announce na .n ?

Da, kdyz to zmenis pred kompilaci MaNGOSU. Jinak staci pouze .ann

Share this post


Link to post
Share on other sites

já si mangos kompiluju sám a jedeme to. jen jedna otázka kde získám jine kody barev když tam chcu dat jinou

Share this post


Link to post
Share on other sites

mám revizi 6705 a tenhle script nechce fungovat.

 

str += "|c1f40af20<";

str += m_session->GetPlayer()->GetName();

str += ">";

str += "|cffff0000: |cffffff00";

 

 

 

melo by to jit nastavit v magos_string ale neumim to neporadim by nekdo?

chci abych to mel uplne stejne jak je to v to mscriptu (tu zavorku s jmenem nakonci vety)

Share this post


Link to post
Share on other sites

Kdyz jsem to tam vlozil, tak jak to tam bylo napsane

str += "(";
str += m_session->GetPlayer()->GetName();
str += ")";

Tak sem to sel zkusit dal sem .announce blablabla

a ono mi to vypsalo

[SYSTEM_MESSAGE] %s(jmeno): blabla

proc ?

Share this post


Link to post
Share on other sites

Ahoj mám novější revizi Mangose a nemohu tam najít řádek

std::string str = GetMangosString(LANG_SYSTEMMESSAGE);

 

Mám tam pouze

// global announce
bool ChatHandler::HandleAnnounceCommand(const char* args)
{
    if(!*args)
        return false;


   
    sWorld.SendWorldText(LANG_SYSTEMMESSAGE,args);
   
    return true;

 

Poradte prosím kam to mám zapsat díky

Share this post


Link to post
Share on other sites
skript nenajdeš, ale lehkou modifikací zdrojových kódu mangosu toho docílíš: soubor src/game/Level1.cpp

najdi si metodu bool ChatHandler::HandleAnnounceCommand(const char* args);

a za řádek str += args;

přidej:

str += "(";
str += m_session->GetPlayer()->GetName();
str += ")";

 

A budeš mít za každou zprávou text "(<jméno gm>)".

 

Som sa ta chcel spytat na ten system message. Je to v mangos_string ta uprava. Mam mangos 3.0.3 server a potrebujem poradi. to co si tu pisal s tymi kodmi neviem ci je nato nejaky program alebo co ale ked som si tu tabulku vyextrahoval z mangosu tak tam je toto

`mangos_string` VALUES ('3', '|cffff0000[system Message]: %s|r', null, null, null, null, null, null, null, null); ja som skusal vsetko mozne lebo tento prikaz str + nepoznam tak som sa s tym trosku hral ale nepodarilo sa. skusil som to takto ze som to dal pred

{|cffff0000[system Message]:} lenze mi to vypisalo zelene presne tak ako som to dal sem ze

<m_session->GetPlayer()->GetName()>[system Message]:test

tu je ten kod:

`mangos_string` VALUES ('3', '<m_session->GetPlayer()->GetName()>' '|cffff0000[system Message]: %s|r', null, null, null, null, null, null, null, null); len potrebujem vediet co mam napisat do toho mangos string namiesto toho co si pisal vo fore aby dalo prikaz databazy vypisat meno GM. Ak by si mi vedel poradit dakujem

 

EDIT: JJ vidim ze sa k tomu uz dlhu dobu nikto nevyjadril. Kazdy dostal to co chcel len progasta a ja sme boli odsunuty na vedlajsiu kolaj zase kvoli WOTLK. Tne novy mangos_string je vo wotlk. Skuste ovsem ak viete poradit aj tym co maju Wotlk alebo chcete aby sa ostalo stale pri BC?

Edited by WendoR

Share this post


Link to post
Share on other sites

Mam ten samy problem, nemam deklarovany srt a vypisuje to chybu. (mam wotlk 3.0.3)

 

Kod stejny jako pogasta:

// global announce
bool ChatHandler::HandleAnnounceCommand(const char* args)
{
    if(!*args)
        return false;


  
    sWorld.SendWorldText(LANG_SYSTEMMESSAGE,args);
  
    return true;

 

Prosim upravte to nekdo, aby to slo. :mid_pickaxe:

Edited by nalimleinad

Share this post


Link to post
Share on other sites
...

Prosim upravte to nekdo, aby to slo. :mid_pickaxe:

 

Oki, tu je patch pre [7227].

Pridava novy command .nannounce (nejde z konzoly)

Vypise annnounce + meno announcovatela + farba mena podla GM levelu:

 

diff --git a/sql/mangos.sql b/sql/mangos.sql
index 3f04cd9..8a9d860 100644
--- a/sql/mangos.sql
+++ b/sql/mangos.sql
@@ -242,6 +242,7 @@ INSERT INTO `command` VALUES
('additemset',3,'Syntax: .additemset #itemsetid\r\n\r\nAdd items from itemset of id #itemsetid to your or selected character inventory. Will add by one example each item from itemset.'),
('addmove',2,'Syntax: .addmove #creature_guid [#waittime]\r\n\r\nAdd your current location as a waypoint for creature with guid #creature_guid. And optional add wait time.'),
('announce',1,'Syntax: .announce $MessageToBroadcast\r\n\r\nSend a global message to all players online in chat log.'),
+('nannounce',1,'Syntax: .nannounce $MessageToBroadcast\r\n\r\nSend a global message to all players online in chat log with colored sender\'s name.'),
('aura',3,'Syntax: .aura #spellid\r\n\r\nAdd the aura from spell #spellid to the selected Unit.'),
('ban account',3,'Syntax is: ban account $Name $bantime $reason\r\nBan account kick player.\r\n$bantime: negative value leads to permban, otherwise use a timestring like \"4d20h3s\".'),
('ban character',3,'Syntax is: ban character $Name $bantime $reason\r\nBan account and kick player.\r\n$bantime: negative value leads to permban, otherwise use a timestring like \"4d20h3s\".'),
@@ -2331,6 +2332,9 @@ INSERT INTO `mangos_string` VALUES
(56,'Current Message of the day: \r\n%s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(57,'Using World DB: %s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(58,'Using script library: %s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
+(59,'|cffff0000[System Message]|cff0000ff[%s]|cffffffff: %s|r',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
+(60,'|cffff0000[System Message]|cff00ff00[%s]|cffffffff: %s|r',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
+(61,'|cffff0000[System Message]|cffff00ff[%s]|cffffffff: %s|r',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(100,'Global notify: ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(101,'Map: %u (%s) Zone: %u (%s) Area: %u (%s) Phase: %u\nX: %f Y: %f Z: %f Orientation: %f\ngrid[%u,%u]cell[%u,%u] InstanceID: %u\n ZoneX: %f ZoneY: %f\nGroundZ: %f FloorZ: %f Have height data (Map: %u VMap: %u)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(102,'%s is already being teleported.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp
index 5f053cb..1b39c05 100644
--- a/src/game/Chat.cpp
+++ b/src/game/Chat.cpp
@@ -528,6 +528,7 @@ ChatCommand * ChatHandler::getCommandTable()
         { "aura",           SEC_ADMINISTRATOR,  false, &ChatHandler::HandleAuraCommand,                "", NULL },
         { "unaura",         SEC_ADMINISTRATOR,  false, &ChatHandler::HandleUnAuraCommand,              "", NULL },
         { "announce",       SEC_MODERATOR,      true,  &ChatHandler::HandleAnnounceCommand,            "", NULL },
+        { "nannounce",      SEC_MODERATOR,      false, &ChatHandler::HandleNamedAnnounceCommand,       "", NULL },
         { "notify",         SEC_MODERATOR,      true,  &ChatHandler::HandleNotifyCommand,              "", NULL },
         { "goname",         SEC_MODERATOR,      false, &ChatHandler::HandleGonameCommand,              "", NULL },
         { "namego",         SEC_MODERATOR,      false, &ChatHandler::HandleNamegoCommand,              "", NULL },
diff --git a/src/game/Chat.h b/src/game/Chat.h
index 2779cfc..27c2ce3 100644
--- a/src/game/Chat.h
+++ b/src/game/Chat.h
@@ -107,6 +107,7 @@ class ChatHandler
         bool HandleGroupgoCommand(const char* args);
         bool HandleRecallCommand(const char* args);
         bool HandleAnnounceCommand(const char* args);
+        bool HandleNamedAnnounceCommand(const char* args);
         bool HandleNotifyCommand(const char* args);
         bool HandleGMmodeCommand(const char* args);
         bool HandleGMChatCommand(const char* args);
diff --git a/src/game/Language.h b/src/game/Language.h
index 4bb924f..a09ef24 100644
--- a/src/game/Language.h
+++ b/src/game/Language.h
@@ -83,6 +83,9 @@ enum MangosStrings
     LANG_USING_WORLD_DB                 = 57,
     LANG_USING_SCRIPT_LIB               = 58,
     // Room for more level 0              59-99 not used
+    LANG_SYSTEMMESSAGE_MODERATOR        = 59,
+    LANG_SYSTEMMESSAGE_GAMEMASTER       = 60,
+    LANG_SYSTEMMESSAGE_ADMINISTRATOR    = 61,

     // level 1 chat
     LANG_GLOBAL_NOTIFY                  = 100,
diff --git a/src/game/Level1.cpp b/src/game/Level1.cpp
index 042827f..64bf74f 100644
--- a/src/game/Level1.cpp
+++ b/src/game/Level1.cpp
@@ -130,6 +130,33 @@ bool ChatHandler::HandleAnnounceCommand(const char* args)
     return true;
}

+bool ChatHandler::HandleNamedAnnounceCommand(const char* args)
+{
+  int32 strid = 0;
+
+    if(!*args)
+        return false;
+
+    switch(m_session->GetSecurity()) {
+      case SEC_MODERATOR:
+        strid = LANG_SYSTEMMESSAGE_MODERATOR;
+        break;
+      case SEC_GAMEMASTER:
+        strid = LANG_SYSTEMMESSAGE_GAMEMASTER;
+        break;
+      case SEC_ADMINISTRATOR:
+        strid = LANG_SYSTEMMESSAGE_ADMINISTRATOR;
+        break;
+      default:
+        return false;
+    }
+
+    sWorld.SendWorldText(strid, m_session->GetPlayerName(), args);
+
+    return true;
+}
+
+
//notification player at the screen
bool ChatHandler::HandleNotifyCommand(const char* args)
{

 

Je to uprava cpp aj sql.

 

v.

Edited by vladonix

Share this post


Link to post
Share on other sites
Oki, tu je patch pre [7227].

Pridava novy command .nannounce (nejde z konzoly)

Vypise annnounce + meno announcovatela + farba mena podla GM levelu:

 

diff --git a/sql/mangos.sql b/sql/mangos.sql
index 3f04cd9..8a9d860 100644
--- a/sql/mangos.sql
+++ b/sql/mangos.sql
@@ -242,6 +242,7 @@ INSERT INTO `command` VALUES
('additemset',3,'Syntax: .additemset #itemsetid\r\n\r\nAdd items from itemset of id #itemsetid to your or selected character inventory. Will add by one example each item from itemset.'),
('addmove',2,'Syntax: .addmove #creature_guid [#waittime]\r\n\r\nAdd your current location as a waypoint for creature with guid #creature_guid. And optional add wait time.'),
('announce',1,'Syntax: .announce $MessageToBroadcast\r\n\r\nSend a global message to all players online in chat log.'),
+('nannounce',1,'Syntax: .nannounce $MessageToBroadcast\r\n\r\nSend a global message to all players online in chat log with colored sender\'s name.'),
('aura',3,'Syntax: .aura #spellid\r\n\r\nAdd the aura from spell #spellid to the selected Unit.'),
('ban account',3,'Syntax is: ban account $Name $bantime $reason\r\nBan account kick player.\r\n$bantime: negative value leads to permban, otherwise use a timestring like \"4d20h3s\".'),
('ban character',3,'Syntax is: ban character $Name $bantime $reason\r\nBan account and kick player.\r\n$bantime: negative value leads to permban, otherwise use a timestring like \"4d20h3s\".'),
@@ -2331,6 +2332,9 @@ INSERT INTO `mangos_string` VALUES
(56,'Current Message of the day: \r\n%s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(57,'Using World DB: %s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(58,'Using script library: %s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
+(59,'|cffff0000[System Message]|cff0000ff[%s]|cffffffff: %s|r',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
+(60,'|cffff0000[System Message]|cff00ff00[%s]|cffffffff: %s|r',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
+(61,'|cffff0000[System Message]|cffff00ff[%s]|cffffffff: %s|r',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(100,'Global notify: ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(101,'Map: %u (%s) Zone: %u (%s) Area: %u (%s) Phase: %u\nX: %f Y: %f Z: %f Orientation: %f\ngrid[%u,%u]cell[%u,%u] InstanceID: %u\n ZoneX: %f ZoneY: %f\nGroundZ: %f FloorZ: %f Have height data (Map: %u VMap: %u)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
(102,'%s is already being teleported.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),
diff --git a/src/game/Chat.cpp b/src/game/Chat.cpp
index 5f053cb..1b39c05 100644
--- a/src/game/Chat.cpp
+++ b/src/game/Chat.cpp
@@ -528,6 +528,7 @@ ChatCommand * ChatHandler::getCommandTable()
         { "aura",           SEC_ADMINISTRATOR,  false, &ChatHandler::HandleAuraCommand,                "", NULL },
         { "unaura",         SEC_ADMINISTRATOR,  false, &ChatHandler::HandleUnAuraCommand,              "", NULL },
         { "announce",       SEC_MODERATOR,      true,  &ChatHandler::HandleAnnounceCommand,            "", NULL },
+        { "nannounce",      SEC_MODERATOR,      false, &ChatHandler::HandleNamedAnnounceCommand,       "", NULL },
         { "notify",         SEC_MODERATOR,      true,  &ChatHandler::HandleNotifyCommand,              "", NULL },
         { "goname",         SEC_MODERATOR,      false, &ChatHandler::HandleGonameCommand,              "", NULL },
         { "namego",         SEC_MODERATOR,      false, &ChatHandler::HandleNamegoCommand,              "", NULL },
diff --git a/src/game/Chat.h b/src/game/Chat.h
index 2779cfc..27c2ce3 100644
--- a/src/game/Chat.h
+++ b/src/game/Chat.h
@@ -107,6 +107,7 @@ class ChatHandler
         bool HandleGroupgoCommand(const char* args);
         bool HandleRecallCommand(const char* args);
         bool HandleAnnounceCommand(const char* args);
+        bool HandleNamedAnnounceCommand(const char* args);
         bool HandleNotifyCommand(const char* args);
         bool HandleGMmodeCommand(const char* args);
         bool HandleGMChatCommand(const char* args);
diff --git a/src/game/Language.h b/src/game/Language.h
index 4bb924f..a09ef24 100644
--- a/src/game/Language.h
+++ b/src/game/Language.h
@@ -83,6 +83,9 @@ enum MangosStrings
     LANG_USING_WORLD_DB                 = 57,
     LANG_USING_SCRIPT_LIB               = 58,
     // Room for more level 0              59-99 not used
+    LANG_SYSTEMMESSAGE_MODERATOR        = 59,
+    LANG_SYSTEMMESSAGE_GAMEMASTER       = 60,
+    LANG_SYSTEMMESSAGE_ADMINISTRATOR    = 61,

     // level 1 chat
     LANG_GLOBAL_NOTIFY                  = 100,
diff --git a/src/game/Level1.cpp b/src/game/Level1.cpp
index 042827f..64bf74f 100644
--- a/src/game/Level1.cpp
+++ b/src/game/Level1.cpp
@@ -130,6 +130,33 @@ bool ChatHandler::HandleAnnounceCommand(const char* args)
     return true;
}

+bool ChatHandler::HandleNamedAnnounceCommand(const char* args)
+{
+  int32 strid = 0;
+
+    if(!*args)
+        return false;
+
+    switch(m_session->GetSecurity()) {
+      case SEC_MODERATOR:
+        strid = LANG_SYSTEMMESSAGE_MODERATOR;
+        break;
+      case SEC_GAMEMASTER:
+        strid = LANG_SYSTEMMESSAGE_GAMEMASTER;
+        break;
+      case SEC_ADMINISTRATOR:
+        strid = LANG_SYSTEMMESSAGE_ADMINISTRATOR;
+        break;
+      default:
+        return false;
+    }
+
+    sWorld.SendWorldText(strid, m_session->GetPlayerName(), args);
+
+    return true;
+}
+
+
//notification player at the screen
bool ChatHandler::HandleNotifyCommand(const char* args)
{

 

Je to uprava cpp aj sql.

 

v.

hele neudelas takovejdle patch na 2.4.3

 

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  

×