Ru-MaNGOS

Вернуться   Ru-MaNGOS > Дополнения > WWW

Важная информация

WWW Web интерфейс для MaNGOS

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.03.2011, 14:58   #1
BloodWarrior
Ученый
 
Аватар для BloodWarrior
 
Регистрация: 08.05.2010
Адрес: Новокузнецк
Сообщений: 141
Сказал(а) спасибо: 32
Поблагодарили 21 раз(а) в 9 сообщениях
BloodWarrior На верном пути
Вопрос Zero honor script

Вот немного модернезировал под свои нужды,
Но возникла пара вопросов.

Есть желание прикрутить к рангам циферным - обозначение картинкой, классической той самой. Там на всех этих рядовых и сержантов.

Хотел узнать у старожил как привязать бы ид определенного ранга к картинке.

Проверка по номеру там или как?

Заранее извиняюсь за нубофермский вопрос но надеюсь кто сможет объяснить, банального примера или ссылки на место с документацией по вопросу достаточно.


------

Обновлен в рабочем варианте, всем спасибо за помощь.

Код:
<?php 

$mysql_link = mysql_connect("localhost", "логин", "пароль") or die ("Could not connect."); 
mysql_query("SET NAMES 'utf8'");
mysql_select_db("characters", $mysql_link) or die ("Unknown DB."); 
define('honor_highest_rank', 1517); // for 2.4.3 use 1517, for 3.0.3 use 1602 
?> 

<html http-equiv="content-type" content="text/html;charset=utf-8">
<table align='center' border='0'> 
<font face="Scurri">
<tr>
<td  width='125' align='center'> <b>Имя </b></td>
<td  width='125' align='center'> <b>Звание </b></td>
<td  width='125' align='center'> <b>Почетные<br>убийства</b></td>
</tr>
<?php 

$pvpquery = mysql_query("SELECT `name`, `race`, `class`, `honor_highest_rank`, `stored_honorable_kills` FROM `characters` 
WHERE CAST( SUBSTRING_INDEX(SUBSTRING_INDEX(`honor_highest_rank`, ' ', ".(KILLS+1)."), ' ', -1) AS UNSIGNED) >0 
ORDER BY CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(`honor_highest_rank`, ' ', ".(KILLS+1)."), ' ', -1) AS UNSIGNED) DESC LIMIT 5"); 
while($chardata = mysql_fetch_assoc($pvpquery)){ 

    echo "<tr><td align='center'>".$chardata["name"]."</td>"; 

    echo "<td align='center'><img src='images/".(($chardata["race"]%2)?"a":"h")."rank_".$chardata["honor_highest_rank"]."'></td>";

    echo "<td align='center'>".$chardata["stored_honorable_kills"]."</td></tr>"; 
} 
?> 
</font>
</table>

Последний раз редактировалось BloodWarrior; 03.04.2011 в 15:07.
BloodWarrior вне форума   Ответить с цитированием
Старый 20.03.2011, 19:48   #2
Shadez
Ученый
 
Аватар для Shadez
 
Регистрация: 07.03.2010
Сообщений: 175
Сказал(а) спасибо: 64
Поблагодарили 142 раз(а) в 45 сообщениях
Shadez Обладатель прекрасной аурыShadez Обладатель прекрасной ауры
Отправить сообщение для Shadez с помощью ICQ
По умолчанию

Код:
echo "<img src='images/rank_" . $chardata['honor_hightest_rank'] . ".gif'>";
rank_1.gif
rank_2.gif
...
Shadez вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
BloodWarrior (21.03.2011)
Старый 21.03.2011, 03:48   #3
BloodWarrior
Ученый
 
Аватар для BloodWarrior
 
Регистрация: 08.05.2010
Адрес: Новокузнецк
Сообщений: 141
Сказал(а) спасибо: 32
Поблагодарили 21 раз(а) в 9 сообщениях
BloodWarrior На верном пути
По умолчанию

