Странносте тред

oxy

Постигающий
🏆
📜
💎
Тебе в догонку на счет даты. Я стараюсь использовать дату пхп. Так как у пхп и у мускуля дата может быть разной. А если настроена репликация и сервак не один то это вытекает в настоящую проблему. Но так как тут о репликации половина даже не слышала то твой подход вполне себе хороший :)
 

Insallah

Бекапы… Какие бекапы?
🏆
📜
💎
Ну ёпт!

Было:
PHP:
$item_name1 = str_replace("+1", "", $row[1]);
$item_name1 = str_replace("+2", "", $item_name1);
$item_name1 = str_replace("+3", "", $item_name1);
$item_name1 = str_replace("+4", "", $item_name1);
$item_name1 = str_replace("+5", "", $item_name1);
$item_name = str_replace(" (мф)", "", $item_name1);
Стало:
PHP:
$replacements = ['+1','+2','+3','+4','+5',' (мф)'];
$item_name1 = str_replace($replacements, '', $row[1]);
 

Insallah

Бекапы… Какие бекапы?
🏆
📜
💎
Самый дебильный запрос месяца:
PHP:
$us = mysql_fetch_array(mysql_query("select `id` from `online` WHERE `id` = '{$dress['owner']}' LIMIT 1;"));
А уж как регулярно он вызывается, так и вообще страх…
 

dcc0

Некто
Ну ёпт!

Было:
PHP:
$item_name1 = str_replace("+1", "", $row[1]);
$item_name1 = str_replace("+2", "", $item_name1);
$item_name1 = str_replace("+3", "", $item_name1);
$item_name1 = str_replace("+4", "", $item_name1);
$item_name1 = str_replace("+5", "", $item_name1);
$item_name = str_replace(" (мф)", "", $item_name1);
Стало:
PHP:
$replacements = ['+1','+2','+3','+4','+5',' (мф)'];
$item_name1 = str_replace($replacements, '', $row[1]);
Нельзя тоже самое с strtr сделать. Оно вроде быстрее?!
 

dcc0

Некто
Почитал тему. Судя по именам переменных и у меня, тот же двиг, что и у меня
 

dcc0

Некто
Для Oxy ... Считаю не лучшей идеей писать БК 1 на ООП, то, что пишу, имеет отношение и к недоумению insallah на тему , откуда столько лишних функций в файле functions.php

Если кратко: живой, работающий проект перепрограммируется на лету, live. Вам ли не знать? ООП ту не очень, кстати...
Не используемый код в functions.php - такая же история в моей сборке. Видимо, неиспользуемый код - файлы - просто удаля с сервера. Так происходит, когда игру админят 1 - 2 человека . Какая-нить приблуда пишется на пару дней, за пару минут прямо во время игры, потом удаляется на всегда.
И пишется соотв. образом. Проверено. Код рабочего проекта с количеством стафф - это ликвид код. Даже удивляться не надо. В functions.php просто накопилось с разных сборок.
Пример - олдбк.код. Если игру закроют то лет через 10 этот код вообще никто не запустить не сможет, будут смотреть на него, как на письмена Майя.

Код на ООП - это прекрасно, но скорее всего, подойдет для диплома или сдачи в музей.


Insllah, как ни ругай код БК1 - это прекрасный код.
Знаешь почему? Я со своим низким знанием PHP сумел очень быстро разобраться.
Magic в дир. magic На каждый свиток отдельный файл. Функции в functions, локации в city в четко.
 

Insallah

Бекапы… Какие бекапы?
🏆
📜
💎
это прекрасный код.
Я выше уже привёл прекрасный пример прекрасного запроса в прекрасном коде.
Я со своим низким знанием PHP
Сегодня PHP надо начинать учить с версии 7.3, а не версии 5.3, которая релизнулась в 2011 году. :)
 

oxy

Постигающий
🏆
📜
💎
Код на ООП - это прекрасно, но скорее всего, подойдет для диплома или сдачи в музей.
Ну с таким подходом мы бы все ездили на запорожцах и радовались бы жизни считая это лучшей тачкой во вселенной))) Она проста и детали можно выточить на ходу с хлама возле дороги)))

