game/adminion/items_editor.php

475 lines
24 KiB
PHP
Raw Normal View History

2022-06-06 21:30:34 +00:00
<?php
# Admin Only Area
2022-06-06 21:30:34 +00:00
/*
2023-01-10 16:29:32 +00:00
Ядро для обработки данных.
Обработка поединков, обработка заявок, обработка ботов, обработка пещер, обработка турниров, обработка временных генераций
2022-06-06 21:30:34 +00:00
*/
const GAME = true;
2022-06-06 21:30:34 +00:00
include('_incl_data/__config.php');
include('_incl_data/class/__db_connect.php');
$u = User::start();
2022-06-06 21:30:34 +00:00
if (!$u->info['admin']) {
header('location: /index.php');
2022-06-06 21:30:34 +00:00
}
if (isset($_POST['it_name'])) {
2023-01-10 16:29:32 +00:00
//Добавляем предмет
$error = '';
/*
Array
(
2023-01-10 16:29:32 +00:00
[it_name] => Кастет -Когти медведя-
[it_img] => old/kastet2.gif
[it_type] => 18
[it_massa] => 2
[it_price1] => 3
[it_price2] =>
[it_iznos] => 20
[it_slot] => 3
[it_inRazdel] => 1
[it_info] =>
[it_group_max] =>
[it_geni] => 1
[it_srok] =>
[it_max_text] =>
[it_ndata] =>
[it_data_value] => |sv_minAtack=2|sv_maxAtack=4
2023-01-10 16:29:32 +00:00
[button] => Отправить предмет в базу
)
*/
if ((int)$_POST['it_group_max'] > 0) {
$_POST['it_group'] = 1;
}
$ins = mysql_query(
'INSERT INTO `items_main`
2022-06-06 21:30:34 +00:00
(`name`,`img`,`type`,`massa`,`price1`,`price2`,`iznosMAXi`,`inslot`,
`inRazdel`,`info`,`group`,`group_max`,`geni`,`srok`,`max_text`,`2h`,`2too`) VALUES
(
"' . mysql_real_escape_string($_POST['it_name']) . '",
"' . mysql_real_escape_string($_POST['it_img']) . '",
"' . mysql_real_escape_string($_POST['it_type']) . '",
"' . mysql_real_escape_string($_POST['it_massa']) . '",
"' . mysql_real_escape_string($_POST['it_price1']) . '",
"' . mysql_real_escape_string($_POST['it_price2']) . '",
"' . mysql_real_escape_string($_POST['it_iznos']) . '",
"' . mysql_real_escape_string($_POST['it_slot']) . '",
"' . mysql_real_escape_string($_POST['it_inRazdel']) . '",
"' . mysql_real_escape_string($_POST['it_info']) . '",
"' . mysql_real_escape_string($_POST['it_group']) . '",
"' . mysql_real_escape_string($_POST['it_group_max']) . '",
"' . mysql_real_escape_string($_POST['it_geni']) . '",
"' . mysql_real_escape_string($_POST['it_srok']) . '",
"' . mysql_real_escape_string($_POST['it_max_text']) . '",
"' . mysql_real_escape_string($_POST['it_2h']) . '",
"' . mysql_real_escape_string($_POST['it_2too']) . '"
)'
);
if ($ins) {
$iid = mysql_insert_id();
$ins = mysql_query(
'INSERT INTO `items_main_data` (`items_id`,`data`) VALUES (
"' . $iid . '","' . mysql_real_escape_string($_POST['it_data_value']) . '"
)'
);
if (!$ins) {
2023-01-10 16:29:32 +00:00
$error = 'Неудалось добавить Er::(2)!';
} else {
2023-01-10 16:29:32 +00:00
$error = $iid . ' Предмет добавлен!';
}
} else {
2023-01-10 16:29:32 +00:00
$error = 'Неудалось добавить Er::(1)!';
}
if ($error == '') {
2023-01-10 16:29:32 +00:00
$error = 'Что-то не так...';
}
die('<font color=red><b>' . $error . '</b></font>');
2022-06-06 21:30:34 +00:00
}
2023-01-10 16:29:32 +00:00
//Редактор предметов
2022-06-06 21:30:34 +00:00
?>
<!DOCTYPE html>
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
2023-01-10 16:29:32 +00:00
<title>Редактор предметов</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script>
var et = {
is_par: [
2023-03-31 18:42:06 +00:00
<?php
$html = ''; $html2 = '';
$i = 0;
$is_key = array_keys($u->is);
while ($i < count($is_key)) {
$html .= ',"' . $is_key[$i] . '"';
$html2 .= ',"' . $is_key[$i] . '":"' . $u->is[$is_key[$i]] . '"';
$i++;
}
echo ltrim($html, ',');
?>
], is_name: {
<?=ltrim($html2, ',')?>
},
data: {
img: 'w/w10.gif',
2023-01-10 16:29:32 +00:00
name: 'Название нового предмета'
},
complData: function () {
var html = '';
2023-01-10 16:29:32 +00:00
//Требует
if (this.it_data_pr.tr != undefined) {
var i = 0;
while (i <= this.it_data_pr.tr) {
var npar = $('#par_tr_' + i).val();
if (npar != undefined && $('#val_tr_' + i).val() != '') {
html += '|tr_' + npar + '=' + $('#val_tr_' + i).val();
}
i++;
}
}
2023-01-10 16:29:32 +00:00
//Действует на
if (this.it_data_pr.add != undefined) {
var i = 0;
while (i <= this.it_data_pr.add) {
var npar = $('#par_add_' + i).val();
if (npar != undefined && $('#val_add_' + i).val() != '') {
html += '|add_' + npar + '=' + $('#val_add_' + i).val();
}
i++;
}
}
2023-01-10 16:29:32 +00:00
//Свойства
if (this.it_data_pr.sv != undefined) {
var i = 0;
while (i <= this.it_data_pr.sv) {
var npar = $('#par_sv_' + i).val();
if (npar != undefined && $('#val_sv_' + i).val() != '') {
html += '|sv_' + npar + '=' + $('#val_sv_' + i).val();
}
i++;
}
}
2023-01-10 16:29:32 +00:00
//Остальное
if (this.it_data_pr.all != undefined) {
var i = 0;
while (i <= this.it_data_pr.all) {
var npar = $('#par_all_' + i).val();
if (npar != undefined && $('#val_all_' + i).val() != '') {
html += '|' + npar + '=' + $('#val_all_' + i).val();
}
i++;
}
}
$('#it_data_value').val(html);
},
it_data_pr: {},
newpar: function (id) {
var html = '';
if (this.it_data_pr[id] == undefined) {
this.it_data_pr[id] = 0;
} else {
this.it_data_pr[id]++;
}
html += '<select id="par_' + id + '_' + this.it_data_pr[id] + '" name="par_' + id + '_' + this.it_data_pr[id] + '">';
var i = 0;
while (i <= this.is_par.length) {
if (this.is_par[i] != undefined) {
html += '<option value="' + this.is_par[i] + '">' + this.is_name[this.is_par[i]] + '</option>';
}
i++;
}
html += '</select><input id="val_' + id + '_' + this.it_data_pr[id] + '" name="val_' + id + '_' + this.it_data_pr[id] + '" type="text" value="" >';
html = '<div id="new_par_' + id + '_' + this.it_data_pr[id] + '"> &nbsp; <a href="javascript:et.delpar(\'' + id + '\',' + this.it_data_pr[id] + ')">&nbsp; x &nbsp;</a> &nbsp; ' + html + '</div>';
$('#it_data_' + id).html($('#it_data_' + id).html() + html);
},
delpar: function (id, num) {
$('#new_par_' + id + '_' + num + '').remove();
},
compl: function () {
var html = '', html_l = '', html_r = '';
2023-01-10 16:29:32 +00:00
//Собираем данные
this.data = {
'name': $('#it_name').val(),
'img': $('#it_img').val()
};
2023-01-10 16:29:32 +00:00
//Левая часть
html_l += '<img src="//img.new-combats.tech/i/items/' + this.data.img + '">';
2023-01-10 16:29:32 +00:00
//Правая часть
html_r = '<a href="#">' + this.data.name + '</a>';
2023-01-10 16:29:32 +00:00
//Собираем
html = '<table style="border:#A5A5A5 1px solid;" width="100%" border="0" cellspacing="0" cellpadding="0">' +
'<tr>' +
'<td valign="top">' +
'<table width="100%" border="0" cellspacing="0" cellpadding="0">' +
'<tr>' +
'<td width="20%" align="center" style="border-right:#A5A5A5 1px solid; padding:5px;">' + html_l + '</td>' +
'<td valign="top" align="left" style="padding-left:3px; padding-bottom:3px; padding-top:7px;">' + html_r + '</td>' +
'</tr>' +
'</table>' +
'</td>' +
'</tr>' +
'</table>';
$('#etitm').html(html);
}
};
</script>
<link href="//img.new-combats.tech/css/main.css" rel="stylesheet" type="text/css">
2022-06-06 21:30:34 +00:00
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="10">
<tr>
<td width="50%">
<!-- loading img -->
<table width="100%" border="0" cellspacing="0" cellpadding="10">
<tr>
<td width="50" align="center" valign="top">&nbsp;
</td>
<td valign="top">
<form method="post" action="items_editor.php" target="F2">
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr>
2023-01-10 16:29:32 +00:00
<td width="200" bgcolor="#FFCCCC">Название</td>
<td bgcolor="#FFCCCC"><input style="width:100%" type="text" name="it_name"
id="it_name"></td>
</tr>
<tr>
2023-01-10 16:29:32 +00:00
<td>Изображение</td>
<td><input style="width:100%" type="text" name="it_img" id="it_img"></td>
</tr>
<tr>
2023-01-10 16:29:32 +00:00
<td bgcolor="#FFCCCC">Тип</td>
<td bgcolor="#FFCCCC"><label for="it_type"></label>
<select name="it_type" id="it_type">
2023-01-10 16:29:32 +00:00
<option value="0">выберите тип</option>
<option value="1">Шлем</option>
<option value="2">Венок</option>
<option value="3">Наручи</option>
<option value="4">Рубашка</option>
<option value="5">Легкая броня</option>
<option value="6">Тяжелая броня</option>
<option value="7">Плащ</option>
<option value="8">Пояс</option>
<option value="9">Серьги</option>
<option value="10">Амулет</option>
<option value="11">Кольцо</option>
<option value="12">Перчатки</option>
<option value="13">Щит</option>
<option value="14">Поножи</option>
<option value="15">Ботинки</option>
<option value="16">Предмет для карманов</option>
<option value="17">Предмет для смены</option>
<option value="18">Нож \ Кинжал</option>
<option value="19">Топор \ Секира</option>
<option value="20">Молот \ Дубина</option>
<option value="21">Меч \ Клинок</option>
<option value="22">Магический посох</option>
<option value="23">Лук</option>
<option value="24">Арбалет</option>
<option value="25">Боеприпасы \ Стреллы</option>
<option value="26">Костыли</option>
<option value="27">Легендарное оружие</option>
<option value="28">Цветы \ Букеты \ Ёлки</option>
<option value="29">Заклятие</option>
<option value="30">Эликсир</option>
<option value="31">Руна</option>
<option value="32">Ресурс</option>
<option value="33">Мусор</option>
<option value="34">Прочее</option>
<!--<option value="35">Сумка</option>-->
<option value="36">Усиление</option>
<option value="37">Упаковка</option>
<option value="38">Подарок</option>
<option value="39">Подарок (требует упаковку)</option>
<option value="40">Книжный прием</option>
<option value="41">Приглашение</option>
<option value="42">Билет</option>
<option value="43">Слот смены</option>
<option value="44">Пергамент (с текстом)</option>
<option value="45">Сумка</option>
<option value="46">Заточка</option>
<option value="47">Усиление 1</option>
<option value="48">Усиление 2 (временное)</option>
<option value="49">Корм для животного</option>
<option value="60">Бумага</option>
<option value="61">Чек</option>
<option value="62">Чарка</option>
<option value="63">Открытка</option>
</select></td>
</tr>
<tr>
2023-01-10 16:29:32 +00:00
<td>Масса</td>
<td><input style="width:100%" type="text" name="it_massa" id="it_massa"></td>
</tr>
<tr>
2023-01-10 16:29:32 +00:00
<td>Судьба</td>
<td><input name="it_sudba" type="checkbox" id="it_sudba" value="1"></td>
</tr>
<tr>
2023-01-10 16:29:32 +00:00
<td>Артефакт</td>
<td><input name="it_art2" type="checkbox" id="it_art3" value="1"></td>
</tr>
<tr>
2023-01-10 16:29:32 +00:00
<td>Двуручное</td>
<td><input name="it_2h" type="checkbox" id="it_art4" value="1"></td>
</tr>
<tr>
2023-01-10 16:29:32 +00:00
<td>В обе руки</td>
<td><input name="it_2too2" type="checkbox" id="it_2too3" value="1"></td>
</tr>
<tr>
2023-01-10 16:29:32 +00:00
<td>Цена (кр)</td>
<td><input style="width:100%" type="text" name="it_price1" id="it_price1"></td>
</tr>
<tr>
2023-01-10 16:29:32 +00:00
<td>Цена (екр)</td>
<td><input style="width:100%" type="text" name="it_price2" id="it_price2"></td>
</tr>
<tr>
2023-01-10 16:29:32 +00:00
<td>Долговечность</td>
<td><input style="width:100%" type="text" name="it_iznos" id="it_iznos"></td>
</tr>
<tr>
2023-01-10 16:29:32 +00:00
<td bgcolor="#FFCCCC">Слот</td>
<td bgcolor="#FFCCCC"><select name="it_slot" id="it_slot">
2023-01-10 16:29:32 +00:00
<option value="0">не надевается</option>
<option value="1">Шлем</option>
<option value="2">Наручи</option>
<option value="3">Оружие (Правая рука)</option>
<option value="4">Рубаха</option>
<option value="5">Броня</option>
<option value="6">Плащ</option>
<option value="7">Пояс</option>
<option value="8">Серьги</option>
<option value="9">Амулет</option>
<option value="10">Кольцо</option>
<option value="13">Перчатки</option>
<option value="14">Оружие \ Щит (Левая рука)</option>
<option value="16">Поножи</option>
<option value="17">Ботинки</option>
<option value="18">Приём</option>
<option value="40">Заклятия</option>
<option value="51">Книга</option>
<option value="52">Венок</option>
<option value="53">Карман</option>
<option value="55">Центральный карман</option>
<option value="56">Смена оружия</option>
<option value="59">Слот сумки</option>
</select></td>
</tr>
<tr>
2023-01-10 16:29:32 +00:00
<td>Раздел инвентаря</td>
<td><select name="it_inRazdel" id="it_inRazdel">
2023-01-10 16:29:32 +00:00
<option value="1">Обмундирование</option>
<option value="2">Заклятия</option>
<option value="3">Эликсиры</option>
<option value="6">Руны</option>
<option value="4">Прочее</option>
</select></td>
</tr>
<tr>
2023-01-10 16:29:32 +00:00
<td>Информация</td>
<td><input style="width:100%" type="text" name="it_info" id="it_info"></td>
</tr>
<tr>
2023-01-10 16:29:32 +00:00
<td bgcolor="#FFCCCC">Группировка</td>
<td bgcolor="#FFCCCC"><input style="width:100%" type="text" name="it_group_max"
id="it_group_max"></td>
</tr>
<tr>
2023-01-10 16:29:32 +00:00
<td>Поколение</td>
<td><input style="width:100%" type="text" name="it_geni" id="it_geni"></td>
</tr>
<tr>
2023-01-10 16:29:32 +00:00
<td>Срок годности (сек.)</td>
<td><input style="width:100%" type="text" name="it_srok" id="it_srok"></td>
</tr>
<tr>
2023-01-10 16:29:32 +00:00
<td>Макс. текст (символов)</td>
<td><input style="width:100%" type="text" name="it_max_text" id="it_max_text"></td>
</tr>
<tr>
2023-01-10 16:29:32 +00:00
<td bgcolor="#FFFFCC">Доп.дата</td>
<td bgcolor="#FFFFCC"><input style="width:100%" type="text" name="it_ndata"
id="it_ndata"></td>
</tr>
<tr>
<td align="center" valign="middle">ITEMS_MAIN_DATA:</td>
<td><textarea name="it_data_value" cols="100" rows="10"
id="it_data_value"></textarea></td>
</tr>
<tr>
<td>
<iframe id="F2" width="200" height="30" name="F2" frameborder="0"
marginheight="0" marginwidth="0"></iframe>
</td>
<td><input type="submit" name="button" id="button"
2023-01-10 16:29:32 +00:00
value=" Отправить предмет в базу "></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
<!-- loading img -->
2022-06-06 21:30:34 +00:00
</td>
<td valign="top" bgcolor="#C8C8C8">
2023-01-10 16:29:32 +00:00
<button onClick="et.complData()">Собрать дату</button>
<hr>
2023-01-10 16:29:32 +00:00
<b>Требования: <a href="javascript:et.newpar('tr')">[+]</a></b>
<div id="it_data_tr">
</div>
2023-01-10 16:29:32 +00:00
<b>Действует на: <a href="javascript:et.newpar('add')">[+]</a></b>
<div id="it_data_add">
</div>
2023-01-10 16:29:32 +00:00
<b>Свойства: <a href="javascript:et.newpar('sv')">[+]</a></b>
<div id="it_data_sv">
</div>
2023-01-10 16:29:32 +00:00
<b>Остальное: <a href="javascript:et.newpar('all')">[+]</a></b>
<div id="it_data_all">
</div>
<hr>
&nbsp;
<div id="etitm"></div>
2022-06-06 21:30:34 +00:00
</td>
</tr>
</table>
2022-06-06 21:30:34 +00:00
</body>
</html>