Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 10/29/12 in all areas

  1. All headgear official bRO, cRO, euRO, fRO, idRO, iRO, jRO mysgRO, twRO, tRO Update November 2022 Headgear November 2022.7z Iclude list and miss headgear
    4 points
  2. I'm embarking on a quest to improve the script engine I think a sensible thing to do is to use flex & bison to do the parsing. I'm going to guess at the near 18,000 lines in script.c, about 3000 of them are involved in parsing, and I think we can reduce that to maybe 100-200. This would simplify the file a lot, it'll help compile times and most importantly: it'll help us extend the language easier. Work has been done recently (recently being in terms of the project but this was a few months ago ) to add an assignment operator... I would've thought any language would've added this in the beginnings of its life would've opted to use an operator instead of a keyword to set variables, so I can only guess it took so long because its too damned complicated. There was also work done on the Lua project to replace the script engine with Lua... I really love the idea but I think it's just completely unrealistic. There are tens of thousands of lines of script source that will probably never be updated, because it works fine the way it is. So if we can decouple the parser, we can improve the language a lot easier and not have to resort to something as drastic as a complete rewrite. I'm posting here to gauge feeling from the dev team. The idea is to write another parser equal to the current parser, so all existing scripts will function correctly. Does this subproject interest anyone out there? Cheers!
    2 points
  3. this is more efficient xD prontera,157,178,5 script Sample 757,{ if ( getgmlevel() < 80 ) end; mes "Input Player Name"; if ( input( .@Input$, 4, 23 ) ) { mes "invalid name length"; close; } if ( .@nb = query_sql( "select name, online from `char` where account_id = ( select account_id from `char` where name = '"+ escape_sql(.@input$) +"' ) order by char_num", .@name$, .@online ) ) for ( .@i = 0; .@i < .@nb; .@i++ ) mes " > "+ .@name$[.@i] +" "+( ( .@online[.@i] )? "^00FF00[Online]" : "^FF0000[Offline]" )+"^000000"; else mes "No character found"; close; } I don't like using JOIN command if it can be avoided
    2 points
  4. if you are using old client...make sure you edit this file / translare it data/cardprefixnametable.txt data/cardpostfixnametable.txt for new client... System/itemInfo.lub
    2 points
  5. RO Sprite Studio (ROSS) - Palette Creation Tool View File RO Sprite Studio (ROSS) - Palette Creation Tool Version 1.3.0.0 I'm not certain who made this tool, however, this was given to me a few years ago by a colleague of mine at ElysiumRO. I've used it ever since to create palettes for the RO game client; specifically, for my servers. The interface is easy to use, and it is by far the fastest, easiest way to make RO palettes. Please note, however, that you MUST have a pretty good understanding of how palettes work in RO in order to use this, as you will need to save the palettes to the appropriate folders, with the appropriate names (which CAN be generated in the program itself). This package does NOT include the RO class sprites, or my master palette file that I created for use with the program. It does however contain ROSS and all required files to run. jTynne Submitter jTynne Submitted 12/07/2011 Category Spriting & Paletting Tools Content Author jtynne  
    1 point
  6. Shin's Diff Patcher Info: Supports all Windows 32 bit versions (Windows XP SP2 and higher) and probably all 64 bit versions. Features: Plug-in based Uses list view instead of two seperate list boxes for easier selection Shortcuts to simplify your work Resizable window Inline diff descriptions (as long as the plug-in supports it) Auto-save and load of diffs Includes PlainDiffPlugin which provides support for *.diff files Allows items to be sorted either by type, group or diff name Prevents diff collision when selecting diffs that reference the same group CRC file check Data missmatch check Downloads: ShinsDiffPatcher SVN (Version 1.1.3b; 198kb) WeeDiffPlain Plugin Src SVN (Version 1.0; 11kb) Quick Usage 1. Select patch engine. 2. Select client exe. 3. Select diff file (if plug-in needs it). 4. Select output exe. 5. Click on "Patch It!" 6. Done. All patches that you have selected are automatically saved and will be restored the next time you select a diff file. You can also use the following shortcuts: - Ctrl + A = Select all diffs (only one item from each group if any) - Ctrl + D = Deselect all selected diffs - Ctrl + C = Copy all selected diffs into Clipboard Notes: You may think "What? Another patcher? Man..". Yes, another one. I'm not quite satisfied with the currently available diff patchers because they either lack of features or just don't provide the freedom I would like to have. I think I have chosen this name for the patcher because it's kinda convention to use his own name in the title bar (even though the initial name is WeeDiffPatcher). This is just an alpha release since there are some optimizations I would like to complete before I release a final version. I've included the source code for the DiffPlainPlugin to show you how you can implement your own plug-ins in order to get them working with my patcher. I would still like someone else to implement a proper plain diff plug-in because I haven't focused to optimize it to it's best (even though I have removed all possible memory leaks) since I developed this patcher for another plug-in based solution. If you have any suggestions or features that your plug-in needs in the future, don't hesitate to ask.
    1 point
  7. NOTE: This script was saved from my hardisk and all credits to our good scripter @Chilly for making this such great script! Endless Tower 2: The Endless Cellar A fully instanced custom dungeon containing all monsters, mini bosses, and mvps(with a few exceptions) up to episode 13.2 that were not in Endless Tower. Its a total of 77 floors with mvps being every 4 floors, and on the last floor there are a number of mvp fights in a row including 2 event mvps. Credits to Saithis for his Endless Tower script, most of the code i used came from his script. Dont forget to add the maps: conf\maps_athena.conf map: 1@new map: 2@new map: 3@new map: 4@new map: 5@new db\map_index.txt 1@new 2@new 3@new 4@new 5@new then run mapcache.exe~ Download Link: (Script and Client-side are included on one rar file) http://www.mediafire...a52kaz75u8am238 Endless Cellar.rar
    1 point
  8. yesterday emistry ask me in pm what are they saying in this topic I guess should post this out help those people who wants to abuse that 2040 bit keyworld trying to do <3 I think most of you here already know how to do this prontera,156,181,5 script implode data 100,{ mes "string = "+ $data1$; explode .@data$, $data1$, "#"; .@size = getarraysize( .@data$ ); for ( .@i = 0; .@i < .@size; .@i++ ) mes .@data$[.@i] +""; close; OnInit: setarray .@data, 12,21,13,31,11,7; .@size = getarraysize( .@data ); for ( .@i = 0; .@i < .@size; .@i++ ) .@data$[.@i] = .@data[.@i] +""; // stupid implode ask for string only, need to convert number to string set $data1$, implode( .@data$, "#" ); end; } and this is bit-shifting data prontera,158,181,5 script bitshift data 100,{ mes "value = "+ $data2; for ( .@i = 0; .@i < .size; .@i++ ) mes ( ( $data2 >> .@i * 5 ) % pow( 2, 5 ) )+""; close; OnInit: setarray .@data, 12,21,13,31,11,7; $data2 = 0; .size = getarraysize( .@data ); for ( .@i = 0; .@i < .size; .@i++ ) $data2 = $data2 + ( .@data[.@i] << .@i * 5 ); end; } but this script can only save 31 bit only lol @keyworld, come post your 2040 bit godly script xD I also can't do that myself x.x .... though I know you can do it <3
    1 point
  9. -[Client Hexing Tutorial by nkwz*]- Hi! This is a tutorial for those who are interested in learning how to edit your client.exe from beginning. This tutorial will be divided into several topics: 1. Introduction 2. Basic Knowledge 3. Tools 4. Client Editing 5. Help the rA Community! 6. Credits I want to share my knowledge about client hexing, and I'd like to make this project as an rA Community Project. It's better to have more people joining this project, because it needs lots of effort for making a fully translated client. Suggestion and questions are always welcomed, and sorry for my poor English 1. INTRODUCTION rAthena is one of the popular Ragnarok Online emulator, some of you maybe already know about other emulators such as eAthena or 3CeAM. In order to play RO, we need something named as server and client. rA, eA and the others are Server. kRO, Miruku and the others are Client. Actually you can find another custom client package, just search throughout this forum and you'll find some. Most of rA codes based from kRO, not iRO. And that's why some of the original client (not hexed yet) comes with lots of Korean words hardcoded inside them, although some part of it is already translated into English but we still need to convert Korean letters into Latin first. I recommend to translate the client from Korean into English first, because it'll be easier if you want to translate your own client.exe into your native language later. 2. BASIC KNOWLEDGE 2a. Numeral System In our daily life we use a "Base 10" numeral system, called as Decimal. It goes from 0,1,2,3....10,11,12.... But in programming world, there's also other numerical bases such as: Binary (Base 2), Octal (Base 8), Hexadecimal (Base 16). In Decimal, we count from 0-9, when we add another 1 into 9, the result is 10. In Binary, it only have 2 numbers, 1 and 0. 1 Decimal = 1 Binary, 2 Decimal = 10 Binary. 3 --> 11, 4 --> 100, 5 --> 101, 6 --> 110, 7 --> 111, 8 --> 1000. In Octal is the same, they only have 0-7, there is no '8' in this numeral system. What about Hex? It's Base 16 right? How many numbers do they have in this numeral system? Of course 16. But what to come after 10? Hex has a special case, because Hex borrows 10 numbers from Decimal (That is 0-9) and also borrows 6 letters from Latin (A-F). So if you add 1 into 9, it doesn't become 10, instead it will becomes A. 0,1,2,3.....9,10,A,B,C... What to expect if you add 1 into F? Guess what, it becomes 10! So, 9 Decimal --> 9 Hex, 10 --> A, 15 --> F, 16 --> 10, 50 --> 32, 100 --> 64. That's why they are called as "Base x", x means how many numbers they have in their numeral system. 2b. File Structure This topic isn't necessary though, but I just want to help you to understand how executable file works. There are numerous of file types in nowadays computing world, starting with the widely known txt, mp3, avi, jpg, bmp, xls, exe. This time, what we need to know is only about exe files. In Windows, almost all of applications are 'exe' files. Coders/Developers write out codes in either Low Level Language or High Level one, and after that the codes are compiled into something that we (computer user) could use without knowing anything about programming language. When the exe file is being compiled, it also store something which called as "Header" in it's beginning lines. Different compiler generates different header too. One of the header contains filesize checksum, so that's why we can't edit exe file freely as we want to, because if we're not aware about this problem, our exe file won't work at all... 2c. Hardcode vs Softcode What on earth is that? Hardcode means the code is read from the file itself. So if we want to alter the code, we need some special tools. The case is different for some codes (that some people prefer to call as 'Softcode'), those type of code can be altered because the exe file reads them from outside of the file, the notable example is 'msgstringtable.txt', when you alter the word in that file, you can see the changes when you run your client.exe So when next time someone replied in a post "It's hardcoded in the client", you know exactly what it means 3. TOOLS If we want to edit our client.exe we need some tools, such as: - Hex Editor (Obviously ;P) - Text Processor (I use Notepad++ [set encoding to UTF-8]) - Calculator (Optional) - nkwz rA Toolkit --> http://rathena.org/b...kwz-ra-toolkit/ - Charmap.exe (Can be found in every PC that uses Windows) You can get those tools in the internet. Freeware is okay too.. 4. CLIENT EDITING Phew... After reading those exhausting topics, here we are.. (Afterall I guess that's why you're reading up to this point). First, get some 2012 client.exe. For example here, I use '2012-04-10aRagexeRE.exe', any 2012 version will do, as long as the client developer doesn't change the file structure (>_<') Then open your client.exe in hex editor, you'll notice 3 sections. The leftmost part is called Offset, the middle part is Hex stream/data, the right part is ASCII data. Offset is like a location pointer, and they're increasing if we scroll down. Still remember about Hex numeral system on previous topic? Well.. here they are, the heart of every exe files, hex! The right part is just a translated code from hex into Latin characters, so some of the data can be more understandable to human eye. The problem is the client.exe comes from Korean developers, so they use their native language, Koreans! That's a nightmare for those who doesn't live in Korea... (Yes it is! ) But if the developer creates an English version, then why am I writing this tutorial? Anyway back to the topic... Hmm.. Make a copy of your client.exe, open one client.exe in hex editor, and run the other one. After you login with correct username and password, there's the Char Selection window, go create a new char. Look, our first Korean word has appeared! If you hasn't install the Korean Language pack, you'll see this "Äɸ¯Å͸¸µé±â" (Note: I uninstall my Korean Language pack in order to see those letters). Open charmap.exe, use Arial font (or another font if you want), and find that strange letters one by one. (I know this is exhausting, that's why I want to make this project as a Community Project). After you double click each letter found in charmap, you should have all (or some) of the strange letters, well this part is a little tricky because your eye have to be good to see the correct letter, if you picked a wrong letter in charmap, then your conversion process won't be a success. After you collect the letters in charmap, then open 'nkwz rA Toolkit.exe', and you'll see 2 boxes, one is Input Hex, and the other is Input Latin. Paste the letters into 'Input Latin' and voila! You have those secret codes showing in Output Hex! Äɸ¯Å͸¸µé±â --> C4C9B8AFC5CD20B8B8B5E9B1E2 Then go back to your hex editor, search for 'C4C9B8AFC5CD20B8B8B5E9B1E2' (or some part of it), and if you're lucky, then you'll find the position, if not then you'll need to meet an Arch Bishop and request Gloria for Luk+30... Please note that some hex editor can't highlight all of the code even when it's found, so you'll have to see carefully. Look at the nkwz rA Toolkit, at the bottom of the program I also have write a simple line about how many chars that has been converted in the process. Then think about some name that would fit in the game, in http://rathena.org/b...r-2012-clients/ Razor X and Judas picked 'Create Player'. Back at the nkwz rA Toolkit, type Create Player in the Input Latin, and voila again! Suddenly some magical numbers appeared in Output Hex! Important: Look at the bottom part, 'Latin: 13 char'. Make sure you use same amount of chars as the replacement! If you plan to use other name that is shorter that the original, just add some space to the end at Input Latin, so the char amount is the same like hex chars. The next thing after your convert 'Create Player' or 'Create a Char' into hex, let's go back at the hex editor and edit the value according to the generated value in nkwz rA Toolkit in Output Hex. After that, save it and run the file to see if your changes has been made correctly into the client.exe Congratulations! Now you can make your own 2012 client.exe.. ^________^ And that's a wrap! 5. HELP THE rA COMMUNITY! As like I said earlier in this tutorial, I'd like to make this as a Community Project. How to join? Just post a decent and readable screenshot of Korean garbled letters, and also the location of the window/skill/item/chat window info so it's easy to find it in the game, then help us to find the letter in charmap.exe and paste it here, just follow the example post. After that, think of a good name as the replacement (in English please) If you can't think about it now, don't worry, someone may have a good name for it. 6. CREDITS This tutorial is written by me, after I read this post --> http://rathena.org/b...r-2012-clients/ I got inspired to write this tutorial. I wrote down the codes which floating in my head last night, and that's how 'nkwz rA Toolkit' was made. Umm.. I compress the exe file with UPX, and some antivirus app doesn't like a file with UPX compression D: Thanks to Razor X for his inspiring post Thanks to Utada Hikaru, Ayumi Hamasaki and also Winamp! ^^ You can call me as nkwz* too, and btw I don't have any Twitter/Facebook account ;P Thanks for reading this tutorial and let's add more power to rA! Example: Image: Location: Login --> Create a new char Korean: Äɸ¯ÅÍ ¸¸µé±â Hex code: C4C9B8AFC5CD20B8B8B5E9B1E2 English Suggestion: Create Player / Create a Char
    1 point
  10. Script: Heroes Trails Part-I (Sara's Memories Instance) Ver: 1.1 Idioma: Coreano (Official Korean Text) Scripter: Ziu Prerequisite: Pursuing Ryan Moore quest and level 100 or more. Lo pongo en la sección de español porque no existe sección de scripts en coreano. Los textos son los oficiales del servidor baphomet kRO. Solo teneis que traducirlos y añadirlos al script quién quiera. Si encontrais errores reportarmelos para poder corregirlos. Por favor leer los comentarios adiciones en el script Please Check the Additional Comments in the script. DOWNLOAD
    1 point
  11. You can store 8 bits in one character. And you can store 255 character in a string. 8*255 = 2040. So yeah you set manually all bits in an array, and pack the array into a string.
    1 point
  12. Well: .@var++; // (set(.@var, .@var+1 )-1); .@var--; // (set(.@var, .@var-1 )+1); ++.@var; // set(.@var, .@var+1); --.@var; // set(.@var, .@var-1); .@var = x;// set .@var, x; // etc. Euphy: What the hell, Euphy faster and use "x" like me °°', scary !
    1 point
  13. OMFG !! this is my 1st script prontera,156,183,5 warp Treasure_Hunter_Guild 2,2,yuno_in01,108,164 haha of course not, honestly ... my 1st script was job changer .... lol ... with menu and labels (in year 2006 of course) EDIT for below: ..... seriously ...? I get rep for support this kind of topic O.O
    1 point
  14. For a script like this, you should learn https://rathena.svn.sourceforge.net/svnroot/rathena/trunk/doc/script_commands.txt or use search feature. At least post it into support section instead, only you would learn something. 150,150,1<tab>script<tab>Warper Name<tab>53,{ warp "yuno_in01",108,164; end; }
    1 point
  15. Save point will not defined if player didn't talk to Kafra or use (@save). You can use savepoint script command like: savepoint "prontera",150,155;
    1 point
  16. Hello, Your RAM is not enough to start the server.
    1 point
  17. Well I guess ill just set the server but not play it, i've lost my interest into playin.... i preffer developing instead. Back to get 100+ players again @_@
    1 point
  18. we already update this hat , and all new hats ~ but we will release soon ~ just give slammer reputation ~ so he will release ASAP
    1 point
  19. 1 point
  20. get out of here if you are not using rathena <.< anyways, those are C language operators change .@area = getbattleflag("area_size"); into set .@area, getbattleflag("area_size"); though, you should ask the question in your respected forum for the emulator you used, I'm not going to adjust my script to compatible with other emulator after all this is rathena forum EDIT for below WAHAHAHAHA !!! me your post too <3
    1 point
  21. Permanent monster spawns using boss_monster will trigger MVP Tombs. trunk/npc/re/mobs/fields/morocc.txt moc_fild22,0,0,0,0 boss_monster Wounded Morroc 1917,1,43200000,600000,0 ^ this one should leave a tomb
    1 point
  22. hmm ... the npc in prontera, and ask to warp into prontera map to pvp ... ? sounds weird prontera,157,178,5 script Sample 757,{ mes "select a pvp room"; next; for ( .@i = 0; .@i < .size; .@i++ ) .@menu$ = .@menu$ +"Room "+( .@i +1 )+". ["+ getmapusers(.pvpmap$[.@i]) +"/50]:"; .@menu$ = .@menu$ + "Cancel"; .@room = select( .@menu$ ) -1; if ( .@room == .size ) { mes "ok, come back anytime"; close; } if ( getmapusers( .pvpmap$[ .@room ] ) >= 50 ) { mes "this room is full"; close; } warp .pvpmap$[ .@room ], 0,0; end; OnInit: setarray .pvpmap$, "pvp_y_1-1", "pvp_y_1-2", "pvp_y_1-3"; // add more maps here .size = getarraysize( .pvpmap$ ); for ( .@i = 0; .@i < .size; .@i++ ) setmapflag .pvpmap$[.@i], mf_pvp; end; }
    1 point
  23. getcharid() doesn't return IDs of offline characters, does it?
    1 point
  24. You can consider my DLLs being an update to Shin's DLLs.
    1 point
  25. Sc_end 'sc_end' will remove a specified status effect. If SC_All is used (-1), it will do a complete removal of all statuses (although permanent ones will re-apply). but it might remove certain status ( Jail / Mute / Overweight / etc )... make a loop to remove the status / buff ...and add a check before remove it to ensure it didnt remove those status mentioned above.
    1 point
  26. Figured it out,the sprite pack is missing an act file for that Warlock class (or it is inappropriately configured). Just so everyone knows for reference. Just replace it with a standard one or use the one in the data grf.
    1 point
  27. hey xantara, you could add 1 more feature to this. when players click on register, instead of redirecting them to the registration page, redirect them to terms n conditions page 1st. only after a player clicks on "I accept the terms and conditions" button will they b redirected to the actual registration page.
    1 point
  28. @Aya What's not working...be specify.....elaborate your "NOT WORKING" the script work fine for me when i test in game. http://pastebin.com/raw.php?i=TBKJ1ijN same script with just 1 extra line to check it's running or not even your script in post#1 also work fine in my test server
    1 point
  29. http://www.eathena.ws/board/index.php?s=&showtopic=269705&view=findpost&p=1479382
    1 point
  30. you can try this also ~ http://pastebin.com/raw.php?i=Dt2sW00K
    1 point
  31. - script aaa -1,{ OnPCLoadMapEvent: if ( getgmlevel() < 20 || getgmlevel() == 99 || !agitcheck() ) end; if ( compare( strcharinfo(3), "_cas0" ) && !compare( strcharinfo(3), "gl_cas0" ) ) warp "Save", 0,0; } prtg_cas01 mapflag loadevent prtg_cas02 mapflag loadevent prtg_cas03 mapflag loadevent .... put loadevent mapflag on all those castle maps that you can find
    1 point
  32. OnPCStatCalcEvent prontera,154,186,6 script kdjsfhskdfj 100,{ getitem2 1201,1,1,0,0, 0,0,0,-4701; end; OnPCStatCalcEvent: if ( isequipped(-4701) ) bonus bstr, 100; } I also can't believe myself this is actually working though, in-game it shows having apple at card4 slot
    1 point
  33. erhem.. it's.. emmm data/sprite/ and I don't know, it's korean. lol. it's in data/sprite/인간족/ (korean) or data/sprite/Àΰ£Á· (ASCII) that is the body. I forgot where the head things..
    1 point
  34. hairstyle, hair color, cloth color, and the peco is the clientside error. either the spr and act or the palette went error. have you updated your client? try this palettes that is made by Judas http://supportmii.com/ro1/Clients/Judas_Setups/Clientside/palettej.grf
    1 point
  35. 2011-03-15 clientinfo: mine works perfectly! There should be a problem in your client diffing..
    1 point
  36. what I mean is this prontera,156,184,5 script quest 100,{ if ( #misc_quest & 1 ) { mes "happy halloween"; halloween = #halloween = 0; // remember to reset them to 0 or else just wasting variable space close; } else if ( #halloween ) { if ( halloween == 10 ) { mes "you just complete this quest"; halloween = #halloween = 0; #misc_quest |= 1; // <-- THIS LINE } else if ( halloween ) mes "you have killed "+ halloween +" ghouls"; else mes "you have to kill 2000 ghouls"; close; } mes "happy halloween event"; select "take quest"; #halloween = 1; mes "you have to kill 2000 ghouls"; close; OnNPCKillEvent: if ( killedrid == 1036 && #halloween && halloween < 10 ) dispbottom "[Halloween Event] "+ halloween++ +" Ghouls killed!"; end; } LMAO !!! I've been 4 years since I last written a quest script !!! LOL I seem to get off touch writing this simple script rofl @Emistry omg, you script there start to looks like my mission board script as I'm using that same technique in that script now I mention about mission board, I do have that 'Can do: Only once' setting in that script ... hmm ....
    1 point
  37. The most stable, up to date client is 2012 / 04 / 10a I think. http://supportmii.com/ro1/Clients/Judas_Setups/2012_Setup/
    1 point
  38. @Jezu you can try this if you want... http://pastebin.com/raw.php?i=LnfA35rF Only edit this part... OnInit: // Variable Name set .VariableName$,"#Halloween"; // Required Monster ID + Amount setarray .MobDB[0],1002,2000; // Reward Item + Amount setarray .ItemDB[0],607,100; end; doesnt support multiple item / monsters... i havent test the script yet ~ maded 10 hours ago...but damn...cant connect to internet...
    1 point
  39. Right, what IP did you put under address? if it's 127.0.01 it won't allow your friends to connect but you
    1 point
  40. put your ip on your clientinfo.xml encrypt it using grf builder then send to your friends
    1 point
  41. Thank you. This really great job. Get part of its accessoryid.lua from here: http://pastebin.com/QfmbGsdp
    1 point
  42. What error message are you getting? If you can, post some screenshots
    1 point
  43. <version>30</version> <langtype>1</langtype>
    1 point
  44. yep you can get 2012-04-10 there, you know how to diff clients right? this is the latest version of the patcher Weediff2012Pack_v3.7z
    1 point
  45. No effect, had my client fully up to date before as well... and that fixed it for you? I'm using the corrected character sprites download... (by KamiShi), perhaps that has something to do with it? Since the sprite is acting up... but then again, why wouldn't it do it for the other sprites? xRaisen, hopefully you receive this notification, might I ask what files you copied?
    1 point
×
×
  • Create New...