ты можешь записать медали в инф.пхп новые и в базе записать их в строку медалс через ; тоесть 004;dustmanПривет всем.
Кто может выложить модуль медалей :lol:
тыкаю спасибки.Заранее благодраю за помощь . :rolleyes:
<?
include('connect.php');
mysql_fetch_array(mysql_query("select * from user");
if ($info['sign'] > 0) echo "<img src='i/invisible.gif'>Персонажу вручена грамота за вклад в игру
";
if ($info['admin'] == 1) echo "<img src='i/admin.gif'>Персонаж имеет полномочия Администратора
";
if ($info['veteran'] > 0) echo "<img src='i/www.gif'>Лучший боец. Ветеран Спартака!
";
if ($info['vip'] > 0) echo "<img src='i/vip.gif'>Персонажу присвоен статус VIP персоны
";
?>
да он прав поле инфо добавить можно с помощью sql запросаКод:<? include('connect.php'); mysql_fetch_array(mysql_query("select * from user"); if ($info['sign'] > 0) echo "<img src='i/invisible.gif'>Персонажу вручена грамота за вклад в игру "; if ($info['admin'] == 1) echo "<img src='i/admin.gif'>Персонаж имеет полномочия Администратора "; if ($info['veteran'] > 0) echo "<img src='i/www.gif'>Лучший боец. Ветеран Спартака! "; if ($info['vip'] > 0) echo "<img src='i/vip.gif'>Персонажу присвоен статус VIP персоны "; ?>
Вот тебе пример а дале думай сам ...
p.s Не забуть что нужно в БД добавить поля
<?php
$medal_sql = mysql_query("SELECT id, idmedal, (SELECT name FROM Awards WHERE id = idmedal) AS name, (SELECT info FROM Awards WHERE id = idmedal) AS info, (SELECT img FROM Awards WHERE id = idmedal) AS img, date FROM medals WHERE iduser = ".$result_vw1[id]);
$i = 0;
while($medal_row = mysql_fetch_array($medal_sql))
{
$medal_id[$i] = $medal_row['id'];
$medal_name[$i] = $medal_row['name'];
$medal_info[$i] = $medal_row['info'];
$medal_img[$i] = $medal_row['idmedal'].$medal_row['img'];
$medal_date[$i] = substr($medal_row['date'], 8, 2).".".substr($medal_row['date'], 5, 2).".".substr($medal_row['date'], 2, 2);
$i++;
}
echo $medal_id;
echo $medal_name;
echo $medal_info;
echo $medal_img;
?>
Вам че больше делать некуй как хранить медали в БД ?это же чем больше медалей - тем больше ячеек в БД надо будет делать...
но если вы хотите изменить / добавить / удалить медалей (динамически все это), что тогда, рекомендуется в качестве альтернативы?Вам че больше делать некуй как хранить медали в БД ?
if ($user['align']>=0)
if ($user['medals']>=1) {
echo ' [img]inf/2.gif[/img] ';
echo ' [img]inf/2.gif[/img] ';
}
if ($user['medals']>=2) {
echo ' [img]inf/5.gif[/img] ';
}
if ($user['medals']>=3) {
echo ' [img]inf/3.gif[/img] ';
}
if ($user['align']==1.1 ) {
echo ' [img]inf/svets.gif[/img] ';
}
if ($user['align']==1.2 ) {
echo ' [img]inf/svets.gif[/img] ';
}
if ($user['align']==1.4 ) {
echo ' [img]inf/svets.gif[/img] ';
}
if ($user['align']==1.5 ) {
echo ' [img]inf/svets.gif[/img] ';
}
if ($user['align']==1.7 ) {
echo ' [img]inf/svets.gif[/img] ';
}
if ($user['align']==1.75 ) {
echo ' [img]inf/svets.gif[/img] ';
}
if ($user['align']==1.9 ) {
echo ' [img]inf/svets.gif[/img] ';
}
if ($user['align']==1.91 ) {
echo ' [img]inf/svets.gif[/img] ';
}
if ($user['align']==1.92 ) {
echo ' [img]inf/svets.gif[/img] ';
}
if ((int)$user['align']==1 ) {
echo ' [img]inf/svets.gif[/img] ';
}
if ($user['medala1']>=1 ) {
echo ' [img]inf/medala1.gif[/img] ';
}
if ($user['medala2']>=1 ) {
echo ' [img]inf/medala2.gif[/img] ';
}
if ($user['medala3']>=1 ) {
echo ' [img]inf/medala3.gif[/img] ';
}
if ($user['medala4']>=1 ) {
echo ' [img]inf/medala4.gif[/img] ';
}
if ($user['medala5']>=1 ) {
echo ' [img]inf/medala5.gif[/img] ';
}
if ($user['medala6']>=1 ) {
echo ' [img]inf/medala6.gif[/img] ';
}
if ($user['zadaniya1']==1 ) {
echo ' [img]zadaniya1.gif[/img] ';
}
if ($user['medala8']>=1 ) {
echo ' [img]inf/medala8.gif[/img] ';
}
if ($user['medala9']>=1 ) {
echo ' [img]inf/medala9.gif[/img] ';
}
if ($user['medala10']>=1 ) {
echo ' [img]inf/medala10.gif[/img] ';
}
if ($user['medala11']>=1 ) {
echo ' [img]inf/medala11.gif[/img] ';
}
if ($user['medala12']>=1 ) {
echo ' [img]inf/medala12.gif[/img] ';
}
if ($user['podarokAD']==1 ) {
echo ' [img]inf/adgunu.gif[/img] ';
}
Начинаем больно бить ногами по почкам!
##########
Исполняется всегда при любых условиях. Так как отрицательных алигнов нет. Нафиг?Код:if ($user['align']>=0)
##########
Надо ли говорить что эти условия по одному - не исполнятся. Ведь если, скажем, $medals=4, то срабатывают все три правила одновременно. То есть дать вторую и третью без первой - нет возможности. Даже поменять порядок выдачи нет возможности.Код:if ($user['medals']>=1) { echo ' [img]inf/2.gif[/img] '; echo ' [img]inf/2.gif[/img] '; } if ($user['medals']>=2) { echo ' [img]inf/5.gif[/img] '; } if ($user['medals']>=3) { echo ' [img]inf/3.gif[/img] '; }
##########
Код:if ($user['align']==1.1 ) { echo ' [img]inf/svets.gif[/img] '; } if ($user['align']==1.2 ) { echo ' [img]inf/svets.gif[/img] '; } if ($user['align']==1.4 ) { echo ' [img]inf/svets.gif[/img] '; } if ($user['align']==1.5 ) { echo ' [img]inf/svets.gif[/img] '; } if ($user['align']==1.7 ) { echo ' [img]inf/svets.gif[/img] '; } if ($user['align']==1.75 ) { echo ' [img]inf/svets.gif[/img] '; } if ($user['align']==1.9 ) { echo ' [img]inf/svets.gif[/img] '; } if ($user['align']==1.91 ) { echo ' [img]inf/svets.gif[/img] '; } if ($user['align']==1.92 ) { echo ' [img]inf/svets.gif[/img] '; }
Это просто монструозно! Невероятно монструозно! Можно сделать намного проще:
То есть берется число с точкой, отметается всё после точки и сравнивается. Бинго!Код:if ((int)$user['align']==1 ) { echo ' [img]inf/svets.gif[/img] '; }
##########
Что мы тут имеем? 13! ТРИНАДЦАТЬ!!! Новых. Строк в базе. На каждого пользователя! И для чего? Чтобы отобразить одну иконку! И при условии, что в базе может стоять любое NOT NULL. А если еще 10-15 медалей добавить, что тогда? Еще ячейки? А выборки как проводить? SELECT * FROM users? А потом все удивляются - почему игра тормозит, почему не каждый хостинг подходит, почему процессор забивается?Код:if ($user['medala1']>=1 ) { echo ' [img]inf/medala1.gif[/img] '; } if ($user['medala2']>=1 ) { echo ' [img]inf/medala2.gif[/img] '; } if ($user['medala3']>=1 ) { echo ' [img]inf/medala3.gif[/img] '; } if ($user['medala4']>=1 ) { echo ' [img]inf/medala4.gif[/img] '; } if ($user['medala5']>=1 ) { echo ' [img]inf/medala5.gif[/img] '; } if ($user['medala6']>=1 ) { echo ' [img]inf/medala6.gif[/img] '; } if ($user['zadaniya1']==1 ) { echo ' [img]zadaniya1.gif[/img] '; } if ($user['medala8']>=1 ) { echo ' [img]inf/medala8.gif[/img] '; } if ($user['medala9']>=1 ) { echo ' [img]inf/medala9.gif[/img] '; } if ($user['medala10']>=1 ) { echo ' [img]inf/medala10.gif[/img] '; } if ($user['medala11']>=1 ) { echo ' [img]inf/medala11.gif[/img] '; } if ($user['medala12']>=1 ) { echo ' [img]inf/medala12.gif[/img] '; } if ($user['podarokAD']==1 ) { echo ' [img]inf/adgunu.gif[/img] '; }
Руки отрывать надобно. Если учитесь думать и писать - учитесь делать это хорошо с самого начала.
вот из за таких как ты и быдлокодерство процветает. ну нафига спрашивается показывать новичку заведомо кривой, неправильный вариант, при этом умея лучше? ЧСВ потешить?12 строк я делал для новичка одного как пример чтобы он понял
<option value='first_bam'>Участник первого БАМ турнира</option>
case first_bam: $medalinfo = 'Участник первого БАМ-турнира'; break;
case "first_bam": echo ' [img]i/first_bam.gif[/img] '; break;
хорошо. а хранить ты записи где будешь? В базе!А к чему весь срач? Имхо можно поступить умней. Все медали ведь выдаются через админку, верно?
Как бы через админку в ручном режиме награждать я и предложил. Код написал - где что подправить. Или ты что-то другое имел в виду?Этот вариант я использовал в последнем прооекте. Регулярка почти везде хороша кроме случая, когда надо добавлять %RandomImage% - %RandomText%. Тут шаблоны просто не катят.
Самый тупой вариант - добавить таблицу с двумя полями: img, text.
img - картинка медали. При заливке на сервер генерируется уникальное имя картинки.
text - описание награды.
В админке: кого наградить, выбрать и загрузить медаль, ввести описание.
Параллельно рассматриваются две модификации:
1. Медали заливаются в папку на сервере и парсятся админкой. То есть вместо загрузки медали напрямик - показывается выборка из уже залитых. Конечно это не так гибко как в прошлом варианте, зато гарантированно не даёт что-то заливать на сервер в принципе.
2. Банальный вывод награждения в инфу персонажа. Этим перенесением функций из админи в инфу - экономим на запросаз в базу для поиска пользователя.
К сожалению дальше теории это не зашло, так как играми я практически не занимаюсь и если и накатываю подобные фичи, то на играх друзей в качестве экспериментов.![]()