Спс огромное)
Но с основными тегами оно конечно все ясно))
Другое дело как сделать проверку вот в этом вся загвоздка, все таки мы получаем из базы числовое значение, и именно к полученным данным надо привязать автовыбор картинки.

Последний раз редактировалось BloodWarrior; 21.03.2011 в 04:09.
BloodWarrior вне форума   Ответить с цитированием
Старый 21.03.2011, 05:06   #4
BloodWarrior
Ученый
 
Аватар для BloodWarrior
 
Регистрация: 08.05.2010
Адрес: Новокузнецк
Сообщений: 141
Сказал(а) спасибо: 32
Поблагодарили 21 раз(а) в 9 сообщениях
BloodWarrior На верном пути
По умолчанию

Попробовал задать:

Код:
$i1 = "<img src='images/rank_1.gif'>";
$i2 = "<img src='images/rank_2.gif'>";
$i3 = "<img src='images/rank_3.gif'>";
$i4 = "<img src='images/rank_4.gif'>";
$i5 = "<img src='images/rank_5.gif'>";
$i6 = "<img src='images/rank_6.gif'>";
$i7 = "<img src='images/rank_7.gif'>";
$i8 = "<img src='images/rank_8.gif'>";
$i9 = "<img src='images/rank_9.gif'>";
$i10 = "<img src='images/rank_10.gif'>";
$i11 = "<img src='images/rank_11.gif'>";
$i12 = "<img src='images/rank_12.gif'>";
$i13 = "<img src='images/rank_13.gif'>";
$i14 = "<img src='images/bullet.gif'>";
и вывести через условие:

Код:
   if($chardata["honor_highest_rank"] > 13) {
    echo "<td align='center'>".$i14."</td>"; 
   }
Первоначально вывелось корректно, в тестовой базе только 14 ранг, теперь думаю как сделать постую проверку и вывод этих и






попробовал задать через:

Код:
if($chardata["honor_highest_rank"] = 1)($a=$i1);
 elseif($chardata["honor_highest_rank"] = 2)($a=$i1);
 elseif($chardata["honor_highest_rank"] = 3)($a=$i2);
 elseif($chardata["honor_highest_rank"] = 4)($a=$i3);
 elseif($chardata["honor_highest_rank"] = 5)($a=$i4);
 elseif($chardata["honor_highest_rank"] = 6)($a=$i5);
 elseif($chardata["honor_highest_rank"] = 7)($a=$i6);
 elseif($chardata["honor_highest_rank"] = 8)($a=$i7);
 elseif($chardata["honor_highest_rank"] = 9)($a=$i8);
 elseif($chardata["honor_highest_rank"] = 10)($a=$i9);
 elseif($chardata["honor_highest_rank"] = 11)($a=$i10);
 elseif($chardata["honor_highest_rank"] = 12)($a=$i11);
 elseif($chardata["honor_highest_rank"] = 13)($a=$i12);
 elseif($chardata["honor_highest_rank"] > 13)($a=$i13);

    echo "<td align='center'>".$a."</td>";
однако в таком случае берется только первое значение - первый рисунок и присваивается всем остальным вне зависимости от ранга.









Так понял, $chardata["honor_highest_rank"] = 1 идет не проверка по числовому значению а true false кажись

нет, хм
BloodWarrior вне форума   Ответить с цитированием
Старый 21.03.2011, 07:34   #5
SergiK_KilleR
Пользователь
 
Аватар для SergiK_KilleR
 
Регистрация: 07.03.2010
Сообщений: 46
Сказал(а) спасибо: 15
Поблагодарили 53 раз(а) в 14 сообщениях
SergiK_KilleR Скоро придёт к известности
По умолчанию

