Jump to content

Tokeiburu

Members
  • Content Count

    202
  • Joined

  • Last visited

  • Days Won

    37

Posts posted by Tokeiburu


  1. Well... If you copy the model files in newprontera.grf and replace yours with them, it... should work! The models have been 'downgraded' to support more clients (from 2010 onwards - should be working fine in BrowEdit 586 as well). The new prontera map files (.rsw, .gnd, .gat) don't cause any issues (their format hasn't been modified at all).

     

    The only model you can't easily copy is the church one. If that doesn't work, I'm afraid you'll have to upload your custom map (with the problematic models) so that people can locate the issue.


  2. Hmm, you could edit my downgraded newprontera map version instead : http://www.mediafire.com/download/7hcz6u9vl4vjhb4/newprontera.grf (this GRF contains all the new models as well, allowing you to use them in other maps if you need to).

     

    It can be loaded and saved just fine in BrowEdit 586. The church may look weird in the editor, but it will look fine ingame (I had to cut it in multiple parts).

     

    Otherwise... if you want to know more about quadtrees... here goes. In a RO map, quadtrees are cubic areas that determine wheter or not 3D items should be drawn. A quadtree node consists of 4 vectors, namely :

    Max, Min, Range, Center

    where Range = (Max - Min) / 2        // Length from the middle of the cube to the extremities

    where Center = (Range + Min)        // Center of the cube

     

    Which gives you 12 values (Max.X, Max.Y, Max.Z, Min.X, Min.Y, etc).

     

    The values max and min correspond to the max/min height of the objects (or most likely parts of objects)/water/ground found in this cube. Let's say you walk near it, the client will start drawing all the items found inside it, but those only! When the client renders the scene, all the objects not found within the player's visible cubes will be skipped to make the whole process faster. This is why sometimes you see black spots, it's... basically an unloaded chunk.

     

    Now, why is it called a tree? That is because the cubes are of various sizes, sort of. The first quadtree node, the root node, is the cube that contains the entire scene with all the items. This cube is then cut in 4 smaller pieces, making 4 new smaller quadtree nodes. The process is repeated until your tree is 5 in depth :

    depth | amount

    0 | 1

    1 | 4

    2 | 16

    3 | 64

    4 | 256

    5 | 1024

     

    This will give 1365 quadtree nodes. 1365 nodes * 4 vectors * 3 values (XYZ) * 4 bytes = 65520 bytes of data for the entire quadtree, which is appended directly at the end of the file. The tree traversal type, when reading the nodes, should be in pre-order. Normally, a map is 1000 by 1000 (in the game's world coordinates) and its centered. BrowEdit doesn't show you the real values, it uses a different coordinate system. Anyway, this gives you the following first node in most quadtrees (Y is the 'height') : 

    Min = {499, 0, 499}
    Max = {-500, 0, -500}
    Range = {499.5, 0, 499.5}
    Center = {-0.5,0, -0.5}
     
    If you want more information, well... search on google, there are plenty of resources available ;].

  3. I got some kind of crash when viewing some models, I hope this can help you

     

    Hmm, it seems the RSM might be using the same texture twice (which is not supposed to happen!). Let me know if this update (http://www.mediafire.com/download/aflylbhblrzpz0h) fixed your issue. Otherwise, send me your model file.

     

    Update fixes :

    • Duplicate textures are merged together.
    • Root mesh wasn't always the correct one (happens when multiple meshes have the root name).
    • Changed the default shading to "Flat shading".
    • Fixed a big texture issue.

    4sdmvZ1.png


  4. The translation is correct.

    ¾ÆÀÌÅÛ = 아이템 = drag sprites, 'icons' is a bit misleading. It would be more appropriate to call the 'icon' folder datatexture유저인터페이스item instead.

    Àΰ£Á· = 인간족 = "Player" folder, where the weapons indeed go.

     

    Maybe this will help : 

    dUGkPug.png

     

    Then again, making custom weapons is a different topic altogether ;].


  5. I already did one by one, but anyway...I will try what you guys said.

     

    @@Tokeiburu

    Mallufet way is not so good because I must put all the Items ID and names...I would like something automatic, where I don't need to put ID's or names...

     

     

    Eh, you have to tweak the script to your needs, that's your part of the work ;]. For example, the script below will output the itemInfo items you requested :

    function generate(id, iname, aname) {	console.log('[' + id + '] = {');	console.log('	unidentifiedDisplayName = "",');	console.log('	unidentifiedResourceName  = "",');	console.log('	unidentifiedDescriptionName = {');	console.log('	},');	console.log('	identifiedDisplayName = "' + iname + '",');	console.log('	identifiedResourceName = "' + aname + '",');	console.log('	identifiedDescriptionName = {');	console.log('		"Description in here",');	console.log('		"description2",');	console.log('		"Jobs : ^777777All^000000",');	console.log('	},');	console.log('	slotCount = 1,');	console.log('	ClassNum = 0');	console.log('},');}start = 19001;name = 'myitemname';for (id = start; id <= 19080; id++) {	generate(id, name + (id - start + 1), name + '_' + (id - start + 1));}

    Play around until you get the result you are looking for xD! You could also do this with Notepad++ or any programming language, or... SDE. Simply pick the tool you're the most comfortable with.


  6. Well, it's doable with SDE, sort of...!

     

    Server side (if you haven't added the items in your Item or Item2 tab yet)

    Go in Item2 > Edit > Add item from raw db line > paste the following (generated with the magic of excel lol) :

    19001,helm_of_fire_0,19002,helm_of_fire_1,19003,helm_of_fire_2,19004,helm_of_fire_3,19005,helm_of_fire_4,19006,helm_of_fire_5,19007,helm_of_fire_6,19008,helm_of_fire_7,19009,helm_of_fire_8,19010,helm_of_fire_9,19011,helm_of_fire_10,19012,helm_of_fire_11,19013,helm_of_fire_12,19014,helm_of_fire_13,19015,helm_of_fire_14,19016,helm_of_fire_15,19017,helm_of_fire_16,19018,helm_of_fire_17,19019,helm_of_fire_18,19020,helm_of_fire_19,19021,helm_of_fire_20,19022,helm_of_fire_21,19023,helm_of_fire_22,19024,helm_of_fire_23,19025,helm_of_fire_24,19026,helm_of_fire_25,19027,helm_of_fire_26,19028,helm_of_fire_27,19029,helm_of_fire_28,19030,helm_of_fire_29,19031,helm_of_fire_30,19032,helm_of_fire_31,19033,helm_of_fire_32,19034,helm_of_fire_33,19035,helm_of_fire_34,19036,helm_of_fire_35,19037,helm_of_fire_36,19038,helm_of_fire_37,19039,helm_of_fire_38,19040,helm_of_fire_39,19041,helm_of_fire_40,19042,helm_of_fire_41,19043,helm_of_fire_42,19044,helm_of_fire_43,19045,helm_of_fire_44,19046,helm_of_fire_45,19047,helm_of_fire_46,19048,helm_of_fire_47,19049,helm_of_fire_48,19050,helm_of_fire_49,19051,helm_of_fire_50,19052,helm_of_fire_51,19053,helm_of_fire_52,19054,helm_of_fire_53,19055,helm_of_fire_54,19056,helm_of_fire_55,19057,helm_of_fire_56,19058,helm_of_fire_57,19059,helm_of_fire_58,19060,helm_of_fire_59,19061,helm_of_fire_60,19062,helm_of_fire_61,19063,helm_of_fire_62,19064,helm_of_fire_63,19065,helm_of_fire_64,19066,helm_of_fire_65,19067,helm_of_fire_66,19068,helm_of_fire_67,19069,helm_of_fire_68,19070,helm_of_fire_69,19071,helm_of_fire_70,19072,helm_of_fire_71,19073,helm_of_fire_72,19074,helm_of_fire_73,19075,helm_of_fire_74,19076,helm_of_fire_75,19077,helm_of_fire_76,19078,helm_of_fire_77,19079,helm_of_fire_78,19080,helm_of_fire_79,

    Fill your first item (19001) properly. With your first item selected, press down shift and select your last item, 19080. Go in Edit > Copy all... > Check "Select all" and uncheck "Aegis name" > Click Copy. Select all your items again > right-click > Add in [Client Items].

     

    Client side

    Pretty much the same technique as above. Fill your item 19001 properly, then by pressing shift down, select your last item 19080. Go in Edit > Copy all... >  Check "Select all" and uncheck the last one "Parameters" (shouldn't be showing... erm) > Click Copy.

     

    That... should do it, there are plenty of ways for doing what you want xD. I personally like @malufett's solution, it's neat ;].


  7. @@Tokeiburu hmm interesting when i extracted it to data folder it is working. maybe newprontera.grf is conflicting with the map inside data.grf

     

    Actually, I've retested and you're correct; there appears to be an issue with how the prontera map is located with this client version. I had to remove the map in rdata.grf for the client to load my GRF's prontera first, regardless of my data.ini setup. Putting the map in the data folder does work but that's just a temporary solution I guess.


  8. i tried using this grf but i am getting crashes when i go to prontera.

     

    Client Used: 2012-04-10aRagexeRE.exe

     

    Heya,

     

    I'm unable to reproduce the issue you're having with 2012-04-10aRagexeRE, it is working as intended on my end...! You could try extracting the GRF's content to your data folder and see if it makes a difference, maybe there's a conflict somewhere. Otherwise, could you send me your executable/your client patches list?


  9. Could you possibly explain how to drag and drop .lub files back into the editor to "re-pack" them in the .grf after you have edited them.... drag and drop is not working, the cursor remains a circle with a slash through it....

     

    That issue usually happens if you start the application in a non-standard way. The application needs the same privileges as Windows Explorer for the drag and drop features to be enabled, otherwise the communication is blocked. If you're right-clicking the application and using "Run as administrator", then please do not use that. Simply double-click the shortcut or the GRF file, and it should be working as expected.

     

    If you've changed your UAC settings recently, then I'd suggest you to restart your computer as Windows Explorer does not automatically update its privileges.

     

    For more information : http://blogs.msdn.com/b/patricka/archive/2010/01/28/q-why-doesn-t-drag-and-drop-work-when-my-application-is-running-elevated-a-mandatory-integrity-control-and-uipi.aspx

     

    Hello,

    can i request "zoom" feature on preview? especially on sprite.

    is it possible?

     

    thank you

     

    Sorry for the huge delay, yes that's possible. The latest revision now supports zooming on common images (1.7.3.2+  http://www.mediafire.com/download/aflylbhblrzpz0h).

     

    W6W5dvH.png


  10. It's a bug with the @changesex command : http://herc.ws/board/tracker/issue-8504-changesex/?gopid=24468#entry24468 . Basically, if you use @changesex, only you will see the change, it won't show for others. I believe it's a new feature for per char based gender? Either way, you have to update the 'sex' field in the char table :

     

    -	script	change_sex_command	-1,{OnInit:	bindatcmd "changesex",strnpcinfo(3)+"::OnAtcommand";	end;OnAtcommand:	query_sql("UPDATE `char` SET `sex`='"+((Gender + 1) % 2)+"' WHERE `account_id` = '"+getcharid(3)+"'");	atcommand "@changesex";	end;}

     


  11. Is the sound mode set (in your setup)? Some clients will autoclose if it's set to none.

     

    Put your RO out of any restricted folders, for example : C:GamesRO.

     

    Are some fonts missing? The client will autoclose if the primary fonts are missing. They are located in either SystemFont... or data..., you should have the following files :

    NHCgogo_10.eotNHCgogo_12.eotRixDiary_10.eotRixFreshman_10.eotRixJJangu_10.eotRixKid_10.eotRixLoveangel_10.eotRixLoveangel_12.eotRixMagic_10.eotRixMiniHeart_10.eotRixNHCgogo_10.eotRixSquirrel_10.eotRixSquirrel_12.eot

    Have you restarted the computer? Sounds silly, but... at this point erm... Nothing else comes to mind at the moment!


  12. Let's see...

     

    First thing first, only GRFs allow Korean file names. If you want your client to read the files in your data folder, you must use Windows-1252/ANSI. So in your case, the path would look like the following : 

    ROdatasprite¾Ç¼¼»ç¸®³²³²_Cyan_Feather_Beret.spr/act

     

    Adding or removing the coma at the end of a lua list will not change anything. It's easier to leave it for simplicity.

     

    What is your client version?

    Are you editing the correct lua/lub files?

    Renewal clients below 2012-04-10a and main clients below 2012-07-10 (which is your case I guess, since you're not using itemInfo.lua/lub) read the lua files from datalua filesdatainfo, otherwise they're being read from dataluafiles514lua filesdatainfo

     

    It is a bit strange you're still using this db format for Hercules, wheter you're using a pre-re server or not doesn't change anything.

     

    And for simplicity's sake, only accname.lua/lub needs to be edited, don't modify accessoryid. The file will look like the following : 

    AccNameTable = {	[ACCESSORY_IDs.ACCESSORY_Goggle] = "_°í±Û",	[ACCESSORY_IDs.ACCESSORY_Cat_Hairband] = "_°í¾çÀ̸Ӹ®¶ì",	...	[2000] = "_Black_Feather_Beret",	[2001] = "_Blue_Feather_Beret",	[2002] = "_Brown_Feather_Beret",	[2003] = "_Gold_Feather_Beret",	[2004] = "_Green_Feather_Beret",	[2005] = "_Cyan_Feather_Beret",	[2006] = "_Orange_Feather_Beret",	[2007] = "_Pink_Feather_Beret",	[2008] = "_Purple_Feather_Beret",	[2009] = "_Red_Feather_Beret",	[2010] = "_Silver_Feather_Beret",	[2011] = "_White_Feather_Beret",}

  13. Heya,

     

    Would it possible to add these features?

    • Adding "To lowercase" and "To UPPERCASE" in the context menu when right-clicking some text would be more practical than using the menus!
    • Adding "Add text color" in the context menu when right-clicking on some text, this would simply add "^000000" at the beginning and end of the selected text.
    • Turn on whole word highlighting (when the caret is on a whole word, it is very useful to highlight all other whole word matches).
    • Volatil searches. When a word is highlighted (from the whole word highlighting), being able to jump to the next or the previous element is very useful. The shortcut in Notepad++ is Ctrl-F3 for the next element and Ctrl-Shift-F3 for the previous element. In VS, the shortcut is Ctrl-Shift-Up and Ctrl-Shift-Down.
    • Be able to leave autocomplete always turned on and activates as you type.
    • Other useful shortcuts to have :

    Alt-Up / Alt-Down, moves the selected lines up or down. If no text is seleted, it moves the current line.

    Shift-Delete, deletes the current line and copy it to the clipboard (or Ctrl-L in Notepad++).

    Ctrl-C with no text selected, copies the current line to the clipboard.

    Ctrl-X with no text selected, copies the current line to the clipbard and removes it.

    Ctrl-K, comment the selected lines.

    Ctrl-Shift-K, uncomment the selected lines.

    F3, while a search is active, goes to next element. (This is conflicting with Scintilla's default find and replace dialog though, not really important I guess).

    Shift-F3, while a search is active, goes to previous element.

    Ctrl-U, change the selected text to lower case. Shortcut already exists, never mind.

    Ctrl-Shift-U, change the selected text to upper case.

    • Add/replace code snippets : 

    f =>

    for ($.@i$ = $0$; $.@i$ < $max$; $.@i$++) {	$selected$$end$}

    w =>

    while ($1$) {	$selected$$end$}

    sc / script =>

    $map$,$x$,$y$,$direction$	script	$name$	$SPRITE$,{	$selected$$end$}

    func =>

    function	script	$name$	{	$selected$$end$}

    hid (could probably use another name I guess) =>

    -	script	$NAME$	-1,{	$selected$$end$}

    menu =>

    switch(select("$menu$")) {	case 1:		$selected$$end$		break;}

    dup =>

    $map$,$x$,$y$,$direction$	duplicate($name$)	$name$#$tag$	$SPRITE$$selected$$end$

     

    Could probably add more snippets, but these are the only ones that come to mind at the moment xD! It would be even better if we could make our own, they're really a time saver. If you're not familiar with snippets, they are used by typing the first letters (func for example) and then pressing tab. It will autocomplete the rest. There is already one for "f" but it's obviously meant for C++ autocompletion code.

     

    And also, when you press Enter, it would be nice if it could use the previous indent (or use indent + 1 if the line ends with { ) to start the new line instead of starting back at the beginning. This is probably the most important feature in all of this, it is somewhat annoying to add the tabs everytime you add a new line.

     

    Thank you for this amazing tool btw ;]!


  14. Short answer is : yes, the client supports larger maps, but you have to be careful when you make them!
     
    2013-07-08 :
    Maximum map size : 1500 x 1500
     
    2010-07-30 :
    Maximum map size : 1350 x 1350
     
    These large maps take about 300 MB of memory, but I doubt people will go that high.
     
    Apart from the client version, maps also have a limit on the number of "lightmap" references, which is 65536 (ushort). Each tile is associated with a lightmap. Let's assume you have a map of size 512 by 512, that would mean...
    Tiles Up = Width/2 * Height/2 = 256 * 256 = 65536
    Maximum Tiles = 3 * Width/2 * Height/2 = 196608 (up, left and right)
    Lightmaps to fill = Maximum Tiles = 196608
     
    That means that even a map of 512 by 512 can "break". If you don't use walls, then you only have 65536 max tiles and there are no issues in that case. You can reuse an existing lightmap (which gives you a much bigger margin to play with), but BrowEdit doesn't seem to support this when you recalculate the lightmaps (this is the common "Sanity error: lightmaps out of bounds" error people get).
     
    Just for a quick comparison, the map schg_dun01 has 63854 lightmaps and it is 400 by 400 in size. The map has many lighting effects though and the complex background is what increases the amount so much.
     
    Also, maps larger than 1350 require a minimal size of 80 MB (this is without lightmaps), which is unfortunately too much for cps.dll (the limit is around ~75 MB). I doubt this will be needed anyhow.
     
    For further reference, these are the maps I've used to do my tests ingame (they do not have lightmaps for the reasons mentionned above) :
     
    You could have maps of 2500 by 20, there are no problems with these for the client. I don't think BrowEdit is able to calculate quad trees which aren't in a square shape (I may be wrong on BrowEdit's capabilities though! I haven't tested with non-squared maps).

  15. @Tokeiburu 

     

    Source bug meaning its not in the script but where? I used a hosting service that provided the setup and client. as i am trying to get familiar first. i am really sorry total noob here

     

    Simply replace the script with what I suggested and it'll work out fine. The actual underlying bug is a tad more complex and I wouldn't know how to fix this from the source files myself (plus I'm sure other people have experienced this). I'd post the issue on the Bug Tracker, in the Scripts section. (This is not your hosting service's fault, if you were wondering that xD!).


  16. This script is the only one with the odd behavior, you don't have to change any other ones. Plus this is most likely a source bug rather than a script bug. You would expect "close" to work properly even in this scenario but... it doesn't for some reason! Even a menu without a message will get you stuck if you use close later on, which is... a perfectly valid script. And be careful, this script will still get you stuck if set a zeny amount. The get around it, you will need to show a message with "mes" before you show the selection menu with "Heal" and "Cancel".

     

    And yes, you can remove any NPC you want. You just need to find them from the npc folder.


  17. Hi,

     

    Im new to this scripting and i seem to get problems on healer making my players stuck, but it only happens if a player talks to other npcs and clicks the "cancel" button. Anybody else have the same issue? or anyone could help me with this?

     

    also if you try to to talk to healer/or any other npc it has this "Work that was in process(NPC Dialog, Manufacturing...) shut down and try again."

     

    i would appreciate any help

     

    This problem happens to any NPC which uses "close;" without a message being shown. Replace "close;" with "end;" in the above script, relog, and you won't have this issue anymore.

×
×
  • Create New...

Important Information

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