• Страница 1 из 1
  • 1
Архив - только для чтения
Модератор форума: andycrowz  
Форум » Корзина форума » Корзина » [Help] Пароль на телепорт (gossip_menu_option и smart_scripts [ box_code ])
[Help] Пароль на телепорт
478661
Рыцарь
Если кто знает помогите

Как поставить свой пароль на телепорт?
box_code = 1 (пароль 1 не подходит) при вводе любых цифр не телепортирует по координатам.
-------------
Мои работы
-------------
Сообщение # 1 написано 16.04.2014 в 06:08
PaRaDiSe_Blizz
Центурион
Хм.. тоже интересно, как?
ONSKY
Сообщение # 2 написано 16.04.2014 в 08:15
staford11
^s†af0rd f0rever^
Насколько мне известно, поле "box_code" не реализовано в чистой трине. Но я могу ошибаться.
Победоносная @ Галакронд
Мои сборки под 3.3.5а 12340

Исправительные работы: в наличии.
Сообщение # 3 отредактировано staford11 - Среда, 16.04.2014, 15:58
478661
Рыцарь
Цитата staford11 ()
поле "box_code" не реализовано в чистой трине.
Да это я уже слышал.
Но вот в чем запара, я уже ставил пароль раньше, но вот не помню как.
Если нужен код в ядро, то где его взять? И как проверить реализована ли эта функция у меня в сборке?
-------------
Мои работы
-------------
Сообщение # 4 написано 17.04.2014 в 00:27
Dimitro
Praise the sun!
Цитата 478661 ()
нужен код в ядро

Цитата 478661 ()
где его взять?

Написать.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 5 написано 17.04.2014 в 00:33
478661
Рыцарь
Цитата Dimitro ()
Написать.
Умел бы написал, по этому и спрашиваю, он где то есть по любому, потому что раньше я без всяких патчей в ядро ставил пасс.
p.s. google, yandex не помогли, искал (может я плохо искал) если кто найдет такой код, или сможет написать сам просьба выложить сюда.
-------------
Мои работы
-------------
Сообщение # 6 написано 17.04.2014 в 00:37
PaRaDiSe_Blizz
Центурион
Нашёл кто нибудь? Мне тоже интересно :с
ONSKY
Сообщение # 7 написано 22.04.2014 в 22:15
Avatar01
Клиенто-Каратель
вырезал из своего репо кусок кода
Код
# HG changeset patch
# User WorldCroFF@Avatar
# Date 1355978596 -28800
# Node ID 77c0e07455994bf73214057434381d34578f7efb
# Parent e72da21ed80c50f86375305efd22d270344984aa
РџСЂРѕРјРѕ РєРѕРґС‹

diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp
--- a/src/server/game/Handlers/MiscHandler.cpp
+++ b/src/server/game/Handlers/MiscHandler.cpp
@@ -141,6 +141,7 @@
if (unit)
{
unit->AI()->sGossipSelectCode(_player, menuId, gossipListId, code.c_str());
+   sScriptMgr->AllCreatureCode(_player, unit, _player->PlayerTalkClass->GetGossipOptionSender(gossipListId), _player->PlayerTalkClass->GetGossipOptionAction(gossipListId), code.c_str());
if (!sScriptMgr->OnGossipSelectCode(_player, unit, _player->PlayerTalkClass->GetGossipOptionSender(gossipListId), _player->PlayerTalkClass->GetGossipOptionAction(gossipListId), code.c_str()))
_player->OnGossipSelect(unit, gossipListId, menuId);
}

diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp
--- a/src/server/game/Scripting/ScriptMgr.cpp
+++ b/src/server/game/Scripting/ScriptMgr.cpp
@@ -274,6 +274,7 @@
SCR_CLEAR(BattlegroundMapScript);
SCR_CLEAR(ItemScript);
SCR_CLEAR(CreatureScript);
+    SCR_CLEAR(AllCreatureScript);
SCR_CLEAR(GameObjectScript);
SCR_CLEAR(AreaTriggerScript);
SCR_CLEAR(BattlegroundScript);
@@ -759,6 +760,7 @@
return tmpscript->OnDummyEffect(caster, spellId, effIndex, target);
}

+
bool ScriptMgr::OnGossipHello(Player* player, Creature* creature)
{
ASSERT(player);
@@ -859,6 +861,36 @@
tmpscript->OnUpdate(creature, diff);
}

+void ScriptMgr::AllCreatureJustDied(Creature* creature)
+{
+ FOREACH_SCRIPT(AllCreatureScript)->AllCreatureJustDied(creature);
+}
+
+void ScriptMgr::AllCreatureSelectLevel(Creature* creature, bool& needSetStats)
+{
+ FOREACH_SCRIPT(AllCreatureScript)->AllCreatureSelectLevel(creature, needSetStats);
+}
+
+void ScriptMgr::AllCreatureCreate(Creature* creature)
+{
+ FOREACH_SCRIPT(AllCreatureScript)->AllCreatureCreate(creature);
+}
+
+void ScriptMgr::AllCreatureSpellDamageMod(Creature* creature, SpellInfo const* spellProto, DamageEffectType damagetype, float& doneTotalMod)
+{
+ FOREACH_SCRIPT(AllCreatureScript)->AllCreatureSpellDamageMod(creature, spellProto, damagetype, doneTotalMod);
+}
+
+void ScriptMgr::AllCreatureCreateLoot(Creature* creature, uint32& lootid)
+{
+ FOREACH_SCRIPT(AllCreatureScript)->AllCreatureCreateLoot(creature, lootid);
+}
+
+void ScriptMgr::AllCreatureCode(Player* player, Creature* creature, uint32 sender, uint32 action, const char* code)
+{
+ FOREACH_SCRIPT(AllCreatureScript)->AllCreatureCode(player, creature, sender, action, code);
+}
+
bool ScriptMgr::OnGossipHello(Player* player, GameObject* go)
{
ASSERT(player);
@@ -978,6 +1010,7 @@
return tmpscript->GetAI(go);
}

