Jump to content

Jedzkie

Script Developers
  • Content Count

    632
  • Joined

  • Days Won

    4

Reputation Activity

  1. Upvote
    Jedzkie reacted to goddameit in Lottery   
    Info :
    After GM active this game, everyone can put their #CASH into the pool,
    the more you put into it, the higher chance you will win,
    for example, if I put 100p into pool, and total #CASH is 1000p, then I have 10% ( 100/1000 ) chance,
    if I add another 300p, then it will be 30.769% ( 400/1300 ).
     
    The default setting is GM active or end this game, and tax rate is 5%.
     
    Download :
    Script --- lottery.txt
    SQL --- http://pastebin.com/E86ETCbf
  2. Upvote
    Jedzkie reacted to Conflicts in RagnaShield Beta 1.0.8   
    RagnaShield Beta – Introduction
     

     
    Installation guide


    Features - Clientside


    Hardware IDs
    Every time a player connects to his account, various hardware IDs are retrieved from the computer, such as the MAC Address, the CPU ID, Disk ID and Motherboard ID. This information is then sent to the server and stored in the `login` table. The purpose of this feature is to create a fingerprint of the player's computer capable of ensuring you they will not come back after a hardware ban. The player's hardware IDs are then compared to the ban list to see how much of a match they are. This setting can be modified from ragnashield.conf with ban_sensitivity. 

    Advanced File Hashing (including those inside GRFs)
    You can hash as many files as you wish within your RO folder or your GRFs. RagnaHosting already provides a default list to prevent no-delay sprites by protecting the default job sprites,
    this GRF will take the highest priority and will be named JobSprites.grf. To customize this list and include your own files or sprites, contact the RagnaHosting Networks with the necessary information.
    If any of your hashed files fails the check, the client will show an error and it wont launch. This behavior cannot be changed.
    * This protection currently does not take into account the order in which your files are being loaded. If this becomes necessary, you might want to protect your DATA.INI as well.

    Dual Clienting
    By default, only up to two clients can run simultaneously. The choice of two clients is to allow your players to trade between their accounts. This feature can be modified as per user request.
     
    Hiding clientinfo.xml
    Your clientinfo.xml has been embedded to your RagnaShield protection components and the client will disallow any connection bypassing the one provided.
    This would protect you from most of those people trying to find your IP for some malicious intentions. This also ensures that you'll only be able to use this protection when you're hosted with us.
     
    Better compression (LZMA support)
    LZMA is a compression method allowing you to significantly reduce the size of your GRF files.
    The idea of this feature was introduced by Curiosity, for more information visit the following thread on rAthena : https://rathena.org/board/topic/95086-lessgrf-slim-down-your-grf.
    RagnaHosting uses this compression by default on your GRF files. As you may have noticed, the size of a fully patched Full Client is only about 1.4GB, the one RagnaHosting provides.
    In GRF Editor, you can use this custom compression by going in Tools > Settings > General > Compression method > Custom compression... and select the cps.dll provided in the thread mentioned above.
    * Do not attempt to load the custom cps.dll provided by RagnaShield in GRF Editor, you will crash and may end up having to reinstall the application.
     
    File Encryption (Unique GRF Editor keys)
    RagnaShield allows you to encrypt your GRF files' content using GRF Editor's encryption. You will receive a key.grfkey file which can be used directly by GRF Editor to encrypt or decrypt your content.
     
    File Encryption (RagnaHosting Shared Encryption)
    By being part of RagnaHosting, you will gain access to free or cheaper custom content for your server. This content is encrypted and will only work on ALL servers using RagnaShield as their protection. If you decide to leave the host however, you will no longer be able to use them. This feature itself warrants a post of its own, I'll be explaining in details how this works.
     
    Splash Screen
    Pretty self explanatory, RagnaShield will display a splash screen 250px by 150px in size when your client launches, and closes it as soon as the client fully loads up (the login screen appears).

    Third-party program restriction / blocking
    This feature is in constant development and there are already a handful of softwares being blocked by the game guard. You can choose whether or not you want to allow tools such as RCX to run on your server. Other programs such as CheatEngine will automatically be blocked. This feature is fully customizable as well to fit every server's needs. We do encourage you to submit cheat tools so we could block them for everyone. We believe there's no reliable way to block macros, and we want to make it clear that we're not advertising RagnaShield to be able to do that.
     
    What about bots?
    Blocking bots or other similar tools is not part of RagnaShield's protection. To prevent those, we recommend you use newer clients allowing packet obfuscation; it will block bots better than any features we could add to our game guard. By default, we'll include packet obfuscation support on the client we'll provide you, it'll use fully qualified keys, and it'll be unique for each server.

    Features - Severside

     
    Banning system
    It is important to understand the difference between an account ban, an IP ban and a hardware ban.

     
    Knowing when to use which can be a bit confusing at first, however RagnaShield's ban commands are more straightforward because they combine these together nicely.
    Banning a player bans both their hardware IDs and their account at the same time. Our custom bans take into account the level (group id) of the GM who is issuing the ban.
    As such, it is only possible for a GM to ban an account with a lower group id than his own. Therefore admins (group 99) can never be banned. The hardware ban, which is always
    applied regardless of the group id of the target, can be bypassed if the account's owner has a higher group id.
     
    Configuration file (ragnashield.conf)
    The configuration file is found at conf/ragnashield.conf.

     
    Hardware IDs
    Hardware IDs are stored on the server side when a player attempts to log in. All the info are also added to the loginlog table. RagnaHosting lists 4 kinds of Hardware IDs, namely;
    MAC Address, CPU ID, Drive ID and Motherboard ID. There's a 5th and special kind of ID which combines the latter 3 into a unique hashed ID, which can make it easier for you to
    integrate on your scripts. All of these information are added to the `login` and `loginlog` tables.
     
    Ingame @commands
    @ragnaban / @ban2
    usage: @ragnaban <time> <player_name> {<reason>}
    ex   : @ragnaban 1d "test player" Stole gears.
    Similar to @ban, this command does both a regular @ban and a hardware ban. The computer of the player will no longer be able to connect to your server.
    If the account ban's time is greater than the one given by the command, it will keep the longest one. When a player's name contains spaces, you must use quotes,
    otherwise it's not needed. The reason given for the ban is also optional but it is recommended.
     
    @ragnafullban / @fullban
    usage: @ragnafullban <time> <player_name> {<reason>}
    ex   : @ragnafullban 1d "test player" Stole gears.
    This is the same as the previous command, except it will also ban all the accounts related to the player. It bans the accounts based on the last person who logged into them.
     
    @ragnaunban / @unban2
    usage: @ragnaunban <player_name> 
    ex   : @ragnaunban "test player"
    This command removes the hardware ban of a player as well as removing the account ban of the player mentioned.
     
    @ragnafullunban / @fullunban
    usage: @ragnafullunban <player_name> 
    ex   : @ragnafullunban "test player"
    Same as the previous ban, except it unbans all the accounts connected with the player (using the hardware IDs of the person who logged into the account last).
     
    @showmacban
    usage: @showmacban
    Shows the current MAC addresses banned.
     
    @execute <system_command>
    usage: @execute echo Hello world!
    Executes a command on the server's VPS. This command allows you to customize server tasks outside of the game. The example command will display "Hello world!" in the map-server console. You could use it to recompile or restart your server, create a backup, etc. The possibilities are limitless for this command. We'll be writing scripts for everyone for you to make use of Linux commands and utilities from inside the game! This means you can tell your GM to type @execute sqldump before he hosts his event, just in case something goes wrong. Feel free to send us suggestions of what commands you want to see on here.
     
    @ping {<player_name>}
    usage: @ping
    This command asks the server to ping yourself or another player. The task is put on a background thread and you will have to wait a few seconds to retrieve the ping statistics. To retrieve the pong info, you'll have to type @ping again. Each ping has a hard delay of 10 seconds and the statistics will be erased from your server's VPS after 30 seconds. By default, players cannot use @ping <player_name>. If you want to allow lower GMs to use the latter command, you must give them the @ping2 atcommand permission ("ping2: true" in groups.conf).

    Script methods
    The following script methods are shortcuts to simplify your custom scripts.
     
    getcharmac({<account ID>/<character ID>/<character name>})
    usage: getcharmac();
    usage: getcharmac("test_player");
    If no argument is specified, the currently attached player's RID will be used to retrieve the MAC address.
     
    gethardwareid(<type> {,<account ID>/<character ID>/<character name>})
    usage: .@id$ = gethardwareid(0);
    usage: .@id$ = gethardwareid(4, "test_player");
    Type 0 – MAC address
    Type 1 – CPU ID
    Type 2 – Disk drive ID
    Type 3 – Motherboard ID
    Type 4 – Unique ID (combines types 1-2-3)
    This command retrieves the hardware information from a player.
     
    Credits
    Conflicts - Project manager, started this whole project and gathered the team. Helped test the features thoroughly. Kept pushing for more features, and will keep doing that for the foreseeable future.
    Nanakiwurtz - Ported the source code for both rAthena and rAmod, scripted the sample scripts as well as general testing of the features.  She will be taking care of your protection component customization requests.
    Tokeiburu -Responsible for the tools used for the generation of the game guard files. He's being humble though, to put it simply, RagnaShield wouldn't have been possible without him.
     
    Updates:
    Version 1.0.1
    Added shared encryption key. Added GRF file hashing. The RagnaShield logo on startup now closes once the client's main window shows up.

    Version 1.0.4
    Fixed packet conflicts between RagnaShield and the packet obfuscation feature. This error would show up in your emulator's map-server console as "unsupported packet : 22 or 26 in length". Updated startup logo. Other minor bug fixes.

    Version 1.0.6 Improved RagnaShield's CPU usage down to almost 0%. The usage was already pretty low, except now it uses Windows' events to detect new process creation. This means it no longer needs to scan your process list at every specific interval of time. Fixed a bug regarding the third-party protection blocking false-positive process. Hidden processes are now detected.

    Version 1.0.7 Fixed a bug regarding the GRF hashing process; this bug would crash your exe without any warning. The third-party protection module for Windows XP was unable to launch properly, this has been fixed. Improved overall customization : clientinfo.xml is no longer hidden within the game guard. To edit the content, you must open RagnaShieldRagnaShield.xml, then it's just like a regular clientinfo.xml. This was changed to allow admins to add more GM accounts without us having to rebuild your client files. You will notice that the IP fields are protected as well the port fields (so the security is still the same as before). The allowed IP tags are "#PRIMARY", "#FILTERED" and "#LOCALHOST". The last one allows you to test your server on a local network. DATA.INI is no longer embedded within the client. You can edit the content and add as many custom GRFs as you want. The first two entries are reserved for RagnaShield The data folder can be read safely without having an impact on our protected sprites (job sprites). This blocks no-delay skills while allowing you to test custom changes.
    [*]
    Common errors are now displayed in a more friendly manner (replaced some of the 0xF#####87 errors). [*]Introducing a new file signature protection. This fully blocks any unauthorized processes from being executed at the same time as your client.

    Version 1.0.8
    Added file version to the game guard to track down further issues. Added a custom crash report to help track down further issues and which will quite possibly help you solve other issues. The file is stored in ClientCrash.log Huge update on RagnaShield's third-party protection. It is planned to be improved, but newer cheat softwares should have a harder time to work. WMI errors will now show up in hexadecimal, this will be easier to track them down as well. Pressing Ctrl-Del ingame will crash the client and generate a crash log on purpose. Security upgrade regarding macro'ing softwares. Updated third-party definitions and rules.

  3. Upvote
    Jedzkie reacted to Ind in Skill ID Processing Overhaul   
    Skill ID Processing Overhaul
    Hello~! - What?!
    Yet another super-ultra-mega improvement, brought to you by Hercules. Improvement
    This is a monster improvement, map server's memory usage was dropped by no less than 38MB Processing on a number of areas that rely on this have improved, much faster e.g. skill tree calculation. This also prepares the game server to receive the new skills that have id of 5k or higher (e.g. Dragon Breath Water) Changes
    This changes how skills are stored during runtime for players, if you have any modifications on that you will want to update them before getting this update in your server. mob_max_skilllvl config was dropped, this limitation no longer exists (e.g. if you make a monster cast lvl 1000 jupitel thunder it'll do 1k hits) reintroduced, accidentally removed (misunderstood function) Special Thanks
    to Rytech, he brought up the topic of skill id processing which led me to do this Links~!
    Commit
  4. Upvote
    Jedzkie reacted to Ind in Introducing Hercules' Stress Test Server   
    Introducing Hercules' Stress Test Server
    Hello~!
     
    The "Stress" Part
    Over 1.000 IndAI units (equivalent to +1k online players) will be in the server playing 24/7, farming, going to pvp, doing woe, playing battlegrounds, doing anything a player does, this will create a perfect scenario for us to debug and test Hercules.
     
    The Development Benefits
    We'll be able to keep track of performance usage 24/7, making us able to detect whenever a update increases a server's usage, allowing us to further optimise said update in order to take the processing down. With the AI characters doing stuff non-stop 24/7 we'll be able to identify and fix any crashes existent. Hercules will gain a super stability boost thanks to this. How to connect / Moving in and out
    This is the fun part.
    No new clients, and no sclient/clientinfo/blablabla edits will be required. get to the test server by typing '@hercules warp', test whatever you like, and go back to your server with '@hercules leave'. This technology *might* also be employed in the future by us to create hercules-hosted inter-server events.
     
    Entirely Secure
    The only data your server will pass to our test server upon warp is the name of the character (and maybe hairstyle vals).
    The test server is unable to modify (or even access) any data on your server, it is entirely secure and damage-free.
     
    Unique to Hercules
    The ability to connect through your ordinary client will be made possible by our custom server hosted over at herc.ws, the code won't be made public.
     
    Coming
    I felt inspired to write about this feature, which is why this announce is out before the feature itself.
    This is one of the features to be powered by our Hercules Plugin Manager and will be made public once the HPM implementation reaches the level capable of sustaining it.

    FAQ
    what if i dont want my players to go to the test server?@hercules is a command like any other, you can restrict access by groups.conf (by default only gms will be able to use it) what if i dont have a test server to use as a gateway to the hercules stress test server?we will also provide clients for those who don't have/want to use a server as the gateway
  5. Upvote
    Jedzkie reacted to Ind in Introducing Hercules' Map Zone Database   
    Introducing Hercules' Map Zone Database
    Hello~! - What?!
    1st, it is a merge from item_noequip.txt and skill_nocast_db.txt functionality. 2nd, it is a major improvement on what these features did in both performance and usability. map_zone_db.txt format sample
    {     name: "My Zone"     inherit: ( "My Other Zone" )     disabled_skills: {         AL_HEAL: "PLAYER | MONSTER | ELEMENTAL"         AL_TELEPORT: "MONSTER"         MG_FIREBOLT: "NONE"         //MG_NAPALMBEAT: "PLAYER"         //ID11: "PLAYER"     }     disabled_items: {         Assumptio_5_Scroll: false         //Apple: true         //ID501: true     }     mapflags: (         "adjust_skill_damage    MG_FIREBOLT    250",         "adjust_unit_duration    PR_SANCTUARY    50"     )     /* "command:min-group-lv-to-override" e.g. "heal: 70" */     disabled_commands: {         //Example Below makes @heal be used in maps within this zone only by those group lv 70 and above         //heal: 70     }     skill_damage_cap: {         //Exemple Below caps firebolt damage in maps within this zone to a maximum 50 damage,         // (depends on HMAP_ZONE_DAMAGE_CAP_TYPE in src/config/core.h)         // when cast vs players and monsters.         //MG_COLDBOLT: (50,"PLAYER | MONSTER")     } } Notes on the format
    In disabled_skills the var following the name (: "PLAYER | MONSTER | HOMUN | MERCENARY | ELEMENTAL | PET | CLONE | MOB_BOSS") is what allows a zone to know what unit types should have this skill disabled. In the sample above, for example, in My Zone, player, monster and elemental unit types are unable to cast heal, while only monsters are unable to cast teleport. this variable may also be used to ignore skills from inheritance, for example if My Other Zone disabled a number of skills, including MG_FIREBOLT, in My Zone all of them will be disabled as well, except for MG_FIREBOLT since it is set as NONE. In disabled_items the var following the name (: true or : false) is what allows a zone to override what it inherited, for example if My Other Zone disables a number of items, including Assumptio_5_Scroll, in My Zone all of them will be disabled as well, except Assumptio_5_Scroll since it is as false. A zone may enforce an unlimited number of mapflags on all its maps, by using this sample all maps under My Zone will have Fire Bolt damage increased by 2.5x and Sanctuary will have its duration halved. A unlimited number of maps may be linked to a specific zone through a mapflag '<map name><tab>mapflag<tab>zone<tab><zone name>' Changes The mf_restrict (restrict) was dropped. item_noequip.txt and skill_nocast_db.txt were dropped, replaced by map_zone_db.txt. setmapflag script command was modified to support the new zones. @mapinfo was modified to support the new zones, also modified the formatting and made it include the amount of vendings. Improvements As opposed to item_noequip.txt and skill_nocast_db.txt, map_zone_db.txt supports an unlimited number of zones. map_zone_db.txt implementation surpasses the ones from item_noequip.txt and skill_nocast_db.txt, making item equipping (pc_useitem/status_calc_pc) and skill using (previously skillnotok, now status_check_skilluse) processing much faster and efficient. @mapinfo performance was improved (was doing chat room dbmap lookups without even checking if player was on the map in question) Special Thanks to Muad_Dib <3. to lighta for discussing the feature with me and helping design the unit-based restrictions on skills to Bahmut and Emistry for ideas on how to format the file. to kyeme for feature ideas. Links~! Commit Commit 2 (update) Map Zone Database File
  6. Upvote
    Jedzkie reacted to malufett in 'job_db1.txt' Redesign   
    'job_db1.txt' Redesign
     
    What is it?
    The file has been upgrade to achieve 2 goals: make it easier for us to update the file and for our users to customize it better. The old hp/sp computation has been drop and replace by hp/sp tables. job_db.conf Format:
    Job_Name: { // Job names as in src/map/pc.c (they are hardcoded at the moment so if you want to add a new job you should add it there)     Inherit: ( "Other_Job_Name" );     // Base job from which this job will inherit its max weight, base ASPD set and HP/SP table.     InheritHP: ( "Other_Job_Name" );// Base job from which this job will inherit its HP table.     InheritSP: ( "Other_Job_Name" );// Base job from which this job will inherit its SP table.     Weight: Max Weight            (int, defaults to 20000, units in Weight/10)     BaseASPD: {                 // Base ASPD for specific weapon type         Fist: 0~200                (int, defaults to 200)         Dagger: 0~200            (int, defaults to 200)         Sword: 0~200            (int, defaults to 200)         TwoHandSword: 0~200        (int, defaults to 200)         Spear: 0~200            (int, defaults to 200)         TwoHandSpear: 0~200        (int, defaults to 200)         Axe: 0~200                (int, defaults to 200)         TwoHandAxe: 0~200        (int, defaults to 200)         Mace: 0~200                (int, defaults to 200)         TwoHandMace: 0~200        (int, defaults to 200)         Rod: 0~200                (int, defaults to 200)         Bow: 0~200                (int, defaults to 200)         Knuckle: 0~200            (int, defaults to 200)         Instrumen: 0~200        (int, defaults to 200)         Whip: 0~200                (int, defaults to 200)         Book: 0~200                (int, defaults to 200)         Katar: 0~200            (int, defaults to 200)         Revolver: 0~200            (int, defaults to 200)         Rifle: 0~200            (int, defaults to 200)         GatlingGun: 0~200        (int, defaults to 200)         Shotgun: 0~200            (int, defaults to 200)         GrenadeLauncher: 0~200    (int, defaults to 200)         FuumaShuriken: 0~200    (int, defaults to 200)         TwoHandRod: 0~200        (int, defaults to 200)         Shield: 0~200            (int, defaults to 0)     }     HPTable:[ 1, .... 150 ]        (int[]) Reference table for base HP per level      SPTable:[ 1, .... 150 ]        (int[]) Reference table for base SP per level     // Note: If table index size is smaller than the max level the server will automatically generate the missing index based on the average increase per level.} Benefit?
    You can now easily specify a class base weight, base aspd for specific weapon types and HP/SP per level. Lessen redundant entries and good for the eyes.. RE ASPD formula is improved to compatibly(less/no more conversion) accept aegis database. Tools?
    http://herc.ws/board/files/file/202-hercules-hpsp-table-generator/ Special Thanks to:
    Awesome @Yommy Best @Michi Incredible @Ind Nice @Beret Links
    Commit: https://github.com/HerculesWS/Hercules/commit/b59b9d1ab4c5a21081cdd2af126997ed7093d743 File: https://github.com/HerculesWS/Hercules/blob/master/db/re/job_db.conf
  7. Upvote
    Jedzkie reacted to evilpuncker in 'job_db1.txt' Redesign   
    lets just move it to something like the Lua files structures  
     
    pseudo code/example:
    [JobID.Novice] = { Str = { 0, 6, 5, 0, 2, 3, 0, 1, 4, 0 }, Agi = { 0, 6, 5, 0, 2, 3, 0, 1, 4, 0 }, Vit = { 0, 6, 5, 0, 2, 3, 0, 1, 4, 0 }, Int = { 0, 6, 5, 0, 2, 3, 0, 1, 4, 0 }, Dex = { 0, 6, 5, 0, 2, 3, 0, 1, 4, 0 }, Luk = { 0, 6, 5, 0, 2, 3, 0, 1, 4, 0 }}
  8. Upvote
    Jedzkie got a reaction from neil413 in Suggestion to Prevent BOT   
    Hi! As we've all known, Ragnarok servers are problematic about BOTS since years ago, but how can we prevent this? Well i have a suggestion regarding on that matter. I don't know if this is possible or not, but i think this is the only way we prevent BOT programs to ruin our server.
     
    How about implementing a system that checks if the PLAYER/CHARACTER uses the client to login in the game.
     
    For example,
     
    Run client -> Type Credentials -> Server checks if the user uses the client -> If (NOT) Disconnected from the Server else Login to the Game
     
    I just noticed on some servers even there are harmony installed in their system, some players can still run BOTS.
     
    Hopefully my suggestion will implement in the future. Thank you.
  9. Upvote
    Jedzkie reacted to Ind in Hercules Ultimate Localization Design   
    Hercules Ultimate Localization Design
    Hello~! - What?!
    Servers are now able to run under any number of languages, without having any of the default files modified Designed by Haruna and Ind  
    Translating NPCs without editing them
    By launching map server with the --generate-translations param a .pot (.po template) file will be created with all of the servers translate-able strings (including all npc dialogue), this file can be edited in text mode or by utilising any .po editor (there are many out there; for a high range of OSes) A .po file does not need to be fully translated to be used, map server will know when loading the file, and will fallback to the hardcoded string in the npc files as necessary Users are able to change their language with the new @lang command, @lang controls what language users see in @commands (msg_txt stuff) as well as over npc dialogues map-server.conf has a new setting called default_language where server owners may specify which language should be used as a base When you have a new .po file you want map server to use, add it to db/translations.conf Easy to Maintain
    Since .po is a widely used format there are many tools that can help with merging for example Poedit, which easily consolidates a translated .po file with a newly generated .pot. For example when you have a translated .po and since it was created npc dialogs were added or modified all you have to do is launch map server to generate a new .pot, open your old .po in Poedit, go "Catalog -> Update from POT file" and it will insert the new translatable strings without touching your existing translations, it will also notify you of any "obsolete" strings that are in your .po file but that are no longer in use Script Command Macro
    Besides messages.conf, all the dialogue utilised by 'mes' and 'select' is included in the .pot automatically, this patch also introduces a mechanism for utilising strings outside of these commands, the script macro _() which can be employed just as if it were a script function, for example set .@status$,_("Available"); tells map server to export "Available" as a translate-able string when it is run with --generate-translations (when running map server normally the macro has no overhead during runtime) Special Thanks to
    Raizen and Roberto from Cronus, we would not have worked on this if it weren't for them Links~!
    Commit Editing Example
  10. Upvote
    Jedzkie reacted to malufett in Official VIP System   
    ok..almost done guys...just need more comments and inputs from you...
     
    final conf...
    //====================================================//= _ _ _ //= | | | | | | //= | |_| | ___ _ __ ___ _ _| | ___ ___ //= | _ |/ _ '__/ __| | | | |/ _ / __|//= | | | | __/ | | (__| |_| | | __/__ //= _| |_/___|_| ___|__,_|_|___||___///= //= http://herc.ws/board/ //====================================================// Premium Service Info Configs//====================================================psi: ({ /* 0 : disable, 1 : enable, 2 : enable + PC Cafe Premium */ PremiumSvcType: 1 /* Uncomment to enable */ /*EventPlus:{ BaseEXP: 100 JobEXP: 100 DeathBasePenalty: -10 DeathJobPenalty: -10 DropRate: 100 },*/ PCCafeGrade: ( { /* 0 */ BaseEXP: 100 JobEXP: 100 DeathBasePenalty: -10 DeathJobPenalty: -10 DropRate: 100 } ), PCCafeList: ( { IP: "127.0.0.1" Grade: 0 Expiration: "2016-01-01" } ), PremiumGradeInfo:( { GroupLevel: 0 /* Normal Players */ BaseEXP: 0 JobEXP: 0 DeathBasePenalty: 0 DeathJobPenalty: 0 DropRate: 0 MaxCharSlot: 9 MaxStorage: 300 }, { GroupLevel: 1 /* VIP 1 */ BaseEXP: 100 JobEXP: 100 DeathBasePenalty: -10 DeathJobPenalty: -10 DropRate: 100 MaxCharSlot: 12 MaxStorage: 600 }, { GroupLevel: 2 /* VIP 2 */ BaseEXP: 250 JobEXP: 100 DeathBasePenalty: -50 DeathJobPenalty: -50 DropRate: 200 MaxCharSlot: 12 MaxStorage: 600 } )}) Screenshot:

     

  11. Upvote
    Jedzkie got a reaction from neil413 in Help   
    he mean, if a player is in freeze state, it doubles the damage of asura..
  12. Upvote
    Jedzkie reacted to Beret in Add new database format   
    A while back when hercules was implemented new updates I gave the idea to ind use configuration (.conf), today I see how much this mode brought more easily for creation and configuration, I noticed that the item_db is now also in file  
    Well why not expand to other files which can facilitate both in future updates following the aegis, as for members who use the emulator. To make clearer how much easier to use that way, look below.     skill_db - hercules:   662,0,6,4,0,0x2,14,10,1,no,0,0x2,0,weapon,0, NPC_HELLJUDGEMENT,Hell's Judgement663,0,6,4,0,0x3,2:5:8:11:14,5,1,no,0,0x2,0,none,0, NPC_WIDESILENCE,Wide Silence661,0,6,4,0,0x2,7,5,1,no,0,0x2,0,weapon,7, NPC_PULSESTRIKE,Pulse Strike  
    skill_db - aegis:
     
    SetSkill NPC_HELLJUDGEMENTOnInit: SkillType TOME SkillMaxLv 10 SkillPattern DIRECTATTACK SkillSplash SQUARE 14 14 14 14 14 14 14 14 14 14 SkillAtkPer 100 200 300 400 500 600 700 800 900 1000returnOnSuccess: SkillHandicap HEALTHCurse 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000returnSetSkill NPC_WIDESILENCEOnInit: SkillType TOME SkillMaxLv 5 SkillSplash SQUARE 2 5 8 11 14 returnOnUse: SkillHandicap HEALTHSilence 1000 1000 1000 1000 1000 SkillNoDamagereturnSetSkill NPC_PULSESTRIKEOnInit: SkillType TOME SkillMaxLv 5 SkillSplash SQUARE 7 7 7 7 7 SkillPattern DIRECTATTACK SkillAtkPer 100 200 300 400 500returnOnSuccess: SkillKnockBack 7 7 7 7 7return  
    produce_db rune - hercules
     
    12733,24,2010,4,1096,1,7123,1,7939,1 produce_db mode rune - aegis
     
    Rune_12733 = { -- 하갈라즈 ["Elder_Branch"] = 1, ["Round_Shell"] = 1, ["Dragon's_Skin"] = 1, } produce_db cook - hercules
     
    12061,11,0,0,7472,0,518,1,514,2,501,1 produce_db cook - aegis
     
    [ [[Dex_Dish01]] ] = { Level={1}; --재료아이템 Meterial = { --아이템DB명, 개수 { [[Honey]], 1 }, { [[Grape]], 2 }, { [[Red_Potion]], 1 }, }; CreatingItembyFailed = { }; }, mercenary_skill_db - hercules
     
    6017,8207,2 //MA_DOUBLE6017,8233,1 //MER_AUTOBERSERK mercenary_skill_db - aegis
     
    "MER_ARCHER01"{ "MA_DOUBLE",2 "MER_AUTOBERSERK",1}  
    sc_config hercules
     
    SC_PROVOKE, 32 sc_config aegis
     
    EFST_PROVOKE={ ResetDead = true; ResetDispel = true; Save = true; Send = false; IgnorePretendDead = false; DeBuff = true; ResetCLEARANCE = true; ActorAppearance = false; SendMultiCast = false; ["backward compatibility send"] = true; -- 이전버젼 호환성을 위해 추가합니다.};  
    These are just a few examples, the manipulation of these files become easier when working with this format. Often you have to work with sums as 1 + 2 + 9 + 5, sum is not the problem, the question having to know what each number is, unlike when using constants, you can work as true or false for example for each option.
  13. Upvote
    Jedzkie reacted to Beret in 2014-10-22, Roulette and per-char gender!   
    Great job, always with news.  
    Don't forget the GM Interface for Cash Shop Control  

  14. Upvote
    Jedzkie reacted to Yommy in 2014-10-22 Client Download   
    Hello Hercules, its been a while
     
    here i present a new client, which requires a fully updated kRO and Hercules.
    https://mega.co.nz/#!kYRAFRqJ!GF4vLIcOKQHsIQkCgZ2oGbXiJaxRsmn1ldohBgOXi3I
     
    its already patched with some options, which i needed for testing..
    ..Disable Ahnlab
    ..Disable ragexe filename check
    ..Read msgstringtable
    ..Read datafolder first
     
    NEMO Patcher should work for most things, but there may be some patches that are broken.
     
    <3
  15. Upvote
    Jedzkie reacted to Ind in 2014-10-22, Roulette and per-char gender!   
    2014-10-22 Client, Roulette and per-char gender!


    Made Possible Thanks to Yommy
    We're only able to provide you with this patch thanks to Yommy, Thank you very much!  
    Roulette
    During test period it will be disabled by default, to enable you must edit conf/battle/feature.conf // Roulette (Note 1)// Requires: 2014-10-22bRagexe or later// Off by default while test version is out; enable at your own risk -- the mean dev.feature.roulette: off Roulette rewards can be defined in db/roulette_db.conf As we understand the coins are points that you obtain by consuming an item, while such an item is not yet available (will be in a upcoming commit), you can set these values with @set command, they're TmpRouletteBronze,TmpRouletteSilver and TmpRouletteGold -- e.g. @set TmpRouletteBronze 5 Requires PACKETVER 20141022 or higher. Where you can get such client? Here (Again, Thanks to Yommy!) In action: http://herc.ws/board/damocles/ind/screenHercules136.jpg
      Per-Character Gender
    Sex is now a character table field, which can be defined as 'M', 'F' or 'U'. 'U' being the default value, meaning undefined, which means the accounts gender takes precedence (upcoming) a script command to change a characters gender Requires PACKETVER 20141022 or higher. Where you can get such client? Here (Again, Thanks to Yommy!) In action: http://herc.ws/board/damocles/ind/screenHercules137.jpg  
    Special Thanks to
    Yommy ..Yommy ...The all-awesome Yommy~! Thank you again! Ziu for extra roulette information (some yet to be applied) Haruna  
    Link~u!
    Commit 2014-10-22 client
  16. Upvote
    Jedzkie reacted to GmOcean in Scripting Tutorials & Guides   
    Scripting Tutorials and Guides
    I'm going to attempt to help everyone here with their scripts while not being directly involved in helping you with them xD.
    This will also help future/current scripters get some fresh info and maybe inspire innovative ideas towards scripting.
    So that we can prove that us " Scripters " are the superior ragnarok emulation race! Take that Source Code writers!! Jk lol, we need you too .

    What I'm going to do, is write detailed tutorials on how to write a few scripts. Starting from the basics to more advanced scripts.
    This way everyone can follow along. And hopefully this will help everyone understand how to write a few scripts and even troubleshoot their own scripts.
     
    Also please read: Scripting Standards.
    It will help you understand how to read some of the syntax and way people script things.
    // A list of <sprite id>s can be found here: Sprite_IDs Credits: Ai4rei
    Scripting Tutorials & Guides
    In this section you will learn how to write scripts ranging from Complete Begginer Level Scripts ( Me and Some of you ) -> Expert Level Scripts ( Think, Developer Status O.o; )
    - Beginner Scripts -
    Scripts for complete beginners and novice scripters.
     
     
    - Intermediate Scripts -
    Scripts for intermediate level scripters. If you completed my beginner script series, then you are ready for this section.
     
     
    - Advanced Scripts -
    Scripts for advanced level scripters. If you completed my intermediate script series and have made a few of your own intermediate scripts, then you are ready for this section.
     
     
    The idea behind this topic, is for new users, and current ones, to have a (second)place they can go to for reference when trying to write a script if they can't figure it out with script_commands.txt file. It will also help people learn how to write scripts. While hopefully, keeping script writing techniques to a ' very ' similar structure!
     
    *Read Me* - I have updated the links on this post to link to the oldboard so these guides can be viewed. However, do note that the script_commands.txt links within those guides are no longer accurate. Enjoy your scripting.
  17. Upvote
    Jedzkie reacted to Yommy in kRO Introduces Pet Evolution System, Roulette Game,RoDex   
    http://i.imgur.com/iVZIu1p.jpg
  18. Upvote
    Jedzkie reacted to AnnieRuru in Quest Modification   
    http://upaste.me/7f63cf
     
    pull request then, not me
  19. Upvote
    Jedzkie got a reaction from vBrenth in Disabled 3rd Jobs and Baby 3rd jobs in @jobchange/@job command   
    Thank you annie.
  20. Upvote
    Jedzkie got a reaction from vBrenth in Disabled 3rd Jobs and Baby 3rd jobs in @jobchange/@job command   
    Hi! i already tried changing this:
     

    // High Jobs, Babies and Third for( i = JOB_NOVICE_HIGH; i < JOB_MAX && !found; i++ ){ if (strncmpi(message, pc->job_name(i), 16) == 0) { job = i; found = true; } }
      to this: // High Jobs, Babies and Third for( i = JOB_NOVICE_HIGH; i < JOB_MAX && !found; i++ ){ if (strncmpi(message, pc->job_name(i), 16) == 0) { job = i; found = true; } } Now, my problem is, i can still do job change to 3rd jobs.
  21. Upvote
    Jedzkie got a reaction from vBrenth in Quest Modification   
    I hope someone make a patch for it.
     
     
    Bump?
     
     
    Bump?!?!!?
     
     
    Bump!
  22. Upvote
    Jedzkie got a reaction from vBrenth in Quest Modification   
    Hi! is it possible to make the quest system of Ragnarok is checking the level gap of the party members? for example.. i have a level 10 and joined a party of lvl 99, the kill of level 99 will not add kill of quest of level 10 unless they are not 10 levels gap. some of my players abuse this settings.. thanks! and i hope you can help me on this problem! specially AnnieRuru
  23. Upvote
    Jedzkie got a reaction from vBrenth in UDP Support Question   
    Yes.
  24. Upvote
    Jedzkie got a reaction from vBrenth in UDP Support Question   
    Does Hercules supports also UDP?
  25. Upvote
    Jedzkie got a reaction from vBrenth in loadmapevent help.   
    OnPCLoadMapEvent:
    while( getd( ".map_"+strcharinfo(3) ) ){
     sc_end SC_ASSUMPTIO;
     message strcharinfo(0),"The assumption buff are disable in GvG/WoE maps.";
       end;
    }
    end;
    }
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.