Почему тогда все нормальные проекты написаны на ООП (википедия, вордпресс, и даже этот форум)? Почему нет фреймворков основанных на функциональном программировании?
Описанный тобой подход не катит для нормального проекта! Поверь мне, нормально cпроектированный ООП код поддерживать в разы легче чем плодить хуйню аля functions.php

Я со своим низким знанием
Проблема в том что это старый подход и если его использовать твои знания останутся на том же уровне. Это как будто ты будешь использовать домашний телефон и напрочь отвергать смартфоны. Да домашний телефон это круто... Лет так 20 назад было...
 

Animator

Интересующийся
📜
Ну с таким подходом мы бы все ездили на запорожцах и радовались бы жизни считая это лучшей тачкой во вселенной))) .
Не смей гадить святое)
"запарик" вылазит там где даже "уазик" помирает,а тот в свою очередь рвет практически все внедорожники! ))))
 

dcc0

Некто
oxy, я не профессиональный программист (да и едва программист), поэтому мне не нужно ООП. Но программирование совсем не получается обойти даже гуманитарию. Однако, мне для моих задач, которые я себе ставил, хватало и все еще хватает простого процедурного кода. Никакого желания гоняться за новинками и тратить на это время у меня нет. Пусть этим занимается тот, кто зарабатывает этим на хлеб. Я могу только похвалить код движка, в котором ковыряюсь. Это код движка БК1. Несмотря на кажущуюся свалку, я достаточно быстро разобрался в нем. Значит, в моем понимании - это хороший код. Пусть, устаревший стиль. Но я вижу, что этот код все еще можно использовать, оптимизировать, дорабатывать. И на нем все еще можно запускать проекты. Тут вопрос философии - время потраченное на написание ООП кода для игры в моем случае не сопоставимо с временем существования самого проекта. Может быть, я и мог бы изучить ООП, но это время - время, потраченное на обучение. Подумай сам, на создание механики игры, пусть она будет лучше с точки зрения программиста, но для игрока и админа - это под вопросом. Меня больше интересует сам , если так можно выразиться, концепт игры. Пусть звучит громко. Создавая игру, ты же понимаешь, что одна только прекрасная механика проект не сделает. Вот и вся история.
 

oxy

Постигающий
🏆
📜
💎
время потраченное на написание ООП кода
Видать ты меня не совсем понял, или я тебя. Я говорю что код бк1 говно (да всех БК в паблик доступе), но альтернативы нет.
Если бы был готовый бк на ООП, который написан правильно и кошерно, поверь ты бы так же быстро и легко разобрался в нем)) Ну и учился бы работать изначально с нормальными примерами
 

dcc0

Некто
Видать ты меня не совсем понял, или я тебя. Я говорю что код бк1 говно (да всех БК в паблик доступе), но альтернативы нет.
Если бы был готовый бк на ООП, который написан правильно и кошерно, поверь ты бы так же быстро и легко разобрался в нем)) Ну и учился бы работать изначально с нормальными примерами
Он был. Недописанный. И он у меня был, но я его посеял. Лежал он когда-то на дапфе.
Он есть знаю, у кого. И он обещал глянуть этот скрипт у себя.
 

oxy

Постигающий
🏆
📜
💎
Он был. Недописанный. И он у меня был, но я его посеял. Лежал он когда-то на дапфе.
Он есть знаю, у кого. И он обещал глянуть этот скрипт у себя.
Инс? Я понял о котором скрипте ты говоришь. Нет там не очень хороший код вроде, хотя как выложит гляну
 

dcc0

Некто
Инс? Я понял о котором скрипте ты говоришь. Нет там не очень хороший код вроде, хотя как выложит гляну
Ну я там исправлял даже что-то в методах, так-то он на вид весь ООП из себя, а когда в метод полез там в косяк, довольно детский был... Но мне такой код в geany тяжело править, там надо инструмент... И тот код недопис точно...
 

Insallah