+
bool ScriptMgr::OnAreaTrigger(Player* player, AreaTriggerEntry const* trigger)
{
ASSERT(player);
@@ -1475,6 +1508,12 @@
ScriptRegistry<CreatureScript>::AddScript(this);
}

+AllCreatureScript::AllCreatureScript(const char* name)
+ : ScriptObject(name)
+{
+ ScriptRegistry<AllCreatureScript>::AddScript(this);
+}
+
GameObjectScript::GameObjectScript(const char* name)
: ScriptObject(name)
{
@@ -1579,6 +1618,7 @@
template class ScriptRegistry<BattlegroundMapScript>;
template class ScriptRegistry<ItemScript>;
template class ScriptRegistry<CreatureScript>;
+template class ScriptRegistry<AllCreatureScript>;
template class ScriptRegistry<GameObjectScript>;
template class ScriptRegistry<AreaTriggerScript>;
template class ScriptRegistry<BattlegroundScript>;
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -436,6 +436,29 @@
virtual CreatureAI* GetAI(Creature* /*creature*/) const { return NULL; }
};

+class AllCreatureScript : public ScriptObject
+{
+ protected:
+
+ AllCreatureScript(const char* name);
+
+ public:
+
+ // Called when die creature
+ virtual void AllCreatureJustDied(Creature* /*creature*/) { }
+
+ virtual void AllCreatureSelectLevel(Creature* /*creature*/, bool& /*needSetStats*/) { }
+
+ virtual void AllCreatureCreate(Creature* /*creature*/) { }
+
+ virtual void AllCreatureSpellDamageMod(Creature* /*creature*/, SpellInfo const* /*spellProto*/, DamageEffectType /*damagetype*/, float& /*doneTotalMod*/) { }
+
+ virtual void AllCreatureCreateLoot(Creature* /*creature*/, uint32& /*lootid*/) { }
+
+ // Called when a player selects a gossip with a code in the creature's gossip menu.
+ virtual void AllCreatureCode(Player* /*player*/, Creature* /*creature*/, uint32 /*sender*/, uint32 /*action*/, const char* /*code*/) { }
+};
+
class GameObjectScript : public ScriptObject, public UpdatableScript<GameObject>
{
protected:
@@ -909,6 +932,15 @@
CreatureAI* GetCreatureAI(Creature* creature);
void OnCreatureUpdate(Creature* creature, uint32 diff);

+  public: /* AllCreatureScript */
+
+ void AllCreatureJustDied(Creature* creature);
+ void AllCreatureSelectLevel(Creature* creature, bool& needSetStats);
+ void AllCreatureCreate(Creature* creature);
+ void AllCreatureSpellDamageMod(Creature* creature, SpellInfo const* spellProto, DamageEffectType damagetype, float& doneTotalMod);
+ void AllCreatureCreateLoot(Creature* creature, uint32& lootid);
+ void AllCreatureCode(Player* player, Creature* creature, uint32 sender, uint32 action, const char* code);
+
public: /* GameObjectScript */

bool OnDummyEffect(Unit* caster, uint32 spellId, SpellEffIndex effIndex, GameObject* target);
Сообщение # 8 отредактировано Avatar01 - Воскресенье, 27.04.2014, 05:56
478661
Рыцарь
Цитата Avatar01 ()
вырезал из своего репо кусок кода
Спасибо, надеюсь заработает smile
-------------
Мои работы
-------------
Сообщение # 9 отредактировано 478661 - Понедельник, 28.04.2014, 03:52
Avatar01
Клиенто-Каратель
Сообщение # 10 написано 29.04.2014 в 19:12
Dimitro
Praise the sun!
Цитата Avatar01 ()
не заработать не может

Просто эпический фейспалм.

Во-первых, это просто хуки (про гениальность некоторых я промолчу, пожалуй), из которых, в данном дифе, нормально (ой ли?) прикручен только один.
Во-вторых, просто хуки сами по себе не вносят новой функциональности.
Где обработка действий?
Где проверка пароля?
Ничего из этого я не увидел.
Так что не надо вводить людей в заблуждение.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 11 отредактировано Dimitro - Среда, 30.04.2014, 11:44
Tw1nk_1
Представитель WoWCircle.com
Цитата Avatar01 ()
не заработать не может


Шутка удалась. ok

Разработка сайтов и любой графики.
Создание серверов и улучшение вашего сервера.
Сообщение # 12 написано 30.04.2014 в 13:17
Форум » Корзина форума » Корзина » [Help] Пароль на телепорт (gossip_menu_option и smart_scripts [ box_code ])
  • Страница 1 из 1
  • 1
Поиск: