Jump to content

Tokei

Members
  • Posts

    668
  • Joined

  • Last visited

  • Days Won

    92

Posts posted by Tokei

  1. Download a fresh full client, the data.grf you're using appears to be outdated or missing files. When you get a sprite error it'll give you the resource missing (which... well, tells you what's missing really). You could find the mising sprites manually too...

     

    data\idnum2itemresnametable.txt (or itemInfo.lua) > Cultus > [1135] > Ä¿Æ²·¯½º > 

    data\sprite\¾ÆÀÌÅÛ\ĿƲ·¯½º.spr
    data\sprite\¾ÆÀÌÅÛ\ĿƲ·¯½º.act
    data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\collection\ĿƲ·¯½º.bmp
    data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\item\ĿƲ·¯½º.bmp
     
    Is your data.grf being read at all? Check your data.ini.
  2. I used Tokei's newprontera.grf but It still has a client error nearby prontera church.

     

    The church is the most problematic model because of its complexity; the tested clients I used are : 2010-07-30, 2012-04-10 and  2013-08-07. Anything above 2010-07-30 should in theory work without issues. I can cut off the church model in even more parts to allow older clients to load the model, but for that I would need the client version to test it on.
     
    Also, the link has been reuploaded around last week. If you've downloaded the GRF before that, then I'd suggest you to try it again (the file size should be around 61 MB).
  3. I was wondering if there is a limit for .spr in the game. I replace a .spr and .act that I had to a new picture. In the game I can see the picture, but when I select and log in the character that was already using the item the game crash. *Edit* And I would like to know if there is any limit for animated sprites, I found that the limit of frame was 8, but I want to confirm it.

     

    From my own tests, the selection screen window as well as the equipment window cause issues with sprites depending on their location and their size. Images with more than 65536 pixels (which is around 256 by 256 pixels) have a high risk of crashing the client, especially Bgra32 images. If they're too high or too low, you can definitely expect a crash too.

     

    There are no problems when actually wearing these sprites and moving around ingame, the bugs only start when you open up these two windows. I wasn't able to confirm the actual value limits though - they are "half guessed". On a side note, monster sprites do not appear to suffer from these limitations.

     

    As for the second question, there are no limits for the amount of frames, as long as the amount is divisible by 3 for the animations 0 and 2 (Idle and Sit). This is because the client reads these two animations differently. If you have 15 frames, the first 5 will be used for the animation when the head is looking down, the next 5 are used when looking right (bottom left) and last 5 ones are for looking left (bottom right). Headgear sprites therefore have a minimum amount of 3 frames for these animations. When you said "8", I'm assuming it is actually 9 frames total, which is 3 for each head position and it should work out fine. If you want to add one more frame, you'll need 12 frames and etc.

    • Upvote 1
  4. Sometime when i'm mergering some files, especially the huge one,

    many of my files got corrupted, any idea?

     

    You can try upgrading to 1.7.2.5 ( http://www.mediafire.com/download/aflylbhblrzpz0h ); there hasn't been many changes added regarding the merging process other than a file position condition check. I have retested various merges on my end and I haven't encountered any issues. You can look for corrupted entries from Tools > Grf validation > Validate content > Validate.

     

    If you are able to reproduce the issue, using the latest version, please send me the two corresponding GRFs (here or via a private message). You should also be getting an error of some sort when you click on the file; use the "Copy exception" button and paste the result somewhere. It might be helpful.

  5. can i just generate a dll with my password on it and encrypt the grf w/o the generated rag.exe?

     

    You could but in the end, the GRF can only be read by your client and that specific dll (or using GRF Editor and the password).

  6. hi sir tokei, im just little confuse of the encrypt function

     

    what can i do if i want to give my friend my grf file but i dont want him to be able to extract the content (read only)

    what should i do

     

    For the client to read the encrypted GRF, you need the custom DLL generated by GRF Editor when you set up your client files (from Tools > GRF Encryption). Your friend will not be able to read or see any of the files in the GRF, he will only be able to see the file names.

     

    You can use the following guide for more info : http://hercules.ws/board/topic/6047-grf-editor/?p=44463

  7. Still no luck with the 2012-04-10 client it appears.

    Has anyone managed to make New Prontera function with the 2012-04-10 client, by any chance?

     

    I've investigated it a little further; the problematic model is Catholic_01_h.rsm, it crashes the 2012-04-10 client because the nodes Catholic_01_h and churchstatue_s_003 have too many polygon faces. I've cut the model in 4 different parts and updated the link ( http://www.mediafire.com/download/7hcz6u9vl4vjhb4/newprontera.grf ).

     

    I have successfully loaded the prontera map on clients 2010-07-30 and 2012-04-10. It should work now @@!

    • Upvote 2
    • Love 1
  8. Hi rAthena,

    it's possible launch the .exe only with Patcher?

    nullifying the option to open normally (from "YourRo.exe for eg.)

     

    Regards ~

     

    This is the official behavior of the client, you simply disabled the feature when diffing it. If you're using NEMO, uncheck "Disable 1rag1 type parameters". In your patcher's configuration file, set the client's arguments to "-1rag1" and that's all.

     

    This is not a perfect protection; players can still skip your patcher if they really want to (it's good enough for most cases though).

    • Upvote 1
  9. I asking because this configuration

    [Misc]//Set a limit for fragment, when reach this limit, patcher will ask user to defrag
    FragmentLimit=50

     

    This option has nothing to do with the number of patches; it's about the GRF's degree of fragmentation. Everytime you patch files in a GRF, patchers will erase content and replace it with new items if possible. This operation creates wasted space in a GRF; for example, if you replace an image which had a size of 1000 bytes by a new one of 800 bytes, you'll be left with 200 unused bytes.

     

    This has the advantage of being efficient (in speed) most of the time and it's great for quick patching. The disavantage is that if you do this often, you'll get multiple 'holes' in your GRF - a fragment. When the GRF reaches 50 fragments, it will be repacked/defragmented, which is rather quick anyway. This whole process is almost exactly the same as what happens to your hard drive.

    • Upvote 1
  10. Hello everyone! I need help with making a script of a monster that can spawn it in all maps (in the interval of 1 hour when is killed). Is that possible? Thanks!

     

    You could start with the following :

    -	script	ANY_MAP_SPAWNER	-1,{
    OnInit:
    	.mobId = 1002;
    	setarray .maps$,"prontera","izlude";
    	donpcevent "ANY_MAP_SPAWNER::OnAddMob";
    	end;
    OnAddMob:
    	monster .maps$[rand(0,getarraysize(.maps$) - 1)],0,0,"--ja--",.mobId,1,"ANY_MAP_SPAWNER::OnMyMobDead";
    	announce "A new mob has spawned!",0;
    	end;
    OnMyMobDead:
    	initnpctimer;
    	announce "The mob has been killed by "+strcharinfo(0)+", wait a hour for the respawn.",0;
    	end;
    OnTimer3600000:
    	stopnpctimer;
    	donpcevent "ANY_MAP_SPAWNER::OnAddMob";
    	end;
    }
    
    • Upvote 1
  11. Heya,

     

    The Armor versus Weapon bug (they are simply reversed) is caused by a conflict between the item types of rAthena and Hercules. This is actually tricky because both databases use the same format after being parsed. One of the parser needs to be modified and ensure it doesn't impact other features (which is likely). Anyhow, it'll take some time to get fixed properly.

     

    As for the drop rates, this could be added. However, adding new columns would be troublesome since the UI is already cluttered enough as it is. What I can do is simply change how they are displayed (you wouldn't be able to see the original values). Same thing goes for the exp rates; entering 500 exp on 5x rates would be converted back to 100 exp.

     

    As for showing empty fields, you can do that with the search engine. The syntax goes as follow :

    [property_name] value

     

    So for empty resources, simply type (with nothing afterwards) :

    [resource_name]

     

    Other examples would be :

    [view_id] 5

    [number_of_slots] 2

    [view_id] 5 [number_of_slots] 4 (they can be combined)

     

    Since both the identified and unidentified resource names have the same property name, you'll want to use their column index inside the database (which you cannot see, so here goes) :

    [3]  // This is for identified resource name - same as [resource_name]

    [6]  // This is for unidentified resource name

     

    This search feature is restrictive only and it searches for exact matches.


    Updated to 1.1.0 ( http://www.mediafire.com/download/p0zhcc8ipa6cjt3 )

     

    This version only fixes the Weapon/Armor bug.

    • Upvote 1
  12. It should be : 

     

    // The rate at which cards are dropped
    item_rate_card: 100000   (100000 %, means a 1000 multiplier)

    item_rate_card_boss: 10000   (10000 %, means a 100 multiplier)

    item_drop_card_min: 1
    item_drop_card_max: 10000   (can't be above 100%, so 100000 is invalid)

     

    The drop rate of cards are normally at 0.01%. So,

    Normal card drop chance = 0.01% x 1000 = 10 % chance of getting a normal card

    MVP card drop chance = 0.01 x 100 = 1 % chance of getting a MVP card

  13. Is it possible to extract with ActEditor all "inventory" images (they are small) from GRF's via numbers?

     

    Example:

    Apple of Archer:

     

    BvX9.png2285.png

     

    In few words:

    • I want grab from my project all items small images from GRFs and put them all in one folder for feature using.
    • I need to grab it automaticly and store in any image forman with ID.png or ID.gif

     

    Hmm, well that's possible but it doesn't have anything to do with Act Editor. There are no lua parsers available in Act Editor, so I'll use a .txt file instead. If you don't have a idnum2itemdisplaynametable.txt, you can convert it from your ItemInfo.lua/lub using SDE or CDE.

    // Requires Act Editor v1.0.5
    // The following code will temporary freeze the application
    var grfPath = @"C:\RO\RO\data.grf";
    var grfInventoryPath = Utilities.Services.EncodingService.FromAnyToDisplayEncoding(@"data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\item\");
    var idResourcePath = @"C:\RO\idnum2itemdisplaynametable.txt";
    var outputPath = @"C:\RO\output\";
    
    Directory.CreateDirectory(outputPath);
    
    using (var grf = new GrfHolder(grfPath)) {
        foreach (string line in new LineTextReader(idResourcePath, Utilities.Services.EncodingService.DisplayEncoding).Lines) {
            var values = line.Split('#');
            
            if (values.Length < 2) continue;
    
            var id = values[0];
            var resource = values[1];
            var entry = grf.FileTable.TryGet(GrfPath.Combine(grfInventoryPath, resource + ".bmp"));
    
            if (entry != null) {
                GrfImage image = new GrfImage(entry.GetDecompressedData());
                image.MakePinkTransparent();
                image.MakeFirstPixelTransparent();
                image.Convert(GrfImageType.Bgra32);
                
                image.Save(GrfPath.Combine(outputPath, id) + ".png");
                //image.Save(GrfPath.Combine(outputPath, id) + ".gif");
            }
        }
    }
    

    This will produce the following result : 

    ks6YFyM.png

     

    If this isn't what you were looking for, please clarify!

    • Upvote 2
  14. How annoying/hard would the functionality to be able to plug in a single item or monster script, modify the values, and then extract the modified values as a single mob/item db line? Be it by right click menu or a button on the UI.

     

    I'm not following you here... You can right-click on an item and use "Copy entries to clipboard (rAthena)" or Ctrl-C and it will copy the db line(s) in your clipboard. Is this the functionality you're referring to?

  15. You haven't actually described the issue you're having, but from the settings you showed, I'm going to guess it won't show ingame.

     

    Set the ID between 1950 and 1999. Your weapon doesn't have an attack value and it doesn't have a range value either. See if it works with these settings instead.

×
×
  • Create New...