Клоны БК Руны БК2

Furilen

Интересующийся
📜
В Леге вроде как есть. или не те? 🤔 и разница какая от бк3? в МФ? так изменить вроде не проблема...
 

Insallah

Специалист
👑
⚖️
🏆
📜
💎
  • Золотая медаль
Руны, это +3 одеваеых предмета. В чём вопрос вообще? Добавляете ещё трое сапог\колец\мечей и переименовываете.
 

Bayer

Специалист
⚖️
🏆
📜
💎
  • Надмозг
Mefistofel: но там есть типа чтобы эти руны апались, то есть опыт). Вот с ним пока не совсем понятно... но пока обойдёмся и так
Можно прикрутить это к минимальному уровню для надевания.
Тогда и апать можно будет максимум до уровня игрока.

Код для аппа стат примерно вот такой:
Код:
$etoStataSila = array(
        "2" => array(10),
        "3" => array(20)
);
$etoStataLovkost = array(
        "2" => array(10),
        "3" => array(20)
);
Ну а вот так делаем запрос к базе:
sql_query("UPDATE `таблица_инвентарь` SET sila = '" . $etoStataSila[$user['level']][0] . "' WHERE `id` = 'айди_предмета' LIMIT 1;" );

$etoStataSila[$user['level']][0]



Можно прикрутить и опыт для вещей или конкретной вещи.
В таком случае нам нужна строка в таблицу инвентаря `exp` к примеру. - по дефолту 0.
Дальше все как и с игроком, только осталось придумать как распределяется этот опыт.
 
Последнее редактирование:

Mefistofel

Интересующийся
📜
Можно прикрутить это к минимальному уровню для надевания.
Тогда и апать можно будет максимум до уровня игрока.

Код для аппа стат примерно вот такой:
Код:
$etoStataSila = array(
        "2" => array(10),
        "3" => array(20)
);
$etoStataLovkost = array(
        "2" => array(10),
        "3" => array(20)
);
Ну а вот так делаем запрос к базе:
sql_query("UPDATE `таблица_инвентарь` SET sila = '" . $etoStataSila[$user['level']][0] . "' WHERE `id` = 'айди_предмета' LIMIT 1;" );

$etoStataSila[$user['level']][0]



Можно прикрутить и опыт для вещей или конкретной вещи.
В таком случае нам нужна строка в таблицу инвентаря `exp` к примеру. - по дефолту 0.
Дальше все как и с игроком, только осталось придумать как распределяется этот опыт.
Сейчас попробую что-то навалять
 

Mefistofel

Интересующийся
📜
PHP:
$sruna = 0; //слоты руны
$l = 91;
while($l<=93)
{
if(isset($witm[$l]))
{
$sruna++;
}else{
$witm[$l] = '<img width="60" height="60" style="margin-left:8px;margin-top:4px;display:block;" title="Пустой слот руны" src="http://sait.zu/img1/rune_none.png"></td>';
}
$l++;
}
PHP:
}
//if($sruna>0 && $i1==0) {
$witmg .= '<table background="http://sait.zu/img1/rune_bg.png" width="240" border="0" cellspacing="0" cellpadding="0">
<tbody><tr>
<td width="76" height="76">'.$witm[91].'</td>
<td width="76">'.$witm[92].'</td>
<td width="76">'.$witm[93].'</td>
</tr>
</table>';
}
Вот есть такая простыня... Но не совсем пойму как реализовать переменную $runa
 

Mefistofel

Интересующийся
📜
Тупонул снова)
Сделал слоты отдельные, проверил на примере сумок (просто присвоив им тип рун) вроде надеваеться и отображается) осталось вывести это в инфе о персонаже ибо каждый человек пока видит только свои слоты, а в инфе о персе они не отображаются.
Долго искал в каком файле это включить (на мое удивление это оказался не файл inf.php)
Завтра будет не большой запой и потом продолжу)
Спасибо всем кто помогал советами)
Вдруг что - отпишу ещё сюда
 

Mefistofel