"=" в пхп означает присвоение переменной слева значение справа.
"==" - сравнение 2 значений игнорируя их тип, например:
PHP код:
$a '1'// строковое значение, string 
if($a == 1){
 
// true
}else{
 
//false

обработается блок true

"===" - сравнение 2 значений c проверкой на тип, например:
PHP код:
$a '0'// строковое значение, string
if($a === 0){
 
// true
}else{
 
//false - обработает этот участок, т.к. string !== int


Последний раз редактировалось SergiK_KilleR; 21.03.2011 в 07:38.
SergiK_KilleR вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
BloodWarrior (21.03.2011)
Старый 21.03.2011, 09:35   #6
BloodWarrior
Ученый
 
Аватар для BloodWarrior
 
Регистрация: 08.05.2010
Адрес: Новокузнецк
Сообщений: 141
Сказал(а) спасибо: 32
Поблагодарили 21 раз(а) в 9 сообщениях
BloodWarrior На верном пути
По умолчанию

Спасибо большое.
Помогло.

Теперь возник более сложный вопрос, но не менее интересующий.

ПВП ранги

На вовхеде очень удобная страничка, ну вернее возвращенные ранги достаточно удобно нарисованы, с фоном для альянса и орды, собственно можно задать проверку на фракцию еще, теперь когда стало ясно как это делать, огромное спасибо SergiK_KilleR

Но данные иконки очив защищены, через js или еще как не суть важно.
Пробовал качать с помощью HTTrack и вебкопира, да и вообще по разному извращаться, не помогло.

Может кто подскажет какой хороший вариант на скачку?
Тулзу какую?

Или проще скринить и фотошопить на основе скрина?
BloodWarrior вне форума   Ответить с цитированием
Старый 21.03.2011, 10:45   #7
Sid
Ученый
 
Аватар для Sid
 
Регистрация: 02.04.2010
Сообщений: 237
Сказал(а) спасибо: 41
Поблагодарили 99 раз(а) в 44 сообщениях
Sid Скоро придёт к известностиSid Скоро придёт к известности
По умолчанию

А чем тебя оригинальные не устраивают допустим с воввики?
http://www.wowwiki.com/Honor_system_(pre-2.0)
__________________
SpellWork Qt4
Sid вне форума   Ответить с цитированием
Старый 21.03.2011, 11:04   #8
BloodWarrior
Ученый
 
Аватар для BloodWarrior
 
Регистрация: 08.05.2010
Адрес: Новокузнецк
Сообщений: 141
Сказал(а) спасибо: 32
Поблагодарили 21 раз(а) в 9 сообщениях
BloodWarrior На верном пути
По умолчанию

Так они конечно крутые и съедобные, на первую пору их прикрутил пока не сделаю то, что хотел.

Те ранги что на вовхеде в виде иконок сделаны на заднем фоне подкрашены согласно цвету фракции.
Если добавить проверку на орда - альянс то можно и выводить разноцветный вариант рангов явно указывающий на фракцию.


Т-е чтобы ранги можно было по фракции с первого взгляда.
скрин
ПЫСЫ не радикалит чтот)

Последний раз редактировалось BloodWarrior; 21.03.2011 в 11:59.
BloodWarrior вне форума   Ответить с цитированием
Старый 21.03.2011, 14:28   #9
kBaTT
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 31
Сказал(а) спасибо: 15
Поблагодарили 4 раз(а) в 3 сообщениях
Записей в дневнике: 1
kBaTT На верном пути
По умолчанию

рисуешь функцию,
определенное количество хонора или килов распределяешь по званиям, только не в виде текста, а картинку вставляешь.

если это то, что тебе нужно.
kBaTT вне форума   Ответить с цитированием
Старый 21.03.2011, 17:32   #10
Unid
Гость
 
Сообщений: n/a
По умолчанию

не знаю, чем там защищены эти иконки, тулза - Google Chrome
Вложения
Тип файла: rar icons.rar (38.1 Кб, 458 просмотров)
  Ответить с цитированием
Старый 21.03.2011, 19:17   #11
BloodWarrior
Ученый
 
Аватар для BloodWarrior
 
Регистрация: 08.05.2010
Адрес: Новокузнецк
Сообщений: 141
Сказал(а) спасибо: 32
Поблагодарили 21 раз(а) в 9 сообщениях
BloodWarrior На верном пути
По умолчанию

Пасиб)) Уже достал))

