Архив - только для чтения | |
Модератор форума: andycrowz |
Форум Корзина форума Корзина compiled x32 by Kirito |
compiled x32 by Kirito |
Версия клиента 3.0.9 (9551)
Последняя сборка: Mangos Rev 7863 ScriptDev2 Rev 1101 Compiled with Microsoft Visual Studio 2008 by Kirito Core: Script: Те кто устанавливал предыдущего баффера - удалите его Зелёным выделено то, что добавил я (патч Buffer сделан мной), остальное кумуль карателя. Ядро - http://filekeeper.org/download/kirito/WoW/Mangos%207863%2BPatches.7z Extractor - http://filekeeper.org/download/kirito/WoW/Extractor.7z |
Патч npc_arena_honor для SD 1075
Code Index: Makefile.am =================================================================== --- Makefile.am (revision 1075) +++ Makefile.am (working copy) @@ -51,6 +51,7 @@ scripts/examples/example_escort.cpp \ scripts/examples/example_gossip_codebox.cpp \ scripts/examples/example_misc.cpp \ +scripts/custom/npc_arena_honor.cpp \ scripts/go/go_scripts.cpp \ scripts/guard/guard_ai.cpp \ scripts/guard/guard_ai.h \ Index: ScriptMgr.cpp =================================================================== --- ScriptMgr.cpp (revision 1075) +++ ScriptMgr.cpp (working copy) @@ -51,6 +51,7 @@ extern void AddSC_generic_creature(); // -- Custom -- +extern void AddSC_npc_arena_honor(); // -- Examples -- extern void AddSC_example_creature(); @@ -900,6 +901,7 @@ AddSC_generic_creature(); // -- Custom -- + AddSC_npc_arena_honor(); // -- Examples -- AddSC_example_creature(); Index: scripts/custom/npc_arena_honor.cpp =================================================================== --- scripts/custom/npc_arena_honor.cpp (revision 0) +++ scripts/custom/npc_arena_honor.cpp (revision 0) @@ -0,0 +1,53 @@ +#include "sc_creature.h" +// #include "../../../../game/QuestDef.h" +#include "sc_gossip.h" +#include "precompiled.h" + +#define GOSSIP_ITEM_ARENA_TO_HONOR "Change 100 Arena to 900 Honor" +#define GOSSIP_ITEM_HONOR_TO_ARENA "Change 1000 Honor to 90 Arena" + +bool GossipHello_npc_arena_honor(Player *player, Creature *_Creature) +{ + player->ADD_GOSSIP_ITEM(0, GOSSIP_ITEM_HONOR_TO_ARENA, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); + player->ADD_GOSSIP_ITEM(0, GOSSIP_ITEM_ARENA_TO_HONOR, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); + player->SEND_GOSSIP_MENU(3961,_Creature->GetGUID()); + return true; +} + +bool GossipSelect_npc_arena_honor(Player *player, Creature *_Creature, uint32 sender, uint32 action) +{ + if (action == GOSSIP_ACTION_INFO_DEF + 1) + { + if (player->GetHonorPoints() >= 1000) + { + player->ModifyHonorPoints(-1000); + player->ModifyArenaPoints(+90); + } else { + _Creature->MonsterSay("You haven't enough honor points!", LANG_UNIVERSAL, 0); + } + } + if (action == GOSSIP_ACTION_INFO_DEF + 2) + { + if (player->GetArenaPoints() >= 100) + { + player->ModifyArenaPoints(-100); + player->ModifyHonorPoints(+900); + } else { + _Creature->MonsterSay("You haven't enough arena points!", LANG_UNIVERSAL, 0); + } + } +player->CLOSE_GOSSIP_MENU(); +return true; + +} + +void AddSC_npc_arena_honor() +{ + Script *newscript; + + newscript = new Script; + newscript->Name = "npc_arena_honor"; + newscript->pGossipHello = &GossipHello_npc_arena_honor; + newscript->pGossipSelect = &GossipSelect_npc_arena_honor; + newscript->RegisterSelf(); +} Index: VC80/80ScriptDev2.vcproj =================================================================== --- VC80/80ScriptDev2.vcproj (revision 1075) +++ VC80/80ScriptDev2.vcproj (working copy) @@ -468,6 +468,10 @@ <Filter Name="custom" > + <File + RelativePath="..\scripts\custom\npc_arena_honor" + > + < /File> </Filter> <Filter Name="areatrigger" Index: VC90/90ScriptDev2.vcproj =================================================================== --- VC90/90ScriptDev2.vcproj (revision 1075) +++ VC90/90ScriptDev2.vcproj (working copy) @@ -467,6 +467,10 @@ <Filter Name="custom" > + <File + RelativePath="..\scripts\custom\npc_arena_honor" + > + < /File> </Filter> <Filter Name="areatrigger" + SQL Mangos Code DELETE FROM `creature_template` WHERE (`entry`=7); 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`, `PetSpellDataId`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `unk16`, `unk17`, `RacialLeader`, `RegenHealth`, `equipment_id`, `mechanic_immune_mask`, `flags_extra`, `ScriptName`) VALUES (7, 0, 5525, 18748, 17895, 20711, 'Besdoban Durnoye', 'Arena-Honor Exchange', '', 59, 61, 6700, 24000, 5598, 5875, 20, 35, 35, 1, 1.48, 0, 0, 170, 182, 0, 1235, 1400, 1900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 1, 3, 1, 1, 0, 1, 0, 0, 0, 'npc_arena_honor'); INSERT INTO `locales_creature` VALUES ('7', '', '', '', '', '', '', '', 'Бездобан Дурнойе', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Обмен Арены и Хонора'), ('11', '', '', '', '', '', '', '', 'На Порт-а-Чил', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Телепортовая Гильдия'); INSERT INTO `creature` VALUES (300130, 7, 1, 1, 1, 0, 0, 16211.9, 16267.1, 13.6722, 5.79842, 25, 0, 0, 6700, 5598, 0, 1), (300131, 7, 0, 1, 1, 0, 0, -8760, 408.6, 110, 2.64, 25, 0, 0, 6700, 5598, 0, 1), (300132, 7, 1, 1, 1, 0, 0, 1670, -4195, 56, 4.2, 25, 0, 0, 6700, 5598, 0, 1); Патч guildmaster для SD 1075 Code Index: Makefile.am =================================================================== --- Makefile.am (revision 1075) +++ Makefile.am (working copy) @@ -51,6 +51,7 @@ scripts/examples/example_escort.cpp \ scripts/examples/example_gossip_codebox.cpp \ scripts/examples/example_misc.cpp \ +scripts/custom/guildmaster.cpp \ scripts/go/go_scripts.cpp \ scripts/guard/guard_ai.cpp \ scripts/guard/guard_ai.h \ Index: ScriptMgr.cpp =================================================================== --- ScriptMgr.cpp (revision 1075) +++ ScriptMgr.cpp (working copy) @@ -51,6 +51,7 @@ extern void AddSC_generic_creature(); // -- Custom -- +extern void AddSC_guildmaster(); // -- Examples -- extern void AddSC_example_creature(); @@ -900,6 +901,7 @@ AddSC_generic_creature(); // -- Custom -- + AddSC_guildmaster(); // -- Examples -- AddSC_example_creature(); Index: scripts/custom/guildmaster.cpp =================================================================== --- scripts/custom/guildmaster.cpp (revision 0) +++ scripts/custom/guildmaster.cpp (revision 0) @@ -0,0 +1,342 @@ +#include "precompiled.h" + +extern DatabaseMysql SD2Database; + +#define MSG_GOSSIP_TELE "Teleport to GuildHouse" +#define MSG_GOSSIP_BUY "Buy GuildHouse (30000 gold)" +#define MSG_GOSSIP_SELL "Sell GuildHouse (15000 gold)" +#define MSG_GOSSIP_NEXTPAGE "Next page -->" +#define MSG_INCOMBAT "You are in combat!" +#define MSG_NOGUILDHOUSE "Your guild does not have a GuildHouse, loosers!" +#define MSG_NOFREEGH "Sorry, all guildhouses are occupied." +#define MSG_ALREADYHAVEGH "Sorry, but you already have GuildHouse (%s)." +#define MSG_NOTENOUGHMONEY "Not enough money. You need %u gold to buy GuildHouse." +#define MSG_GHOCCUPIED "Sorry, this GuildHouse already occupied." +#define MSG_CONGRATULATIONS "Congratulations! You have GuildHouse now." +#define MSG_SOLD "You have sold GuildHouse. Here is your %u gold." +#define MSG_NOTINGUILD "You are not in guild. Go find good one." + +#define CODE_SELL "SELL" +#define MSG_CODEBOX_SELL "Type \"" CODE_SELL "\" (with CAPS!!!) in next window if you wanna sell your guildhouse." + +#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 300000000 //1000 g. +#define COST_GH_SELL 150000000 //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 *result; + result = SD2Database.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(); + delete result; + 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->MonsterWhisper(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 *result; + result = SD2Database.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); + } + + delete result; + + 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 *result; + + result = SD2Database.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()); + } + + delete result; + 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 *result; + + //check if somebody already occupied this GH + result = SD2Database.PQuery("SELECT `id` FROM `guildhouses` WHERE `id` = %u AND `guildId` <> 0", + guildhouseId); + + if (result) + { + delete result; + _creature->MonsterWhisper(MSG_GHOCCUPIED, player->GetGUID()); + return; + } + + //update DB + result = SD2Database.PQuery("UPDATE `guildhouses` SET `guildId` = %u WHERE `id` = %u", + player->GetGuildId(), guildhouseId); + + if (result) + delete 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 *result; + + result = SD2Database.PQuery("UPDATE `guildhouses` SET `guildId` = 0 WHERE `guildId` = %u", + player->GetGuildId()); + + if (result) + delete 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 = strcmpi(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(); +} Index: VC80/80ScriptDev2.vcproj =================================================================== --- VC80/80ScriptDev2.vcproj (revision 1075) +++ VC80/80ScriptDev2.vcproj (working copy) @@ -468,6 +468,10 @@ <Filter Name="custom" > + <File + RelativePath="..\scripts\custom\guildmaster" + > + </File> </Filter> <Filter Name="areatrigger" Index: VC90/90ScriptDev2.vcproj =================================================================== --- VC90/90ScriptDev2.vcproj (revision 1075) +++ VC90/90ScriptDev2.vcproj (working copy) @@ -467,6 +467,10 @@ <Filter Name="custom" > + <File + RelativePath="..\scripts\custom\guildmaster" + > + </File> </Filter> <Filter Name="areatrigger" + SQL Mangos Code DELETE FROM `creature_template` WHERE (`entry`=13); 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`, `PetSpellDataId`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `unk16`, `unk17`, `RacialLeader`, `RegenHealth`, `equipment_id`, `mechanic_immune_mask`, `flags_extra`, `ScriptName`) VALUES (13, 0, 18748, 5525, 20711, 17895, 'Bruenno Guilde', 'Guildhouse Keeper', '', 52, 82, 6700, 24000, 5598, 5875, 20, 35, 35, 1, 1.48, 0, 0, 170, 182, 0, 1235, 1400, 1900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 1, 3, 1, 1, 0, 1, 0, 0, 0, 'guildmaster'); INSERT INTO `locales_creature` VALUES ('13', '', '', '', '', '', '', '', 'Брюенно Гвильде', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'Хранитель Гильдейских Домов'); INSERT INTO `creature` VALUES (300088, 13, 0, 1, 1, 0, 0, -8888.29, 607.158, 102.304, 1.83473, 25, 0, 0, 8588, 5662, 0, 0), (300089, 13, 1, 1, 1, 0, 0, 1585.22, -4295.73, 37.8993, 2.62324, 25, 0, 0, 14124, 5773, 0, 0), (300090, 13, 530, 1, 1, 5525, 0, -4083.11, -11629.9, -138.654, 3.41019, 25, 0, 0, 9512, 5681, 0, 0), (300091, 13, 530, 1, 1, 5525, 0, 9469.36, -7353.5, 23.4994, 1.98703, 25, 0, 0, 10434, 5699, 0, 0), (300092, 13, 1, 1, 1, 0, 0, 10078.7, 2184.92, 1346.62, 1.63859, 25, 0, 0, 5360, 5598, 0, 0), (300093, 13, 0, 1, 1, 5525, 0, -5011.4, -992.523, 503.882, 3.81506, 25, 0, 0, 18276, 5856, 0, 0), (300094, 13, 530, 1, 1, 0, 0, -1867.98, 5421.33, -10.4635, 1.10935, 25, 0, 0, 10434, 5699, 0, 0), (300095, 13, 0, 1, 1, 0, 0, 1591.84, 202.21, -55.3424, 1.66698, 25, 0, 0, 19200, 5875, 0, 0), (300096, 13, 1, 1, 1, 0, 0, -1299.16, 131.465, 131.464, 5.34853, 25, 0, 0, 18276, 5856, 0, 0); + SQL Scripdev2 Code DROP TABLE IF EXISTS `guildhouses`; CREATE TABLE `guildhouses` ( `id` int(8) unsigned NOT NULL auto_increment, `guildId` bigint(20) NOT NULL default '0', `x` double NOT NULL, `y` double NOT NULL, `z` double NOT NULL, `map` int(11) NOT NULL, `comment` varchar(255) NOT NULL default '', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=22 ; INSERT INTO `guildhouses` VALUES (1, 0, 16222, 16266, 14.2, 1, 'GM Island'), (2, 0, -10711, 2483, 8, 1, 'Tauren village at Veiled Sea (Silithus)'), (3, 0, -8323, -343, 146, 0, 'Fishing outside an Northshire Abbey (Elwynn Forest'), (4, 0, 7368, -1560, 163, 1, 'Troll Village in mountains (Darkshore)'), (5, 0, -4151, -1400, 198, 0, 'Dwarven village outside Ironforge (Wetlands)'), (6, 0, -1840, -4233, 2.14, 0, 'Dwarven village (Arathi Highlands, Forbidding Sea)'), (7, 0, -4151, -1400, 198, 0, 'Crashed zeppelin (Wetlands, Dun Modr)'), (8, 0, -723, -1076, 179, 1, 'Tauren camp (Mulgore, Red Rock)'), (9, 0, -206, 1666, 80, 0, 'Shadowfang Keep an outside instance (Silverpine Forest)'), (10, 0, -6374, 1262, 7, 0, 'Harbor house outside Stormwind (Elwynn Forest)'), (11, 0, -8640, 580, 96, 0, 'Empty jail between canals (Stormwind)'), (12, 0, -4844, -1066, 502, 0, 'Old Ironforge'), (13, 0, -4863, -1658, 503.5, 0, 'Ironforge Airport'), (14, 0, 1146, -165, 313, 37, 'Azshara Crater instance (Alliance entrance)'), (15, 0, -123, 858, 298, 37, 'Azshara Crater instance (Horde entrance)'), (16, 0, 4303, -2760, 16.8, 0, 'Quel''Thalas Tower'), (17, 0, -6161, -790, 423, 0, 'Crashed gnome airplane (between Dun Morogh and Searing Gorge)'), (18, 0, -11790, -1640, 54.7, 0, 'Zul''Gurub an outside instance (Stranglethorn Vale)'), (19, 0, -11805, -4754, 6, 1, 'Goblin village (Tanaris, South Seas)'), (20, 0, -9296, 670, 132, 0, 'Villains camp outside an Stormwind (Elwynn Forest)'), (21, 0, 3414, -3380, 142.2, 0, 'Stratholm an outside instance'); Патчи только для VC80 и VC90 |
Quote 100. Declinedname (исправляет работу системы склонения имён) 101. Declinednames_2 (разрешает использовать несклоняемые имена)
Сообщение # 15 написано 16.05.2009 в 05:34
|
посмотри в код патчей и сравни
Сообщение # 17 написано 16.05.2009 в 08:00
|
Kirito добавь пожалуйста вот этот патч на сд2 http://mangos.ru/forum/showthread.php?t=19533
Добавлено (21.05.2009, 23:14)
Ушел с wowjp. Мне на все насрать кому не нравится идите в опу!
Сообщение # 22 написано 21.05.2009 в 23:14
|
народ я не понял а как тут гх работает?
Сообщение # 24 написано 22.05.2009 в 14:11
|
Kirito, на каком же серве твое ядро стоит, если несложно то плз ссылку
Сообщение # 26 написано 22.05.2009 в 15:03
|
Kirito, я не знаю изза чего краш, но после твоего ядра началось)
Code ## Crash! 22.05.2009 14:15:36. mangosd.exe has crashed! Lines logged from Server.log 2009-05-22 14:12:23 2009-05-22 14:12:23 ERROR:SQL: CREATE TEMPORARY TABLE temp LIKE creature_movement 2009-05-22 14:12:23 ERROR:SQL ERROR: Unknown database 'mangos' 2009-05-22 14:12:23 ERROR:SQL: INSERT INTO temp SELECT * FROM creature_movement 2009-05-22 14:12:23 ERROR:SQL ERROR: Table 'mangos.temp' doesn't exist 2009-05-22 14:12:24 ERROR:SQL: UPDATE creature_movement AS T SET point = (SELECT COUNT(*) FROM temp WHERE id = T.id AND point <= T.point) 2009-05-22 14:12:24 ERROR:SQL ERROR: Table 'mangos.temp' doesn't exist 2009-05-22 14:12:24 ERROR:SQL: DROP TABLE temp 2009-05-22 14:12:24 ERROR:SQL ERROR: Unknown table 'temp' 2009-05-22 14:12:24 2009-05-22 14:12:24 >> Paths loaded #############################
Сообщение # 27 написано 22.05.2009 в 15:18
|
Sw2rT1, это база
Сообщение # 28 написано 22.05.2009 в 15:27
|
Sw2rT1, как лечить не знаю.... ну это база, хотя и может быть из-за того что ты не ставил ападеиты, или из-за того что ты накатывал на базу
Сообщение # 30 написано 22.05.2009 в 15:36
|
| |||