Интересующийся
📜
Прописал 3 слота для рун (91,92,93)... Но почему-то она одивается только в 91-й. Но и в базе конечно стоит 'inslot' = 91.
Но при этом мешок есть 4 места под мешок, и в 'inslot' = 59. Но он одевается и в 59,60,61,62... Не могу разобраться в чем дело.
Есть у кого мысли?
______________________________________
Решил проблему дописав в файл _user.php следующий код:
PHP:
elseif($inSlot==91)
                    {
                        if(!isset($d[91]))
                        {
                            $inSlot = 91;
                        }elseif(!isset($d[92]))
                        {
                            $inSlot = 92;  
                        }elseif(!isset($d[93]))
                        {
                            $inSlot = 93;  
                        }
                    }
P.S. Всегда удивляюсь: Почему пока сюда не напишешь - то не можешь исправить:D
 
Последнее редактирование:
  • Like
Реакции: Cro

Mefistofel

Интересующийся
📜
Ребят, следующий вопрос)
Прокачка рун.
У меня есть две мысли по поводу прокачки:
1. Это просто покупка повышения руны (в таблице инвентаря юзера просто к его руне меняются параметры типа: было add_s1=1 а стало add_s1=2 и т.д.)
Я понимаю как это делается на пальцах(обычными запросами в базу) типа:
UPDATE 'item_users' WHERE $user[id] = 'uid' SET 'data' = 'add_s1=2'
за тем
UPDATE 'users' WHERE = 'money2' = 'money2'-300 (для первого уровня)
Но опять же - я это понимаю только на пальцах)
Сам бы тоже сделал - но заняло время с гуглом у меня бы очень и очень долго
Код:
С 0 уровня на 1 уровень - 300 еврокредитов.
С 1 уровня на 2 уровень - 400 еврокредитов.
С 2 уровня на 3 уровень - 500 еврокредитов.
С 3 уровня на 4 уровень - 600 еврокредитов.
С 4 уровня на 5 уровень - 700 еврокредитов.
С 5 уровня на 6 уровень - 800 еврокредитов.
С 6 уровня на 7 уровень - 900 еврокредитов.
С 7 уровня на 8 уровень - 1000 еврокредитов.
С 8 уровня на 9 уровень - 1100 еврокредитов.
С 9 уровня на 10 уровень - 1200 еврокредитов.
Тем самым юзер жмет на кнопу - у него снимается определенное кол-во екр и прописавается конкретно его руне более высшие параметры)
2. Это через прокачку в боях. Тут для меня уже очень сложно и сделать скорее всего это я не смогу.
Кто сможет за символическую бутылку пива навалять функционал?):sneaky:
 

Invader

Знаток
👑
⚖️
📜
💎
PHP:
<?php

//Первый вариант
$array = ('300', '400','500','600','700','800','900','1000','1100','1200');

$array[$runa['level']]);

//второй вариант
UPDATE 'users' WHERE = 'money2' = 'money2'-$rune['level']*100+200
?>
 

oxy

Продвинутый
🏆
📜
💎
  • Надмозг
PHP:
elseif($inSlot==91)
                    {
                        if(!isset($d[91]))
                        {
                            $inSlot = 91;
                        }elseif(!isset($d[92]))
                        {
                            $inSlot = 92; 
                        }elseif(!isset($d[93]))
                        {
                            $inSlot = 93; 
                        }
                    }
Небольшое замечание, пиши нормальные названия переменных, ты же сам не поймешь через час где у тебя что... Допустим ты можешь потратить пару минут но написать вот так:


PHP:
const SLOT_HELM = 1;
const SLOT_RING = 91;
const SLOT_ARMLET = 92;

