Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 06/24/20 in all areas

  1. View File GRF Editor Hey everyone, This is a GRF tool I started to develop for my own personnal use, but I thought I'd share it since I've upgraded the UI. Its primary goal is to be easy to use while offering a wide variety of options and customizations. The software is quite stable and can handle large operations easily. How to install Download the zip archive provided from the download link at the bottom of this description or directly from there : http://www.mediafire.com/?aflylbhblrzpz0h Install the application with GRF Editor Installer.exe; if you are missing a .NET Framework you will be prompted to download it. Once you are done, you can start the program from the link on your desktop. Key features Overall speed is faster (or at least equal) than any GRF tool. Common operations : add, delete, merge, extract, preview, save. Undo and redo for any operation. It can open any GRF file. Clean and very interactive interface. Saving formats supported : 0x200, 0x103 and 0x102 (through the Settings page) and conversion to the Thor format. Instant filter and search options (example : "map .gat"). File association and context menus integration for .grf, .gpf, .rgz and .thor (through the Settings page). Can rebuild separated images into one file easily. Drag and drop (with the ALT key, can be modified in the Settings page). This is a big part of the software; most of the items can be moved around within the application itself or from/to Windows Explorer. Tools Sprite editor : a simple sprite editor with powerful features. Semi-transparent images can be added, you can easily change the order or replace images, etc. This tool can convert images in the wrong type by showing you multiple solutions (merging a new palette, dithering the image by using current palette, using the closest color, and a few more). Grf validation : allows you to validate a GRF with multiple settings. It can detect corrupted GRF entries, invalid sprites, empty files, non-GRF files, duplicate files and a lot more. Flat maps maker : generates flat maps from .gat and .rsw files. Useful to generate WoE maps or to fasten up the loading time. Patch maker : generates a GRF patch based on two different GRFs. Hash viewer : shows the hash code (both CRC32 and MD5) for files. Image converter : converts an image to any format requested (BMP, PNG, JPG, TGA). GrfCL : used to create batch files (.bat) which can automate tasks on GRF files. See the content in GrfCL.rar in the download for more information. This tool can be customized from the sources as well. Palette recolorer : creates new sprites by changing their colors (this tool is now deprecated). Client database editor : allows modifications of the database client files (txt and lua) with easy and simple tools. Work in progress. Grf encryption The encryption feature has been enabled again. It's similar to what it used to be and it has been tested on client versions ranging from 2012-08-01 to 2014-02-05. Some error messages will be displayed if necessary. If you have an issue, copy the error message (with the code, if there's one) and send me the client executable with the cps.dll file generated by GRF Editor. There shouldn't be compatibility issues anymore though! Thor files Thor files are patches used by Thor Patcher ( http://thor.aeomin.net/ ). Because of their similarity with the GRF file structure, they have been integrated within GRF Editor. The primary utility of this feature is that it allows you to add encrypted files to a Thor patch. All the other options can be achieved by using Thor Maker. You'll find the necessary steps below, but test your patches before sending them off to players (I've done a lot of testing on my end, but better be safe). If you're using SecureGRF, then make a new GRF, add the files and encrypt it. In GRF Editor, open the encrypted GRF you just made, use "Save as" and name the new file with a .thor extension. That's it, if you want to change the output directory, click on the root node of the project and select the tab "Container options". You can select the output mode and the GRF to merge the patch with. Simply save again if you change these properties. If you're using GRF Editor's encryption, then make a new Thor file (File > New > New Thor) and add the files you want to patch it with. Right-click on the files you want to encrypt and use Encryption > Encrypt. Technical stuff Requires .Net Framework 3.5 (SP1) Client Profile to run (3.5 or more will work as well). Automatically converts file name encoding to their proper values (you can change the encoding). Data virtualization is used as much as possible to preview files, meaning the files aren't completely loaded. Right-clicking an item will bring up the available options with that file. Preview file formats : txt, log, xml, lua, lub, bmp, png, tga, jpp, db, ebm, pal, gnd, rsw, gat, rsm, str, spr, act, imf, fna and wav. Services are "crash ready", meaning that you will be warned about a failed operation and no work will be lost (the application won't close and crash). It tries to continue operating even if it meets unsual conditions. Operations can be cancelled by clicking on the button near the progress bar. The warning level can be changed to avoid messages like "Please select a folder first." When prompted with an error, use Ctrl-C to copy the current dialog's content. Some screenshots! 1) Previewing an act file, while showing the search feature 2) Preview of a model file (rsm) 3) Preview of GrfCL with the MakeGrf command 4) Preview of maps 5) Preview of Grf validation 6) Search feature (press Ctrl-F or Ctrl-H to bring up within a text editor) Got a feedback? I'd gladly hear you out and fix issues you have with the program. Submitter Tokei Submitted 01/11/2013 Category GRF Files Video Content Author Tokeiburu  
    1 point
  2. Hola, Quiero compartirles el último script de minería que hice, en español. A diferencia de los sistemas de minería que hice años atrás, éste es desatendido, es decir, una vez que el jugador se convierte en ingeniero en minas, tendrá una perforadora automática a combustible que hará el trabajo por ellos, con algunos requisitos mínimos de mantenimiento obviamente, con lo que evitamos el mal uso. Características: Para adquirir una perforadora, deben ir a Einbech, a la ubicación que se aprecia en la imagen. Las perforadoras se llaman AX, y tal como se aprecia en las imágenes, pueden mostrar el tiempo para su desmantelamiento automático o bien, cuando están operando, indican la cantidad de combustible y la broca restante. Después de 24 horas el servidor destruirá las AX que no estén haciendo nada, perdiendo el combustible, la broca y los ítems de su inventario, cayendo al suelo, permitiendo que otros jugadores recojan todo sin que sea un delito. El tiempo de desmantelación no aplica si los AX están funcionando, así que asegúrate de ponerle combustible y de reemplazar la broca cuando se agote. El combustible se agota lentamente, al igual que la broca, pero lo bueno es que los AX mantienen informados a sus dueños sin importar su ubicación en el server: Cuando obtienen algún ítem Cuando se gasta la broca Cuando se agota el combustible Hay muchos items que sirven de combustible, pero el principal es el alcohol. Por defecto la broca es una lanza Guisarme[2], la que debe instalarse en el AX cuando éste se encuentre instalado en la mina. El sistema viene con 3 tipos de mina, donde cada una permite extraer ítems con diferentes rates configurables por el admin. Se pueden crear infinitos tipos de minas, con los items que el Admin quiera, sólo deben entender el modelo de las tablas adjuntas en el zip. Mina de Minerales: Rough Oridecon, Rough Elunium, Oridecon, Elunium, Enriched Elunium y Enriched Oridecon Mina de Joyas: Red Blood, Green Live, Wind of Verdure, Crystal Blue, Rough Wind, Mystic Frozen, Flame Heart, Great Nature, Cracked Diamond, 1carat Diamond, 2carat Diamond y 3carat Diamond Mina de Oro: Scell, Gold, Emperium, Treasure Box, Gold Ore Los Admin pueden usar el comando @ax2 para crear o eliminar minas en lugares estratégicos de su server, o usar @ax3 para visualizar todas las minas del mapa, diferenciadas por color, o @ax4 para ver todas las del server. Los AX no pueden instalarse pegados a otro AX, a menos que la mina haya sido descubierta por ese jugador, asegurando que siempre tenga espacio para instalar su AX. Creanme, se acaban los sectores y quedan jugadores sin poder minar, a la espera que desarmen algún AX. El comando @ax es para los jugadores, y permite operar con el sistema, hacer búsquedas en los mapas, como también, realizar la instalación del AX para que comience a excavar. Los jugadores sólo pueden operar con su AX, aunque podrán hacerlo desde una distancia de 10 celdas para que no tengan problemas con otros jugadores. Si el inventario del AX se llena y su dueño no acude de inmediato a sacar los items, la perforadora podría extraer más items pero éstos caerán al suelo, así que ojo con los leechers. En la medida que el tiempo de perforación aumente, podrán hablar con el líder de los ingenieros en minas y pedirle que les entregue un AX más avanzado, son 10 y en cada uno aumenta la capacidad del estanque y del inventario. Video: https://youtu.be/TvHmP4w_ukk Tengan en cuenta que este sistema incluye tablas nuevas para su base de datos MySQL, nuevos ítems, elementos gráficos y sonidos, además de algunos cambios en el emulador que deben compilar, lean los archivos txt incluidos en el ZIP para saber qué hacer. Saludos, Myzter Miner AX.zip
    1 point
  3. Yes thank you! I was also able to find the other recolors from intense searching on DuckDuckGo! Unfortunately, there was no credit attached to this and three of the collection .bmp is empty. I uploaded a .zip~ data valk.rar
    1 point
  4. Are you looking for recolors?
    1 point
  5. //===== rAthena Script ======================================= //= saders Hourly Rewards //===== By: ================================================== //= Sader1992 //https://rathena.org/board/profile/30766-sader1992/ //===== Current Version: ===================================== //= 1.2 //===== Compatible With: ===================================== //= rAthena Project //https://rathena.org/board/files/file/3647-saders-hourly-rewards/ //https://github.com/sader1992/sader_scripts //===== Description: ========================================= //==== all the configuration are in the last //==== support gepard / ip / or without them //==== if you use ip/gepard sql will be used for that //==== can add minimem level to get the rewards //==== can change the time //==== can ban the vending from the rewards (it will reset after relogin) //==== can add rewards else then variable //==== there is a shop npc for the variable //==== you can make it only for vip //==== can ban idle players for X time from the Hourly Rewards //==== player can ban his char from getting the reward by @HourlyBan (it will reset after relogin) //============================================================ //==== please send me a message if you find error //==== if you like my work maybe consider support me at paypal //==== [email protected] //============================================================ //==== 1.1 FIX Critical issue with gepard/ip and compatibility with my other scripts //==== 1.2 FIX GrPard Variable //============================================================ - script sader_Hourly_Rewards -1,{ OnHourlyRewards: if(#Hourly_Ban){ message strcharinfo(0),"[Hourly Rewards]: You did ban this char from the Hourly Rewards , Relogin to change that ."; addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; end; } if(.s_idle){ if(checkidle() > .s_idle_time){ message strcharinfo(0),"[Hourly Rewards]: No Hourly Rewards for IDLE Players!."; addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; end; } } if(.s_vip){ if(!vip_status(VIP_STATUS_ACTIVE)){ message strcharinfo(0),"[Hourly Rewards]: if you are a VIP you will get Hourly Rewards!."; addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; end; } } if(BaseLevel < .s_hourly_level){ message strcharinfo(0),"[Hourly Rewards]: if you are level "+.s_hourly_level+" and more you will get Hourly Rewards!."; addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; end; } if(.s_vinding){ if(checkvending() & .s_vinding){ message strcharinfo(0),"[Hourly Rewards]: No Hourly Rewards for Venders , Relogin to change that ."; if(.s_GePard_ip){ query_logsql("delete from `sader_variables_log` where `variable` = '#Hourly_Rewads_Check' AND `account_id`= '"+getcharid(3)+"'"); } #Hourly_Rewads_Check = 0; #Hourly_Ban = 1; addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; end; } } #Hourly_Rewads_Check += 1; if(.s_GePard_ip == 1){ query_sql("SELECT `last_unique_id` FROM `login` WHERE `account_id` = '"+getcharid(3)+"'", .@s_last_unique_id$); query_logsql("SELECT value FROM `sader_variables_log` WHERE unique_id = '"+.@s_last_unique_id$+"' AND `variable` = '#Hourly_Rewads_Check'", .@s_GePard); if(.@s_GePard >= #Hourly_Rewads_Check){ message strcharinfo(0),"[Hourly Rewards]: You already got the Hourly Rewards from this PC"; #Hourly_Rewads_Check -= 1; addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; end; } if(.@s_GePard == 0){ query_logsql("INSERT INTO `sader_variables_log` (`unique_id`,`ip`,`variable`,`index`,`value`, `account_id`, `char_id`, `char_name`) VALUES ('"+.@s_last_unique_id$+"', '"+getcharip()+"', '#Hourly_Rewads_Check', '0', '"+#Hourly_Rewads_Check+"', '"+getcharid(3)+"', '"+getcharid(0)+"', '"+strcharinfo(0)+"')"); } query_logsql("Update `sader_variables_log` SET `value` = '"+#Hourly_Rewads_Check+"' WHERE `unique_id`= '"+.@s_last_unique_id$+"' AND `variable` = '#Hourly_Rewads_Check'"); }else if(.s_GePard_ip == 2){ query_logsql("SELECT value FROM `sader_variables_log` WHERE ip = '"+getcharip()+"' AND `variable` = '#Hourly_Rewads_Check'", .@s_ip); if(.@s_ip >= #Hourly_Rewads_Check){ message strcharinfo(0),"[Hourly Rewards]: You already got the Hourly Rewards from this IP"; #Hourly_Rewads_Check -= 1; addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; end; } if(.@s_ip == 0){ query_logsql("INSERT INTO `sader_variables_log` (`unique_id`,`ip`,`variable`,`index`,`value`, `account_id`, `char_id`, `char_name`) VALUES ('"+.@s_last_unique_id$+"', '"+getcharip()+"', '#Hourly_Rewads_Check', '0', '"+#Hourly_Rewads_Check+"', '"+getcharid(3)+"', '"+getcharid(0)+"', '"+strcharinfo(0)+"')"); } query_logsql("Update `sader_variables_log` SET `value` = '"+#Hourly_Rewads_Check+"' WHERE `ip`= '"+getcharip()+"' AND `variable` = '#Hourly_Rewads_Check'"); } message strcharinfo(0),"[Hourly Rewards]: you Gain your Reward."; callsub Hourly_Rewads; addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; end; OnHourlyBan: if(!#Hourly_Ban){ message strcharinfo(0),"[Hourly Rewards]: You did ban this char from the Hourly Rewards , Relogin to change that ."; if(.s_GePard_ip){ query_logsql("delete from `sader_variables_log` where `variable` = '#Hourly_Rewads_Check' AND `account_id`= '"+getcharid(3)+"'"); } #Hourly_Rewads_Check = 0; #Hourly_Ban = 1; addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; } end; OnUnHourlyBan: #Hourly_Ban = 0; end; OnPCLogoutEvent: if(.s_GePard_ip){ query_logsql("delete from `sader_variables_log` where `variable` = '#Hourly_Rewads_Check' AND `account_id`= '"+getcharid(3)+"'"); } if(#Hourly_Ban == 1){ #Hourly_Ban = 0; } #Hourly_Rewads_Check = 0; end; OnPCLoginEvent: addtimer .s_time, strnpcinfo(3)+"::OnHourlyRewards"; end; OnInit: .s_idle = 0; // ban hourly rewards from idle players ? 0 no / 1 yes {if player didn't move for x time he wont get hourly reward} , DEFAULT = 0 .s_idle_time = 1800; // this the time for idle in secend , DEFAULT = 1800 (30 min) .s_vip = 0; // 1 = only for VIP / 0 = for everyone , DEFAULT = 0 .s_time = 3600000; // 1000 = 1 secend | 60000 = 1 min | 3600000 = 1 houre , DEFAULT = 3600000 (1 hr) .s_hourly_level = 0; // Minimam level to get the Houerly rewards / 0 = no minimem level , DEFAULT 0 .s_GePard_ip = 0; // 0 = no Gepard / 1 = Gepard / 2 = IP , DEFAULT 0 .s_vinding = 7; // DEFAULT 7 / 0 = will give the reward even if vending / 1 = no normal vending / 2 = no @autotrade / 4 = no buyingstore | Example: if you want to ban normal vend and buying store you add the numbers 1+4=5 query_logsql("CREATE TABLE IF NOT EXISTS `sader_variables_log` (`unique_id` INT( 11 ) UNSIGNED NOT NULL DEFAULT '0',`ip` VARCHAR(100) NOT NULL,`variable` VARCHAR(32) NOT NULL, `index` INT NOT NULL, `value` INT NOT NULL,`account_id` INT NOT NULL,`char_id` INT NOT NULL,`char_name` VARCHAR(30) NOT NULL) ENGINE=MyISAM"); bindatcmd("UnHourlyBan",strnpcinfo(3)+"::OnUnHourlyBan",99,99); bindatcmd("HourlyBan",strnpcinfo(3)+"::OnHourlyBan",0,99); end; Hourly_Rewads: //put the Hourly Rewards here #HourlyShop += 1; //getitem 905,1; // if you want to add items as reward you can add them here like that //getexp 10000,5000; // if you wanna add exp as reward add them here like that //if(#Hourly_Rewads_Check == 5){getitem 905,1;} // like this you can add reward for Xhr and this reward will be given for that X in this example 5 mean that the player did pass 5hr //if(#Hourly_Rewads_Check >= 5){getitem 905,1;} // like this you can add reward for Xhr and this reward will be given for that X in this example 5 mean that the player did pass 5hr or more return; } //prontera,144,126,6 pointshop Hourly Point Shop 667,#HourlyShop,13534:5,13810:5,12913:5,12914:5,13718:5,12909:5,12922:5 //<ITEM_ID>:<PRICE>,<ITEM_ID>:<PRICE>,<ITEM_ID>:<PRICE>,<ITEM_ID>:<PRICE> - pointshop Hourly Point Shop 667,#HourlyShop,13534:5,13810:5,12913:5,12914:5,13718:5,12909:5,12922:5 prontera,144,126,6 script Hourly Point Shop#NPC 667,{ callshop "Hourly Point Shop",0; end; OnInit: delwaitingroom; waitingroom "--- Hourly Point Shop ---",0; end; }
    1 point
  6. Ragnarok Renders What is a render? A render is basically an image where an object in the image has a transparent background. Think of transparency as something invisible. In this case the object(s) are monsters, characters, items, etc. How do I make a render? Well there are several ways, my easy solution is just to use the magic eraser tool in Photoshop CS5. You use that and click the background, the more solid the outline of the object the easier it is to render. Some objects you may have to trace the lines so that way the eraser doesn't erase a part of the image its not supposed to. This takes much trial and error, and don't worry, as long as you don't mess up on the tracing, you can't tell its been traced. What does the packages contain? A: NPC cutins, official wallpapers, and fankit images. There are also login screens that have been put together, as well as loading screens. It will also have all the original images for people who want to help out or just to see what the render came from; however, wallpapers are not included because it makes the package too large. What format are the images in? The images are saved in .PNG format. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------Downloads http://mysterious-project.googlecode.com/svn/trunk/Renders/Renders.zip Renders Package (Renders [10-2-2010]) http://mysterious-project.googlecode.com/svn/trunk/Renders/Renders.zip Updated: Added blank card templates, as well as blank flags. Card Images http://mysterious-project.googlecode.com/svn/trunk/Renders/Card Images.zip Comment: I don't know if this will be useful to anyone, but I figured why not. From the data.grf. NPC Cutins http://mysterious-project.googlecode.com/svn/trunk/Renders/NPC%20Cutins.zip Info: The NPC images without a transparent background. Also from the data.grf. jRO NPC Cutins (2012) http://mysterious-project.googlecode.com/svn/trunk/Renders/jRO%20Cutins.rar Info: Thanks to Bahamut for supplying them. I made them into Renders. Additional Renders (Thursday September 27th 2012) 1st-Humanish.zip 2nd-Humanish.zip Trans-Chibish.zip ThirdJob-Chibish.zip Info: Was gathered from here.
    1 point
  7. Version 1.0.0

    455 downloads

    @aitem this command allows you to check how many of the item in the server command @aitem2 allows you to check also who have the items @aitem is fast, but @aitem2 will take some time to finish the time depend on how big your database is! Keep in mind that this script work with sql , so if you got an item you will need to wait xtime(default 30 sec) to save in sql so you can see it with the command (or relogin or any act in the server that force you data to be saved , it's all depends on your server setting and your usage) you should wait until the command is done , do not logout/talk to npc/ anything until you get the results! '@AnalyzeItem' return the count of the item in the server. '@AnalyzeItem2' return the count of the item and the lst of who have it in the server (take more time). USAGE: @AnalyzeItem <ITEM_ID> @AnalyzeItem2 <ITEM_ID> OR @AItem <ITEM_ID> @AItem2 <ITEM_ID> Wait until you get the results in your chat to add more tables (like other storages) check the array .@tables$ and .@id$ F_GET_REAL_OWNER_NAME(<"string table">,<id>) get the name for id
    Free
    1 point
  8. Did anyone tried to fix the error instead of just get rid of the message?
    1 point
  9. Hi keoco, Where is your current SQL database located? And what sort of medium are you using to access it? If you already have backed up your database into *.sql files; then just upload them onto your VPS using WinSCP. Once they are uploaded, just run this following command to import the *.sql file to your VPS's MySQL server... mysql -u <USER> -p, --password=<PASSWORD> <DATABASE> < <FILE>.sql Make sure your MySQL account that you are using has permissions to use that database.
    1 point
×
×
  • Create New...