• Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: staford11  
Повышения статистик вещей и оружия в 3 раза.
Tokaa
Капрал
Простой код на увеличения статов шмота и оружия.

Обязательно для заливки.(Если хотите эффекта.)

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 (везде). И смело заливайте:)
Сообщение # 1 отредактировано Tokaa - Понедельник, 29.11.2010, 18:54
Evrial
Маршал
Tokaa, плюсую... теперь мне не придётся каждому лентяю писать такие запросы. просто буду линковать твою тему.
Сообщение # 2 написано 29.11.2010 в 19:29
Tokaa
Капрал
Часто видел темы, с этим вопросом. А делов то?:/
Сообщение # 3 написано 29.11.2010 в 19:52
Gansofwow
Скаут
Спасибо
Сообщение # 4 написано 01.12.2010 в 16:53
Фанатик
Легендарный <3
Tokaa, молодец,не знал,+с на пригодится
Сообщение # 5 написано 01.12.2010 в 17:00
keonji
I ♥ S-PB
Спсасибо большое, не знал об этом
Сообщение # 6 написано 02.12.2010 в 19:54
S[er]G
Чемпион
неплохо
по аналогии и другие значения других таблиц можно менять, ведь так?
[cut]
[/cut]
Сообщение # 7 написано 02.12.2010 в 21:18
Tokaa
Капрал
Сообщение # 8 написано 02.12.2010 в 22:39
MLM
Рыцарь
Tokaa, спс, а то уже достали подобные темы(дайте плиз скрипт и т.д) + те)

Мечтай так... как будто будешь жить вечно! Живи так, как будто умрешь завтра!
Сообщение # 9 отредактировано MLM - Пятница, 03.12.2010, 00:17
staford11
^s†af0rd f0rever^
Tokaa, спасибо пригодиться
Победоносная @ Галакронд
Мои сборки под 3.3.5а 12340

Исправительные работы: в наличии.
Сообщение # 10 написано 03.12.2010 в 07:51
aguilino
Рыцарь
Хорошая тема,мне помагла ++++...
[Вот кто я!] [Манчкин 47%] [Убийца 20%] [Тусовщик: 10%] [Исследователь 23%] Узнай о себе http://mmofun.ru/content/test/bart.php
Сообщение # 11 написано 10.12.2010 в 18:25
Ru[Area]Win
Капрал
Tokaa, Ты только повторил мое достижение! (хотя и добавил кое-что свое)
Так что ты не первый с этим SQL пришел! biggrin
Ведь я тоже делал подобное... smile
Сообщение # 12 отредактировано Ru[Area]Win - Воскресенье, 12.12.2010, 06:42
SkORP[ION]
Scary Scary LOL
Можно и менять и в определенном радиусе.. Достаточно добавить радиус значений.. т.е WHERE `entry` between 'Первое значение' AND 'Конечное значение';
happy
Сообщение # 13 написано 12.12.2010 в 20:42
leonhetch
Скаут
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);

хотябы какой цифрой рейтинг скорости обозначается
P.S: ...+++

Сообщение # 14 написано 14.12.2010 в 20:10
keonji
I ♥ S-PB
leonhetch, в квайсе можно посмотреть. Сейчас не скажу - с телефона
Сообщение # 15 написано 14.12.2010 в 22:29
leonhetch
Скаут
keonji, СПАСИБО ОГРОМНОЕ ТЫ МЕНЯ ТАК ВЫРУЧИЛ!!!!))))))
за мной 3 плюса!))

Добавлено (15.12.2010, 12:41)
---------------------------------------------
keonji, кстати ты случаем незнаешь как сделать чтобы сила заклинаний не крутилось по ~65к(тобишь доходит до этого предела и по новой с нуля набирается)
Зарание благодарен smile

Сообщение # 16 написано 15.12.2010 в 12:41
Kasperski
Антивирус
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 surprised

