Тема: CSWOWD (форк)
Показать сообщение отдельно
Старый 30.09.2010, 21:42   #222
NeatElves
YTDB Dev
 
Аватар для NeatElves
 
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
NeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранита
По умолчанию

Показ квестодателя, если квест записан в game_event_creature_quest:
Код:
Index: include/report_generator.php
===================================================================
--- include/report_generator.php	(revision 46)
+++ include/report_generator.php	(working copy)
@@ -1051,6 +1051,15 @@
     foreach ($src as $creature){localiseCreature($creature);r_npcRName($creature);}
     return;
   }
+  else
+  if ($src = $dDB->select(
+   'SELECT `entry`, `name`, `subname`, `faction_A`
+    FROM  `creature_template` left join `game_event_creature_quest` ON `creature_template`.`entry` = `game_event_creature_quest`.`id`
+    WHERE `game_event_creature_quest`.`quest` = ?d', $data['entry']))
+  {
+    foreach ($src as $creature){localiseCreature($creature);r_npcRName($creature);}
+    return;
+  }
   // Search GO quest giver
   if ($src = $dDB->select(
   'SELECT `entry`, `name`
@@ -1203,6 +1212,7 @@
    case 'go_giver':  $this->table = '(`quest_template` join `gameobject_questrelation` ON `quest_template`.`entry` = `gameobject_questrelation`.`quest`)';break;
    case 'go_take':   $this->table = '(`quest_template` join `gameobject_involvedrelation` ON `quest_template`.`entry` = `gameobject_involvedrelation`.`quest`)';break;
    case 'npc_giver': $this->table = '(`quest_template` join `creature_questrelation` ON `quest_template`.`entry` = `creature_questrelation`.`quest`)';break;
+   case 'npc_giver_event': $this->table = '(`quest_template` join `game_event_creature_quest` ON `quest_template`.`entry` = `game_event_creature_quest`.`quest`)';break;
    case 'npc_take':  $this->table = '(`quest_template` join `creature_involvedrelation` ON `quest_template`.`entry` = `creature_involvedrelation`.`quest`)';break;
    case 'mail_loot': $this->table = '(`quest_template` join `mail_loot_template` ON `quest_template`.`RewMailTemplateId` = `mail_loot_template`.`entry`)';break;
    default:          $this->table = '`quest_template`';break;
Index: module/show/show_npc.php
===================================================================
--- module/show/show_npc.php	(revision 46)
+++ module/show/show_npc.php	(working copy)
@@ -193,6 +193,17 @@
     $giveQuest->createReport($lang['give_quest']);
   }
  }
+
+ if ($cr['npcflag']&(UNIT_NPC_FLAG_QUESTGIVER))
+ {
+  $giveQuest =&new QuestReportGenerator('npc_giver_event');
+  $fields = array('QUEST_REPORT_LEVEL', 'QUEST_REPORT_NAME', 'QUEST_REPORT_REWARD');
+  if ($giveQuest->Init($fields, $baseLink, 'qgeLIST', $config['fade_limit'], 'name'))
+  {
+    $giveQuest->getGiveTakeList($entry);
+    $giveQuest->createReport($lang['give_quest_event']);
+  }
+ }
  //**************************************************
  // Take quests
  //**************************************************
Index: module/show/show_quest.php
===================================================================
--- module/show/show_quest.php	(revision 46)
+++ module/show/show_quest.php	(working copy)
@@ -306,6 +306,23 @@
   echo "</TD></TR>";
   $number++;
 }
+else
+if ($rows = $dDB->select("SELECT *
+                          FROM `creature_template` join `game_event_creature_quest`
+                          WHERE
+                          `game_event_creature_quest`.`quest` = ?d AND
+                          `game_event_creature_quest`.`id` = `creature_template`.`entry`", $quest['entry']))
+foreach ($rows as $creature)
+{
+  localiseCreature($creature);
+  $loyality = getLoyality($creature['faction_A']);
+  echo "<TR><TD><A style='float: right;' href=\"?map&npc=$creature[entry]\">$lang[map]</A>";
+  echo "<A href=\"?npc=$creature[entry]\">$creature[name]</A> ($loyality)";
+  if ($creature['subname'] != "")
+   echo "<BR><FONT color=#008800 size=-3>&lt;$creature[subname]&gt;</FONT>";
+  echo "</TD></TR>";
+  $number++;
+}
 
 if ($rows = $dDB->select("SELECT *
                           FROM `gameobject_template` join `gameobject_questrelation`
Index: lang/lang.en.php
===================================================================
--- lang/lang.en.php	(revision 46)
+++ lang/lang.en.php	(working copy)
@@ -172,6 +172,7 @@
 'req_for_quest' => 'Required for quest',
 'kill_kredit_group' => 'Group',
 'give_quest' => 'Give quest',
+'give_quest_event' => 'Give quest(in event)',
 'take_quest' => 'Take quest',
 'give_skin'  => 'Skinning',
 'can_pickpocketing' => 'Pickpocketing...',
Index: lang/lang.ru.php
===================================================================
--- lang/lang.ru.php	(revision 46)
+++ lang/lang.ru.php	(working copy)
@@ -173,6 +173,7 @@
 'req_for_quest' => 'Требуется для квеста',
 'kill_kredit_group' => 'Группа',
 'give_quest' => 'Даёт квесты',
+'give_quest_event' => 'Даёт квесты(в событие)',
 'take_quest' => 'Принимает квесты',
 'give_skin'  => 'Можно снять шкуру',
 'can_pickpocketing' => 'Можно украсть...',
адд: Добавил забытый текст.)

Последний раз редактировалось NeatElves; 21.10.2010 в 18:25.
NeatElves вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
KiriX (04.10.2010)