[Release] Item Upgrade Warehouse

dota-sdso

Well-Known Member
Joined
Apr 30, 2014
Messages
590
Reaction score
822
Логин страница

asdasdasdasd.png



Ъпгрейд статистика

Untitled.png


Ъпгрейд секция

UntitledW.png




Страница за изпращане и получаване на съобщения (my account)

accde.png

Здравейте колеги,

Дойде време да споделя нещо, на което тестовата версия беше релийсната 2016-та година и от една година само стои и събира прах в харда. Първоначалната ми идея беше да опозная и си поиграя с хекса на предметите и образуването на опциите в него, като в последствие прерасна в доста по-голям проект. Аз по принцип си реализирам идеите, но понякога стават толкова обемисти, че не ми стига времето да ги завърша.

В тоя ред на мисли той стоеше, защото исках да го завърша напълно и тогава да го релийсна. За съжаление съм доста ангажиран с учене и работа и реших да ми отпадне, като ангажимент и вместо да стои, по-добре да го релийсна както е в момента за да не го мисля. Работи коректно до сезон 1 с всички PHP версии благодарение на класа на Дамян.


Ъпгрейд на предмети

Инсталация
- Добавяне на скрипта прикачен към архива в SQL сървър-а
- Задаване в config.php на връзката към базата
- Подмяна на стойността на променливата $options['web_session'] сесията на вашият уебсайт
- Задаване на администраторски акаунт чрез променливата $option['admin_acc']
Това е всичко за самата инсталация, останалото е описано в самият конфигурационен файл.

Дизайн
-
Напълно динамичен (responsive) дизайн с помоща на bootstrap
- Динамика във възпроизвеждането на съобщенията и анимацията при ъпгрейд на предмет
- Динамично търсене на предмети с предложения според въведеното
- Използвани са Google Charts API за рендирането на някои от таблиците и схеми, като съм оставил някои просто за да си пазят място и за пример как работят за да можете в последствие да използвате логиката и добавите каквото искате допълнително.

Модули
- Самостоятелен логин
- Админ Панел (добавяне или премахване на предмети за ъпгрейд, техните опции и )
- Ъпгрейд на предмет
- Акаунт Информация
- Изпращане и получаване на съобщения до админ
- Методи за плащане * Paypal, Paymentwall, E-pay, Mobio, PayGol, Fortumo (имплементирани от системата за плащане, която направих за DTweb)
- История на ъпгрейдите

Възможности
- Може да работи самостоятелно независимо от вашият уебсайт, като Webshop.
- Опция за добавяне и премахване на нонкретен предмет за ъпгрейд
- Опция за добавяне и премахване на всички предмети за ъпгрейд със стандартни стойности за успех и цена от 50 (това е тестова опция за да не добавяте предметите един по един когато искате да тествате дадена селекция от предмети преди да ги добавите официално)
- Възможност за премахване и/или добавяне на всяка опция, която може да бъде добавена на определен вид предмет (luck,skill,excellent,ancient,level,option)
- Добавяне на цена и шанс за успех на всяка специфична опция за всеки отделен предмет
- Опция за рандномизирано намаляване на нивото на предмета при неуспешен ъпгрейд (примерно ако е 12 ще го смъкне на от 0 до +11)
- Опция за изтриване на предмет при неуспешен ъпгрейд

Планирани но НЕ-реализирани
- Куест система / Тук дори не бях стигнал до решение точно каква да бъде, но ми се въртеше нещо в главата да има куестове които да са свързани само със сетовете (независимо от итем опциите), като да има слотове в които да можеш да поставяш част от сет и когато се напълни да ти дава определен от администратора бонус (под формата на ъпгрейд на един сет итем безплатно или определена опция). След това да ти се отвори нов сет куест.
- Игри за залагания / По този въпрос не съм мислил какви точно игри да бъдат


Демонстрации
Item Upgrade Workshop 1.0 User: test / Password: test
DT Web 2.0 All Seasons Version User: test / Password:test

Парола за архива:
www.DarksTeam.net
 

Attachments

  • DTeam Item Upgrade WorkShop v1.0.rar
    8.5 MB · Views: 65
Last edited:

dota-sdso

Well-Known Member
Joined
Apr 30, 2014
Messages
590
Reaction score
822
Дай лин ве гад такава ...

Що бре, я виж какви хубави снимки съм релийснал, и как си пасват на синята тема на форума. Убиец!. Цяла седмица си играх да ги редя на фотошопа.
 
  • Like
Reactions: Brazil

dota-sdso

Well-Known Member
Joined
Apr 30, 2014
Messages
590
Reaction score
822
Може би е добре да спомена за търсачите на "съкровища", че на VPS-a на който са пуснати демотата няма абсолютно нищо освен това което вече съм релийснал тук. Той е нает специално за тази цел, така че усилията им ще са напълно безсмислени.
 
  • Like
Reactions: Dea7h

dota-sdso

