Jump to content

pan

Community Contributors
  • Content Count

    355
  • Joined

  • Last visited

  • Days Won

    13

Reputation Activity

  1. Upvote
    pan got a reaction from Denyel in Duvida sobre o StaffPlugins e FluxCP   
    Nenhuma pergunta é idiota, pode ficar tranquilo c: Uma boa lição é sempre ter um backup de seu servidor e de suas databases antes de fazer qualquer modificação. Para configurar o flux é só abrir config/application.php e editar as informações, o arquivo é bem auto-explicativo.
    Não tem tanta necessidade de ativar os plugins mas aqui está um link explicando como compilar eles: http://herc.ws/wiki/Building_HPM_Plugin_for_MSVC só seguir essas instruções e ao invés de passar as coisas do "dance.c" passe as do plugin que você quer instalar.
  2. Upvote
    pan got a reaction from milk in Nositting mapflag   
    As it is now it isn't compatible, most places that were changed have things that are only available in Hercules, if you need it to be compatible with eAthena just provide a revision number and I'll 'convert' this diff to it.
  3. Upvote
    pan got a reaction from milk in Nositting mapflag   
    There's no need to do that, all sitting requests pass trough ActionRequest_sub.Here is the new diff: http://pastebin.com/uMgV81Db
    Note that can_sit_anywhere is the minimum gm lvl to sit anywhere. Haven't tested this diff in-game, but there where no build errors.
  4. Upvote
    pan reacted to Mhalicot in Block teleport on Portals   
    It does happened on official, specially on maps with too many warportals like Clocktower and Alde_dun, but some official player ddnt use teleport much in that map because it requires a Key to enter. My alternative solution for this is remove all warportals and replace it with warpNPC, when OnTouch triggered it will ask a user if he/she wants to get out of the map.
  5. Upvote
    pan reacted to Mumbles in Can I request this awesome script? I hope it's easy   
    The more you know. Brought up some good points though. d:
  6. Upvote
    pan reacted to Mumbles in Can I request this awesome script? I hope it's easy   
    Yeah, but OnPCLoadMapEvent runs through all maps that have a loadevent mapflag, which can cause high stress on the server when several players load those maps continuously. Understandably, there are some scenarios where a map isn't accessed by warp portal and OnPCLoadMapEvent would be appropriate; however, in this case the topic starter simply wanted a portal for quest-like purposes (and likely seamless integration). Sure, you'd have to disable existing warps that you would replace this "quest warp" with, but it would make sense that this tedium would be found in sensible applications, such as blocking off all warp-portal entrances into Morroc or something - and even so, this can be done by using duplicate to copy your script over without actually having to add another file/script.
  7. Upvote
    pan reacted to Mumbles in Can I request this awesome script? I hope it's easy   
    I typically wouldn't place OnInit overhead, but due to the behaviour of the WARPNPC sprite, its script won't be run when clicked upon. Add this line above the OnInit label and see for yourself:
     
    message strcharinfo(0), "You touched me!";  
    However, I do concede that it would be good habit to throw an end up there in any similar situation.
  8. Upvote
    pan got a reaction from Mumbles in Can I request this awesome script? I hope it's easy   
    I see. Oh, and I think that after the header you should put an 'end;', if the script stays this way every time someone clicks the warp it will execute everything that's under OnInit's scope, that's unnecessary overhead. Thank you for your answer.
  9. Upvote
    pan got a reaction from milk in Nositting mapflag   
    I coded it for you:
    http://pastebin.com/fSPpQgBb
    Just do the changes that are depicted in this diff file, save and rebuild your map-server.
    I've also added a new group setting:
    can_sit_anywhereJust add it to all groups that can bypass 'nositting' restrictions. 
    Oh, and only player controlled sitting is blocked (e.g. using insert), i.e. if a skill makes a player sit, it'll still do that even with the mapflag enabled, ok?
     
    Regards.
  10. Upvote
    pan reacted to Mumbles in Encrypt grf   
    I apologise if this is naive of me to say, but couldn't you just open GRF Editor's properties and have it run in Compatibility Mode for Windows 7? I haven't tried this myself but it would make sense.
  11. Upvote
    pan reacted to Mystery in Midgard-Community   
    Hey everyone,
     
    it's never too late to update the database... and well, it's that time again! I've been working on our databases: Pre-Renewal and... Renewal! Yup! I now added a Renewal database (it's about time). Keep in mind the Renewal Database still needs to go through some colours just like our Pre-Renewal one did. Anyways! Lets move onto what I did!
     
    Pre-Renewal / Renewal
    [*]Pre-Renewal database got a new colour scheme: http://database.midgard-community.com/
    [*]URL to Renewal database: http://database.midgard-community.com/renewal/
    [*]Added now a link to Renewal Database VIA the sidebar under 'Main Page' link (Pre-Renewal Database)
    [*]Added now a link to Pre-Renewal Database VIA the sidebar under 'Main Page' link (Renewal Database)
    [*]Added now a link to Calculators - a section that I will display different calculators (i.e. Potions, EDP Creating, etc.)
    [*]Both databases Experience and Drop rates have been adjusted to kRO's official Experience and Drop rate
    [*]Both databases got new structure/code tweaks

    And to top everything all off.. I finally added the long awaited "Script", "Equip Script", and "Unequip Script". Yup, you read right! Now, every time you search for an item, you will see their scripts. Check it out here: http://database.midgard-community.com/?act=itemsearch&ctype=on&type=5&cmax_page=on&max_page=40&cdisplayorder=on&displayorder=100#main
     
    As I mentioned above, the Renewal database is still new so I'm not done adjusting its tables. But, I'm a step closer!
  12. Upvote
    pan got a reaction from JulioCF in Download direto do cliente Sakray do kRO   
    Conseguir diretamente do servidor da gravity é meio difícil, eu usei esse torrent para baixar pelo menos um "começo" e depois atualizei com ROLite (que vem junto):
    http://kickass.to/ragnarok-online-10-18-2013-kro-client-folder-t8160080.html#main
    Nesse torrent tem grf para os dois servidores
  13. Upvote
    pan got a reaction from Hadeszeus in [ Req ] Npc Reward Player online   
    You are absolutely right c:For 1 minute for first prize and 3 for the second:setarray .time_lapse, 1, 2, 0;Remember that after the first time_lapse condition is met the timer resets. So even if the second lapse (.time_lapse[1]) looks like just 2 minutes it's actually 3..time_lapse[0]+.time_lapse[1] = REAL time lapse [1]
  14. Upvote
    pan reacted to Mhalicot in Attributes Limiter   
    @TS I dont think its possible to for atk and mtak. but you can reduce their atk/mtak rates by using db/(pre-re|re)/map_zone_db.conf
    { /* PK Mode zone is only used when server is on pk_mode (battle.conf), it applies to all pvp maps that don't have their own zone */ name: "PK Mode" /* changing this name requires MAP_ZONE_PK_NAME to also be changed in src/map/map.h file */ disabled_skills: { } disabled_items: { } /* PK Mode Damage Reductions */ /* - weapon_damage_rate -40% */ /* - magic_damage_rate -40% */ /* - misc_damage_rate -40% */ /* - long_damage_rate -30% */ /* - short_damage_rate -20% */ mapflags: ( "weapon_damage_rate 60", "magic_damage_rate 60", "misc_damage_rate 60", "long_damage_rate 70", "short_damage_rate 80", )}, and for HP, pan is right, the setting for max hp is located in player.conf
    // Maximum HP. (Default is 1000000)max_hp: 1000000 //<-- replace with 999999// Maximum SP. (Default is 1000000)max_sp: 1000000
  15. Upvote
    pan got a reaction from Yugosh in [ Req ] Npc Reward Player online   
    Has been awhile since I wrote my last script but here it is:
    http://pastebin.com/DimazGWd
    Haven't tested it though, if any error pops up, just post here and I'll fix it.
  16. Upvote
    pan got a reaction from Hadeszeus in [ Req ] Npc Reward Player online   
    Has been awhile since I wrote my last script but here it is:
    http://pastebin.com/DimazGWd
    Haven't tested it though, if any error pops up, just post here and I'll fix it.
  17. Upvote
    pan got a reaction from kyeme in Additional settings in guild.conf   
    That's a good idea, and it wouldn't be difficult to implement either. I've changed the names of those config options.
    Open src/map/battle.c and find:
    { "case_sensitive_aegisnames", &battle_config.case_sensitive_aegisnames, 1, 0, 1, },Add below:{ "guild_castle_invite", &battle_config.guild_castle_invite, 0, 0, 1, },{ "guild_castle_expulsion", &battle_config.guild_castle_expulsion, 0, 0, 1, },Open src/map/battle.h and find:int case_sensitive_aegisnames;Add below: int guild_castle_invite; int guild_castle_expulsion;Finally open src/map/guild.c and find (@guild_invite): if( tsd->status.guild_id > 0 || tsd->guild_invite > 0 || ((map->agit_flag || map->agit2_flag) && map->list[tsd->bl.m].flag.gvg_castle)Replace it with: if( tsd->status.guild_id > 0 || tsd->guild_invite > 0 || ((map->agit_flag || map->agit2_flag) && map->list[tsd->bl.m].flag.gvg_castle && !battle_config.guild_castle_invite)Find (@guild_leave): if( sd->status.account_id != account_id || sd->status.char_id != char_id || sd->status.guild_id != guild_id || ((map->agit_flag || map->agit2_flag) && map->list[sd->bl.m].flag.gvg_castle)Replace it with: if( sd->status.account_id != account_id || sd->status.char_id != char_id || sd->status.guild_id != guild_id // Can't leave inside castles || ((map->agit_flag || map->agit2_flag) && map->list[sd->bl.m].flag.gvg_castle && !battle_config.guild_castle_expulsion)Find (@guild_expulsion): if ((tsd = map->id2sd(account_id)) && tsd->status.char_id == char_id && ((map->agit_flag || map->agit2_flag) && map->list[tsd->bl.m].flag.gvg_castle)Replace it with: if ((tsd = map->id2sd(account_id)) && tsd->status.char_id == char_id && ((map->agit_flag || map->agit2_flag) && map->list[sd->bl.m].flag.gvg_castle && !battle_config.guild_castle_expulsion)In your conf/battle/guild.conf add:// Can guild members invite/expel members inside guild castles in WoE/GvG? (Note 1)// default noguild_castle_invite: noguild_castle_expulsion: no
  18. Upvote
    pan got a reaction from JulioCF in É possível criar mapas com instancias como Raids do WOW?   
    Também é uma boa pedida olhar no wiki http://herc.ws/wiki/Instancing
  19. Upvote
    pan got a reaction from Mystery in Additional settings in guild.conf   
    That's a good idea, and it wouldn't be difficult to implement either. I've changed the names of those config options.
    Open src/map/battle.c and find:
    { "case_sensitive_aegisnames", &battle_config.case_sensitive_aegisnames, 1, 0, 1, },Add below:{ "guild_castle_invite", &battle_config.guild_castle_invite, 0, 0, 1, },{ "guild_castle_expulsion", &battle_config.guild_castle_expulsion, 0, 0, 1, },Open src/map/battle.h and find:int case_sensitive_aegisnames;Add below: int guild_castle_invite; int guild_castle_expulsion;Finally open src/map/guild.c and find (@guild_invite): if( tsd->status.guild_id > 0 || tsd->guild_invite > 0 || ((map->agit_flag || map->agit2_flag) && map->list[tsd->bl.m].flag.gvg_castle)Replace it with: if( tsd->status.guild_id > 0 || tsd->guild_invite > 0 || ((map->agit_flag || map->agit2_flag) && map->list[tsd->bl.m].flag.gvg_castle && !battle_config.guild_castle_invite)Find (@guild_leave): if( sd->status.account_id != account_id || sd->status.char_id != char_id || sd->status.guild_id != guild_id || ((map->agit_flag || map->agit2_flag) && map->list[sd->bl.m].flag.gvg_castle)Replace it with: if( sd->status.account_id != account_id || sd->status.char_id != char_id || sd->status.guild_id != guild_id // Can't leave inside castles || ((map->agit_flag || map->agit2_flag) && map->list[sd->bl.m].flag.gvg_castle && !battle_config.guild_castle_expulsion)Find (@guild_expulsion): if ((tsd = map->id2sd(account_id)) && tsd->status.char_id == char_id && ((map->agit_flag || map->agit2_flag) && map->list[tsd->bl.m].flag.gvg_castle)Replace it with: if ((tsd = map->id2sd(account_id)) && tsd->status.char_id == char_id && ((map->agit_flag || map->agit2_flag) && map->list[sd->bl.m].flag.gvg_castle && !battle_config.guild_castle_expulsion)In your conf/battle/guild.conf add:// Can guild members invite/expel members inside guild castles in WoE/GvG? (Note 1)// default noguild_castle_invite: noguild_castle_expulsion: no
  20. Upvote
    pan got a reaction from telles0808 in NidRod   
    Bom, isso não tem nada a ver com a source do emulador na verdade, é um 'problema' de database/script. Adicione em algum arquivo de npc o seguinte comando:
    <mapa>,<x>,<y>,<xs>,<ys>%TAB%boss_monster%TAB%<nome>%TAB%<mob id>,<quantidade>,<delay1>,<delay2>,<evento> <mapa>,0,0,0,0%TAB%boss_monster%TAB%<nome>%TAB%<mob id>,1,86400000,0,0Nota: 1000 * 60 * 60 * 24 = 86400000ms = 24h 
    Só substitua <mapa> pelo mapa que você precisa e <nome> pelo nome que você quer que o mob tenha. Se você quiser que seja o nome padrão da database troque <nome> por --en--
    Utilizar boss_monster ao invés de monster torna possível encontrar o mob usando o Convex Mirror, um item vip.
  21. Upvote
    pan got a reaction from JulioCF in Dano da Laminas Destruidora   
    Esse servidor comum é oficial? Será que eles não fizeram alguma alteração nas mecânicas deles?
    Se você quiser alterar o dano da skill é só abrir src/map/battle.c e procurar por:
    case AS_SONICBLOW: skillratio += 300 + 40 * skill_lv; break;Esse skillratio é a porcentagem de aumento no ataque de seu personagem no uso da habilidade, no total@pre-re/skill_db.txt136,-1,8,1,-1,0,0,10,-8,no,0,0,0,weapon,0, AS_SONICBLOW,Sonic BlowO ataque é modifcado no total e não em cada hit pois o 'number of hits' (9º campo) é negativo, então o dano das lâminas somará o skillratio. E comparando com o iROwiki (que as vezes não bate com informações do kRO, que é emulado pelo Hercules) ele parece estar incorreto, devendo estar:case AS_SONICBLOW: skillratio += 400 + 40 * skill_lv; break; http://irowiki.org/wiki/Sonic_BlowTalvez seja necessário preencher um bug no tracker para avisar a equipe de desenvolvedores quanto a isso.
  22. Upvote
    pan got a reaction from JulioCF in É possível restringir o acesso a um mapa mediante o uso de um equipamento específico (ou lista de equipamentos)?   
    O getitemcount só verificaria se há o item no inventório e não se ele está na lista dos equipados, não?Continuará sim, você deve fazer uma verificação no OnUnequipScript de seu item.OnUnequipScript: <" OnUnequip Script (can also be multi-line) ">Adicione isso em algum script:function script podeContinuar { // O jogador não pode continuar nesse mapa se tirar o equipamento if( strcharinfo(3) == "mapa" ) warp "prontera",150,150; end;}Coloque assim no seu OnUnequipScriptOnUnequipScript: <"podeContinuar();">
  23. Upvote
    pan got a reaction from telles0808 in É possível restringir o acesso a um mapa mediante o uso de um equipamento específico (ou lista de equipamentos)?   
    O getitemcount só verificaria se há o item no inventório e não se ele está na lista dos equipados, não?Continuará sim, você deve fazer uma verificação no OnUnequipScript de seu item.OnUnequipScript: <" OnUnequip Script (can also be multi-line) ">Adicione isso em algum script:function script podeContinuar { // O jogador não pode continuar nesse mapa se tirar o equipamento if( strcharinfo(3) == "mapa" ) warp "prontera",150,150; end;}Coloque assim no seu OnUnequipScriptOnUnequipScript: <"podeContinuar();">
  24. Upvote
    pan reacted to 安赫尔 in Advanced GRF Tool Suite   
    File Name: Advanced GRF Tool Suite
    File Submitter: rosfus
    File Submitted: 14 Jan 2014
    File Category: Client Resources

    Introduction
    RO client GRF file although with high compression ratio compression feature, but not a perfect key protection mechanisms that currently most of the characteristics of SF headdress and articles are free to copy the data , resulting in almost every Ragnarok Private Server client configuration are the same . Therefore, in order to protect the fruits of hard work Ragnarok Private Server workers, Advanced GRF system came into being.

    The version of the file system on the basis of GRF2.0 original structure, embedded advanced symmetric key encryption algorithm, the file is no longer open GRF GRF just unpacked using a program can unlock, but need only produce who did not know a key to open GRF file.

    Advanced GRF Tool Suite package contains four programs:
    [*] Advanced GRF Tool (Advanced GRF production tools , and support for the production and unpack files RGZ), [*]Advanced GRF automatic updater (kRO imitate official updater production, shouldering Advanced GRF file automatic update task ), [*]Advanced GRF offline updater , Advanced GRF automatically updated Configurator (can easily customize Advanced GRF updater for each parameter), [*]Advanced GRF client DLL (and with it, the client ordinary supports Advanced GRF files).

    This program is release in 2007. Very popular in China. Supports all Ragnarok Online versions prior 2013.12.23. Sometimes antivirus software will prompt DLL has a virus, but I guarantee that it is safe.



    Package directory structure
    Advanced GRF Tool Suite
    |
    -- AGRF&RGZ Tool
    |
    -- AGRFTool.exe
    -- zlib.dll
    |
    -- AGRF Patch Offline Updater
    |
    -- AGRFOfflineUpdater.exe
    -- exit.bmp
    -- skin.bmp
    -- start.bmp
    -- zlib.dll
    |
    -- AGRF Patch Updater
    |
    -- UpdRes
    |
    -- exit.bmp
    -- site.bmp
    -- skin.bmp
    -- start.bmp
    -- AGRFUpdater.exe
    -- zlib.dll
    |
    -- AGRF Patch Updater Configure
    |
    -- AGRFUpdaterConfig.exe
    |
    -- AGRF Client DLL
    |
    -- cps.dll
    -- zlib.dll
    -- Web Sample
    |
    -- board.gif
    -- patch_allow.txt
    -- patch_execute.txt
    -- patch2014.txt
    -- rosfus2014.html
    -- serverclose.html
    -- style.css
    InterFace



    Button Description
    [*] Create New GRF file [*]Open Open GRF file [*]Close Close GRF file [*]Extract The selected projects will be unpacked (containing the unpacked files and all solutions buns menu) [*]Add Add File (Contains directories and add submenus from GRF file) [*]Delete Delete selected items [*]Repack The current re-GRF file compression [*]Key GRF file key set [*]RGZ Open RGZ pack / unpack function [*]Exit Exit the program

    Compression
    [*] Level: set the compression ratio GRF file. Divided into four grades: default, fastest, best compression ratio, not compressed. This option can be set at any time.

    Filter
    [*] Keyword: filter out the project in line with the string input box.



    Advanced GRF update Configurator

    Relation
    [*] Files setting: Reference document settings. [*]Updater: Select Advanced GRF automatic updates can be. [*]CPS DLL: Select Advanced GRF client cps.dll file. [*]Offline: select Advanced GRF Offline Updater. [*]Updater settings: Advanced GRF automatic update settings. [*]Open Setting: Open the configuration file. [*]Save Setting: Save the configuration file.

    Profile type 3 radio buttons are used to select the currently opened or saved, depending on the configuration file name reference file.

    The two buttons in case you want to use the complete set of reference documents.


    Description
    [*] Updater_Title Automatic Updater title . ( example : RoSF.us Online Upper) [*]Updater_Resource_Dir Automatic updater resource directory. (relative directory does not contain /example: UpdRes) [*]Updater_Skin_BMP Skin file is automatically updated. (stored in the resource directory of the file name, the same example: skin.bmp) [*]Updater_Start_BMP Button to start the game auto updater file . (example: start.bmp) [*]Updater_Site_BMP Button to access the site automatically updates the file . (example: site.bmp) [*]Updater_Exit_BMP Automatic updater file eject button. (example: exit.bmp) [*]--- [*]Http_Domain Web domain. (without http:// without domain final / example: www.sina.com.cn) [*]Http_Path Web absolute path. (path in front with / does not contain the domain name. cases: /ropatch) [*]Http_Notice Announcements page file name. (without the path example: ro_notice.html) [*]Http_Close Announcements page file name down for maintenance. (without the path example: ro_close.html) [*]Http_List List of update files. (without the path example: ro_list.txt) [*]Http_Allow Startup configuration file name. (without the path example: ro_allow.txt) [*]--- [*]FTP_Domain Patch file to download FTP domain. (without ftp://, without domain final / Example: ftp.rosf.us) [*]FTP_Path FTP path. (path in front with / does not contain the domain name. cases :/ropatch) [*]FTP_UID FTP login user name. (anonymous login can be left blank ) [*]FTP_PWD FTP login password. (anonymous login can be left blank ) [*]--- [*]Offline_Caption Offline Updater title. [*]Offline_Version Offline Updater version. [*]--- [*]PatchInfo Update schedule automatic updates to save the file. (without the path example: Ropatch.inf) [*]GrfFile GRF file needs to be updated. (without the path example: sdata.grf) [*]AGrfKey Key GRF file. (No encryption can be left blank. Values ​​in this column after saving and reopening will become a string of numbers, if you want to re-edit the settings, do not forget to re- enter the correct key again.) [*]ExeFile Client launcher file name. (without the path example: Sakexe.exe) [*]ExeParam Client initiates startup parameters. (example : 1sak1) [*]--- [*]SiteUrl Updater "Access Sites" button site URL. (includes all URL example :. http://www.sina.com.cn/index.htm) [*]Button1URL Similar to the three buttons in the top right corner of the kRO the updater . Specify the corresponding web page URL. [*]Button2URL Same [*]Button3URL Same [*]--- [*]ConfigPassword Password to open the configuration file. If you set a password to open the configuration file will be asked to enter a password, otherwise it is impossible to open the configuration file. When no password can be left blank.

    These are automatically updated, a common configuration file offline and update the client cps.dll.
    Note: Definition Offline Updater some configuration items is somewhat different.
    The following are three configuration files required for the project and project significance.

    Automatic
    Updater: Updater_Title, Updater_Resource_Dir,Updater_Skin_BMP, Updater_Start_BMP, Updater_Site_BMP, Updater_Exit_BMP,Http_Domain, Http_Path, Http_Notice, Http_Close, Http_List, Http_Allow,FTP_Domain, FTP_Path, FTP_UID, FTP_PWD, PatchInfo, GrfFile, AGrfKey, ExeFile,ExeParam, SiteUrl, Button1URL, Button2URL, Button3URL

    Offline
    Updater: Updater_Skin_BMP ( directory skin.bmp current ), Updater_Start_BMP ( the current directory start.bmp),Updater_Exit_BMP ( directory exit.bmp current ), Http_List ( Offline Updater updates the list of files in a list format with automatic Update List Updater), Offline_Caption, Offline_Version, PatchInfo, GrfFile, AGrfKey, ExeFile.

    Offline
    Updater directory format: The updater, configuration files , zlib.dll, 3个bmp files , gpf rgz update files , update the list of files can beplaced in the same directory.

    Cps.dll: AGrfKey


    Advanced GRF client DLL

    Just copy the DLL client to the client directory, overwriting the original cps.dll file.


    Automatically update the file,RGZ and GPF File Production

    RGZ
    Update files are typically asked that the x.exe x.lub or other files, not in the directory "data" .

    GPF
    All files contained in the directory "data"

    AGRFTool
    RGZ Production


    Will need to send files to the client , the client's directory structure into an empty folder, for example: F:AutomaticUpdatesRGZ
    Select AGRTool in RGZ button to [Open] the production program interface. Example by just doing a directory to select resources and output directories . Well -defined file name.
    After the completion point of all [Zip] button.


    GPF Production
    Will need to send to the client data.grf files , according to data directory structure into an empty folder, for example: F:AutomaticUpdatesGPFdata, please remember gpf document root directory is defined data, rather than ro root.
    On AGRTool click [Create] button to create an empty gpf file and define the file name and then click the [ADD] button to select the directory for storing files earlier . Below , please note that the program's title is Create a file name and path.


    Special features encryption
    If you need to encrypt data files, please click [Key] button in the program interface checked Security Mode, and enter the password .


    Special features compression
    There are four levels of compression can be selected, in general we have chosen is Default, but my personal preference is the Best Compression ie the best compression ratio.


    Repack
    After completing all the above steps, click [Repack] button to complete the update files produced.

    Click here to download this file
  25. Upvote
    pan reacted to Mumbles in Flux Control Panel for Hercules   
    Committed in 4cc6996; @Emistry, it's supposed to be like that, but the comment for it is confusing.
×
×
  • Create New...

Important Information

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