Бекапы… Какие бекапы?
🏆
📜
💎
Пусть, устаревший стиль. Но я вижу, что этот код все еще можно использовать, оптимизировать, дорабатывать.
Ты начал всё с неверного предположения, что я переписываю весь код под ООП. 95% этой темы — оптимизация херни. Да, я в некоторых местах внедряю ООП (а @oxy потом по рукам бьёт :ROFLMAO:), но не здесь, не в теме.
 

Invader

Знаток
👑
⚖️
📜
💎
PHP:
        if ($user['level'] == '7') {
        $obrazti=rand(1,15);
        mysql_query("insert into inventory (`name`,`owner`,`maxdur`,`koll`,`massa`,`img`,`destinyinv`,`type`,`made`,`isrep`) values ('Образец',".$user['id'].",'1',".$obrazti.",".($obrazti/10).",'mater_suv_drop.gif','0','190','oldcity','0')");       
        addchp ('<font color=red><b>Внимание!</b></font> Вы создали предмет "Образец"x'.$obrazti.' ','{[]}'.$user['login'].'{[]}');       
        ist($user['id']); }
        if ($user['level'] == '8') {
        $obraztic=rand(1,15);
        mysql_query("insert into inventory (`name`,`owner`,`maxdur`,`koll`,`massa`,`img`,`destinyinv`,`type`,`made`,`isrep`) values ('Образец',".$user['id'].",'1',".$obraztic.",".($obraztic/10).",'mater_suv_drop.gif','0','190','oldcity','0')");       
        addchp ('<font color=red><b>Внимание!</b></font> Вы создали предмет "Образец"x'.$obraztic.' ','{[]}'.$user['login'].'{[]}');       
        ist($user['id']); }
        if ($user['level'] == '9') {
        $obraztia=rand(5,20);
        mysql_query("insert into inventory (`name`,`owner`,`maxdur`,`koll`,`massa`,`img`,`destinyinv`,`type`,`made`,`isrep`) values ('Образец',".$user['id'].",'1',".$obraztia.",".($obraztia/10).",'mater_suv_drop.gif','0','190','oldcity','0')");       
        addchp ('<font color=red><b>Внимание!</b></font> Вы создали предмет "Образец"x'.$obraztia.' ','{[]}'.$user['login'].'{[]}');       
        ist($user['id']); }
        if ($user['level'] == '10') {
        $obraztid=rand(5,20);
        mysql_query("insert into inventory (`name`,`owner`,`maxdur`,`koll`,`massa`,`img`,`destinyinv`,`type`,`made`,`isrep`) values ('Образец',".$user['id'].",'1',".$obraztid.",".($obraztid/10).",'mater_suv_drop.gif','0','190','oldcity','0')");       
        addchp ('<font color=red><b>Внимание!</b></font> Вы создали предмет "Образец"x'.$obraztid.' ','{[]}'.$user['login'].'{[]}');       
        ist($user['id']); }
        if ($user['level'] == '11') {
        $obraztib=rand(10,30);
        mysql_query("insert into inventory (`name`,`owner`,`maxdur`,`koll`,`massa`,`img`,`destinyinv`,`type`,`made`,`isrep`) values ('Образец',".$user['id'].",'1',".$obraztib.",".($obraztib/10).",'mater_suv_drop.gif','0','190','oldcity','0')");       
        addchp ('<font color=red><b>Внимание!</b></font> Вы создали предмет "Образец"x'.$obraztib.' ','{[]}'.$user['login'].'{[]}');       
        ist($user['id']); }
        if ($user['level'] == '12') {
        $obraztie=rand(10,30);
        mysql_query("insert into inventory (`name`,`owner`,`maxdur`,`koll`,`massa`,`img`,`destinyinv`,`type`,`made`,`isrep`) values ('Образец',".$user['id'].",'1',".$obraztie.",".($obraztie/10).",'mater_suv_drop.gif','0','190','oldcity','0')");       
        addchp ('<font color=red><b>Внимание!</b></font> Вы создали предмет "Образец"x'.$obraztie.' ','{[]}'.$user['login'].'{[]}');       
        ist($user['id']); }
        if ($user['level'] == '13') {
        $obraztie=rand(15,35);
        mysql_query("insert into inventory (`name`,`owner`,`maxdur`,`koll`,`massa`,`img`,`destinyinv`,`type`,`made`,`isrep`) values ('Образец',".$user['id'].",'1',".$obraztie.",".($obraztie/10).",'mater_suv_drop.gif','0','190','oldcity','0')");       
        addchp ('<font color=red><b>Внимание!</b></font> Вы создали предмет "Образец"x'.$obraztie.' ','{[]}'.$user['login'].'{[]}');       
        ist($user['id']); }
        if ($user['level'] == '14') {
        $obraztie=rand(15,35);
        mysql_query("insert into inventory (`name`,`owner`,`maxdur`,`koll`,`massa`,`img`,`destinyinv`,`type`,`made`,`isrep`) values ('Образец',".$user['id'].",'1',".$obraztie.",".($obraztie/10).",'mater_suv_drop.gif','0','190','oldcity','0')");       
        addchp ('<font color=red><b>Внимание!</b></font> Вы создали предмет "Образец"x'.$obraztie.' ','{[]}'.$user['login'].'{[]}');       
        ist($user['id']); }