Сообщение # 17 написано 15.12.2010 в 14:00
leonhetch
Скаут
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);
UPDATE `item_template` SET `stat_value2`= `stat_value2` /10 where stat_type2 in (35);
UPDATE `item_template` SET `stat_value3`= `stat_value3` /10 where stat_type3 in (35);
UPDATE `item_template` SET `stat_value4`= `stat_value4` /10 where stat_type4 in (35);
UPDATE `item_template` SET `stat_value5`= `stat_value5` /10 where stat_type5 in (35);
UPDATE `item_template` SET `stat_value6`= `stat_value6` /10 where stat_type6 in (35);
UPDATE `item_template` SET `stat_value7`= `stat_value7` /10 where stat_type7 in (35);
UPDATE `item_template` SET `stat_value8`= `stat_value8` /10 where stat_type8 in (35);
UPDATE `item_template` SET `stat_value9`= `stat_value9` /10 where stat_type9 in (35);
UPDATE `item_template` SET `stat_value10`= `stat_value10` /10 where stat_type10 in (35);

Сообщение # 18 написано 15.12.2010 в 14:18
Kasperski
Антивирус
leonhetch, о спс большое + тебе
Сообщение # 19 написано 15.12.2010 в 18:43
Vampir48
Скаут
leonhetch, класс!Слушай а не подскажешь как,вот видел на одном сервере своя валюта как ее сделать да и когда убиваеш противоположную фракцию тебе дается эта медалька!если можешь объясни как делать!

Сообщение # 20 написано 15.12.2010 в 22:15
leonhetch
Скаут
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

Редактируешь эти строки:
PvPToken  .Enable = 1 - вкл/выкл(1/0)
PvPToken.ItemID = 29434 - ид твоей валюты
PvPToken.ItemCount = 1 - количество
PvPToken.MapRestriction = 4 - в каких зонах(4 - везде)

Токо его нужно при компиляции заливать

Сообщение # 21 отредактировано leonhetch - Пятница, 17.12.2010, 11:49
Nightlyblood
Капрал
Quote (leonhetch)
keonji, кстати ты случаем незнаешь как сделать чтобы сила заклинаний не крутилось по ~65к(тобишь доходит до этого предела и по новой с нуля набирается)
Зарание благодарен .smile.

я бы тоже не отказался узнать как убрать это ограничение=))
Чем нибудь помог жми + чем нибудь обидел тоже жми + ;-)

Сообщение # 22 написано 16.12.2010 в 21:25
Sanitar
Рыцарь
Как таким же способом поменять цвет и суб название внизу ?
Сообщение # 23 написано 16.12.2010 в 23:29
Evrial
Маршал
Sanitar, это ты о чём? чего цвет и название?
Сообщение # 24 написано 17.12.2010 в 01:06
Sanitar
Рыцарь
лан скажу проще

`Quality` = 6, `description` = 'New Vegas'

вот это надо поменять на всех шмотках

UPDATE item_template SET Quality=6;
UPDATE item_template SET description=New Vegas;- это не правельно как сделать не знаю вот это надо

это так тупо по логике =) не уверен что правельно

Сообщение # 25 отредактировано Sanitar - Пятница, 17.12.2010, 05:00
Evrial
Маршал
Code
UPDATE item_template SET Quality=6;  
UPDATE item_template SET description='New Vegas';

слова берутся в "
а так вроде бы верно. должно работать.

Сообщение # 26 написано 17.12.2010 в 11:04
Фанатик
Легендарный <3
Tokaa, напиши ищё какая строчка за какой стат отвечает
Сообщение # 27 написано 17.12.2010 в 18:30
Sanitar
Рыцарь
9FaNaT1K, чисто по логике всё понятно от первого стата до десятого и дальше по названию понять можно и редактировать так как тебе нужно
Сообщение # 28 написано 17.12.2010 в 22:44
Evrial
Маршал
9FaNaT1K, там любая строчка может за любой стат отвечать. там есть stat_type1 - это тип стата по id (на пример ID ресайленса - 35), а потом идёт stat_value1 - это количество этого первого стата. так что единственное что можно расписать, это ID статов, но мне, на приер оно не нужно.
Сообщение # 29 написано 18.12.2010 в 12:28
leonhetch
Скаут
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
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: