Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 12/28/12 in Posts

  1. File Name: [Label] OnPCAttackMobEvent File Submitter: Zephyr File Submitted: 28 Dec 2012 File Category: Source Modifications Content Author: Zephyr (rAthena or brAthena) This label is invoked everytime a player attacks in a certain map flagged with "attackmobevent". Sintax: OnPCAttackMobEvent: (...) Mapflag: mapname<TAB>mapflag<TAB>attackmobevent It works ONLY in the maps with the mapflag "attackmobevent". Click here to download this file
    3 points
  2. Upload the development to googlecode or github, so that it won't die like the other control panels. Most of the things that went successful is opensource (*athena,ceres,flux,shinsdiffpatcher, and others).
    3 points
  3. My idea would be something like customstatus "statusname","itemscript", duration, icon; example: customstatus "OP buff", "bonus bMaxHPrate,20; bonus bMaxSPrate,15; bonus bAspdRate,2;", 180000, SI_BERSERK; This would display a status named OP buff, with the icon of berserk, that last 180 sec and gives 20% max hp 15% max sp and 2% aspd bonus.
    3 points
  4. lol ! if this one going to add, then why not also add issit() script command ? xD if ( issit() ) stand; else sit; something like this probably going to be useful in certain event scripts
    2 points
  5. src/map/itemdb.h find unsigned autoequip: 1; unsigned buyingstore : 1; } flag; short gm_lv_trade_override; //GM-level to override trade_restriction }; replace with unsigned autoequip: 1; unsigned buyingstore : 1; } flag; unsigned ann: 1;//annouce flag short gm_lv_trade_override; //GM-level to override trade_restriction }; src/map/item.c find /*==================================== * read all item-related databases *------------------------------------*/ add above /*==================================== * read item_announce.txt *------------------------------------*/ static bool itemdb_read_announce(char* fields[], int columns, int current) { unsigned short nameid; struct item_data* id; nameid = (unsigned short)strtoul(fields[0], NULL, 10); if( ( id = itemdb_exists(nameid) ) == NULL ) { ShowWarning("itemdb_read_announce: Unknow item id '%hu'.\n", nameid); return false; } id->ann=1; return true; } /*==================================== item.c find sv_readdb(db_path, DBPATH"item_trade.txt", ',', 3, 3, -1, &itemdb_read_itemtrade); sv_readdb(db_path, "item_delay.txt", ',', 2, 2, -1, &itemdb_read_itemdelay); sv_readdb(db_path, "item_buyingstore.txt", ',', 1, 1, -1, &itemdb_read_buyingstore); add after sv_readdb(db_path, "item_announce.txt", ',', 1, 1, -1, &itemdb_read_announce); src/map/mob.c find //A Rare Drop Global Announce by Lupus if( mvp_sd && drop_rate <= battle_config.rare_drop_announce ) { struct item_data *i_data; char message[128]; i_data = itemdb_search(ditem->item_data.nameid); sprintf (message, msg_txt(541), mvp_sd->status.name, md->name, i_data->jname, (float)drop_rate/100); //MSG: "'%s' won %s's %s (chance: %0.02f%%)" intif_broadcast(message,strlen(message)+1,0); } add after if(mvp_sd) {//specify drop item announce struct item_data *dd = NULL; char anme[128]; dd = itemdb_search(ditem->item_data.nameid); if(dd->ann==1){ sprintf (anme, msg_txt(541), mvp_sd->status.name, md->name, dd->jname, (float)drop_rate/100); //MSG: "'%s' won %s's %s (chance: %0.02f%%)" intif_broadcast(anme,strlen(anme)+1,0); } } find //A Rare MVP Drop Global Announce by Lupus if(temp<=battle_config.rare_drop_announce) { struct item_data *i_data; char message[128]; i_data = itemdb_exists(item.nameid); sprintf (message, msg_txt(541), mvp_sd->status.name, md->name, i_data->jname, temp/100.); //MSG: "'%s' won %s's %s (chance: %0.02f%%)" intif_broadcast(message,strlen(message)+1,0); } add after if(mvp_sd) {//specify drop item announce struct item_data *dd = NULL; char anme[128]; dd = itemdb_search(item.nameid); if(dd->ann==1){ sprintf (anme, msg_txt(541), mvp_sd->status.name, md->name, dd->jname, (float)temp/100); //MSG: "'%s' won %s's %s (chance: %0.02f%%)" intif_broadcast(anme,strlen(anme)+1,0); } } db/ create a doc named item_announce.txt //to set drop announce item id //@reloditemdb to reload all setting //format: item id //512 //501 //502 don't forgot to recompile sida.patch
    1 point
  6. I'm currently developing a new control panel for Athena SQL servers, WHY? To make a beautiful AJAX Based control panel so that you don't have to be loading new pages each time you access a link in the cp. To bring integration to your own website natively so you don't have to pay anyone to integrate it to your website. To bring a secure, simple , dummies friendly User control panel FEATURES AJAX to make navigation faster in the control panel Integration API for easy interation to any HTML5 based website. Support ticket center Report a player CMS To add server news etc . This just came up today , i want suggestions, opinions, haters, lovers everyone come around and insult my control panel so i can make it better! This is a preview of the home screen Anyone who wants to join me in the development of this CP throw me a message i will love any help i can come with !
    1 point
  7. Hello there! I did some loading screens to a friend, but he wont use them lol. so I want to share my work, I hope you like them. If you use them dont forget to say thanks! ^^ Example: Loading Screen.psd Password: alejandra These LoadingScreens was made in Photoshop CS5. P.S: Feel free if you want to make mirrors
    1 point
  8. // Define all combinations (x,y). setarray .@x[0],150,158,163,173; setarray .@y[0],184,182,189,199; // Pick a random index value and warp to it. set .@i, rand(getarraysize(.@x)); warp "prontera",.@x[.@i],.@y[.@i]; @Schrwaizer: rand() starts at index 0, so you don't need -1.
    1 point
  9. You can set two arrays with the same index for the correspondent coordinates. Just like this: setarray @x_axis[0],150,158,163,173; setarray @y_axis[0],184,182,189,199; set @map$,"prontera"; set @rand,rand(getarraysize(@x_axis) -1); //-1 prevents the rand() do get an non-existent array index warp @map$,@x_axis[@rand],@y_axis[@rand]; Think this should work.
    1 point
  10. File Name: Guild Base File Submitter: Truly File Submitted: 25 Oct 2012 File Category: Maps & Textures Content Author: Truly Hey everyone this is my Guild Base map! It was an idea for server owners to let big and powerful guilds be able to purchase their own guild hangout. There are 9 nearly exact copies of what you see in the first three screenshots, evident in the fourth screenshot. That's about it, I hope you like it as much as I liked making it! Click here to download this file
    1 point
  11. Are you probably using eAthena with a rAthena database?
    1 point
  12. its because u are using headgear id. u should change to weapon id. find the closet to the weapon. eg: if your custom weapon is pole, find pole id.. nah using this http://rathena.org/board/files/file/2494-ra-sprite-name-gen/ good luck.
    1 point
  13. idk it's still working for me and i downloading it now =) mediafire did not send anything to me =) right now i can't reupload it sorry =( Good news after finish my works i will reupload only part 2 =)
    1 point
  14. well usually sprites have same names. but there should be 1 item.act and item.spr for drop sprite and 2 item.act and item.spr for the view id distributed separately for female and male sprites folder.
    1 point
  15. I recommend at least you make 2 GRFs, data and Pallete. the data here consists of custom weapons and headgears. If you want to separate all of them, well, you might need: palette.grf > If you put the palettes on the main GRF of yours, when it's patched, it will take a long time, especially on slower computers. MainData.grf > this will hold lua files, "book" folder, and other txt and xml files. CustomWeapon.grf > holds your custom weapon sprites as you intend CustomHeadgear.grf > holds your custom headgear sprites as you intend you may refer to luafiles514/datainfo/accname.lua and accessoryid.lua to determine which the custom sprites are. then, you will be able to separate them all. The folders in custom grfs are: sprite/ and texture/ Depends on you, whether you want to put lua files/datainfo/accname.lua and lua files/datainfo/accessoryid.lua on your MainData.grf or CustomHeadgear.grf. I am not sure whether custom weapons need this too or not. *If you're referring to the lua files I mentioned above, just don't bear with the ASCII characters, unless your custom also has ASCII characters in it. the easiest way is to refer to accessoryid.lua and see the numbers, starting from 1000, on the right side of the '=' sign. Should be there any other question, feel free to ask me. Have a nice day! *P.S: This might be a though thing to do. Otherwise, the result will bring so much satisfaction
    1 point
  16. // callfunc( "instance__", "<instance name>", <alive timeout>, <idle timeout>, "<instance map 1>" {, <instance map 2>, <instance map 3> ... } ) function script instance__ { if ( ( .@ins = instance_create( getarg(0), getcharid(1) ) ) < 0 ) return .@ins; .@i = 3; while ( getarg( .@i, "" ) != "" ) { if ( instance_attachmap( getarg(.@i), .@ins ) == "" ) { instance_destroy .@ins; return -5; } .@i++; } if ( getarg(1) || getarg(2) ) instance_set_timeout getarg(1), getarg(2), .@ins; instance_init .@ins; instance_attach .@ins; return .@ins; } prontera,156,185,5 script Devil Square 100,{ if ( !getcharid(1) ) { mes "you need a party to get in"; close; } if ( instance_id(1) && getstrlen( has_instance("1@cash") ) ) { warp has_instance("1@cash"), 310,215; end; } if ( instance_id(1) ) { mes "your party is currently running an instance"; close; } if ( callfunc( "instance__", "test", 0, 0, "1@cash" ) < 0 ) { mes "failed to create instance"; close; } warp "1@cash", 310,215; donpcevent instance_npcname("test_instance")+"::Onstart"; close; } 1@cash,0,0,0 script test_instance -1,{ Onstart: monster "1@cash", 310,215, "--ja--", 1002, 1, instance_npcname("test_instance")+"::Onstart"; end; }
    1 point
  17. or you can do a gigantic zoom in, till you can see the image pixels and there, you can spot if there's any other spot left. use the Magic Wand tool to take that and it should take the rest. delete them. then, change the background into #FF00FF using paint bucket tool. Have a nice day!
    1 point
  18. You have to use #FF00FF for it to be transparent. Any color that isn't equal to #FF00FF will appear. Notice that not only the pink lines in the right and top will appear, but the dark purple border around the black rectable as well. Maybe you re-scaled it or something, not sure, but you should fix it by replacing these pixels with #FF00FF. If you want true pixels without any blur effect when scaling, modify the scaling mode in Image size window in PS (it will appear in the bottom, the first option)
    1 point
  19. "Loucura traduzir tudo manualmente é. Pegar pronto do brAthena sabia decisão é." - Mestre Yoda.
    1 point
  20. tried diffing(first time) 2011-11-22aRagexeRE.exe, the client ended up running the Setup.exe over and over and over did i do something wrong?
    1 point
×
×
  • Create New...