Тема: CSWOWD (форк)
Показать сообщение отдельно
Старый 02.06.2010, 14:04   #115
Space77
Гость
 
Сообщений: n/a
По умолчанию Вывод 3д модели в отдельной закладке, опционально

Вывод 3д модели в отдельной закладке, опционально, управление в файле module_cfg.php
Код:
Index: module/module_cfg.php
===================================================================
--- module/module_cfg.php	(revision 31)
+++ module/module_cfg.php	(working copy)
@@ -82,6 +82,7 @@
 $modules['player'] = "module/armory/show_character.php";
 $config['show_player_skill']  = 1;         // Вывод скилов при показе игрока (пока что тестовый режим)
 $config['show_player_fields'] = 0;         // Вывод таблицы полей data при показе игрока
+$config['show_player_3d'] = 1;             // Вывод 3D модели игрока
 
 //==================================================================
 // Вывод вещей на аукционе
Index: module/armory/show_character.php
===================================================================
--- module/armory/show_character.php	(revision 31)
+++ module/armory/show_character.php	(working copy)
@@ -19,10 +19,13 @@
  $class     =$char['class'];
  $race      =$char['race'];
 
- if (!$ajaxmode)
+ if (!$ajaxmode){
  echo '
  <ul class=my_tabs>
  <li><a onclick="return uploadFromHref(this, \'reportContainer\');" href=?player='.$guid.'>Персонаж</a></li>
+ ';
+ if ($config['show_player_3d']) echo '<li><a onclick="return uploadFromHref(this, \'reportContainer\');" href=?player='.$guid.'&tab=3d>Персонаж 3D</a></li>';
+ echo '
  <li><a onclick="return uploadFromHref(this, \'reportContainer\');" href=?player='.$guid.'&tab=talents>Таланты</a></li>
  <li><a onclick="return uploadFromHref(this, \'reportContainer\');" href=?player='.$guid.'&tab=skill>Умения</a></li>
  <li><a onclick="return uploadFromHref(this, \'reportContainer\');" href=?player='.$guid.'&tab=achievements>Достижения</a></li>
@@ -32,54 +35,21 @@
  //<li><a onclick="return uploadFromHref(this, \'reportContainer\');" href=?player='.$guid.'&tab=guild>Гильдия</a></li>
  echo '</ul>
  <div id=reportContainer>';
+ };
 
  if ($tab == '')
  {
   include ("show_char_equip.php");
   showPlayerEquip($guid, $char, $char_data, $char_stats);
-// 3D модель
-// получаем displayid вещи
-function wowhead_did($item)
-{
-    global $dDB;
-    $displayid = $dDB->selectCell("SELECT displayid FROM item_template WHERE entry = ?d", $item);
-    echo $displayid;
-}
-// получаем расу и класс в виде, пригодном для WH 3D просмотрщика
-function char_racegender($race, $gender)
-{
-    $char_race = array(
-        1 => 'human',
-        2 => 'orc',
-        3 => 'dwarf',
-        4 => 'nightelf',
-        5 => 'scourge',
-        6 => 'tauren',
-        7 => 'gnome',
-        8 => 'troll',
-        10 => 'bloodelf',
-        11 => 'draenei');
-
-    $char_gender = array(
-        0 => 'male',
-        1 => 'female');
-
-    echo $char_race[$race].$char_gender[$gender];
-}
-?>
-<div id="model_scene" align="center">
-<object id="wowhead" type="application/x-shockwave-flash" data="http://static.wowhead.com/modelviewer/ModelView.swf" height="640px" width="480px"> 
-<param name="quality" value="high">
-<param name="allowscriptaccess" value="always">
-<param name="menu" value="false">
-<param value="transparent" name="wmode">
-<param name="flashvars" value="model=<?php char_racegender($char['race'], $char['gender']); ?>&amp;modelType=16&amp;ha=0&amp;hc=0&amp;fa=0&amp;sk=0&amp;fh=0&amp;fc=0&amp;contentPath=http://static.wowhead.com/modelviewer/&amp;blur=1&amp;equipList=1,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_HEAD]); ?>,3,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_SHOULDER]); ?>,16,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_BACK]); ?>,5,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_CHEST]); ?>,9,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_WRIST]); ?>,10,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_GLOVES]); ?>,6,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_BELT]); ?>,7,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_LEGS]); ?>,8,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_FEET]); ?>,14,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_OFF_HAND]); ?>,21,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_MAIN_HAND]); ?>">
-<param name="movie" value="http://static.wowhead.com/modelviewer/ModelView.swf">
-</object>
-</div>
-<?php
  }
-
+
+ if ($config['show_player_3d'] &&
+ $tab=='3d')
+ {
+  include("show_char_3d.php");
+  showPlayer3d($char, $char_data);
+ }
+
  if (//$config['show_player_fields'] &&
  $tab=='data')
  {
Index: module/armory/show_char_3d.php
===================================================================
--- module/armory/show_char_3d.php	(revision 0)
+++ module/armory/show_char_3d.php	(revision 0)
@@ -0,0 +1,45 @@
+<?php
+// 3D модель
+// получаем displayid вещи
+function wowhead_did($item)
+{
+    global $dDB;
+    $displayid = $dDB->selectCell("SELECT displayid FROM item_template WHERE entry = ?d", $item);
+    echo $displayid;
+}
+// получаем расу и класс в виде, пригодном для WH 3D просмотрщика
+function char_racegender($race, $gender)
+{
+    $char_race = array(
+        1 => 'human',
+        2 => 'orc',
+        3 => 'dwarf',
+        4 => 'nightelf',
+        5 => 'scourge',
+        6 => 'tauren',
+        7 => 'gnome',
+        8 => 'troll',
+        10 => 'bloodelf',
+        11 => 'draenei');
+
+    $char_gender = array(
+        0 => 'male',
+        1 => 'female');
+
+    echo $char_race[$race].$char_gender[$gender];
+}
+function showPlayer3d($char, $char_data){
+?>
+ <div id="model_scene" align="center">
+ <object id="wowhead" type="application/x-shockwave-flash" data="http://static.wowhead.com/modelviewer/ModelView.swf" height="640px" width="480px"> 
+ <param name="quality" value="high">
+ <param name="allowscriptaccess" value="always">
+ <param name="menu" value="false">
+ <param value="transparent" name="wmode">
+ <param name="flashvars" value="model=<?php char_racegender($char['race'], $char['gender']); ?>&amp;modelType=16&amp;ha=0&amp;hc=0&amp;fa=0&amp;sk=0&amp;fh=0&amp;fc=0&amp;contentPath=http://static.wowhead.com/modelviewer/&amp;blur=1&amp;equipList=1,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_HEAD]); ?>,3,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_SHOULDER]); ?>,16,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_BACK]); ?>,5,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_CHEST]); ?>,9,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_WRIST]); ?>,10,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_GLOVES]); ?>,6,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_BELT]); ?>,7,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_LEGS]); ?>,8,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_FEET]); ?>,14,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_OFF_HAND]); ?>,21,<?php wowhead_did($char_data[PLAYER_SLOT_ITEM_MAIN_HAND]); ?>">
+ <param name="movie" value="http://static.wowhead.com/modelviewer/ModelView.swf">
+ </object>
+ </div>
+<?php
+}
+?>
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
KiriX (03.06.2010), sven (03.06.2010)