Легенда: Наследие Драконов – бесплатная ролевая онлайн игра
Вы не авторизованы
Войдите в игру

Наши сообщества



Форум «Легенда: Наследие Драконов»
Форум > Таверна > Все про дроп.

Все про дроп.

-Pro7138- [9] 
0
7 Мая 2011 21:40:25
:eek:
Файл http://w1.dwar.ru/lib/action/DROP.action изнутри вот такой:


<? # $Id: DROP.action,v 1.6 2008/09/09 13:30:59 s.panferov Exp $

//
//
// $in[&#0039;amount&#0039;]

if (!in_array($object[&#0039;object_class&#0039;],array(OBJECT_CLASS_ARTIFACT)) || $object[&#0039;slot_id&#0039;]) return;
if (($subject[&#0039;flags&#0039;] & USER_FLAG_NOACTION) || $subject[&#0039;fight_id&#0039;] || $subject[&#0039;trade_sess_id&#0039;]) {
$out[&#0039;error&#0039;] = &#0039;&#0039;;
return;
}
if ($object[&#0039;flags&#0039;] & ARTIFACT_FLAG_NODROP) {
$out[&#0039;error&#0039;] = &#0039;&#0039;;
return;
}
$amount = min(intval($in[&#0039;amount&#0039;]),$object[&#0039;cnt&#0039;]);
if (($object[&#0039;cnt&#0039;] > 0) && ($amount <= 0)) {
$out[&#0039;error&#0039;] = &#0039;&#211;&#234;&#224;&#231;&#224;&#237;&#238; &#237;&#229;&#226;&#229;&#240;&#237;&#238;&#229; &#234;&#238;&#235;&#232;&#247;&#229;&#241;&#242;&#226;&#238;!&#0039;;
return;
}
if (($amount > 0) && ($amount < $object[&#0039;cnt&#0039;])) {
artifact_save(array(
&#0039;id&#0039; => $object[&#0039;id&#0039;],
&#0039;cnt&#0039; => $object[&#0039;cnt&#0039;] - $amount,
&#0039;artikul_actions&#0039; => 1,
));
action_object_delete(OBJECT_CLASS_ARTIFACT,$object);
} else {
artifact_delete($object);
}
$out[&#0039;status&#0039;] = ACTION_STATUS_OK;

// &#235;&#238;&#227;-&#241;&#229;&#240;&#226;&#232;&#241; -----------------------
logserv_log_action(array(
&#0039;action&#0039; => $action,
),$action_user);
logserv_log_operation(array(
&#0039;artifact&#0039; => $object,
&#0039;cnt&#0039; => -max($amount,1),
),$action_user);
// ----------------------------------

?>
</font>

Вот так выглядет таблица дропа:

[color=gray]
CREATE TABLE `drop_items` (
`id` int(11) NOT NULL auto_increment,
`dropId` int(11) NOT NULL default &#0039;0&#0039;,
`groupId` int(11) NOT NULL default &#0039;0&#0039;,
`artifactArtikulId` int(11) NOT NULL default &#0039;0&#0039;,
`probability` int(11) NOT NULL default &#0039;0&#0039;,
`title` varchar(250) NOT NULL,
`cnt` int(11) NOT NULL default &#0039;0&#0039;,
`checkArtifactArtikulId` int(11) NOT NULL default &#0039;0&#0039;,
`checkEffectArtikulId` int(11) NOT NULL default &#0039;0&#0039;,
`checkQuestPointId` int(11) NOT NULL default &#0039;0&#0039;,
`flags` int(11) NOT NULL default &#0039;0&#0039;,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=26 DEFAULT CHARSET=cp1251 COMMENT=&#0039;итем, выдающий предмет&#0039;;
</font>

И вот так его добовлять можно вручную зная доступ к БД:

INSERT INTO `drop_items`(`id`, `dropId`, `groupId`, `artifactArtikulId`, `probability`, `title`, `cnt`, `checkArtifactArtikulId`, `checkEffectArtikulId`, `checkQuestPointId`, `flags`) VALUES (&#0039;1&#0039;, &#0039;1&#0039;, &#0039;1&#0039;, &#0039;145&#0039;, &#0039;1&#0039;, &#0039;Меч богов&#0039;, &#0039;1&#0039;, &#0039;116&#0039;, &#0039;13&#0039;, &#0039;36&#0039;, &#0039;0&#0039;);

Ну и т.д. :)

Теперь вы знаете что такое дроп :twisted:
0
pimp [9]  7 Мая 2011 21:41:38 #1
Флуд. Закрыто.
Я из того поколения, которое вручную рисовало поля в тетради...)
 
Официальный сайт бесплатной онлайн игры «Легенда: Наследие Драконов»


© ООО «АСТРУМ ЛАБ».
Все права защищены.
Все товарные знаки являются собственностью их владельцев.
Наверх
Вниз
Нашли ошибку? Выделите слово или предложение с ошибкой и нажмите Ctrl+Enter.
Мы проверим текст и, в случае необходимости, поправим его.