Jump to content

Tryskell

Legendary Member
  • Posts

    5,373
  • Joined

  • Last visited

  • Days Won

    70
  • Feedback

    0%

Everything posted by Tryskell

  1. As I'm insanely cute today, I will share you the mechanism of mine. Some things you must know : - Do whatever you can/want with this source, I don't give any support, except the short explanation I will do right now. - Clever people will find it usefull, lazy will find it useless. Your problem seriously lol. - It's surely not the most optimized way to do it, and I really don't give a fock. - It's made for IL, so try to adapt it if you need. - In Epilogue++ you got a punishement system, no idea how far it's advanced. - I used the veerrryyy old C3 website to make this feature (deutch words in it, I don't even know the translation, just suposed it). First, a picture : You can see my Navicat stuff, with a table named "site_eg". It's a table I specially created to stock all punishements features. It didn't existed at all before. When you open it you got many columns : id, reason, victim_name, etc. In background, you got the formated result on my homemade/stocked website. Now the source code, you can dl too at this address : http://www.4shared.com/file/NdQUBN_W/eg_online.html <?php $verbindung=MYSQL_CONNECT($dbhost,$dbuser,$dbpass) or die ("mySQL database have a problem ; please come back later."); MYSQL_SELECT_DB($dbname) or die ("mySQL database have a problem ; please come back later."); $get_eg="SELECT * FROM site_eg ORDER by id DESC"; $eg=MYSQL_QUERY($get_eg); //Initialisation pour une valeur de départ non null pour rentrer dans la boucle $row = "0"; while ($row != null) { $row = mysql_fetch_array($eg); if ($row["punishement"] == 1) $row["punishement"]="Chatban"; elseif ($row["punishement"] == 2) $row["punishement"]="Jail"; elseif ($row["punishement"] == 3) $row["punishement"]="Delevel"; elseif ($row["punishement"] == 4) $row["punishement"]="Decreased enchant"; elseif ($row["punishement"] == 5) $row["punishement"]="Character ban"; elseif ($row["punishement"] == 6) $row["punishement"]="Account ban"; if ( $row != null ) { echo "<tr>"; echo "<td>" .prettydatenews($row["postdate"]). "</td>"; echo "<td>" .$row["victim_name"]. "</td>"; echo "<td>".$row["punishement"]. "</td>"; echo "<td>".$row["time"]. "</td>"; echo "<td>".$row["reason"]. "</td>"; echo "</tr>"; } } echo "</table>"; function prettydatenews($uglydate) { // Format de la date (DD-MM-YYYY pour les news de l'accueil). return date("d.m.Y", mktime(0,0,0,substr($uglydate, 5, 2),substr($uglydate, 8, 2),substr($uglydate, 0, 4))); } ?> Some explanations : we log to the db, with password W and login Y and we do a SQL request on it : SELECT * FROM site_eg ORDER by id DESC, which means basically : select all the damn data from my table "site_eg" and order it via their "id" After it's a question of format... It creates a table, and do all the shit clean lol. For example, it renames the punishement, which is basically a system of 6 numbers per a "name". Punishement 1 = name1, punishement 2 = name2,... There will have no graphics at all like mine. If you read my sources from the 4shared place, you can see clearly I used headers and footers in php where I do some calls to my .css stylesheet. As I didn't share my whole site (Maxcheaters will rip it in some months perhaps, if my server is launched a day, who know lol), you miss all graphical part, which isn't the issue in your problem, we agree :D. --- Basically, it's all for the "read". Now you need the "write" code, aka java commandhandlers heavy modifications :D.
  2. You dream lol. Search coyote faction engine, the one which is a rip from L2JFree. If you want a decent faction engine, rip the L2JFree one, and you will have modifications to make anyway according to your wishes. To help you, I have post on it... Some months ago. And forgive blue next time, you killed my eyes, we're not Christmas yet.
  3. You surely miss a column in your database, or the //spawn command tries to add more datas than your current database format can support. What can you do then ? Search your spawn command, and analyze it. It will show which columns are used. Compare it with your spawn database format, or the table where your custom spawns are supposed to be stored. My serverpack uses another table for custom spawn. So be AWARE. PS : even if your signature is sexy, can you decrease the height per... 10 ? Lol, just change of signature dude. And she got fake boobs.
  4. There is one part related to Java (custom //ban command), and a big part related to PHP. To be simple, when you ban someone ingame, it write his name in a banlist table, with reason etc. PHP read your table "banlist", like it could read your table "heroes" if you had a "heroes" page. ---- THE FOLLOWING IS JUST A GUIDELINE. YOU HAVE TO MAKE THE IMPROVED COMMAND AND THE PHP PART OBVIOUSLY. It could work with a command like //ban characterName Duration ReasonofBan It's an accurate command which need 3 parameters, but you can cut it to the CharacterName if you got a PHP administration panel (which mean more work for my part lol, so I prefer java). The command kick and ban the guy ofc, but write a SQL command in a banlist table (table you improved/created if no exists). Once you got your registered banned character, you have to code a PHP code in your website (make a page for it like your exemple...) to put in in format. I invite you to search guides on this forum about "show heroes on website" and such things. Dunno if I was rly clear lol, but just don't hope someone make it for you. It's rly not hard, but it asks some time if you want to do a clean thing. I coded this thing myself (except the improved //ban command), so it's possible. ----- Some more things : - find the command //ban easily using the powerful "search" from eclipse. It's in admincommandhandlers, or whatever depending of your chronicle. - search definitively a "heroe" or any guide which pick stats from database to call it on webpage. It's the easiest way to understand.
  5. You focked something which make error when admin commands are initialized, cf "AdminCommandHandler.getInstance" It happens when this line is called AdminCommandHandler.java, line 37 And it's surely related to "GameServer.java". The <init> thing. You perhaps deleted it. If not, I don't know and verify what you edited, you made a stupid thing for sure.
  6. Fortunately / unfortunaley (depends of PoV), it's the only way. Without bitching, I don't think subclass system have been modded so hard than you can't correct some errors. Correcting errors is often a question of time. Currently that doesn't help you, but you don't give any source code on what to work... My "I Code, you Play" function isn't activated.
  7. What release are you using, on what revision ? When exactly it happens ? Any critical error in GS ? Except a badass lag, it has nothing to do with mySQL nor hardware. If you use a release which isn't L2J Free / L2J, you increase by 191,21% your luck to be on a crappy pack.
  8. For upper posts, don't feed trolls. The SpreeKills have been added twice in 2 differents methods, wtf ? Do a search with "switch(SpreeKills)", you will see what I talk. - Just create a method "SpreeKillsCall", and call it when you need it... Normally once is enough. - Your SpreeKills isn't reseted at death... Only at delog lol. On the "doDie" method, put a "SpreeKills = 0;" ----- Second, and this should answer your question, the 2 uses of SpreeKills are in "increasePvpKills" and "increasePkKillsAndKarma" methods. "increasePkKillsAndKarma" got a faction restriction (and it's normal, to avoid to get karma). The whole method is just ignored. For "increasePvpKills" method, it is surely not used in your faction system. Try to verify first if you get a pvp point from an enemy. If you haven't, add "increasePvpKills;" where it is needed. If you have, you're unlucky and need more searches. As I'm very cute (:>) you will surely have to edit "onKillUpdatePvPKarma". And as I'm INSANELY cute it's after "// Check if it's pvp" commentary. Normally a faction system haven't a pvpflag, so this pvp checker is failed, and works for normal players, but not for faction. End of the spoiler. ---- Finally, and as old intensive player of faction servers, and developer of my own, I think the idea is a fail in the sense some guys can reach easily 400 pvps in a row (and it has really happen on a well known server), so what ? You code 400 different sprees ? Even if the render is very graphical and candy-eye looking, it's bad idea finally. Idea is good, but in gamers' reality... Well you got my point. Was my 2,1 cent. ---- Try that : After // Check if it's pvp, you got if ( ( checkIfPvP(target) && // Can pvp and targetPlayer.getPvpFlag() != 0 // Target player has pvp flag set ) || // or ( isInsideZone(ZONE_PVP) && // Player is inside pvp zone and targetPlayer.isInsideZone(ZONE_PVP) // Target player is inside pvp zone ) ) increasePvpKills(target); else // Target player doesn't have pvp flag set { // check about wars if (targetPlayer.getClan() != null && getClan() != null && getClan().isAtWarWith(targetPlayer.getClanId()) && targetPlayer.getClan().isAtWarWith(getClanId()) && targetPlayer.getPledgeType() != L2Clan.SUBUNIT_ACADEMY && getPledgeType() != L2Clan.SUBUNIT_ACADEMY) { // 'Both way war' -> 'PvP Kill' increasePvpKills(target); return; } // 'No war' or 'One way war' -> 'Normal PK' if (targetPlayer.getKarma() > 0) // Target player has karma { if (Config.KARMA_AWARD_PK_KILL) increasePvpKills(target); } else if (targetPlayer.getPvpFlag() == 0) // Target player doesn't have karma { increasePkKillsAndKarma(target); //Unequip adventurer items checkItemRestriction(); } } You have to add a code to say "hiho, i'm in a faction server, all those checks are useless and make my code buggy". For that we will use a variable, like that you can ON/OFF the system. This variable seems to be already used by your faction engine, on configs .txt part. The code I wroten must be taken between that : if (!Config.ENABLE_FACTION_ENGINE) { code I linked } else increasePvpKills(target); What it does exactly ? It bypasses all checks if the variable is set to "True", and go directly to the "increasePvpKills" method, which supposed to add you 1 pvpkill and do your abracadabra system. Don't forget to remove the uselesss code you added in "increasePkKillsAndKarma". It's not needed for your faction system, except for normal players.
  9. I just had to check characters.sql to see my own server is more updated than this project :). You haven't even CharEffectList. One hint : check L2J timeline, from the end of IL (around changeset 148x). I made around 300 commits from their timelines. You got signets and 3rd skills ? Or they bug like 99% of projects ? Made me lol too :). You should stop to c/p from others distributions and develop what should be L2, aka no mods. My 50 cents... Anyway, gl.
  10. Hiho, I don't get why you put a table for those values, when there is only 1 for both the 3 lvls of the skill. <table name="#Tab-Def">1.5</table> <table name="#Tab-hpEff">0.2</table> <table name="#time">60</table> Secondly, why that : <table name="#reuseDelay">300000</table> <set name="reuseDelay" val="#reuseDelay"/> Why to make 2 lines when 1 is enough. Third : <add order="0x40" stat="accCombat" val="6"/> According to you, why there is a value here when others got tables with a single value in :P. I mean, your skill haven't format. Some values got a table even if not needed, when others haven't table. Well it doesn't need table, but according to your format, it should. It isn't logical. You can decrease your skill by 4 lines, multiply it by the number of skills in each .xml, that make around... 4000 lines or + ? Fourth : Don't listen Intrepid, all he make is fine, all make others are bad :P (like Sethek, they must be hidden brothers). It's that when you become a decent programmer, you forget you have been a noob. There are manners to say something. Fifth : Where have you found values ? Can it be reliable ? Oh, and your self-control amazed me lol. Stay like that, my hero ahah. Regards, Tk.
  11. I talk about IL, but it mustn't be far if you use gracia++... By default, near all configs are hardcoded in config.java. Some exceptions : olympiad variables are in olympiad.java for ex. There are even configs you couldn't find in .txt, cause they're more serious, and can break your server lol. Sooooo, to answer cause sometimes ppl aren't logic, no it's not a problem cause they must surely are hardcoded (you can see default options on the top bottom of config.java normally). .txt configs are used when answer differs. Well it was like that in IL. ------ PS : I checked and it's still like that. Exemple : Which give RB HP regen multiplier of 1 by default, if .txt aren't modified. About oly variables, it has been moved to config.java. About location of those default variables, it's now organized by file. Each file have his own section.
  12. There are 4 (or 3) antharas because there are actually 4 (or 3) different Antharas, according to the power of the party who goes to the lair. Drops and power are totally different.
  13. Guy, learn to read...
  14. I think you missed the important part :D I added it have been sniffed (well, to be right, committed) after end of shiterlude and beginning of kamalol :). So it's probably an after-IL packet. Personnally I didn't see any implementation of this packet on current IL forks. Well perhaps it misses use, or people don't know how to do, or it's jsut not possible :). I will perhaps try //forge finally :D. And I agree with you : you can complete the IL packets infos via actual or at least kamael infos, when it's reliable.
  15. How it's possible if the client haven't it coded (aka, no recognize it) ? Or I'm a bad boy & I understand nothing :> ?
  16. Basically, it's the definition of the freightman. He just have to mod it *a little*. Really little.
  17. If you haven't freightman (lol), just steal it from past chronicles. I don't get the point.
  18. First version has been implemented around 300 rev after the end of IL :). Only time and text. http://www.l2jserver.com/trac/changeset/1766 I suppose packet didn't exist on IL, cause packets like partymatching, even if they weren't exploitable, existed. Well, if you succeed, share your discover :D. L2JTeon added the 1766rev one, but no exploitation of it lol. An enterworld message is enough to see if it's works or no... I suppose it just don't work.
  19. Hey Andrey, the image you got in your sig is from me :). DC robe human name is Sephrania, NM robe one is Sealiah :). Just for the story ahah. You have taken it from DeviantArt ? First time I see someone using my pictures, lol. I feel proud. ---- About topic : if I can give you an advice, change of pack. Rev 17 isn't serious. MMOcore can be taken from L2J or L2JFree svns, according to which is based L2JRox. Or you can ask directly to the L2J Rox founder, but seriously, it's not reliable.
  20. What there is in line 103 of L2EnchantSkillGroup.java ? I suppose a level condition.
  21. Make it alone or pay someone to make it. No one will do it for "your eyes". If you got SQL problems you can ask for help but you just want the script. SkyNet is right saying you're lazy. You want perhaps someone admin your server too and dev it ? Lol. It's what, 5 lines to change ? Pppff... It's nice there are such dreamers in this world... PS : UPDATE is your friend. PS2 : Make your own. And don't whine. http://www.sql-tutorial.net/SQL-UPDATE.asp
  22. Try your exploit on a new revision and see what happen. If there is a fix, you will find it easily according to gameserver log message. And there a section for olders projects, as they re-shared all old stuff, near 6 months ago...
  23. As security, be sure than IP, username, psw and database are the good too... No spaces "like_that ". ---- Well according to what I read, it's come from your host. http://forums.mysql.com/read.php?52,151255,151255#msg-151255 Apparently, it can comes too if your host got a problem : http://www.appnitro.com/forums/topic/cant-connect-to-database-mysql-system-error-111 And according to the last topic : I suggest to contact your hosting tech support. Gl, Tryskell.
  24. How can I fix this? Ban IP, and release it anew some days after. It's stupid to let an IP banned forever, as IPs are modified each time you reboot your box (livebox, etc, etc). You can add such conditions where is the "Potential Flood from" message. Instead of just logging the gameserver with "there is flood", you add actions like close connection / ban IP... About releasing banned IPs, you can do it manually, or automatically via an admin command / scheduled task. But you have to program, it's clear. If it's not a LIVE server (aka there aren't players on it except you), you just focked your server alone lol. Checkout anew, or correct your fixes. ---- An other way is to show it to developers via tickets system... With exact logs.
×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..