1. Bitcoin адрес для пожертвований: 1dapfB97R98wg8J3hknWpMDJ7P61CWjNn
    Скрыть объявление
  2. Участникам форума доступны: Skype, WhatsApp и Telegram конференции. Присоединяйтесь!
  3. Наши основные группы и каналы: VK, Twitter. Подписывайтесь!
  4. Мы открыли музыкальный клуб! Заходи и ставь свое музло!
  5. Скрыть объявление

Кровавая нападалка

Тема в разделе "Архив", создана пользователем andr3w, 22 янв 2008.

  1. andr3w

    andr3w Новичок

    Репутация

    0 / 0


    1. открываем magic.php

    добавляем туда вот это:

    Код (Text):
    1. //********************************************************************************
    2. ***
    3.     case 'magic_blood_attack': // Кровавая Нападалка
    4.     $t='inventory.php?section=mage';
    5.     $bid=(int)$_GET['bid'];
    6.     $nick=trim($_GET['nick']);
    7.     $ctime=time();
    8.     if(checkAdmin() and $bid>0) {
    9.         $rs=mysql_query('select * from users where nick="'.$nick.'" and current_battle_id=0 and id<>'.$User['id'].' and last_activity_time>="'.($ctime-$online_timeout*60).'" and room="'.$User['room'].'"');
    10.         if(mysql_num_rows($rs)!=1) $m_type=301; // target not found
    11.         else {
    12.             $r=mysql_fetch_array($rs);
    13.             $target_id=$r['id'];
    14.             $target_level=$r['level'];
    15. //            $rs=mysql_query('select br.id, br.battle_type, ub.command from battle_request br, user_in_battle ub where br.id=ub.battle_id and br.status="0" and ub.user_id='.$target_id);
    16. //            if(mysql_num_rows($rs)==0) {
    17.                 $rs=mysql_query('select i.*, m.percent from item i, magic m, users_bags ub where i.id=ub.item_id and ub.user_id="'.$User['id'].'" and ub.id="'.$bid.'" and i.magic=m.id and m.id=7');
    18.                 if(mysql_num_rows($rs)!=1) $m_type=302; // item not found
    19.                 else {
    20.                     $r=mysql_fetch_array($rs);
    21.                     $items=calculate_item_bonus(&$User);                    
    22.                     if($r['req_level']>$User['level']) $m_type=303;            // недостаточно модификаторов
    23.                     else if($r['req_power']>$User['power']) $m_type=303;
    24.                     else if($r['req_sila']>$User['sila']) $m_type=303;
    25.                     else if($r['req_lovkost']>$User['lovkost']) $m_type=303;
    26.                     else if($r['req_inta']>$User['inta']) $m_type=303;
    27.                     else if($r['req_level']>$User['level']) $m_type=303;
    28.                     else if($r['req_mind_power']>$User['mind_power']) $m_type=303;
    29.                     else if($r['req_clan_id']!=0 and abs($r['req_clan_id'])!=$User['clan_id']) $m_type=303;
    30.                     else if($r['owner_id']!='' and $r['owner_id']!=$User['nick']) $m_type=303;
    31.                     else {
    32.                         $a=mt_rand(0,PRECESSION)/PRECESSION;
    33.                         $pu1=$r['percent']/100;
    34.                         if($pu1>$a) {
    35.                             mysql_query('insert into battle_request(battle_type, timeout, start_time, cmt, hand_only, create_time, num_cmd1, num_cmd2, status, blood) values("4", 5, 0, "использована сфера кровавого нападения", "0", '.$ctime.', 1, 1, "1", "1")');
    36.                             $battle_id=mysql_insert_id();
    37.                             mysql_query('insert into user_in_battle(user_id, battle_id, command) values("'.$User['id'].'","'.$battle_id.'","1")');
    38.                             mysql_query('insert into user_in_battle(user_id, battle_id, command) values("'.$target_id.'","'.$battle_id.'","2")');
    39.                             mysql_query('update users set current_battle_id="'.$battle_id.'" where id in ("'.$User['id'].'","'.$target_id.'")');
    40.                             mysql_query('update battle_request set status="1" where id='.$battle_id);
    41.                             $message='Используя сферу <img src=img/travma.gif border=0 align=absmiddle> кровавого нападения, [b]'.$User['nick'].'[/b] напал на [b]'.$nick.'[/b], и начался [url="http://www.tlworld.ru/log.php?log_id='.$battle_id.'"]бой[/url]..';
    42.                             mysql_query('insert delayed into message_log(mdate, name, message, room) values("'.$ctime.'","System","[b]'.mysql_escape_string($message).'[/b]","'.$User['room'].'")');
    43.       require_once("chat/functions.php");
    44.       insert_msg("$message","","","1","","",$User['room']);    
    45.                             $fp=fopen($path.'logs/'.$battle_id.'.html','w');
    46.                             $str=date('Y-m-d').' в '.date('H:i:s').' начался';
    47.                             $str.=' бой между <b class="command_1">'.$User['nick'].' ['.$User['level'].'][/b][url="inf.php?name='.urlencode($User['nick']).'"][img]img/info.gif[/img][/url] и <b class="command_2">'.$nick.' ['.$target_level.'][/b][url="inf.php?name='.urlencode($nick).'"][img]img/info.gif[/img][/url]';
    48.                             $str.=' использована сфера кровавого нападения';
    49.                             fputs($fp, '
    50. '.$str."\n
    51. \n");
    52.                             fclose($fp);
    53.                         } else $m_type=304;
    54.                         $new_durability=$r['durability']+1;
    55.                         if($new_durability<$r['max_durability']) $sql='update item set durability="'.$new_durability.'" where id='.$r['id'];
    56.                         else $sql='delete item, users_bags from item, users_bags where users_bags.item_id=item.id and item.id='.$r['id'];
    57.                         mysql_query($sql);
    58.                     }
    59.                 }
    60. //            } else $m_type=305;
    61.         }
    62.         $t.='&m_type='.$m_type;
    63.     }
    64.     break;
    потом открываем scripts.js и добавляем туда вот это:

    Код (Text):
    1. function magic_blood_attack(id) {
    2.     r=true;
    3.     nick=prompt('На кого нападаем?','');
    4.     if(nick=='' || nick==null) {
    5.         alert('Нужно указать противника');
    6.         r=false;
    7.     } else document.location.href='mage.php?action=magic_blood_attack&bid='+id+'&nick='+nick;
    8.     return r;
    9. }
    теперь лезем в файлик battle_function.php
    находим строчки:
    Код (Text):
    1. $f1=$attacker['sila'];
    и перед ней добавляем:
    Код (Text):
    1. $f1btlid=$attacker['current_battle_id'];
    потом находим:
    Код (Text):
    1. $f2=$defender['sila'];
    и также перед этим добавляем:
    Код (Text):
    1. $f2btlid=$defender['current_battle_id'];
    идем ниже и находим строчку:
    Код (Text):
    1. $system_message='';
    добавляем что-то типа такого:
    Код (Text):
    1. $blood=mysql_fetch_array(mysql_query('select * from battle_request where id="'.$f1btlid.'" and blood="1"'));
    2. $blood2=mysql_fetch_array(mysql_query('select * from battle_request where id="'.$f2btlid.'" and blood="1"'));
    это можно в 1 запрос сделать захотите сами сделаете :) поехали дальше

    теперь добавляем два условия:
    посли строки:
    Код (Text):
    1. if ($hp1 <= 0) $system_message.="\n
    2. \n".'[b]'.$attacker['nick'].'[/b] повержен.'."\n";
    добавляем:
    Код (Text):
    1. if (($hp1 <= 0) and ($blood)) $system_message.="\n
    2. \n".'[b]'.$attacker['nick'].'[/b] '.create_user_travma($attacker, 3).'.'."\n";
    дальше после строки:
    Код (Text):
    1. if ($hp2 <= 0) $system_message.="\n
    2. \n".'[b]'.$defender['nick'].'[/b] повержен.'."\n";
    добавляем:
    Код (Text):
    1. if (($hp2 <= 0) and ($blood2)) $system_message.="\n
    2. \n".'[b]'.$defender['nick'].'[/b] '.create_user_travma($defender, 3).'.'."\n";
    едем дальше:


    потом делаем в бд в таблицу magic

    такой звпрос

    Код (Text):
    1. INSERT INTO `magic` VALUES (7,'Кровавое нападение','magic_blood_attack',85,'0');
    и в таблице battle_request добьвьте новое поле:
    Код (Text):
    1.   `blood` enum('0','1') NOT NULL default '0'
    =============================
    ЗЫ. Вроди розжевал, ну вопше если честно сказать вариант не лудший но рабочий, делал я это давно, выкладываю из старых запасов... Пользуйтесчь нс здоровье...

  2. andr3w

    andr3w Новичок

    Репутация

    0 / 0


    да спасибо не забываем кликать :)

     
  3. Vugl

    Vugl Старейшина

    Репутация

    0 / 0


    Кликнул спасибо, плюс тут еще раз говорю спасибо.
    Все работает, но в самом начале боя происходит глюк, белый экран до первого обновления висит, и в это же время показывает один из самых древних логов боя. После обновления все норм, ток лог тож начинает идти с этого место, где я ошибся подскажите плз...

     
  4. andr3w

    andr3w Новичок

    Репутация

    0 / 0


    странно у меня такой проблемы не возникало. сделай так:

    открой файл: cfg.php закоментируй там:

    Error_Reporting(E_ALL & ~E_NOTICE & ~E_WARNING);

    и попробуй нападать ты увидиш ошибку, даш ее сюда я подскажу как пофиксить

     
  5. Vugl

    Vugl Старейшина

    Репутация

    0 / 0


    Код (Text):
    1. require_once("chat/functions.php");
    2.       insert_msg("$message","","","1","","",$User['room']);
    Вот здесь у меня выскакивала ошибка, то есть первого пути вообще не существовало, и функции insert_msg он не нашел, в первой строке поправил путь, вторую банально закомментировал, теперь всевсе нормально, работает, еще раз спасибо большое.
    Не посмотришь тогда в соседнем топике, мой фал на редактирование вещей может что подскажешь???

     
  6. andr3w

    andr3w Новичок

    Репутация

    0 / 0


    удали эти строки...
    я раньш просто чат от ИВ цеплял в игру... это вывод системки ))) а у тебя чат стандартный походу значит эти строки можеш кильнуть :)

     
  7. X-COM

    X-COM Новичок

    Репутация

    0 / 0


    Всё как написано всё полностью сделал, ошибок не выдаёт, но нападалки так и не появилось, мож ещё чего нехватает?

     
  8. andr3w

    andr3w Новичок

    Репутация

    0 / 0


    ПРобуй еще раз, все предельно просто описано...

     
  9. X-COM

    X-COM Новичок

    Репутация

    0 / 0


    Я так понимаю - mage.php? т.к. нету такого

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

     
  10. CormHolio

    CormHolio Новичок

    Репутация

    0 / 0


    скорее всего ты не ту сборку используешь... не помню где, но magic.php точно видел