Jump to content

Angelix

Community
  • Content Count

    522
  • Joined

  • Days Won

    69

Everything posted by Angelix

  1. Angelix

    Npc

    I doubt someone has that kind of NPC, you must do it yourself by using stored variables or give players an item when winning and then they exchange that item at the NPC. No, it isn't possible. That a hard-coded function at GameServer/Client level. You can modify the Source Code if you know what you're doing, otherwise, it's a no.
  2. So the point of this thread is plain and simple: provide short, clean and useful functions to replace all those multiple, messy and commented codes in your server files. I did this because there's literally thousands of lines and they repeat themselves, per item, they only change their value. I though of these while cleaning my scripts, like ItemEffect.lua. I can reduce the amount of lines per file, easier to read, modify (add, delete and alter) and maybe throw in there some useful additions. I'll try to keep this thread update whenever I can make new scripts to reduce lines. It'll be in spoiler format, those spoilers will contain some basic information, the variable lines and the function itself. Please note that you'll have to alter ItemInfo.txt in some/most cases, since these scripts literally replace the older functions. If this thread is on the wrong place, please go ahead and move it to where it corresponds, thanks. Please do note that I'm currently doing this without testing them in-game (too lazy to open it right now), but they should work, if not, let me know.
  3. Angelix

    [1.0.0] topCMS

    Working! Had to restart apache though. Now it properly shows the amount of characters that belong to GM accounts.
  4. Angelix

    [1.0.0] topCMS

    They're all working fine. A little issue I saw is that the "Staff Online" section shows all character of all GM accounts, thing is that it shows characters that don't belong to those accounts anymore. If in my GM account I had 3 characters, deleted one and then created another, that section will show 4 characters. Maybe only show online characters that belong to a GM account or only show characters mentioned in the account table, not the character that refer to a GM account.
  5. Why not try this? if VarEvent == true if VarPlayer[Name].OnlineTime == nil then VarPlayer[Name].OnlineTime = 0 elseif VarPlayer[Name].OnlineTime == 300 then -- Give Item VarPlayer[Name].OnlineTime = 0 else VarPlayer[Name].Online = VarPlayer[Name].Online + 1 end end Something I just came up with if you just wanted help. Now if you want something you can use, then try this script. OnlineEvent = {} OnlineEvent.Items = {} OnlineEvent.Players = {} OnlineEvent.Active = false -- Whether event is active or not. OnlineEvent.Time = 60 -- In seconds. OnlineEvent.Items[1] = {ID = 0, Quantity = 0} OnlineEvent.Items[2] = {ID = 0, Quantity = 0} -- This should go into cha_timer function. local Name = GetChaDefaultName(Player) if OnlineEvent.Active == true then if OnlineEvent.Players[Name] == nil then OnlineEvent.Players[Name] = 0 elseif OnlineEvent.Players[Name] == OnlineEvent.Time then local Random = math.random(1, table.getn(OnlineEvent.Items)) GiveItem(Player, 0, OnlineEvent.Items[Random].ID, OnlineEvent.Items[Random].Quantity, 4) OnlineEvent.Players[Name] = 0 else OnlineEvent.Players[Name] = OnlineEvent.Players[Name] + 1 end end
  6. Angelix

    [1.0.0] topCMS

    Why not try installing the current xampp version? It has PHP 7 and the site works smoothly. Follow the steps Perseus mentions in the thread and it works.
  7. Angelix

    [1.0.0] topCMS

    Ah no worries, I'll be on he same schedule since it's the last month of the semester on my end. I have exams coming up tomorrow and some the next week. If I think of anything, I'll let you know.
  8. Angelix

    [1.0.0] topCMS

    Checked the update: Awesome updates! <3
  9. A server balance is a "delicate" subject within running server. Yes, administrators try to balance the growth of the stats, a few servers may edit some skills, and that's it. The thing is, they are doing it on their perspective, on their own ideal of a true balance. They either give more power to a class that's already fine or screw around with a class that needs a power-up. I'm not gonna go and say which class is good or badly balanced, just point out a few things servers do which screw some things up: Hand out "buff notes" as rewards from farming or mazes. This essentially screws the purpose of having alternate characters as buffers. On a low populated server with high rate of players being crusaders, sharpshooters or champions, this will ultimately kill clerics, maybe even seal masters. Servers with an amount of cleric or seal masters will make those players focus on giving priority to second class skills since there's no need for herbalist skills due to item. Modify the class' HP/DEF increase. This might work on something like sharpshooter maybe a bit on clerics. Crusaders are the most damage dealing class besides sharpshooter, if given an increase on HP/DEF, it becomes a hard to kill class after the champion. This effect shows drastically on those server that add gems that given 10 or more stat points per level, equipment (those unnecessary and unbalanced "VIP" sets) or effects that given out HP percentages, DEF increase or increase on physical resistance (pretty dumb if you ask me since it stops being useful after 85 I think). Modify the class' attack damage. This is self explanatory, if you reduce it on champions, then it becomes an obsolete class. I know its main role is to withstand damage, but its attack is way below crusaders, this can be left as is. Maybe increase a bit the damage dealt per spirit on seal master when they go pure defensive stat. Attack speed is fine, since it will soft cap at 300 (that's if they haven't modified it). Dodge is something that goes along with the HP/DEF issue, due to highly "overpowered" gems/equipment, crusaders will essentially surpass the sharpshooter, which in my opinion it shouldn't. Things to try out and can help: STOP GIVING GEM/EQUIPMENT OUT LIKE CANDY. Guaranteed to work 100%. Don't make items that replicate other class' skill. Don't try to make stat growth equally for classes. Do not grant excessively large percentage bonuses on equipment. Do not grant a large stat bonus between high level equipment. The thing to notice here is, you'll never reach a "perfect" balance, due to the different nature of players. Some are good grinders, some are very social and some are none of that. If you try to balance the server for one of those type of players, you'll eventually screw things for the other two types. Well, that's all I can think of at the top of my head, I know that some might be wrong, or not the ideal way to cover them, but that's my view on this balance issue. As for the thread, trying to keep things respectful, please do not mention server name even if they are no longer active since you mentioned one already. This will only bring issues and/or bad comments. One way I can think of balancing the overall stats of class can be by adding some percentage modifier at the stat calculating function. Start with 100% and carefully go above or below the starting point to see how players react and their opinions, at any case you can go back to 100% without making a hardcore modify at the stat growth. I know it kinda goes against at what I said on some points above, but I have this on my server files for testing purposes. JOB_STAT[0] = {MxHP = 1, MxSP = 1, MnATK = 1, MxATK = 1, DEF = 1, PR = 1, HR = 1, DODGE = 1, DROP = 1, CRIT = 1, HPREC = 1, SPREC = 1, ASPD = 1, ADIS = 1, MVSPD = 1} --[0] = "Newbie" JOB_STAT[1] = {MxHP = 1, MxSP = 1, MnATK = 1, MxATK = 1, DEF = 1, PR = 1, HR = 1, DODGE = 1, DROP = 1, CRIT = 1, HPREC = 1, SPREC = 1, ASPD = 1, ADIS = 1, MVSPD = 1} --[1] = "Swordsman" JOB_STAT[2] = {MxHP = 1, MxSP = 1, MnATK = 1, MxATK = 1, DEF = 1, PR = 1, HR = 1, DODGE = 1, DROP = 1, CRIT = 1, HPREC = 1, SPREC = 1, ASPD = 1, ADIS = 1, MVSPD = 1} --[2] = "Hunter" JOB_STAT[4] = {MxHP = 1, MxSP = 1, MnATK = 1, MxATK = 1, DEF = 1, PR = 1, HR = 1, DODGE = 1, DROP = 1, CRIT = 1, HPREC = 1, SPREC = 1, ASPD = 1, ADIS = 1, MVSPD = 1} --[4] = "Explorer" JOB_STAT[5] = {MxHP = 1, MxSP = 1, MnATK = 1, MxATK = 1, DEF = 1, PR = 1, HR = 1, DODGE = 1, DROP = 1, CRIT = 1, HPREC = 1, SPREC = 1, ASPD = 1, ADIS = 1, MVSPD = 1} --[5] = "Herbalist" JOB_STAT[8] = {MxHP = 1, MxSP = 1, MnATK = 1, MxATK = 1, DEF = 1, PR = 1, HR = 1, DODGE = 1, DROP = 1, CRIT = 1, HPREC = 1, SPREC = 1, ASPD = 1, ADIS = 1, MVSPD = 1} --[8] = "Champion" JOB_STAT[9] = {MxHP = 1, MxSP = 1, MnATK = 1, MxATK = 1, DEF = 1, PR = 1, HR = 1, DODGE = 1, DROP = 1, CRIT = 1, HPREC = 1, SPREC = 1, ASPD = 1, ADIS = 1, MVSPD = 1} --[9] = "Crusader" JOB_STAT[12] = {MxHP = 1, MxSP = 1, MnATK = 1, MxATK = 1, DEF = 1, PR = 1, HR = 1, DODGE = 1, DROP = 1, CRIT = 1, HPREC = 1, SPREC = 1, ASPD = 1, ADIS = 1, MVSPD = 1} --[12] = "Sharpshooter" JOB_STAT[13] = {MxHP = 1, MxSP = 1, MnATK = 1, MxATK = 1, DEF = 1, PR = 1, HR = 1, DODGE = 1, DROP = 1, CRIT = 1, HPREC = 1, SPREC = 1, ASPD = 1, ADIS = 1, MVSPD = 1} --[13] = "Cleric" JOB_STAT[14] = {MxHP = 1, MxSP = 1, MnATK = 1, MxATK = 1, DEF = 1, PR = 1, HR = 1, DODGE = 1, DROP = 1, CRIT = 1, HPREC = 1, SPREC = 1, ASPD = 1, ADIS = 1, MVSPD = 1} --[14] = "Seal Master" JOB_STAT[16] = {MxHP = 1, MxSP = 1, MnATK = 1, MxATK = 1, DEF = 1, PR = 1, HR = 1, DODGE = 1, DROP = 1, CRIT = 1, HPREC = 1, SPREC = 1, ASPD = 1, ADIS = 1, MVSPD = 1} --[16] = "Voyager" local Multiplier_MxHP = MAP_STAT[MapName].MxHP * JOB_STAT[CharJob].MxHP * BOTH_STAT[Num].MxHP local Multiplier_MxSP = MAP_STAT[MapName].MxSP * JOB_STAT[CharJob].MxSP * BOTH_STAT[Num].MxSP local Multiplier_MnATK = MAP_STAT[MapName].MnATK * JOB_STAT[CharJob].MnATK * BOTH_STAT[Num].MnATK local Multiplier_MxATK = MAP_STAT[MapName].MxATK * JOB_STAT[CharJob].MxATK * BOTH_STAT[Num].MxATK local Multiplier_DEF = MAP_STAT[MapName].DEF * JOB_STAT[CharJob].DEF * BOTH_STAT[Num].DEF local Multiplier_PR = MAP_STAT[MapName].PR * JOB_STAT[CharJob].PR * BOTH_STAT[Num].PR local Multiplier_HR = MAP_STAT[MapName].HR * JOB_STAT[CharJob].HR * BOTH_STAT[Num].HR local Multiplier_DODGE = MAP_STAT[MapName].DODGE * JOB_STAT[CharJob].DODGE * BOTH_STAT[Num].DODGE local Multiplier_DROP = MAP_STAT[MapName].DROP * JOB_STAT[CharJob].DROP * BOTH_STAT[Num].DROP local Multiplier_CRIT = MAP_STAT[MapName].CRIT * JOB_STAT[CharJob].CRIT * BOTH_STAT[Num].CRIT local Multiplier_HPREC = MAP_STAT[MapName].HPREC * JOB_STAT[CharJob].HPREC * BOTH_STAT[Num].HPREC local Multiplier_SPREC = MAP_STAT[MapName].SPREC * JOB_STAT[CharJob].SPREC * BOTH_STAT[Num].SPREC local Multiplier_ASPD = MAP_STAT[MapName].ASPD * JOB_STAT[CharJob].ASPD * BOTH_STAT[Num].ASPD local Multiplier_ADIS = MAP_STAT[MapName].ADIS * JOB_STAT[CharJob].ADIS * BOTH_STAT[Num].ADIS local Multiplier_MVSPD = MAP_STAT[MapName].MVSPD * JOB_STAT[CharJob].MVSPD * BOTH_STAT[Num].MVSPD local MxHP = Mxhp_final(Player)* Multiplier_MxHP local MxSP = Mxsp_final(Player)* Multiplier_MxSP local MnATK = Mnatk_final(Player)* Multiplier_MnATK local MxATK = Mxatk_final(Player)* Multiplier_MxATK local DEF = Def_final(Player)* Multiplier_DEF local PR = Resist_final(Player)* Multiplier_PR local HR = Hit_final(Player)* Multiplier_HR local DODGE = Flee_final(Player)* Multiplier_DODGE local DROP = Mf_final(Player)* Multiplier_DROP local CRIT = Crt_final(Player)* Multiplier_CRIT local HPREC = Hrec_final(Player)* Multiplier_HPREC local SPREC = Srec_final(Player)* Multiplier_SPREC local ASPD = math.floor(100000/(Aspd_final(Player)))* Multiplier_ASPD local ADIS = Adis_final(Player)* Multiplier_ADIS local MVSPD = Mspd_final(Player)* Multiplier_MVSPD
  10. Angelix

    [1.0.0] topCMS

    Al right, I will continue testing the future updates.
  11. Angelix

    [1.0.0] topCMS

    Al right thanks, and by the way, maybe add as well the character type to level/gold ranking if ain't asking for too much, haha. I think I'm the only asking for stuff here.
  12. Angelix

    [1.0.0] topCMS

    Using v1.x server database? I'm on v2.x database, they shows as the numeric value: 0, 1, 2, 3, 4, ..., and so on.
  13. Angelix

    [1.0.0] topCMS

    Tested and working, since both of the accounts I used are GM, I had to create a new one and a new character, issue that I am seeing is just for showing the "correct" name for classes instead of 0 (newbie) or 2 (hunter). Screenshots: Something to consider to make it look nice, maybe center the values? Also if you can add the guild they belong to in the level and gold ranking, if they don't belong to a guild, just display "N/A" or something along the lines. Other than that, everything seems to work fine, thanks!
  14. Angelix

    [1.0.0] topCMS

    Maybe a reputation ranking since that is also a value that may be of use(?) to show people who have helped disciples (or used multiple clients). A good one could be honor or chaos points, but those can be a bit troublesome since not all players have the item that stores them and I don't know how hard it can be for you to check whether a player has that item and get the item's attributes. Also, add a check so the ranking doesn't show banned players/account, I think that's an issue happening on Pirate King Online right now where the ranking is not "updated" since a lot of banned players are showing up.
  15. Angelix

    [1.0.0] topCMS

    Awesome to hear that, will wait for the ranking page. What will it include? The usual ones (level, gold and guild) or will contain others? Yes, at first I didn't know why it wasn't working. I had the public and private keys from Google placed right, I honestly don't know how it happened, but it works now. I just remember replacing all the files after each update you did and a few hours ago I deleted all my entries on the reCAPTCHA page and made a new one, placed it on configuration file and it works, was able to register a new account and it shows on the database.
  16. Angelix

    [1.0.0] topCMS

    Thanks, looking forward for that. Right now the statistics are static values, same goes for the online staff, right?
  17. Angelix

    [1.0.0] topCMS

    Tested and working! Can you add like a tag to the news/download section? Like if I make a category called "Update" on news and then add an entry called "Change Log", the entry just shows up like "Change Log". Can you add so it shows like "[Update] Change Log" so it would be different for each category, same goes for downloads. Thanks!
  18. Angelix

    [1.0.0] topCMS

    Al right, looking forward to that. Sorry for being such a spammer, kinda like a kid with a new toy here, I found another error.
  19. Angelix

    [1.0.0] topCMS

    Thanks! Simple and useful site, not too overloaded with many images and that's perfect for me. <3 Saw the edit you made, now I did this.
  20. Angelix

    [1.0.0] topCMS

    Yes, you can only create author/categories the first time (when you haven't defined them). Lets say you add an author and a category, then go ahead to add a news and see it at the home page, then you forgot to add the other administrator or another category, you can't. Or at least I can't find the link/button. (
  21. Angelix

    [1.0.0] topCMS

    An update: You should add a way to add categories after in case we decide to add one later on, same for authors.
  22. Angelix

    [1.0.0] topCMS

    Well, now everything seems fine, thanks! If I find anything else, I'll let you know. You should add a way to add categories after in case we decide to add one later on, same for authors.
  23. Angelix

    [1.0.0] topCMS

    Al right, thanks! Sorry to bother, still getting an error though.
  24. Angelix

    [1.0.0] topCMS

    Will it be fine if every time you do an update I just download the whole folder from GitHub and extract it on my named folder? This would be awesome! So we can add a page showing the features of the server.
  25. Angelix

    template

    The latest version, uses PHP 7.
×
×
  • Create New...