Модератор форума: staford11 |
Форум CMaNGOS Патчи / Моды / Фиксы CMaNGOS Повышения статистик вещей и оружия в 3 раза. (Ничего трудного...) |
Повышения статистик вещей и оружия в 3 раза. |
Простой код на увеличения статов шмота и оружия.
Обязательно для заливки.(Если хотите эффекта.) Code UPDATE item_template SET armor=armor*3; UPDATE item_template SET dmg_min1=dmg_min1*3; UPDATE item_template SET dmg_max1=dmg_max1*3; UPDATE item_template SET dmg_min2=dmg_min2*3; UPDATE item_template SET dmg_max2=dmg_max2*3; UPDATE item_template SET block=block*3; UPDATE item_template SET stat_value1=stat_value1*3; UPDATE item_template SET stat_value2=stat_value2*3; UPDATE item_template SET stat_value3=stat_value3*3; UPDATE item_template SET stat_value4=stat_value4*3; UPDATE item_template SET stat_value5=stat_value5*3; UPDATE item_template SET stat_value6=stat_value6*3; UPDATE item_template SET stat_value7=stat_value7*3; UPDATE item_template SET stat_value8=stat_value8*3; UPDATE item_template SET stat_value9=stat_value9*3; UPDATE item_template SET stat_value10=stat_value10*3; Это не обязательно. (По желанию - Резист, прочность.) Code UPDATE item_template SET holy_res=holy_res*3; UPDATE item_template SET fire_res=fire_res*3; UPDATE item_template SET nature_res=nature_res*3; UPDATE item_template SET frost_res=frost_res*3; UPDATE item_template SET shadow_res=shadow_res*3; UPDATE item_template SET arcane_res=arcane_res*3; UPDATE item_template SET MaxDurability=MaxDurability*3; Заливайте только 1 раз, а не по 20 потому что с каждым разом будет умножаться всё. А если хотите увеличить не в 3 (допустим в 5), то поменяйте цифру 3 на 5 (везде). И смело заливайте:) |
Tokaa, плюсую... теперь мне не придётся каждому лентяю писать такие запросы. просто буду линковать твою тему.
2.4.3 Blizzlike Server by Evrial - Лучшая 2.4.3 сборка+исходник.
Рисуем итемы для 2.4.3 ГАЙД Создаём свой сервер WoW (подробно и доходчиво) Поистине ловок тот, кто умеет скрывать свою ловкость
Сообщение # 2 написано 29.11.2010 в 19:29
|
Часто видел темы, с этим вопросом. А делов то?:/
Сообщение # 3 написано 29.11.2010 в 19:52
|
Сообщение # 8 написано 02.12.2010 в 22:39
|
Tokaa, спасибо пригодиться
Сообщение # 10 написано 03.12.2010 в 07:51
|
Quote (SkORP|ION|) Можно и менять и в определенном радиусе.. Достаточно добавить радиус значений.. т.е WHERE `entry` between 'Первое значение' AND 'Конечное значение'; слушай а ты незнаешь случаем как отображаются отдельные статы типа: 38 - сила атаки, 45 - сила заклинаний, 35 - рейтинг устойчивости(знаю только эти 3) чтобы отдельно изменять статы типа такого: UPDATE `item_template` SET `stat_value1`= `stat_value1` *3 where stat_type1 in (38, 35, 45); UPDATE `item_template` SET `stat_value2`= `stat_value2` *3 where stat_type2 in (38, 35, 45); UPDATE `item_template` SET `stat_value3`= `stat_value3` *3 where stat_type3 in (38, 35, 45); UPDATE `item_template` SET `stat_value4`= `stat_value4` *3 where stat_type4 in (38, 35, 45); UPDATE `item_template` SET `stat_value5`= `stat_value5` *3 where stat_type5 in (38, 35, 45); UPDATE `item_template` SET `stat_value6`= `stat_value6` *3 where stat_type6 in (38, 35, 45); UPDATE `item_template` SET `stat_value7`= `stat_value7` *3 where stat_type7 in (38, 35, 45); UPDATE `item_template` SET `stat_value8`= `stat_value8` *3 where stat_type8 in (38, 35, 45); UPDATE `item_template` SET `stat_value9`= `stat_value9` *3 where stat_type9 in (38, 35, 45); UPDATE `item_template` SET `stat_value10`= `stat_value10` *3 where stat_type10 in (38, 35, 45); хотябы какой цифрой рейтинг скорости обозначается
Сообщение # 14 написано 14.12.2010 в 20:10
|
keonji, СПАСИБО ОГРОМНОЕ ТЫ МЕНЯ ТАК ВЫРУЧИЛ!!!!))))))
за мной 3 плюса!)) Добавлено (15.12.2010, 12:41)
Сообщение # 16 написано 15.12.2010 в 12:41
|
Quote (Tokaa) UPDATE item_template SET armor=armor*3; UPDATE item_template SET dmg_min1=dmg_min1*3; UPDATE item_template SET dmg_max1=dmg_max1*3; UPDATE item_template SET dmg_min2=dmg_min2*3; UPDATE item_template SET dmg_max2=dmg_max2*3; UPDATE item_template SET block=block*3; UPDATE item_template SET stat_value1=stat_value1*3; UPDATE item_template SET stat_value2=stat_value2*3; UPDATE item_template SET stat_value3=stat_value3*3; UPDATE item_template SET stat_value4=stat_value4*3; UPDATE item_template SET stat_value5=stat_value5*3; UPDATE item_template SET stat_value6=stat_value6*3; UPDATE item_template SET stat_value7=stat_value7*3; UPDATE item_template SET stat_value8=stat_value8*3; UPDATE item_template SET stat_value9=stat_value9*3; UPDATE item_template SET stat_value10=stat_value10*3; Очень интересует какая строка увеличивает какую статистику! Просто попробовал тестануть умножил на 20 и получилось так что устойчивость стала 10000
Сообщение # 17 написано 15.12.2010 в 14:00
|
Kasperski,
UPDATE item_template SET armor=armor*3; - броня UPDATE item_template SET dmg_min1=dmg_min1*3; - мин. урон от оружия UPDATE item_template SET dmg_max1=dmg_max1*3; - макс. урон от оружия UPDATE item_template SET dmg_min2=dmg_min2*3; - мин. урон от оружия(вторичный - урон от магии льда, огня, земли и тд) UPDATE item_template SET dmg_max2=dmg_max2*3; - макс. урон от оружия(вторичный) UPDATE item_template SET block=block*3; - блок от шмота UPDATE item_template SET stat_value1=stat_value1*3; UPDATE item_template SET stat_value2=stat_value2*3; UPDATE item_template SET stat_value3=stat_value3*3; UPDATE item_template SET stat_value4=stat_value4*3; UPDATE item_template SET stat_value5=stat_value5*3; UPDATE item_template SET stat_value6=stat_value6*3; UPDATE item_template SET stat_value7=stat_value7*3; UPDATE item_template SET stat_value8=stat_value8*3; UPDATE item_template SET stat_value9=stat_value9*3; UPDATE item_template SET stat_value10=stat_value10*3; ------------------------------------------------------------------ чтобы срезать устойчивость(/10): UPDATE `item_template` SET `stat_value1`= `stat_value1` /10 where stat_type1 in (35);
Сообщение # 18 написано 15.12.2010 в 14:18
|
Vampir48, на счет валюты вот: Создание дополнительной цены, а чтобы падала при убийстве игрока нужен патч "PvP Token System"
Quote (Pro|100|Hens) *PvP Token System* Описание: За убийство в PvP Зонах будет выдаваться игроку поощрение, в виде Badge of Justice/либо то что выберете вы, кол-во предметов/и в каких PvP Зонах, Всего их 4: на аренах(включая гурубаши) на бг, на бг и на аренах и везде.
Code diff --git a/src/mangosd/mangosd.conf.dist.in b/src/mangosd/mangosd.conf.dist.in index 0bb942e..339b5a1 100644 --- a/src/mangosd/mangosd.conf.dist.in +++ b/src/mangosd/mangosd.conf.dist.in @@ -1375,3 +1375,33 @@ Ra.IP = 0.0.0.0 Ra.Port = 3443 Ra.MinLevel = 3 Ra.Secure = 1 + +########################################################################################################### ## ## ## ## # + # PvP Token System +# +# PvPToken.Enable +# Enable/disable PvP Token system. +# Default: 1 (enabled) +# 0 (disabled) +# +# PvPToken.ItemID +# The item ID of the token that players will receive after killing an enemy. +# Default: 29434 (Badge of Justice) +# +# PvPToken.ItemCount +# The count amount of the ItemID +# Default: 1 +# +# PvPToken.MapRestriction +# The type of maps where players can receive the token +# Default: 4 - all maps +# 3 - battlegrounds only +# 2 - FFA areas only (both instanced and world arenas) +# 1 - battlegrounds and FFA areas only +# +####################################################################################################### ## ## ## ## ## ## + + PvPToken .Enable = 0 +PvPToken.ItemID = 29434 +PvPToken.ItemCount = 1 +PvPToken.MapRestriction = 4 diff --git a/src/game/Language.h b/src/game/Language.h index 823d6d5..938755b 100644 --- a/src/game/Language.h +++ b/src/game/Language.h @@ -848,7 +848,7 @@ enum MangosStrings // 10000-10999 // Use for custom patches 11000-11999 - + LANG_YOU_RECEIVE_TOKEN = 11050, // NOT RESERVED IDS 12000-1999999999 // `db_script_string` table index 2000000000-2000009999 (MIN_DB_SCRIPT_STRING_ID-MAX_DB_SCRIPT_STRING_ID) // For other tables maybe 2000010000-2147483647 (max index) diff --git a/src/game/Player.cpp b/src/game/Player.cpp index 65c6ac0..34535df 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -21017,6 +21017,35 @@ void Player::ResummonPetTemporaryUnSummonedIfAny() m_temporaryUnsummonedPetNumber = 0; } +void Player::ReceiveToken() +{ + if(!sWorld.getConfig(CONFIG_PVP_TOKEN_ENABLE)) + return; + + uint8 MapRestriction = sWorld.getConfig(CONFIG_PVP_TOKEN_RESTRICTION); + + if( MapRestriction == 1 && !InBattleGround() && !HasByteFlag(UNIT_FIELD_BYTES_2, 1, UNIT_BYTE2_FLAG_FFA_PVP) || + MapRestriction == 2 && !HasByteFlag(UNIT_FIELD_BYTES_2, 1, UNIT_BYTE2_FLAG_FFA_PVP) || + MapRestriction == 3 && !InBattleGround()) + return; + + uint32 itemID = sWorld.getConfig(CONFIG_PVP_TOKEN_ITEMID); + uint32 itemCount = sWorld.getConfig(CONFIG_PVP_TOKEN_ITEMCOUNT); + + ItemPosCountVec dest; + uint8 msg = CanStoreNewItem( NULL_BAG, NULL_SLOT, dest, itemID, itemCount); + if( msg != EQUIP_ERR_OK ) // convert to possible store amount + { + SendEquipError( msg, NULL, NULL ); + return; + } + + Item* item = StoreNewItem( dest, itemID, true, Item::GenerateItemRandomPropertyId(itemID)); + SendNewItem(item,itemCount,true,false); + + ChatHandler(this).PSendSysMessage(LANG_YOU_RECEIVE_TOKEN); +} + bool Player::canSeeSpellClickOn(Creature const *c) const { if(!c->HasFlag(UNIT_NPC_FLAGS,UNIT_NPC_FLAG_SPELLCLICK)) d iff --git a/src/game/Player.h b/src/game/Player.h index a1ea792..158da81 100644 --- a/src/game/Player.h +++ b/src/game/Player.h @@ -1950,7 +1950,9 @@ class MANGOS_DLL_SPEC Player : public Unit void ModifyHonorPoints( int32 value ); void ModifyArenaPoints( int32 value ); uint32 GetMaxPersonalArenaRatingRequirement(); - + + void ReceiveToken(); + //End of PvP System void SetDrunkValue(uint16 newDrunkValue, uint32 itemid=0); diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 06d1533..98af84b 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -580,6 +580,11 @@ uint32 Unit::DealDamage(Unit *pVictim, uint32 damage, CleanDamage const* cleanDa player->RewardPlayerAndGroupAtKill(pVictim); player->ProcDamageAndSpell(pVictim, PROC_FLAG_KILL, PROC_FLAG_KILLED, PROC_EX_NONE, 0); + // PvP Token + int8 leveldiff = player->getLevel() - pVictim->getLevel(); + if(!pVictim->HasAuraType(SPELL_AURA_NO_PVP_CREDIT) && leveldiff < 10) + player->ReceiveToken(); + WorldPacket data(SMSG_PARTYKILLLOG, (8+8)); //send event PARTY_KILL data << uint64(player->GetGUID()); //player with killing blow data << uint64(pVictim->GetGUID()); //victim diff --git a/src/game/World.cpp b/src/game/World.cpp index 3361b5e..c9a4ffb 100644 --- a/src/game/World.cpp +++ b/src/game/World.cpp @@ -954,6 +954,15 @@ void World::LoadConfigSettings(bool reload) m_configs[CONFIG_THREAT_RADIUS] = sConfig.GetIntDefault("ThreatRadius", 100); + /* PvP Token System */ + m_configs[CONFIG_PVP_TOKEN_ENABLE] = sConfig.GetBoolDefault("PvPToken.Enable", true); + m_configs[CONFIG_PVP_TOKEN_ITEMID] = sConfig.GetIntDefault("PvPToken.ItemID", 29434); + m_configs[CONFIG_PVP_TOKEN_ITEMCOUNT] = sConfig.GetIntDefault("PvPToken.ItemCount", 1); + m_configs[CONFIG_PVP_TOKEN_RESTRICTION] = sConfig.GetIntDefault("PvPToken.MapRestriction", 4); + + if(m_configs[CONFIG_PVP_TOKEN_ITEMCOUNT] <= 0) + m_configs[CONFIG_PVP_TOKEN_ENABLE] = 0; + // always use declined names in the russian client m_configs[CONFIG_DECLINED_NAMES_USED] = (m_configs[CONFIG_REALM_ZONE] == REALM_ZONE_RUSSIAN) ? true : sConfig.GetBoolDefault("DeclinedNames", false); diff --git a/src/game/World.h b/src/game/World.h index 977a440..f67cd72 100644 --- a/src/game/World.h +++ b/src/game/World.h @@ -199,6 +199,10 @@ enum WorldConfigs CONFIG_LISTEN_RANGE_SAY, CONFIG_LISTEN_RANGE_TEXTEMOTE, C O NFIG_L ISTEN_ RANGE_ YELL, + C ONF IG_PVP_TOKEN_E NABLE, + CONFIG_PVP_TOKEN_ITEMID, + CONFIG_PVP_TOKEN_ITEMCOUNT, + CONFIG_PVP_TOKEN_RESTRI C TION, CONFIG_SKILL_MILLING, CONFIG_BATTLEGROUND_CAST_DESERTER, C O NFIG_B ATTLEG ROUND_ QUEUE_ ANNOUN CER_EN ABLE, - - 1.6.3 .3 Редактируешь эти строки: Токо его нужно при компиляции заливать |
Quote (leonhetch) keonji, кстати ты случаем незнаешь как сделать чтобы сила заклинаний не крутилось по ~65к(тобишь доходит до этого предела и по новой с нуля набирается) Зарание благодарен .smile. я бы тоже не отказался узнать как убрать это ограничение=))
Сообщение # 22 написано 16.12.2010 в 21:25
|
Sanitar, это ты о чём? чего цвет и название?
2.4.3 Blizzlike Server by Evrial - Лучшая 2.4.3 сборка+исходник.
Рисуем итемы для 2.4.3 ГАЙД Создаём свой сервер WoW (подробно и доходчиво) Поистине ловок тот, кто умеет скрывать свою ловкость
Сообщение # 24 написано 17.12.2010 в 01:06
|
лан скажу проще
`Quality` = 6, `description` = 'New Vegas' вот это надо поменять на всех шмотках UPDATE item_template SET Quality=6; это так тупо по логике =) не уверен что правельно |
Code UPDATE item_template SET Quality=6; UPDATE item_template SET description='New Vegas'; слова берутся в "
2.4.3 Blizzlike Server by Evrial - Лучшая 2.4.3 сборка+исходник.
Рисуем итемы для 2.4.3 ГАЙД Создаём свой сервер WoW (подробно и доходчиво) Поистине ловок тот, кто умеет скрывать свою ловкость
Сообщение # 26 написано 17.12.2010 в 11:04
|
9FaNaT1K, там любая строчка может за любой стат отвечать. там есть stat_type1 - это тип стата по id (на пример ID ресайленса - 35), а потом идёт stat_value1 - это количество этого первого стата. так что единственное что можно расписать, это ID статов, но мне, на приер оно не нужно.
2.4.3 Blizzlike Server by Evrial - Лучшая 2.4.3 сборка+исходник.
Рисуем итемы для 2.4.3 ГАЙД Создаём свой сервер WoW (подробно и доходчиво) Поистине ловок тот, кто умеет скрывать свою ловкость
Сообщение # 29 написано 18.12.2010 в 12:28
|
Quote (SkORP|ION|) Можно и менять и в определенном радиусе.. Достаточно добавить радиус значений.. т.е WHERE `entry` between 'Первое значение' AND 'Конечное значение'; я пробывал, но ничего не вышло, может не так написал? Code UPDATE `item_template` SET `stat_value1` = `stat_value1` where `entry` between '20284' and '120000'; UPDATE `item_template` SET `stat_value2` = `stat_value2` where `entry` between '20284' and '120000'; UPDATE `item_template` SET `stat_value3` = `stat_value3` where `entry` between '20284' and '120000'; UPDATE `item_template` SET `stat_value4` = `stat_value4` where `entry` between '20284' and '120000'; UPDATE `item_template` SET `stat_value5` = `stat_value5` where `entry` between '20284' and '120000'; UPDATE `item_template` SET `stat_value6` = `stat_value6` where `entry` between '20284' and '120000'; UPDATE `item_template` SET `stat_value7` = `stat_value7` where `entry` between '20284' and '120000'; UPDATE `item_template` SET `stat_value8` = `stat_value8` where `entry` between '20284' and '120000'; UPDATE `item_template` SET `stat_value9` = `stat_value9` where `entry` between '20284' and '120000'; UPDATE `item_template` SET `stat_value10` = `stat_value10` where `entry` between '20284' and '120000'; и еще насчет этого Quote (leonhetch) как сделать чтобы сила заклинаний не крутилось по ~65к(тобишь доходит до этого предела и по новой с нуля набирается) ктонибуть знает как исправить? с меня +++
Сообщение # 30 написано 18.12.2010 в 17:27
|
| |||