@Insallah Вот тебе еще немного к "Суперскому" коду)
 

Invader

Знаток
👑
⚖️
📜
💎
Моих знаний хватило сократить это вот так
PHP:
        $obr_arr = array(
            '7' => array (1,15),
            '8' => array (1,15),
            '9' => array (5,20),
            '10' => array (5,20),
            '11' => array (10,30),
            '12' => array (10,30),
            '13' => array (15,35),
            '14' => array (15,35),
        );

        $obraztie=rand($obr_arr[$user['level']][0],$obr_arr[$user['level']][1]);
        mysql_query("insert into inventory (`name`,`owner`,`maxdur`,`koll`,`massa`,`img`,`destinyinv`,`type`,`made`,`isrep`) values ('Образец',".$user['id'].",'1',".$obraztie.",".($obraztie/10).",'mater_suv_drop.gif','0','190','oldcity','0')");       
        addchp ('<font color=red><b>Внимание!</b></font> Вы создали предмет "Образец"x'.$obraztie.' ','{[]}'.$user['login'].'{[]}');       
        ist($user['id']);
 

Bayer

Знаток
⚖️
🏆
📜
💎
Инс, у меня болят глаза от этой темы, какое сообщение не глянь - может схватить приступ...

У нас в силиконовой долине за такой код убивают =))
 

Invader

Знаток
👑
⚖️
📜
💎
PHP:
if ($_SERVER['REMOTE_ADDR'] == 'Moscow') {
        mysql_select_db ("database", $mysql);
    } else {
        mysql_select_db ("database", $mysql);
    }
Эммм ....
 

Bayer

Знаток
⚖️
🏆
📜
💎
Присоединяюсь кароч.
Развернул какой-то "двиг" аля карнаж на локалке - посмотрел, понял что либо Я был супер глупым мальчиком когда занимался этим, либо... даже не знаю.
Но смотря на это всё уже с нынешним представлением и знаниями становиться очень больно. Что бы я не погряз в этом ... ну вы поняли =) Решил немного усложнить, а может и упростить - у меня есть 10-15 минут что бы что-то переписать или написать.


День 1. Недоумение(так походу будет каждый день над этим проектом называться)
Увидел фреймы, замер, посмотрел на таймер - прошла минута. Вспомнил какой год и тут же одним движением удалил их.
Посмотрел, удалил весь файл. Написал простую идентификацию по кукам. Вместо фреймов div и аякс подгрузка страниц в блоке. Решил, что к этому ещё вернусь, но пока достаточно. Устал. Хочу пить. Чувствую себя подавлено после просмотра пару строчного кода на 80 строках. Не нахожу сил идти дальше, смотрю на таймер - там 7:22, закрываю файлы, сворачиваю опен сервер. Надеюсь на то, что после этого не будут мучать кошмары.
 
Последнее редактирование:
Сверху