ICrit
Members-
Posts
7 -
Joined
-
Last visited
About ICrit
Profile Information
-
Location
DevOpsBase
-
Game Nick
ScrtOfMy9
-
Class
ME
-
Gion reacted to a post in a topic: [Market History] Table Visual Improvements
-
ICrit reacted to a post in a topic: Noob-friendly invasions
-
You just love to hate.. Got it, lol. The balance would be kept even if alts are involved, why, cause the alts are conditioned by the same system in the same way as the newbies. As per the rest of the hate speach, just get over it mate, I don't care to impress unkown people over the internet and I've moved a long time ago from MU "projects', there are other projects far more complex and well paid in the IT industry without the need of a headache from 'players, hackers and other non-nice things' that MU brings with it. Am not here to impress or bother anyone, Odi and Neby corrupted me to play (as you may have well noticed by now) and left me alone after you know what shit server opened I'm just enjoying it with some other old and new people I met (by also being afk 90% of the time kekw). Offtopic: that MG is not me Again, chill, peace and gratz on the nice config. Sorry if you felt offended in any way and no worries I'll stop giving 'flexes' as you call them, lel.
-
So when your staff asks for a "how you'd do that" and I give an answer I flex? Wtf? Weird answer since your staff asked a 'how'. Also, it's not a lua lesson, it's a multi-part integration that requires to have access to source code or that the providers of said service-files have the access, mood, time to code it in (which isn't a really hard implementation); Also, in my profession I actually need to 'speak in the common tongue', which translates to detail and say things so people that are less tech/code inclined understand them, that isn't flexing or giving lessons, but explaining things in a matter that a wide area of people can remotely understand. Also the lua + setting files would grant you some access to said 'black box code' from within the game-server itself (in case you don't have access to it's source code) and that code snippet is so the devs understand the big-picture while you, your staff and your players also understand how a said implementation of a system could be possible. But hey, if you feel offended, I'll just stop offering. As a last thing, congratz on the server config, seems decent and balanced in an overall aspect.
-
Just implement a system where the goldens do reduced dmg and take increased dmg to/from characters that are 'lower' while they do increased dmg and take reduced dmg to/from characters that are 'higher' based on the total number of points a player has (str+agi+vit+ene+lvl-up points); An example using lua script files and settings files from data folder or wherever you have them would be something like this: -- monsterDmg is the dmg the monster has assigned per file settings -- minPoints is a constant that you can come up with depending on what type of golden we\'re talking about (Eg: for golden + 1 the points a player would have at 1 or 2 resets) -- maxPercentage a safeguard to not punish your higher reseted players let\'s say 500% - you can also insert a maxPoints to check against -- player - the Player object stats table that contains str, agi, vit, ene, cmd and level up points def function getDmgDone(monsterDmg, minPoints, maxPercentage, player) local totalPoints = player['str'] + player['agi'] + player['vit'] + player['ene'] + player['cmd'] + player['lpoints'] if (totalPoints < minPoints) then return monsterDmg else local percentage = minPoints * totalPoints / 100 if (percentage > maxPercentage) then percentage = maxPercentage end return monsterDmg * percentage / 100 end end -- The same function can be applied for defense of a monster against a player -- Eg function in case you want a maxPoints check also def function getDmgDone2(monsterDmg, minPoints, maxPoints, maxPercentage, player) local totalPoints = player['str'] + player['agi'] + player['vit'] + player['ene'] + player['cmd'] + player['lpoints'] if (totalPoints < minPoints) then return monsterDmg else if (totalPoints >= maxPoints) return monsterDmg * maxPercentage / 100 end local percentage = minPoints * totalPoints / 100 if (percentage > maxPercentage) then percentage = maxPercentage end return monsterDmg * percentage / 100 end end -- For the dmg taken by the golden function you just change the monsterDmg with the player['dmg'] eg: def function getDmgTaken(minPoints, maxPoints, maxPercentage, player) local totalPoints = player['str'] + player['agi'] + player['vit'] + player['ene'] + player['cmd'] + player['lpoints'] if (totalPoints < minPoints) then return player['dmg'] else if (totalPoints >= maxPoints) return player['dmg'] * maxPercentage / 100 end local percentage = minPoints * totalPoints / 100 if (percentage > maxPercentage) then percentage = maxPercentage end return player['dmg'] * percentage / 100 end end -- You are free to play with this code however you see fit and you could potentialy load the minPoints, maxPoints, maxPercentage variables from a settings files depending on the golden/monster in question -- EG (based on whatever I think may be in the code): -- in a header file, or whatever kind of file is used to populate your C/C++ structures is used -- lobj->loadSpecialMonsterSettings('...whatever path'); // this function populates the structure/sub-structure/class/whatever with multiple instances of other sub-structures/sub-classed that hold the monsterID, the minPoints, the maxPoints and the maxPercentage [from the said settings file] -- .... here goes a lot of shit ton of code for whatever purposes and stuff ... and wherever/whenever it gets to the function that computes the dmg the monster does/takes, right before they start or inside it wherever you see fit: -- .... code that's used before the call to the function to get monster dmg against player -- -- /* you can insert the mentioned above functions here like: -- here is the block of code that you would call in a way to compute that monster dmg modification -- if (lobj->SpecialMonsters->isSpecialMonster(lobj->monster->getId()) { -- char[] luaFunction = "getDmgDone2"; -- Array<vector> functionArgs[6]; -- Array<vector> playerTable = ['str' -> lobj->player->getStr(), 'agi' -> lobj->player->getAgi(), 'vit' -> lobj->player->getVit(), 'ene' -> lobj->player->getEne(), 'cmd' -> lobj->player->getCmd(), 'lpoints' -> lobj->player->getLvlUpPoints()]; -- functionArgs['monsterDmg'] = lobj->monster->getDmg(); -- functionArgs['minPoints'] = lobj->SpecialMonsters->getMinPoints(lobj->monster->getId(); -- functionArgs['maxPoints'] = lobj->SpecialMonsters->getMaxPoints(lobj->monster->getId(); -- functionArgs['maxPercentage'] = lobj->SpecialMonsters->getMaxPercentage(lobj->monster->getId(); -- functionArgs['player'] = *playerTable; -- lobj->monster->setDmg(lobj->callToLuaFunction('..path to lua file', luaFunction, *functionArgs)); -- } -- -- And that is end of the code of block -- you can use the block here before this return -- return lobj->monsterDmgDoneTopPlayer(lobj->monster->getDmg(), lobj->player, lobj); -- -- ..... other code or whatever ..... -- -- double monsterDmgDone(monster, player, lobj) { -- or you could call that block of code here to compute the monster dmg modification -- ... code bla bla ... -- or you could call that block of code here to compute the monster dmg modification -- return whateverComputedMonsterDmg // you could use that block of code as a function and wrap the whateverComputedMonsterDmg in that function -- } --
-
It's written in the post itself lel. Anw, that's not really what I would call coding. The template itself doesn't look like that and it includes alot of PHP code most likely (unless it has a frontend written fully in JS), either way if needed I can help pin-point the exact changes (it's not really a big of a 'code change' it's just some remake of the elements style, that's really all);
-
Character Name: CritsKills Suggestion Type: Website Suggestion content: The recent market history table update is a really nice improvement from the old 'template', but it can go even further, especially the table displaying the details of each transaction since it looks like this currently: All that's needed is just some tiny tweeks to the 'style="..."' attribute of the cells and it could end up looking somewhere closer to this: An example of that code for that would be this: <spoiler> <table class="ranking-table" style="line-height:15px;"> <thead> <tr class="main-tr"> <th style="text-align:center;">#</th> <th style="text-align:center;">Item</th> <th style="text-align:center;">Added on</th> <th style="text-align:center;">Merchant</th> <th style="text-align:center;">Buyer</th> <th style="text-align:center;">Bought On</th> <th style="text-align:center;">Price</th> </tr> </thead> <tbody> <tr> <td style="align-content:center; border: 1px solid black;">1</td> <td style="align-content:center; border: 1px solid black;"> <span id="market_item_223619" data-info="0101530015343402009000FFFFFFFFFF"> <a style="cursor:pointer"><span style="color:green;font-family: tahoma;font-size: 12px;">Exl. Dragon Pants </span></a> </span> </td> <td style="align-content:center; border: 1px solid black;">05/11/2020 15:11</td> <td style="align-content:center; border: 1px solid black;"> <a href="https://mu.oldsquad.ro/details/character/50657750657743726974/Max30RR">PewPewCrit</a> </td> <td style="align-content:center; border: 1px solid black;"> <a href="https://mu.oldsquad.ro/details/character/4861646573/Max30RR">Hades</a> </td> <td style="align-content:center; border: 1px solid black;">10/11/2020 05:37</td> <td style="align-content:center; border: 1px solid black; width: 100px;"> <span class="market_bless " style=""> 1 x <img width="30" height="50" style="padding-right: 10px;" src="https://mu.oldsquad.ro/assets/jewels/bless.gif" alt="MuOnlineWebs" title="Jewel of Bless" /> </span> <br/> </td> </tr> <tr> <td style="align-content:center; border: 1px solid black;">2</td> <td style="align-content:center; border: 1px solid black;"> <span id="market_item_223297" data-info="10C250001325FE00004000FFFFFFFFFF"> <a style="cursor:pointer"><span style="color:#E68A2E;font-family: tahoma;font-size: 12px;">Saint Crossbow +8</span></a> </span> </td> <td style="align-content:center; border: 1px solid black;">05/11/2020 15:12</td> <td style="align-content:center; border: 1px solid black;"> <a href="https://mu.oldsquad.ro/details/character/50657750657743726974/Max30RR">PewPewCrit</a> </td> <td style="align-content:center; border: 1px solid black;"> <a href="https://mu.oldsquad.ro/details/character/5461646575737a/Max30RR">Tadeusz</a> </td> <td style="align-content:center; border: 1px solid black;">09/11/2020 17:38</td> <td style="align-content:center; border: 1px solid black; width: 100px;"> <span class="market_bless " style=""> 1 x <img width="30" height="50" style="padding-right: 10px;" src="https://mu.oldsquad.ro/assets/jewels/bless.gif" alt="MuOnlineWebs" title="Jewel of Bless" /> </span> <br/> </td> </tr> <tr> <td style="align-content:center; border: 1px solid black;">3</td> <td style="align-content:center; border: 1px solid black;"> <span id="market_item_222098" data-info="0040D400156A3C0000C000FFFFFFFFFF"> <a style="cursor:pointer"><span style="font-family: tahoma;font-size: 12px;">Wings of Elf +8</span></a> </span> </td> <td style="align-content:center; border: 1px solid black;">05/11/2020 15:11</td> <td style="align-content:center; border: 1px solid black;"> <a href="https://mu.oldsquad.ro/details/character/50657750657743726974/Max30RR">PewPewCrit</a> </td> <td style="align-content:center; border: 1px solid black;"> <a href="https://mu.oldsquad.ro/details/character/43756d7061/Max30RR">Cumpa</a> </td> <td style="align-content:center; border: 1px solid black;">07/11/2020 15:03</td> <td style="align-content:center; border: 1px solid black; width: 100px;"> <span class="market_chaos " style=""> 5 x <img width="30" height="50" style="padding-right: 10px;" src="https://mu.oldsquad.ro/assets/jewels/chaos.gif" alt="MuOnlineWebs" title="Jewel of Chaos" /> </span> <br/> </td> </tr> <tr> <td style="align-content:center; border: 1px solid black;">4</td> <td style="align-content:center; border: 1px solid black;"> <span id="market_item_222094" data-info="0B0229001098190A00B000FFFFFFFFFF"> <a style="cursor:pointer"><span style="color:green;font-family: tahoma;font-size: 12px;">Exl. Silk Boots </span></a> </span> </td> <td style="align-content:center; border: 1px solid black;">05/11/2020 15:11</td> <td style="align-content:center; border: 1px solid black;"> <a href="https://mu.oldsquad.ro/details/character/50657750657743726974/Max30RR">PewPewCrit</a> </td> <td style="align-content:center; border: 1px solid black;"> <a href="https://mu.oldsquad.ro/details/character/43756d7061/Max30RR">Cumpa</a> </td> <td style="align-content:center; border: 1px solid black;">07/11/2020 15:01</td> <td style="align-content:center; border: 1px solid black; width: 100px;"> <span class="market_chaos " style=""> 3 x <img width="30" height="50" style="padding-right: 10px;" src="https://mu.oldsquad.ro/assets/jewels/chaos.gif" alt="MuOnlineWebs" title="Jewel of Chaos" /> </span> <br/> </td> </tr> <tr> <td style="align-content:center; border: 1px solid black;">5</td> <td style="align-content:center; border: 1px solid black;"> <span id="market_item_221603" data-info="0338A00010F6450000C000FFFFFFFFFF"> <a style="cursor:pointer"><span style="font-family: tahoma;font-size: 12px;">Wings of Spirits +7</span></a> </span> </td> <td style="align-content:center; border: 1px solid black;">06/11/2020 00:07</td> <td style="align-content:center; border: 1px solid black;"> <a href="https://mu.oldsquad.ro/details/character/50657750657743726974/Max30RR">PewPewCrit</a> </td> <td style="align-content:center; border: 1px solid black;"> <a href="https://mu.oldsquad.ro/details/character/6c4368756b756e646168/Max30RR">lChukundah</a> </td> <td style="align-content:center; border: 1px solid black;">06/11/2020 16:11</td> <td style="align-content:center; border: 1px solid black; width: 100px;"> <span class="market_credits " style=""> 250 x <img width="30" height="50" style="padding-right: 10px;" src="https://mu.oldsquad.ro/assets/jewels/credits.gif" alt="MuOnlineWebs" title="Credits" /> </span> <br/> <span class="market_bless " style=""> 30 x <img width="30" height="50" style="padding-right: 10px;" src="https://mu.oldsquad.ro/assets/jewels/bless.gif" alt="MuOnlineWebs" title="Jewel of Bless" /> </span> <br/> <span class="market_soul " style=""> 30 x <img width="30" height="50" style="padding-right: 10px;" src="https://mu.oldsquad.ro/assets/jewels/soul.gif" alt="MuOnlineWebs" title="Jewel of Soul" /> </span> <br/> <span class="market_chaos " style=""> 5 x <img width="30" height="50" style="padding-right: 10px;" src="https://mu.oldsquad.ro/assets/jewels/chaos.gif" alt="MuOnlineWebs" title="Jewel of Chaos" /> </span> <br/> </td> </tr> </tbody> </table> </spoiler> These changes can be made in the market history template that dynamicaly generates the view (populates it with real dynamic data), but I think you already know what I'm talking about; How this would bring value: Well that's straight forward, it is a really easy and fast to do modification that improves how all of us visualise that history table and allows us to cleanly and fastly read through it without having to stress our eyes trying to distinguish column from column, row from row, etc. It's a quality of life improvement that I'm sure no one will really have anything against it. How would I personally implement it: Well I already left you a picture and a code snip of a 'sketch' that already improved the visualisation of the table
-
Gion reacted to a post in a topic: [BUG/MISS-CONFIG?] Elf Wings Lvl2 @ Website Chaos Machine
-
[BUG/MISS-CONFIG?] Elf Wings Lvl2 @ Website Chaos Machine
ICrit replied to ICrit's topic in Game Questions / Problems
So just bad info. Then you should correct it. Cheers. -
ICrit joined the community