....
if(!isset($item[self::SLOT_RING])) {
    $inSlot = self::SLOT_RING;
} elseif ( ! isset( $item[self::SLOT_ARMLET] )) {
    $inSlot = self::SLOT_ARMLET;
....
И ты уже глядя на свой код будешь понимать что тут происходит и о каком слоте или типе вещей идет речь...
 

Insallah

Специалист
👑
⚖️
🏆
📜
💎
  • Золотая медаль
С 0 уровня на 1 уровень - 300 еврокредитов. С 1 уровня на 2 уровень - 400 еврокредитов. С 2 уровня на 3 уровень - 500 еврокредитов. С 3 уровня на 4 уровень - 600 еврокредитов. С 4 уровня на 5 уровень - 700 еврокредитов. С 5 уровня на 6 уровень - 800 еврокредитов. С 6 уровня на 7 уровень - 900 еврокредитов. С 7 уровня на 8 уровень - 1000 еврокредитов. С 8 уровня на 9 уровень - 1100 еврокредитов. С 9 уровня на 10 уровень - 1200 еврокредитов.
$array = ('300', '400','500','600','700','800','900','1000','1100','1200');
Хмм?
PHP:
$runeUpdateCost = (100 * (3 + $runeCurrentLevel));
----
в таблице инвентаря юзера просто к его руне меняются параметры типа: было add_s1=1 а стало add_s1=2 и т.д
Отсторожно с этим. @oxy верно говорит: пройдёт полгода и ты можешь взять и забыть что значат цифры. Вот, например, я у себя искал, что значат цифры в параметрах эффектов. Неделя(!) чтения исходников ради примерно такой вот таблички:
Код:
Список эффектов по типам.

2 Заклинание молчания
3 Заклятие форумного молчания
4 Заклятие хаоса
5 Заклятие обезличивания
10 Путы (и Паралич!)
11 Лёгкая травма
12 Средняя травма
13 Тяжелая травма
14 Неизлечимая травма
20 Проверка Паладинов
21 Сила нейтралитета
22 Защита от кулачного нападения
51 Опьянение
201 Защита от оружия
202 Сокрушение
203 Туманный образ [1]
203 Удача
204 Туманный образ [2]
204 Эликсир урона +3
205 Туманный образ [3]
205 Эликсир брони +5
206 Гравитация [1]
207 Гравитация [2]
208 Гравитация [3]
209 Стена Огня [1]
210 Стена Огня [2]
211 Стена Огня [3]
212 Чистота Воды [1]
213 Чистота Воды [2]
214 Чистота Воды [3]
215 Защита эфира [1]
216 Защита эфира [2]
217 Защита эфира [3]
218 Песчаный щит [1]
219 Песчаный щит [2]
220 Песчаный щит [3]
221 Огненный Щит [1]
222 Огненный Щит [2]
223 Огненный Щит [3]
224 Стена Воды [1]
225 Стена Воды [2]
226 Стена Воды [3]
227 Защита от нападений
405 Микстура жизненных сил
1022 Заклятие невидимости
9994 Антидот/Путы (Эликсир?)
Зато видно процесс разработки. Сначала 2-5 кто-то один. Потом 10-14, чтобы точно не пересеклось с первыми, потому что неизвестно сколько их. 20-22 делалось с той же целью и отступом. 51 и 200+ уже делались кем-то соверщенно новым, который брал ряд цифр, который бы точно ни с чем не совпал. Ну а дальше уже 405, 1022, 9994 скорее всего по принципу: человек видит двухсотые -- сделал большой отступ. Другой человек видит четырехсотые, и скачет сразу за тысячу. Кто-то третий видит, что у эффектов счёт пошёл уж на тысячи -- и подсовывает значение ближе к 10000. И так далее...
 

Insallah

Специалист
👑
⚖️
🏆
📜
💎
  • Золотая медаль
через прокачку в боях. Тут для меня уже очень сложно
У тебя в поединках в куче формул есть значение полученного конечного опыта игроком. Тебе нужно взять это значение и в нужном виде подставить в поле для руны преобразовав как захочешь. Далее, клепаешь таблицу для всех рун скопом, куда добавляются руны всех игроков. И в момент окончания поединка и раздачи опыта идёт проверки:
Код:
if бой_окончен {
    дать_опыт
    запись_в_базу
    while есть_руны {
        if руна_не_максимального_уровня {
            добавить_опыт_руне
            запись_в_базу
            if опыта_руны_больше_чем_нужно_для_апгрейда {
                рассчёт_новых_модификаторов
                if опыта_руны_больше_максимума {
                    опыт руны = максимум
                }
                запись_в_базу
            }
        }
    }
}
 
  • Like
Реакции: Cro

Invader

Знаток
👑
⚖️
📜
💎
Ты загнал кучу чисел в массив и нигде его (массив) не использовал.
Ну я написал снизу переменную через которую можно использовать) и написал второй вариант как можно сделать не загоняя в массив
 
  • Like
Реакции: Cro
Сверху