Tokeiburu
Members-
Content Count
202 -
Joined
-
Last visited
-
Days Won
37
Content Type
Profiles
Forums
Downloads
Staff Applications
Calendar
Everything posted by Tokeiburu
-
Hide data folder or delete some file can protect data folder
Tokeiburu replied to zhaosin's question in General Server Support
The data folder is not there by default, so you can remove all the files in there. This is, of course, assuming you already have all of them in your GRF. -
File Name: RO Installer Script (Inno Setup) File Submitter: Tokeiburu File Submitted: 17 Aug 2015 File Category: Client Resources Heya! This 'release' is a very simple Inno Setup script to create Full or Lite client installers. It requires Inno Setup, which can be downloaded here : http://www.jrsoftware.org/isdl.php#stable. While installing Inno Setup, make sure the "Install Inno Setup Preprocessor" option is checked; otherwise you will get an "unknown option" error. How to make this work? Put your client files in either RO_Lite or RO_Full and then run the "_Make New Installer.bat" files. This will output a new installer called "YourRO Installer.exe". Customization Server name : open RO.iss and change the first line : #define ServerName "YourRO" The left image can be customized by editing background.bmp (or background.psd). The file format must remain a 24bit bmp. The wizard small image uses wizardSmallImage.bmp; the file format must remain 24bit as well. To add files to your installer, add them to the RO_Lite or RO_Full subfolders. Once you run the script, all the files in these folders will be packed in your installer. It can go over 2 GB, although if that's the case you might want to consider using the LZMA compression for your GRFs...! Install the VC++ Redistributable files (required by Harmony) silently. Open RO.iss and remove the semi-colon in front of "#define Harmony" to enable this option. By default, the necessary registry keys to start the game will be set if they aren't already. This is to avoid the "small window" issue people will have with older clients. The installer icon can be changed via installer.ico Uninstallating removes the entire RO folder, watch out (you can disable that). The default installer icon used comes from Lykos's icon pack, which can be found here : https://rathena.org/board/files/file/3190-s1-lykos-icon-pack/. It has been modified through hexing to allow the icon to be resizable by Windows Vista or more recent. Click here to download this file
-
It's... nothing really; It's just an Inno Setup script to create client installers. I've been using it for a while but I wasn't sure if it was worth uploading or not. It's mostly for people who have no idea how to make installers or end up using weird tools like Winrar's SFX tool...!
-
Version 1.0.0
2945 downloads
Heya! This 'release' a very simple Inno Setup script to create Full or Lite client installers. It requires Inno Setup, which can be downloaded here : http://www.jrsoftware.org/isdl.php#stable. While installing Inno Setup, make sure the "Install Inno Setup Preprocessor" option is checked; otherwise you will get an "unknown option" error. How to make this work? Put your client files in either RO_Lite or RO_Full and then run the "_Make New Installer.bat" files. This will output a new installer called "YourRO Installer.exe". Customization Server name : open RO.iss and change the first line : #define ServerName "YourRO" The left image can be customized by editing background.bmp (or background.psd). The file format must remain a 24bit bmp. The wizard small image uses wizardSmallImage.bmp; the file format must remain 24bit as well. To add files to your installer, add them to the RO_Lite or RO_Full subfolders. Once you run the script, all the files in these folders will be packed in your installer. It can go over 2 GB, although if that's the case you might want to consider using the LZMA compression for your GRFs...! Install the VC++ Redistributable files (required by Harmony) silently. Open RO.iss and remove the semi-colon in front of "#define Harmony" to enable this option. By default, the necessary registry keys to start the game will be set if they aren't already. This is to avoid the "small window" issue people will have with older clients. The installer icon can be changed via installer.ico Uninstallating removes the entire RO folder, watch out (you can disable that). The default installer icon used comes from Lykos's icon pack, which can be found here : https://rathena.org/board/files/file/3190-s1-lykos-icon-pack/. It has been modified through hexing to allow the icon to be resizable by Windows Vista or more recent. -
Everything's now working fine, thank you ;]!
-
It's 4.5MB, pretty far away from the limit xD. Some quick tests show a limit of 2MB, which is the same as the limit on regular posts for attached files. Perhaps that could be related?
-
Heya, I was wondering what happened to the file upload limit on the forum? I used to be able to upload files past 4MB with no issues although now it seems to be lower than that. I'm referring to this : Is it normal? ;x
-
Mysterious is correct. If it were just me, it would probably be released freely, but it's a team project, so I can't ;P.
- 18 replies
-
Well, I guess I could give a few updates...! There's been a couple of bug fixes and some compatibility issues have been resolved with Windows XP. The CPU usage has been drastically lowered (down to almost nothing). We are currently working on making RagnaShield more flexible : You will now be able to let the client read from the data folder while still being able to protect your files (job sprites, etc). Clientinfo.xml won't be hidden anymore to allow server owners to edit some of the content without having to rebuild the game guard all the time. The IP and port fields will still be hidden however (and cannot be modified). data.ini won't be embedded (in the client) anymore either. The first two entries, in data.ini, are reserved by RagnaShield to ensure its own protected files are read first. The third-party protection has to be tweaked a little, it detects too many false positives and that's currently an issue. We've switched (not fully) to a file signature protection instead, since this is much more reliable to begin with. The server installation process has been made easier; an executable will patch your source files for you (though, this program is not shared to server owners yet, but we plan to). A plugin for Hercules would indeed be nice, but also requires more work on our hand to keep multiple files up-to-date. So currently, there are no plans to make this into a plugin. The game guard is still in beta for now, mostly because of Windows XP causing issues "every now and then". That's... pretty much covers most of it ;]. Edit : Oh and, we've made the error codes clearer too.
- 18 replies
-
Heya, If you're going to do a patcher via C#, then you can download GRF Editor's sources over here : http://www.mediafire.com/download/7z6hkdag4ayj8rs Add a reference to the dlls found in the "Output Libraries" folder to your project and you can use the following code to get you started : using System;using System.Diagnostics;using System.IO;using System.Windows.Forms;using GRF.Core;using GRF.FileFormats.RgzFormat;using GRF.FileFormats.ThorFormat;using GRF.IO;using Utilities.Extension;namespace TestPatcher { public partial class Form1 : Form { public Form1() { InitializeComponent(); Patch(); } public void Patch() { var patchesPath = @"C:Patches"; var patcherExeName = Path.GetFileName(Process.GetCurrentProcess().MainModule.FileName); var roDirectory = Directory.GetCurrentDirectory(); var serverGrfName = @"server.grf"; var temporaryGrfName = @"temp.grf"; using (var output = new GrfHolder(temporaryGrfName, GrfLoadOptions.New)) { foreach (var patchFile in Directory.GetFiles(patchesPath)) { if (patchFile.IsExtension(".grf", ".gpf")) { using (var grf = new GrfHolder(patchFile)) { output.QuickMerge(grf); } } else if (patchFile.IsExtension(".rgz")) { using (var rgz = new Rgz(patchFile)) { if (rgz.Table.ContainsFile(patcherExeName)) { // Updating on this executable, do something...! throw new NotImplementedException(); } foreach (var entry in rgz.Table) { entry.ExtractFromRelative(roDirectory); } } } else if (patchFile.IsExtension(".thor")) { using (var thor = new Thor(patchFile)) { if (thor.Header.UseGrfMerging) { string targetGrf = thor.Header.UseDefaultTargetGrf ? serverGrfName : thor.Header.TargetGrf; if (string.IsNullOrEmpty(targetGrf)) throw new Exception("THOR extraction failed : no target GRF identified."); if (String.Compare(serverGrfName, targetGrf, StringComparison.OrdinalIgnoreCase) == 0) { output.QuickMerge(thor.ToGrfHolderQuick()); } else { using (var grf = new GrfHolder(targetGrf, GrfLoadOptions.OpenOrNew)) { grf.QuickMerge(thor.ToGrfHolderQuick()); } } } else { if (thor.Table.ContainsFile(patcherExeName)) { // Updating on this executable, do something...! throw new NotImplementedException(); } foreach (var entry in thor.Table) { entry.ExtractFromRelative(roDirectory); } } } } } using (var serverGrf = new GrfHolder(serverGrfName, GrfLoadOptions.OpenOrNew)) { serverGrf.QuickMerge(output); } } GrfPath.Delete(temporaryGrfName); } }} Obviously this is not optimized and errors are not handled at all, but it yields good results nonetheless. I would definitely not recommend you to start from scratch to make a patcher.
-
Updated to 1.7.7.4; the option has been brought back. There used to be a similar feature before in GRFE, but it was too troublesome to maintain and I dropped it. On the other hand, I don't plan on updating GRF Editor much at all anymore. No new tools will be added to the software; the only remaining updates would be the lub decompiler (which has yet to be fixed/completed) and other bug fixes, which should be very rare by now. Updated to 1.7.7.5. By default the files are extracted where your GRF has been opened, you can now change that from Tools > Settings > General > Override default extraction path > Edit the [Roaming folder] path.
-
Don't show last zero in weight (npc dialogue box)?
Tokeiburu replied to Helena's question in Script Support
You could use TRUNCATE(weight/10,1) or ROUND(...) in your query, although the result may not be what you'd except. You could also simply convert the weight manually instead (and make it a function) : .@weight$ = .@weight;if (.@weight % 10 != 0) { .@length = getstrlen(.@weight$); .@weight$ = (.@length == 1 ? "0" : "") + insertchar(.@weight$, ".", .@length - 1);}else { .@weight$ = .@weight / 10;} This would give you : 500 > 50 505 > 50.5 8 > 0.8 -
First thing first, fix that msgstringtable file : http://www.mediafire.com/view/7jdzlggzlf39c1a/msgstringtable.txt As for your card issue, are you sure it's in the correct location in your GRF/data folder (should be in datatextureÀ¯ÀúÀÎÅÍÆäÀ̽ºcardbmp)? Is the image format valid? Your image must be 24bit or 8bit-indexed, aka a palette image.
-
This error can be from multiple reasons... the file was encrypted, it can be using a different compression method, the content is, like the error says, not a gat one, etc.
-
The client version tells you which file you have to edit (idnum2itemdesctable or itemInfo - from rA's wiki : Renewal Clients <= 2012-04-10a & Main Clients <= 2012-07-10a use the .txt files version while clients above this date uses itemInfo). As for itemInfo.lua versus itemInfo.lub, that depends on how you diffed your client ("Load custom lua file instead of itemInfo.lub", itemInfo.lub is the default one but it is recommended to use itemInfo.lua to avoid kRO updates overwriting your own file). As for idnum2itemdesctable, it can be in any of your GRF or in your data folder if you've enabled the feature while diffing your client. You have to check your GRF order in that case (from data.ini) to see which one is read first (and the data folder is read before any GRF if enabled). I would recommended putting these files in your data folder because it's easier to edit and kRO updates won't overwrite your files. There is indeed no itemInfo.lub/lua in GRFs normally.
-
What is your client version? You should also put those files (idnum2itemdesctable) in your data folder; it's easier to modify and update them.
-
Try waveffectvalentine.wav Edit : the way you can find which sounds belong to which effects is by renmaing the waveffect folder to... waveffect.bak in your GRF and then play the effect ingame. It will throw you an error such as "resource missing: waveffectvalentine.wav" and then crash your client. When you're done you rename the folder back obviously.
-
Your client is looking for spriteÀΰ£Á·µµµÏµµµÏ_³²_īŸ¸£_īŸ¸£_°Ë±¤ , which means : For the male (³²) thief (µµµÏ) class, for the weapon sprite (_īŸ¸£_īŸ¸£, which is view ID 16 - WEAPONTYPE_CATARRH), for the weapon trail sprite (_°Ë±¤). Basically, one of your katar weapon is usable by the thief class (normally they're only usable by assassin or assassin cross classes, so I'm assuming you've changed the applicable job field xD). The trail sprite is missing (it is usually required for the default weapon types). For example, the weapon sprite : The trail sprite : I'm not sure when this is actually displayed ingame though... anyway, you can create empty act/spr files and it will fix the issue. Good luck! thief_trail.rar
-
First reason why I ask is because you've shown us your data folder and not your GRF. It is also because reading from the data folder is sometimes "safer" than reading from the GRFs. Some clients may ignore your data.ini priorities and read your lubs from rdata.grf (even if rdata.grf isn't in your data.ini). Not sure if this is a bug specific to NEMO, I haven't tried another client differ. Putting your files in the data folder ensures they're going to be read before anything else. If reading from the data folder is not an option for you, then you may want to use the "Read lua before lub" diff + rename your lubs to luas.
-
Have you selected "Read Data Folder First" in NEMO (from what I can see, you haven't)?
-
This client version is somewhat old, perhaps it's still using the .txt formats (idnum2itemdisplaynametable.txt, etc)? Same for the lua files, the old path being datalua files instead of dataluafiles514lua files (edit: zackdreamer is right, 2012-04-18aRagexeRE reads from LuaFiles514, the client does not read iteminfo.lua/lub however). Test around and you'll know soon enough which is which.
-
Old Prontera Field Textures and Files?
Tokeiburu replied to magicman's question in Client-Side Support
Hmm, what's wrong with using the new prontera? Anyhow, if you want to use the old maps, you have to find an older version of the kRO files (the link evilpuncker put is probably valid, haven't checked) and copy all related textures and models. Let's say you want the old prt_in. Go in GRF Editor, find prt_in.rsw, go in "Extract resources", check both prt_in.gnd and prt_in.rsw, then use "Export..." and select your folder. Extract prt_in.gat/.gnd/.rsw as well. Create a new GRF, put all those files you just extracted in it and you're done. Make sure your new GRF/your files are read first of course. Ex : -
The issue is because .@mob is a temporary variable, it cannot be read outside Onsummon. For that, you'd have to use .mob. On a side note, it's preferred to use .@var = value; instead of set .@var, value; Onsummon: // Select Coordinates to summon a random MVP on setarray .@positions, 140, 232, 75, 138, 140, 87, 205, 140, 123, 137, 175, 137; .mob = rand(1646,1651); .@rnd = rand(0, 5); monster "lhz_dun03",.@positions[2 * .@rnd],.@positions[2 * .@rnd + 1],"--ja--",.mob,1,"summon_boss_lt::OnMyMvPDead"; // Select Coordinates to summon a random 99 on setarray .@positions, 183, 97, 97, 96, 47, 139, 231, 140, 139, 211, 139, 259; .@mob2 = rand(1640,1645); .@rnd = rand(0, 5); monster "lhz_dun03",.@positions[2 * .@rnd],.@positions[2 * .@rnd + 1],"--ja--",.@mob2,1,"summon_boss_lt::OnMVP"; end;OnMyMvPDead: if ( .mob == 1646 ) getitem 20051,1; if ( .mob == 1647 ) getitem 20023,1; if ( .mob == 1648 ) getitem 20075,1; if ( .mob == 1649 ) getitem 20044,1; if ( .mob == 1650 ) getitem 20067,1; if ( .mob == 1651 ) getitem 20045,1; killmonster "lhz_dun03","summon_boss_lt::OnMVP"; initnpctimer; end;//Required to keep from erroringOnMVP: end;}
-
That... would actually be rather awesome ;O. Which format would these be though? I was thinking about using the zip archives; I could... 'translate' the folder names, since this is how most custom items are uploaded anyway, something similar to : Itemmysprite.bmp Collectionmysprite.bmp Inventorymysprite.act/spr Ingamemale_sprite.spr/act Ingamefemale_sprite.spr/act itemInfo.lua etc That would work, but I'd probably have to detect which file is which in the end, to be able to read all currently uploaded zip custom sprites on rAthena and Hercules. If you have a better idea, let me know. I can't start this feature right now though, so... it'll take some time before I even begin to be implement it xD.
-
Server Database Editor
Tokeiburu commented on Tokeiburu's file in Server Managers / Editors Releases
Adding them with a right-click "Add" menu wouldn't work out too well because mob skills do not have unique IDs. To add a mob skill, go in the "Mob Skills/Mob Skills2" tab, Edit > Add entry (Ctrl-N) and fill in the information. Alternatively, mob skills can be copy pasted across the application which can make this process easier : If you select another mob for instance, you can right-click its skills and use Copy, then use Paste on your own mob. If you select an existing skill from Mob Skills, you can copy it (with Ctrl-C) and use Paste on you own mob as well. If you want, I could add the "Add" option, but it'll only create an empty mob skill and you'd end up having to fill in all the information yourself from the Mob Skill tab anyway...!