ПЫСЫ:
Незнаю насколько правильный пхп скрипт в плане написания получился.
Но он в принципе работает, причем срабатывает как надо.

Код:
<?php 

$mysql_link = mysql_connect("localhost", "root", "root") or die ("Could not connect."); 
mysql_query("SET NAMES 'utf8'");
mysql_select_db("characters", $mysql_link) or die ("Unknown DB."); 
define('honor_highest_rank', 1517); // for 2.4.3 use 1517, for 3.0.3 use 1602 
?> 

<html http-equiv="content-type" content="text/html;charset=utf-8">
<table align='center' border='0'> 
<font face="Scurri">
<tr>
<td  width='125' align='center'> <b>Имя </b></td>
<td  width='125' align='center'> <b>Звание </b></td>
<td  width='125' align='center'> <b>Почетные<br>убийства</b></td>
</tr>
<?php 

$pvpquery = mysql_query("SELECT `name`, `race`, `class`, `honor_highest_rank`, `stored_honorable_kills` FROM `characters` 
WHERE CAST( SUBSTRING_INDEX(SUBSTRING_INDEX(`honor_highest_rank`, ' ', ".(KILLS+1)."), ' ', -1) AS UNSIGNED) >0 
ORDER BY CAST(SUBSTRING_INDEX(SUBSTRING_INDEX(`honor_highest_rank`, ' ', ".(KILLS+1)."), ' ', -1) AS UNSIGNED) DESC LIMIT 5"); 
while($chardata = mysql_fetch_assoc($pvpquery)){ 

    echo "<tr><td align='center'>".$chardata["name"]."</td>"; 

echo "<td align='center'>";
if ($chardata["honor_highest_rank"] == 1 and $chardata["race"] == 1 || $chardata["race"] == 3 || $chardata["race"] == 5 || $chardata["race"] == 7) echo "<img src='images/arank_1'>";
if ($chardata["honor_highest_rank"] == 1 and $chardata["race"] == 2 || $chardata["race"] == 4 || $chardata["race"] == 6 || $chardata["race"] == 8) echo "<img src='images/hrank_1'>";
if ($chardata["honor_highest_rank"] == 2 and $chardata["race"] == 1 || $chardata["race"] == 3 || $chardata["race"] == 5 || $chardata["race"] == 7) echo "<img src='images/arank_2'>";
if ($chardata["honor_highest_rank"] == 2 and $chardata["race"] == 2 || $chardata["race"] == 4 || $chardata["race"] == 6 || $chardata["race"] == 8) echo "<img src='images/hrank_2'>";
if ($chardata["honor_highest_rank"] == 3 and $chardata["race"] == 1 || $chardata["race"] == 3 || $chardata["race"] == 5 || $chardata["race"] == 7) echo "<img src='images/arank_3'>";
if ($chardata["honor_highest_rank"] == 3 and $chardata["race"] == 2 || $chardata["race"] == 4 || $chardata["race"] == 6 || $chardata["race"] == 8) echo "<img src='images/hrank_3'>";
if ($chardata["honor_highest_rank"] == 4 and $chardata["race"] == 1 || $chardata["race"] == 3 || $chardata["race"] == 5 || $chardata["race"] == 7) echo "<img src='images/arank_4'>";
if ($chardata["honor_highest_rank"] == 4 and $chardata["race"] == 2 || $chardata["race"] == 4 || $chardata["race"] == 6 || $chardata["race"] == 8) echo "<img src='images/hrank_4'>";
if ($chardata["honor_highest_rank"] == 5 and $chardata["race"] == 1 || $chardata["race"] == 3 || $chardata["race"] == 5 || $chardata["race"] == 7) echo "<img src='images/arank_5'>";
if ($chardata["honor_highest_rank"] == 5 and $chardata["race"] == 2 || $chardata["race"] == 4 || $chardata["race"] == 6 || $chardata["race"] == 8) echo "<img src='images/hrank_5'>";
if ($chardata["honor_highest_rank"] == 6 and $chardata["race"] == 1 || $chardata["race"] == 3 || $chardata["race"] == 5 || $chardata["race"] == 7) echo "<img src='images/arank_6'>";
if ($chardata["honor_highest_rank"] == 6 and $chardata["race"] == 2 || $chardata["race"] == 4 || $chardata["race"] == 6 || $chardata["race"] == 8) echo "<img src='images/hrank_6'>";
if ($chardata["honor_highest_rank"] == 7 and $chardata["race"] == 1 || $chardata["race"] == 3 || $chardata["race"] == 5 || $chardata["race"] == 7) echo "<img src='images/arank_7'>";
if ($chardata["honor_highest_rank"] == 7 and $chardata["race"] == 2 || $chardata["race"] == 4 || $chardata["race"] == 6 || $chardata["race"] == 8) echo "<img src='images/hrank_7'>";
if ($chardata["honor_highest_rank"] == 8 and $chardata["race"] == 1 || $chardata["race"] == 3 || $chardata["race"] == 5 || $chardata["race"] == 7) echo "<img src='images/arank_8'>";
if ($chardata["honor_highest_rank"] == 8 and $chardata["race"] == 2 || $chardata["race"] == 4 || $chardata["race"] == 6 || $chardata["race"] == 8) echo "<img src='images/hrank_8'>";
if ($chardata["honor_highest_rank"] == 9 and $chardata["race"] == 1 || $chardata["race"] == 3 || $chardata["race"] == 5 || $chardata["race"] == 7) echo "<img src='images/arank_9'>";
if ($chardata["honor_highest_rank"] == 9 and $chardata["race"] == 2 || $chardata["race"] == 4 || $chardata["race"] == 6 || $chardata["race"] == 8) echo "<img src='images/hrank_9'>";
if ($chardata["honor_highest_rank"] == 10 and $chardata["race"] == 1 || $chardata["race"] == 3 || $chardata["race"] == 5 || $chardata["race"] == 7) echo "<img src='images/arank_10'>";
if ($chardata["honor_highest_rank"] == 10 and $chardata["race"] == 2 || $chardata["race"] == 4 || $chardata["race"] == 6 || $chardata["race"] == 8) echo "<img src='images/hrank_10'>";
if ($chardata["honor_highest_rank"] == 11 and $chardata["race"] == 1 || $chardata["race"] == 3 || $chardata["race"] == 5 || $chardata["race"] == 7) echo "<img src='images/arank_11'>";
if ($chardata["honor_highest_rank"] == 11 and $chardata["race"] == 2 || $chardata["race"] == 4 || $chardata["race"] == 6 || $chardata["race"] == 8) echo "<img src='images/hrank_11'>";
if ($chardata["honor_highest_rank"] == 12 and $chardata["race"] == 1 || $chardata["race"] == 3 || $chardata["race"] == 5 || $chardata["race"] == 7) echo "<img src='images/arank_12'>";
if ($chardata["honor_highest_rank"] == 12 and $chardata["race"] == 2 || $chardata["race"] == 4 || $chardata["race"] == 6 || $chardata["race"] == 8) echo "<img src='images/hrank_12'>";
if ($chardata["honor_highest_rank"] == 13 and $chardata["race"] == 1 || $chardata["race"] == 3 || $chardata["race"] == 5 || $chardata["race"] == 7) echo "<img src='images/arank_13'>";
if ($chardata["honor_highest_rank"] == 13 and $chardata["race"] == 2 || $chardata["race"] == 4 || $chardata["race"] == 6 || $chardata["race"] == 8) echo "<img src='images/hrank_13'>";
if ($chardata["honor_highest_rank"] > 13 and $chardata["race"] == 1 || $chardata["race"] == 3 || $chardata["race"] == 5 || $chardata["race"] == 7) echo "<img src='images/arank_14'>";
if ($chardata["honor_highest_rank"] > 13 and $chardata["race"] == 2 || $chardata["race"] == 4 || $chardata["race"] == 6 || $chardata["race"] == 8) echo "<img src='images/hrank_14'>";
echo "</td>";



    echo "<td align='center'>".$chardata["stored_honorable_kills"]."</td></tr>"; 
} 
?> 
</font>
</table>
BloodWarrior вне форума   Ответить с цитированием
Старый 21.03.2011, 19:39   #12
Minimajack
Гость
 
Сообщений: n/a
По умолчанию


индусы смотрят и завидуют тебе
Код:
echo "<img src='images/".(($chardata["race"]%2)?"h":"a")."rank_".$chardata["honor_highest_rank"]."'>";
  Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
BloodWarrior (21.03.2011), Shadez (24.03.2011), tempura (21.03.2011)
Старый 21.03.2011, 20:05   #13
BloodWarrior
Ученый
 
Аватар для BloodWarrior
 
Регистрация: 08.05.2010
Адрес: Новокузнецк
Сообщений: 141
Сказал(а) спасибо: 32
Поблагодарили 21 раз(а) в 9 сообщениях
BloodWarrior На верном пути
По умолчанию

Спасибо))
Может пора заняться йогой?)