Well-Known Member
Joined
Apr 30, 2014
Messages
590
Reaction score
822
Питаха ме дали няма възможност всички предмети да се добавят с 100 % шанс, може би е добре да добавя малко разяснение по въпроса с принципа на работа на модула. Това е по-скоро за тези, които искат да разберат как работи за да могат да си добавят допълнителни функции по-лесно. А за тези, които искат да им го направи някой на готово, ще трябва да си почакат, ако изобщо някога се случи.

Това е кода, който съм добавил в демо версията за да ъпдейтва всички предмети със 50% шанс за успех на всички възможни опции за опредленият предмет и 50 кредита цена.

PHP:
<form class="form" method="post">
   <input class="btn btn-primary" type="submit" name="addall" value="Add All"/>
   <input class="btn btn-primary" type="submit" name="clearall" value="Clear All"/>
</form>

<?

if(isset($_POST['addall'])){
         $opt_price   = '["50:50","50:50","50:50","50:50","50:50","50:50"]';
         $luck_price  = '[50,50]';
         $lvl_price   = '["50:50","50:50","50:50","50:50","50:50","50:50","50:50","50:50","50:50","50:50","50:50","50:50","50:50","50:50","50:50"]';
         $exl_price   = '["50:50","50:50","50:50","50:50","50:50","50:50"]';
         $anc_price   = '["30:50","30:50"]';
         $skill_price = '[30:50]';
         $query       = "Update [r00tme_Upgrade_Item] set [upgradable]   =  1;";
         $query      .= "Update [r00tme_Upgrade_Item] set [opt_price]    = '".$opt_price."' where [option]  = 1;";
         $query      .= "Update [r00tme_Upgrade_Item] set [exl_price]       = '".$exl_price."';";
         $query      .= "Update [r00tme_Upgrade_Item] set [anc_price]    = '".$anc_price."' where [ancient] = 1;";
         $query      .= "Update [r00tme_Upgrade_Item] set [luck_price]   = '".$luck_price."' where [luck]   = 1;";
         $query      .= "Update [r00tme_Upgrade_Item] set [skill_price]  = '".$skill_price."' where [skill] = 1;";
         $query      .= "Update [r00tme_Upgrade_Item] set [lvl_price]    = '".$lvl_price."';";
         mssql_query($query);
     }
     if(isset($_POST['clearall'])){
         mssql_query("Update [r00tme_Upgrade_Item] set [upgradable] =0,[opt_price]='',[exl_price]='',[anc_price]='',[luck_price]='',[skill_price]='',[lvl_price]=''");
     }
?>

Записа трябва да е json формат като първата стойност е success rate а втората цената в кредити.
В случаят ако подадем запис със стойности $exl_price = '["50:50","50:50","50:50","50:50","50:50","50:50"]'; означава, че всичките 6 опции на предмета ще могат да се ъпгрейдват или по-нагледно:

Code:
              опция 1  опция 2 опция 3 опция 4 опция 5 опция 6
$exl_price   = '["50:50","50:50","50:50","50:50","50:50","50:50"]';
                [шанс за упсех:цена в кредити]

Това се отнася по същата логика за останалите опции, нива на предмета, лък и скил. Съответно когато въведете нещо от сорта на $exl_price = '["10:600"]'; - функцията ще приеме, че на даденият предмет само първата екселент опция може да се ъпгрейдва, като success chance = 10% и цена 600 кредита. Тук идва и момента ако искаме само първа и трета опция тогава въвеждате $exl_price = ' [ "10:600", "0:0" , "10:600" ] ' ; - по този начин маркирате втора празна позиция и арея си е валиден и функцията работи коректно.

Другото важно нещо ,което трябва да знаете е, че за всеки предмет има въведени в таблицата r00tme_Upgrade_Item luck, skill, exeopt, option, ancient, fail и upgradeable. Стойностите могат да бъдат 0 или 1, като 0 означава, че предмета не може да има дадената опция, а едно, че може. Това на практика е информацията от item.txt на вашият сървър и трябва да е коректно попълнена (сравнена), защото в противен случай , модула ще добави нещо което сървъра няма да приеме на даден предмет или просто ще го прецака. Същото важи и за upgradeable колонката която маркира даден предмет дали в момента може да се ъпгрейдва или не. Независимо дали има подадени стойности в остналите колонки, ако в тази записа е 0 предмета няма да може да се ъпгрейдва.

Надявам се да сте схванали основното и да можете да си направите някакви допълнителни бутони и функционалости по категории и т.н.
 
Last edited:
  • Like
Reactions: HePegoBeH

dota-sdso

Well-Known Member
Joined
Apr 30, 2014
Messages
590
Reaction score
822
will this work with MUEngine server files?

Not straight away. It will need some optimizations which I am not planning to implement for now. The code is shared to the public so you are free to make it work with newer versions.
 
Last edited:

scriptkid

Member
Joined
Feb 6, 2012
Messages
35
Reaction score
1
i see, coz right now i got plenty of modules for Webengine but it is coded with Zteam :(

and I am using MUEngine Season 6