Jump to content

KeyWorld

Members
  • Content Count

    95
  • Joined

  • Last visited

  • Days Won

    8

Reputation Activity

  1. Upvote
    KeyWorld reacted to Sanasol in [Showcase] Aeroblax New FluxCP Website   
    your fonts sucks
     
    unreadable all block titles and weekdays - http://dsro.ru/gyazo/images/a85617c930c98beb6bf2744c03d7.png
    shadow -> unreadable - http://dsro.ru/gyazo/images/4b7b729584839777900b2fa2407d.png
    really hard to read(bottom text ofc) - http://dsro.ru/gyazo/images/c73d05d3932577c8b283c5eb84e1.png
  2. Upvote
    KeyWorld reacted to Ai4rei in RagEffect Client Plug-In, version 1.0.3.1 - last updated 2014/05/10   
    RagEffect Client Plug-In


    About
    A client plug-in that replaces client's special effect table (.str) with data from an external database. This release is per request from Ragno on the rAthena boards with the permission to release it publicly.

    Known issues
    Currently the file is not loaded from GRF, but from data folder only. The range of clients might be limited, tested with 2012-07-02aRE and 2013-12-23c. For further possible issues see the Simple DLL Loader for RO Clients topic.

    Download
    binary, reference source

    License

    This work is licensed under a Creative Commons Attribution-Noncommercial 3.0 Unported License.
  3. Upvote
    KeyWorld got a reaction from evilpuncker in roBrowser - Ragnarok Online for Web Browsers   
    @Aeomin
    I did some work but can't find a way to encode it again to the packet.
    So I start working using TextEncoder/TextDecoder api, a WIP draft, there is a shim available so great for now.
     
    I start with a binary:
    var data = new Uint8Array([0xB2, 0xE2, 0xCA, 0xD4, 0x74, 0x65, 0x73, 0x74, 0x31, 0x32, 0x33]); Decode it:
    var str = TextDecoder('gbk').decode(data);// result: "测试test123"  
    Works great, it print "测试test123".
    Now the problem is when you have the string and want to pack it to the binary (to send the text to the server).
    var data = TextEncoder().encode(str);// result: [ 0xE6, 0xB5, 0x8B, 0xE8, 0xAF, 0x95, 0x74, 0x65, 0x73, 0x74, 0x31, 0x32, 0x33 ]; As you see it doesn't match the first binary data.
    Currently checking if there is not a way to fix it without having to recode all charset functions by hand.
     
    Edit: Just did some progress, I'll give some news soon.
  4. Upvote
    KeyWorld got a reaction from pr3p in roBrowser - Ragnarok Online for Web Browsers   
    I guess in all case it use two bytes even if it's alpha in this case (just the second byte set to 0).
    By chance, can you give me the binary data of a player talking with chinese and alphanumeric text in the same message ? Would be great to figure it out
     
     
    If you have a white page, the .htaccess is read ! In the other case it would show a 404 error page. Try to set the debug mode to true to find the error.
    I did some updates to the remote client code two days ago, it should be easier to debug.
  5. Upvote
    KeyWorld got a reaction from ljsb in ROChargenPHP - Free PHP Character Viewer   
    ROChargenPHP
     
      
     
     
     
    Features

    Core [*]Support for .spr, .act, .pal, .grf, ... [*].act file completed support (transparency, scale, color, rotate, ...) [*]Characters fully implemented ( body, head, hats, weapon, shield, robe, mount) with palettes support. [*]Can modify action, animation and direction. [*]Class to generate : Full Character / Character Head only / Monster-NPC-Homunculus / Avatar / Signature. [*]Cache system available (and can be set off) with configurable time to cache. [*]Emblem Loader available.
    Client
    [*]Data.ini file support (to list your GRFs) [*]Support GRF (0x200 version only without DES encryption - repack before uploading) - the data folder is always read first. [*]Auto-Extract files from GRF if needed (optimize performance) [*]Updater script available to convert some lua files to PHP.





    How to use

    Really url-friendly:
    myserver.com/chargen/<controller>/<data> // with url-rewritingmyserver.com/chargen/index.php/<controller>/<data> // without url-rewriting Example for my character called "KeyWorld":myserver.com/chargen/avatar/KeyWorld // avatarmyserver.com/chargen/signature/KeyWorld // signaturemyserver.com/chargen/character/KeyWorld // full Charactermyserver.com/chargen/characterhead/KeyWorld // Character's head  

    You can change the default link by modify the array $routes in the index.php file:// $routes['url'] = controller$routes['/avatar/(.*)'] = 'Avatar';$routes['/character/(.*)'] = 'Character';$routes['/characterhead/(.*)'] = 'CharacterHead';$routes['/monster/(d+)'] = 'Monster';$routes['/signature/(.*)'] = 'Signature'; 




    Custom display

    At least, the tool is really easy to use, here an example on how to display a static character:
     
    $chargen = new CharacterRender(); $chargen->action = CharacterRender::ACTION_READYFIGHT; $chargen->direction = CharacterRender::DIRECTION_SOUTHEAST; $chargen->body_animation = 0; $chargen->doridori = 0; // Custom data: $chargen->sex    = "M"; $chargen->class = 4002; $chargen->clothes_color = 0; $chargen->hair = 5; $chargen->hair_color = 12; // ... head_top, head_mid, head_bottom, robe, weapon, shield, ... // Generate Image $img = $chargen->render(); imagepng($img);  
     




    Examples / Demos









     

    Sources
     
     


    Get the source
    (Thanks to report all bugs)


    License

    Instead of selling it, I give a try to "Open Source project with Donation".
    So if you think, you would have buy it if i was selling it, think to give a donation ?




     


    Notes [*]A directory "client" is in the project, it will be a good idea to move it to a directory not accessible by the user (for example /home/client/). [*]If you use generate images from GRFs you have to know it's a little slower, i recommend you in this case to allow the "AutoExtract" option to gain performance. [*]GRFs have to be save as 0x200 version without any encryption (even the official DES), good idea is to remove unused folders ( textures, wav, models).. [*]If you use the options Cache and AutoExtract, don't forget the script need to have a write access to the client and cache folder. [*]Thanks to Khazou for the acces to his server to fully testing the tool

  6. Upvote
    KeyWorld got a reaction from Legend in ROChargenPHP - Free PHP Character Viewer   
    ROChargenPHP
     
      
     
     
     
    Features

    Core [*]Support for .spr, .act, .pal, .grf, ... [*].act file completed support (transparency, scale, color, rotate, ...) [*]Characters fully implemented ( body, head, hats, weapon, shield, robe, mount) with palettes support. [*]Can modify action, animation and direction. [*]Class to generate : Full Character / Character Head only / Monster-NPC-Homunculus / Avatar / Signature. [*]Cache system available (and can be set off) with configurable time to cache. [*]Emblem Loader available.
    Client
    [*]Data.ini file support (to list your GRFs) [*]Support GRF (0x200 version only without DES encryption - repack before uploading) - the data folder is always read first. [*]Auto-Extract files from GRF if needed (optimize performance) [*]Updater script available to convert some lua files to PHP.





    How to use

    Really url-friendly:
    myserver.com/chargen/<controller>/<data> // with url-rewritingmyserver.com/chargen/index.php/<controller>/<data> // without url-rewriting Example for my character called "KeyWorld":myserver.com/chargen/avatar/KeyWorld // avatarmyserver.com/chargen/signature/KeyWorld // signaturemyserver.com/chargen/character/KeyWorld // full Charactermyserver.com/chargen/characterhead/KeyWorld // Character's head  

    You can change the default link by modify the array $routes in the index.php file:// $routes['url'] = controller$routes['/avatar/(.*)'] = 'Avatar';$routes['/character/(.*)'] = 'Character';$routes['/characterhead/(.*)'] = 'CharacterHead';$routes['/monster/(d+)'] = 'Monster';$routes['/signature/(.*)'] = 'Signature'; 




    Custom display

    At least, the tool is really easy to use, here an example on how to display a static character:
     
    $chargen = new CharacterRender(); $chargen->action = CharacterRender::ACTION_READYFIGHT; $chargen->direction = CharacterRender::DIRECTION_SOUTHEAST; $chargen->body_animation = 0; $chargen->doridori = 0; // Custom data: $chargen->sex    = "M"; $chargen->class = 4002; $chargen->clothes_color = 0; $chargen->hair = 5; $chargen->hair_color = 12; // ... head_top, head_mid, head_bottom, robe, weapon, shield, ... // Generate Image $img = $chargen->render(); imagepng($img);  
     




    Examples / Demos









     

    Sources
     
     


    Get the source
    (Thanks to report all bugs)


    License

    Instead of selling it, I give a try to "Open Source project with Donation".
    So if you think, you would have buy it if i was selling it, think to give a donation ?




     


    Notes [*]A directory "client" is in the project, it will be a good idea to move it to a directory not accessible by the user (for example /home/client/). [*]If you use generate images from GRFs you have to know it's a little slower, i recommend you in this case to allow the "AutoExtract" option to gain performance. [*]GRFs have to be save as 0x200 version without any encryption (even the official DES), good idea is to remove unused folders ( textures, wav, models).. [*]If you use the options Cache and AutoExtract, don't forget the script need to have a write access to the client and cache folder. [*]Thanks to Khazou for the acces to his server to fully testing the tool

  7. Upvote
    KeyWorld got a reaction from JulioCF in Web Grf Viewer   
    GRF Viewer
     


     
     
    Hi there !
     
    If you remember, in the past I released a buggy web grf viewer.
    It was slow, didn't work with big GRF because of memory issue, can't decode DES encryption, now time to present its new version.
     
    Basically this web tool allow you to select your own GRFs and display their contents directly in the browser. Nothing to download.
    As its name suggest, it can't write into the GRF, there are currently no API available (for security reason) to have write access to the user computer, so the only point of this tool is to display its content and search on it. There are no way to repack, add or modify files. Just view and extract files.
     
    This tool is built using only javascript, html5 and webgl, it is in my point of view a demonstration of what can be done in the web today with new technologies.
    It can view as thumbnail some sort of files : bmp, gif, jpeg, tga, spr, pal, and some tools are included to render models and maps or listening audio files.
     
    Two possibilities at the start up :
    Select a GRF (click on "select files", or drag drop your grfs in the box).
    Note: once the page quit or reloading you have to re-select the files, the browser do not remember them. Click on the data folder, in this case, it will show resources from my remote client.

     
    This tool is an application from roBrowser, it's using roBrowser's core. So if you ever find a bug, I'll be really happy to fix it !
     
    Note: it's possible the viewer stop rendering a directory content because it encounter a corrupted file in the GRF (wrong gzip encryption, or invalid file offset) or the file is encrypted.
     
    You can test this tool online here: http://www.robrowser.com/prototype/GRF-Viewer/
     
    Some preview:
     











     
    All feedback are welcome.
    Have fun~
  8. Upvote
    KeyWorld got a reaction from Mhalicot in roBrowser - Ragnarok Online for Web Browsers   
    Seems like I didn't write a post here about this project, it's time to do it.
    I'm here to introduce roBrowser, an open source project that try to port Ragnarok Online in the browser using web technologies (javascript, HTML5, WebGL).
     
    As it's running in a web browser, roBrowser isn't OS dependent and run fine on Linux, Macintosh and Windows. It's also running on some smartphone and tablets but it depend if the system support webgl and I have to admit, it has bad control (not optimize for touch control).
     
    It can also be run as a Chrome App, I personally use it to have a nice icon on my desktop.
    From now, I tested it (and it's working) on Chrome, Firefox, Safari and Opera. It will work in future on IE11 when they will fix their rendering engine.
     
    roBrowser is not a different game as Gravity built (Ragnarok Zero, Ragnarok Violet, ...), this project is intended to be another client for RO1, to connect on private servers.
     


    Get the source
    (Thanks to report all bugs)

    If you like roBrowser, you can help me improving it or
    even thinking about doing a donation ?


     
     
     
    Screenshots










     
     

    The project is still on going, currently missing a lot of features to match the official client (trade ui, npc buy/sell, ...), but I'm working on it.
     

    Some usefulls links :
    [*] Source code [*]Installation guide [*]WebSite [*]API Guide [*]Forum [*]Demo (Yep there is even a demo if you want to try it).

  9. Upvote
    KeyWorld got a reaction from Aeomin in roBrowser - Ragnarok Online for Web Browsers   
    March 2014 news
    [*]Add support for 2013 december packets. [*]Massive bugs fixes and optimizations (thanks for feedback). [*]Remove some memory leaks [*]Add GZIP compression in remote client (and http cache). [*]Add visual casting spells to skills. [*]Add support for high jump packet (sliding entities) and body relocation. [*]Now able to attack players by pressing SHIFT keyu (or /noshift /ns). [*]Add skipServerList config to skip server list if there is only one element in the list. [*]Add skipIntro config to skip the intro window. [*]Add autoLogin config (I let you imagine - facebook api ?). [*]Now displaying GM sprites. [*]Add support for text color (what player are saying + Admin text - yellow). [*]Introduce SI_CLAIRVOYANCE (maya purple card). [*]The character can now move to pick an item on the ground. [*]Add shadow table DB (to display shadow size). [*]Remove sprite 111 and 139 from scene. [*]Introduce QPet system.

     
    Screenshots of the Month



     
    Note: the "Slot Machine" in the Pet Capture is different than the official one, this one use all the animation frames stored in the sprite/action and looks (in my opinion) really better.
  10. Upvote
    KeyWorld got a reaction from quesoph in roBrowser - Ragnarok Online for Web Browsers   
    March 2014 news
    [*]Add support for 2013 december packets. [*]Massive bugs fixes and optimizations (thanks for feedback). [*]Remove some memory leaks [*]Add GZIP compression in remote client (and http cache). [*]Add visual casting spells to skills. [*]Add support for high jump packet (sliding entities) and body relocation. [*]Now able to attack players by pressing SHIFT keyu (or /noshift /ns). [*]Add skipServerList config to skip server list if there is only one element in the list. [*]Add skipIntro config to skip the intro window. [*]Add autoLogin config (I let you imagine - facebook api ?). [*]Now displaying GM sprites. [*]Add support for text color (what player are saying + Admin text - yellow). [*]Introduce SI_CLAIRVOYANCE (maya purple card). [*]The character can now move to pick an item on the ground. [*]Add shadow table DB (to display shadow size). [*]Remove sprite 111 and 139 from scene. [*]Introduce QPet system.

     
    Screenshots of the Month



     
    Note: the "Slot Machine" in the Pet Capture is different than the official one, this one use all the animation frames stored in the sprite/action and looks (in my opinion) really better.
  11. Upvote
    KeyWorld got a reaction from evilpuncker in roBrowser - Ragnarok Online for Web Browsers   
    March 2014 news
    [*]Add support for 2013 december packets. [*]Massive bugs fixes and optimizations (thanks for feedback). [*]Remove some memory leaks [*]Add GZIP compression in remote client (and http cache). [*]Add visual casting spells to skills. [*]Add support for high jump packet (sliding entities) and body relocation. [*]Now able to attack players by pressing SHIFT keyu (or /noshift /ns). [*]Add skipServerList config to skip server list if there is only one element in the list. [*]Add skipIntro config to skip the intro window. [*]Add autoLogin config (I let you imagine - facebook api ?). [*]Now displaying GM sprites. [*]Add support for text color (what player are saying + Admin text - yellow). [*]Introduce SI_CLAIRVOYANCE (maya purple card). [*]The character can now move to pick an item on the ground. [*]Add shadow table DB (to display shadow size). [*]Remove sprite 111 and 139 from scene. [*]Introduce QPet system.

     
    Screenshots of the Month



     
    Note: the "Slot Machine" in the Pet Capture is different than the official one, this one use all the animation frames stored in the sprite/action and looks (in my opinion) really better.
  12. Upvote
    KeyWorld reacted to Sanasol in Web Vending Database (Standalone and FluxCP Addon)   
    coding at work 10-12 hrs per day 5 days in a week  you think I want to do something else then?
  13. Upvote
    KeyWorld got a reaction from Dinze in How can i handle Chat Message Strings   
    It's packet based.
     
    <header><packet length (only if packet size is dynamic)><packet data>  
    So currently, yours is at the end:
    8e001000436865636b6572203a203100 Where :
    8e00 is the packet id (0x8e) 1000 is the packet size (0x10) the rest is the message data.

  14. Upvote
    KeyWorld reacted to kisuka in Scripting Standards   
    Since the beginning of scripting in the Athena project, I don't believe, or can remember of, a set of guidelines / standards which have ever been released. Standards are created as a way to develop a style which remains consistent among all script releases.
     
    Due to the lack of standards, most athena scripts are styled depending on the scripter / author's personal preference. This has resulted in a mix of styles, which have become hard to read, and even harder to contribute to in the future (due to ugly script styling).
     
    Because of this, I would like to propose a set of Scripting Standards, to finally get us on track to clean scripts in the Athena Project.
     
    Attached are the standards I have developed, as well as an example script following the standards. Please review them and be sure to let me know what you think.
     
    This is by no means accepted into the community yet, I would like feedback first before this is even considered to be official.
     
    Thank You.
     
    (Files best viewed in : Sublime Text 2 or Notepad++)
    alberta.txt
    AS Standards.txt
  15. Upvote
    KeyWorld reacted to Haru in Scripting Standards   
    I disagree. It makes it unclear at first sight that the block is related to that specific if statement, and it uses too much vertical space unnecessarily. (For the same reason why I dislike excessive amounts of empty lines inside functions, in general. The less lines of code you can fit in your screens, the harder it becomes to understand what a function does.)In some (very few) cases it's necessary to use it, so it needs to be kept in the documentation (perhaps also noting that it is deprecated and it should not be used unless strictly necessary.) 
    An example where it is necessary is when you want to set a variable from another npc:
    set getvariableofnpc(.foo, "My Other NPC"), 1;
  16. Upvote
    KeyWorld got a reaction from vBrenth in roBrowser - Ragnarok Online for Web Browsers   
    @quesoph
    Follow the remote client installation guide line by line : https://github.com/vthibault/roBrowser/blob/master/client/readme.md
     
    Known problems people experienced before:
    They forgot to configure the .htaccess data.ini file is case sensitive. Apache do not read their .htaccess files They do not properly repack their GRFs to remove DES encryption in files. They use Client::$AutoExtract set to true but do not have write access. They forget to remove the debug mode (only here to help installing it, once done it has to be removed).

    So for now, set the debug mode to true, and try to see where the problem can be.
  17. Upvote
    KeyWorld reacted to jaBote in Scripting Standards   
    I like the standards, but maybe this could break that:
     
    announce "this is such a great and big announcement that can maybe be inside of an official script, how will you cut it out?",bc_all;  
    And only thing I don't like is that I'd prefer to see this on an if-else statement because I feel it's more clear:
     
    if (this) {}else if (that) {}else {}  
    P.S.: I can't seem to download the alberta text?
  18. Upvote
    KeyWorld got a reaction from Ehwaz in Packet Keys @WPE Free   
    Hi,
     
    After reading again and again this topic : Hercules WPE Free - June 14th Patch I saw that people don't really know how to figure out if the keys they are using are broken or not.
     
    So I wrote an online tool to help them (design stolen from jsperf.com).
     
    http://www.robrowser.com/prototype/packet-keys/
     
    This tool simulate 100'000 self encryption of the key to check if it's strong or not (I can set it higher, but it will stress your browser to have the same result).
      Bonus, a form to help you generate your own keys. Have fun~
  19. Upvote
    KeyWorld got a reaction from quesoph in Packet Keys @WPE Free   
    Hi,
     
    After reading again and again this topic : Hercules WPE Free - June 14th Patch I saw that people don't really know how to figure out if the keys they are using are broken or not.
     
    So I wrote an online tool to help them (design stolen from jsperf.com).
     
    http://www.robrowser.com/prototype/packet-keys/
     
    This tool simulate 100'000 self encryption of the key to check if it's strong or not (I can set it higher, but it will stress your browser to have the same result).
      Bonus, a form to help you generate your own keys. Have fun~
  20. Upvote
    KeyWorld got a reaction from Angelmelody in Packet Keys @WPE Free   
    Hi,
     
    After reading again and again this topic : Hercules WPE Free - June 14th Patch I saw that people don't really know how to figure out if the keys they are using are broken or not.
     
    So I wrote an online tool to help them (design stolen from jsperf.com).
     
    http://www.robrowser.com/prototype/packet-keys/
     
    This tool simulate 100'000 self encryption of the key to check if it's strong or not (I can set it higher, but it will stress your browser to have the same result).
      Bonus, a form to help you generate your own keys. Have fun~
  21. Upvote
    KeyWorld got a reaction from Dastgir in Packet Keys @WPE Free   
    Hi,
     
    After reading again and again this topic : Hercules WPE Free - June 14th Patch I saw that people don't really know how to figure out if the keys they are using are broken or not.
     
    So I wrote an online tool to help them (design stolen from jsperf.com).
     
    http://www.robrowser.com/prototype/packet-keys/
     
    This tool simulate 100'000 self encryption of the key to check if it's strong or not (I can set it higher, but it will stress your browser to have the same result).
      Bonus, a form to help you generate your own keys. Have fun~
  22. Upvote
    KeyWorld got a reaction from Jezu in Packet Keys @WPE Free   
    Hi,
     
    After reading again and again this topic : Hercules WPE Free - June 14th Patch I saw that people don't really know how to figure out if the keys they are using are broken or not.
     
    So I wrote an online tool to help them (design stolen from jsperf.com).
     
    http://www.robrowser.com/prototype/packet-keys/
     
    This tool simulate 100'000 self encryption of the key to check if it's strong or not (I can set it higher, but it will stress your browser to have the same result).
      Bonus, a form to help you generate your own keys. Have fun~
  23. Upvote
    KeyWorld got a reaction from Jaburak in Packet Keys @WPE Free   
    Hi,
     
    After reading again and again this topic : Hercules WPE Free - June 14th Patch I saw that people don't really know how to figure out if the keys they are using are broken or not.
     
    So I wrote an online tool to help them (design stolen from jsperf.com).
     
    http://www.robrowser.com/prototype/packet-keys/
     
    This tool simulate 100'000 self encryption of the key to check if it's strong or not (I can set it higher, but it will stress your browser to have the same result).
      Bonus, a form to help you generate your own keys. Have fun~
  24. Upvote
    KeyWorld got a reaction from evilpuncker in Packet Keys @WPE Free   
    Hi,
     
    After reading again and again this topic : Hercules WPE Free - June 14th Patch I saw that people don't really know how to figure out if the keys they are using are broken or not.
     
    So I wrote an online tool to help them (design stolen from jsperf.com).
     
    http://www.robrowser.com/prototype/packet-keys/
     
    This tool simulate 100'000 self encryption of the key to check if it's strong or not (I can set it higher, but it will stress your browser to have the same result).
      Bonus, a form to help you generate your own keys. Have fun~
  25. Upvote
    KeyWorld got a reaction from Alexandria in Packet Keys @WPE Free   
    Hi,
     
    After reading again and again this topic : Hercules WPE Free - June 14th Patch I saw that people don't really know how to figure out if the keys they are using are broken or not.
     
    So I wrote an online tool to help them (design stolen from jsperf.com).
     
    http://www.robrowser.com/prototype/packet-keys/
     
    This tool simulate 100'000 self encryption of the key to check if it's strong or not (I can set it higher, but it will stress your browser to have the same result).
      Bonus, a form to help you generate your own keys. Have fun~
×
×
  • Create New...

Important Information

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