В прочем между киокушином и ицюанем ее уже не вклинить) если только на воскресенье))

С другой стороны всегда есть к чему стремиться)
BloodWarrior вне форума   Ответить с цитированием
Старый 21.03.2011, 22:27   #14
tempura
Forum bot
 
Аватар для tempura
 
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
tempura отключил(а) отображение уровня репутации
По умолчанию

Цитата:
Сообщение от BloodWarrior Посмотреть сообщение
Но данные иконки очив защищены, через js или еще как не суть важно.
Пробовал качать с помощью HTTrack и вебкопира, да и вообще по разному извращаться, не помогло.

Может кто подскажет какой хороший вариант на скачку?
Тулзу какую?
Картинки просто стоят бекграундом.
Тулза - руки. По памяти:
Открыть код, посмотреть каким стилем задается иконка.
Открыть css, посмотреть откуда берется картинка.
Перекачать по очереди два десятка картинок.
Если этот алгоритм не прокатывает - изыскать свой, он окажется не сложнее.

Цитата:
Сообщение от BloodWarrior Посмотреть сообщение
Может пора заняться йогой?)

В прочем между киокушином и ицюанем ее уже не вклинить) если только на воскресенье))
А-а-а-а-а!!!!! Китаист-ипонист!!! Катаной разрубат большой железный шпал, головой гнет рельс!
Цитата:
Сообщение от BloodWarrior Посмотреть сообщение
С другой стороны всегда есть к чему стремиться)
Ага, например - забить на китаизм-ипонизм, и завести себе нормальный доспех 15-16 века. Два-три бугурта "очко" (21х21) или десяток 5х5 - и сразу такое просветление наступает!!! Особенно когда откачают, и сидишь рихтуешь бацинет после молодецкого удара идиотской алебардой.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки.
tempura вне форума   Ответить с цитированием
Старый 22.03.2011, 04:42   #15
BloodWarrior
Ученый
 
Аватар для BloodWarrior
 
Регистрация: 08.05.2010
Адрес: Новокузнецк
Сообщений: 141
Сказал(а) спасибо: 32
Поблагодарили 21 раз(а) в 9 сообщениях
BloodWarrior На верном пути
По умолчанию

BloodWarrior вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[10719][FIX] Quest honor reward KiriX Принятые патчи 7 10.11.2010 23:00
[script] Обмен Арена-Хонор пойнтов (npc arena honor) tempura Патчи 9 18.09.2010 12:33
Now BG honor marks not reawrded in BG newsbot CMaNGOS Commits 0 08.04.2010 03:40
[9666] Check max. honor points on characteacter login. newsbot CMaNGOS Commits 0 03.04.2010 12:30


Текущее время: 14:23. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot