Jump to content

Leaderboard

Popular Content

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

  1. No. Make your own topic.
    2 points
  2. Hello rA ! I made this icons long time ago and didn't used it on the server that I've been working on that time. So now I thought releasing it on rA. Forgive me , it's not that professional looking but I hope it can help. Hope you'll like it. Rate it also. Enjoy ! Update (Feb 3, 2014) Re-uploaded the files to rathena's downloads section ! Enjoy! Link: http://rathena.org/board/files/file/3101-ragnarok-forum-rank-icons/
    1 point
  3. Option 1 Convert all the following databases in /db/ folder to SQL: item_db item_db2 mob_db mob_db2 pet_db pet_db2 mob_skill_db mob_skill_db2 quest_db produce_db Option 2 Convert all .txt databases in /db/ folder to SQL Option 3 No, leave them how it is (user selectable between TXT and SQL)
    1 point
  4. Nah... Hi all! That's my first release to public... I released my mini-woe event. Sorry for my bad English. I'm Russian. Attachment files is always last version. Features: 1.) There're 3 Doctors to help you. You can get heal only 1 time per death... 2.) There're 2 Defending Crystals that you need to break to go to the portal [img=http://www.eathena.ws/board/style_emoticons/default/smile.gif] 3.) There're 30 Guardians that will disturb you =) 4.) You can get 250 yggs from Armsman 5.) There's BFC Guild Rating 6.) And last... This is PVP Guild Event with much pvp kiils ... ) How to play this event: 1.) You need guild to play this event. 2.) You won't PVP in Guild on these maps. 3.) You need to destroy 2 Crystalls(red) to open passage to the Blue Crystall. 4.) When you destroy these red Crystalls, you need to run or kill 30 Guardians (Bow, Sword etc guards.) 5.) Then you'll need to destroy blue crystall. 6.) Then event repeating =) 7.) Event has a timer. When timer has 20 mins event stopping, and will be announce that event completed. How to start event: Whisper on nick npc:BattleAnnounce Whisper what - StartBattle How to install event: Save script in any txt file. Upload sql file in your SQL base. Open .../eathena/npc/custom folder and put txt file in this folder. Open .../eathena/npc/scripts_custom.conf And add this line: npc: npc/custom/yourname.txt (YOURNAME.txt CHANGE TO NAME THAT YOU USED TO CREATE TXT FILE ) SQL File to work Guild Counter ALTER TABLE `guild` ADD `guildwinscount` INT( 255 ) NOT NULL Script: // Battle for Crystal event. \\ // Made by Oxxy(FreakyL0L / Freaky) \\ // Idea by Shushei \\ // Version : 1.1.3 \\ // sleep 10000; // 10 Secs \\ // sleep 60000; // 60 Secs == 1 min \\ // sleep 600000; // 600 secs == 10 min \\ // sleep 1200000; // 1200 Secs == 20 mins \\ // 1 == ON || 0 == OFF \\ // END OF COPYRIGHTS \\ // Finded a little bugs. Thanks Melody. \\ // UPD: Added SQL file \\ // UPD: Trying to create Guild Rating for BFC \\ // MAPFLAGS \\ guild_vs4 mapflag pvp on guild_vs4 mapflag nowarp guild_vs4 mapflag nowarpto guild_vs4 mapflag nogo guild_vs4 mapflag noloot guild_vs4 mapflag noicewall pvp_n_1-1 mapflag noloot pvp_n_1-1 mapflag nowarp pvp_n_1-1 mapflag nogo pvp_n_1-1 mapflag nowarpto pvp_n_1-1 mapflag noicewall // END OF MAPFLAGS \\ - script BattleMobs -1,{ // GUARDIANS \\ OnGuardians: monster "pvp_n_1-1",106,93,"Guardian",1830,5; monster "pvp_n_1-1",107,121,"Guardian",1830,5; monster "pvp_n_1-1",104,116,"Guardian",1286,5; monster "pvp_n_1-1",103,108,"Guardian",1286,5; monster "pvp_n_1-1",108,95,"Guardian",1829,5; monster "pvp_n_1-1",104,67,"Guardian",1829,5; // END OF GUARDIANS \\ // CRYSTALS \\ monster "pvp_n_1-1",102,71,"Defending Crystal",1915,1,"Crystals::OnKill"; monster "pvp_n_1-1",109,71,"Defending Crystal",1915,1,"Crystals::OnKill"; // END OF CRYSTALS \\ } - script Crystals -1,{ OnClose: setcell "pvp_n_1-1",103,71,108,71,cell_walkable,0; end; OnKill: set $killed,$killed+1; if($killed==1) { announce "First Defending Crystal was defeated!",0; } if($killed==2) { announce "Second Defending Crystal was defeated!",0; sleep 1000; announce "Passage to portal has open!",0; setcell "pvp_n_1-1",103,71,108,71,cell_walkable,1; } end; } - script BattleOptions -1,{ // OPTIONS NPC. OnInit: disablenpc "Crystal Defender"; disablenpc "Armsman"; disablenpc "Doctor#1-1"; disablenpc "Doctor#1-2"; disablenpc "Doctor#1-3"; disablenpc "BattlePortal"; disablenpc "BattleComplete"; set $BattleStarted,0; set $killed,0; set $announce,1; // If set 1 npc Doctor will announce every player that dies } - script BattleAnnounce -1,{ OnWhisperGlobal: if(@whispervar0$=="StartBattle") { set $BattleStarted,1; enablenpc "Armsman"; enablenpc "Doctor#1-1"; enablenpc "Doctor#1-2"; enablenpc "Doctor#1-3"; enablenpc "BattlePortal"; announce "[Armsman]: Battle will begin in 10 minutes! We advise all fighters get ready!",0; //sleep 600000; // NORMAL | 10 MINS TO START. sleep 1000; // FOR TEST | 1 SEC TO FAST START set $BattleStart,1; donpcevent "BattleMobs::OnGuardians"; donpcevent "Crystals::OnClose"; announce "[Armsman]: Battle for Crystal started! Break the Crystal as fast as you can!",0; monster "guild_vs4",49,49,"Crystal",1914,1,"BattleComplete::OnCrystal"; initnpctimer; end; OnTimer1200000: stopnpctimer; set $BattleStarted,0; disablenpc "Armsman"; disablenpc "Doctor#1-1"; disablenpc "Doctor#1-2"; disablenpc "Doctor#1-3"; disablenpc "BattlePortal"; donpcevent "BattleComplete::OnComplete"; enablenpc "Crystal Defender"; end; } } izlude,97,122,6 script Armsman 420,{ if($BattleStarted==0) { mes "[Armsman]"; mes "Don't disturb me..."; close; } set .@guild, getcharid(2); if(.@guild<1){ mes "[Armsman]"; mes "You are not in guild."; close;} mes "[Armsman]"; mes "Hey oh! What would you do?"; switch(select("Take part in Battle","Get equipment","Just a crazy man...","What is 'Battle for Crystal'?")) { case 1: if($BattleStart==0) { mes "I still can not teleport you!"; close; } next; mes "[Armsman]"; mes "You - brave warrior!"; warp "pvp_n_1-1",96,15; close; case 2: if(vzjal==1) { next; mes "[Armsman]"; mes "You already have your stuff!"; close; } next; mes "[Armsman]"; mes "Do you want to arm for the Battle for Crystal?"; if(select("Yeap!","Warriors need it more...") ==2) { next; mes "[Armsman]"; mes "Get out of there!"; percentheal -25,0; close; } next; if(checkweight(607,250) == 0) { next; mes "[Armsman]"; mes "You don't have enough weight!"; close; } mes "[Armsman]"; mes "Here your stuff!"; set vzjal,1; getitem 607,250; mes "Now, go and kill somebody!"; close; case 3: next; mes "[Armsman]"; mes "Who crazy? I'm?!"; mes "I'll show you!"; percentheal -100,0; close; case 4: next; mes "[Armsman]"; mes "Your mission - break the Crystal."; mes "You must to be in Guild to join this battle."; mes "Battle longs for 20 minutes. Last guild that break Crystal wins."; close; } } - script BattleComplete -1,{ OnComplete: set $BattleStarted,0; set $BattleStart,0; set $killed,0; announce "[Armsman]: Battle for Crystal ended!",0; enablenpc "Crystal Defender"; sleep 300000; mapwarp "guild_vs4","SavePoint",0,0; end; OnCrystal: set .@guild, getcharid(2); query_sql("UPDATE `guild` SET guildwinscount = (guildwinscount+1) WHERE guild_id = " + getcharid(2) +";"); set razruwilpers,razruwilpers+1; getitem 7227,1; announce "Character ["+strcharinfo(0)+"] from guild ["+getguildname(.@guild)+"] broke the Crystal!",0; killmonsterall "guild_vs4"; killmonsterall "pvp_n_1-1"; donpcevent "BattleMobs::OnGuardians"; donpcevent "Crystals::OnClose"; monster "guild_vs4",49,49,"Crystal",1914,1,"BattleComplete::OnCrystal"; announce "New Crystal appeared!",0; mapwarp "guild_vs4","pvp_n_1-1",96,15; end; OnPcLogoutEvent: OnPcLoginEvent: attachrid(getcharid(3)); query_sql("UPDATE `guild` SET guildwinscount = guildwinscount WHERE guild_id = "+getcharid(2)+";"); if($BattleStarted==1) { end; } if($BattleStarted==0) { set vzjal,0; } detachrid; } pvp_n_1-1,102,182,6 script BattlePortal 45,3,3,{ set @rand,rand(1,4); if(@rand==1) { warp "guild_vs4",49,7; } if(@rand==2) { warp "guild_vs4",91,49; } if(@rand==3) { warp "guild_vs4",50,91; } if(@rand==4) { warp "guild_vs4",8,50; } } pvp_n_1-1,87,41,6 script Doctor#1-1 100,{ if(healed==1) { message strcharinfo(0),"You healed!"; end; } set healed,1; percentheal 100,100; end; OnPcDieEvent: attachrid(getcharid(3)); getmapxy .@eventmap$,.@x,.@y,0; if(.@eventmap$ == "pvp_n_1-1" || .@eventmap$ == "guild_vs4"){ set healed,0; if($announce==1) { announce ""+strcharinfo(0)+" died!",0; } end; } } pvp_n_1-1,82,153,6 duplicate(Doctor#1-1) Doctor#1-2 111 guild_vs4,55,44,6 duplicate(Doctor#1-1) Doctor#1-3 111 guild_vs4,51,50,6 script Crystal Defender 413,{ query_sql "SELECT guildwinscount FROM guild WHERE guild_id='"+getcharid(2)+"'", .@count$; mes "[Crystal Defender]"; mes "You broke the Crystal "+razruwilpers+" times..."; mes "You guild broke the Crystal "+.@count$+" times..."; mes "Do you want to go home?"; if(select("Yes","No") ==2) { next; mes "[Crystal Defender]"; mes "..."; close; } next; warp "SavePoint",0,0; close; } prontera,152,184,6 script BFC Guild Rating 857,{ mes "[Top 5 Guilds]"; mes "Do you want to see Top 5 guild winners?"; if(select("Yes","No") ==2) close; next; query_sql "SELECT `name`,`guildwinscount` FROM guild ORDER BY `guildwinscount` DESC LIMIT 5", .@gn$, .@counts$; mes "[Top 5 Guilds]"; for (set .@i,0; .@i<5; set .@i,.@i+1) { if (.@gn$[.@i] == "") mes "None"; else mes ""+(.@i+1)+". Guild "+.@gn$[.@i]+" broke: "+.@counts$[.@i]+" Crystals"; } close; OnInit: delwaitingroom; waitingroom "BFC Guild Rating",0; }[/codeBOX] [/indent] [indent=1][font=Comic Sans MS][size=5]Don't forget to post your suggestion and bugs that you'll find ! [/size][/font] [color=#9ACD32][u][b]Version 1.1: First fixes. Thanks to Melody. Added file to Attachment[/b][/u][/color] [color=#9ACD32][u][b]Version 1.1.1: Trying to add BFC guild rating. Some fixes. UPDATED script. BFC Guild Rating not working... So don't try Now I'm fixing it.[/b][/u][/color][/indent] [indent=1][color=#9ACD32][u][b]Version 1.1.2: Added BFC Guild rating! =)[/b][/u][/color] [color=#9ACD32][u][b]Version 1.1.3: Some fixes[/b][/u][/color][/indent] bfc.sql bfc.txt
    1 point
  5. File Name: #6096 Blue Fish recolors File Submitter: Skyrim File Submitted: 24 Dec 2011 File Category: Items These are some recolors I asked for to be made with my fishing script back on eAthena; Credits for the recolors go to the actual artist who's name I forgot .-. Edit:Yeah I just found this on eAthena, and I'm trying to take credit. #SWAGG Click here to download this file
    1 point
  6. ..just wondering....you dont even know how to solve a simple typo error ??? change into this setarray .Map$[0],"prontera","payon","alberta","aldebaran";
    1 point
  7. Right click on your RAthena SVN → TortoiseSVN → Apply patch... or you can patch it manually.. No, if you apply it with TortoiseSVN Yes, if you apply it manually ------------------------ to disable main chat in pvp map: copy paste this to ../conf/mapflag/nomsg.txt : http://pastebin.com/e0KfVWjt
    1 point
  8. this only disable the ChatRoom creation in the particular maps... it doenst block members within a party/guild to chatting..... Anyway..i found a solution for you to disable Chat within Players... try this scripts... - script Sample -1,{ OnPCLoadMapEvent: if( strcharinfo(3) == "mapname" && Manner >= 0 ){ sc_start SC_NOCHAT,-1,0; dispbottom "Chatting is Disabled within PVP Maps."; }else if( strcharinfo(3) != "mapname" && Manner >= 0 ){ sc_end SC_NOCHAT; set Manner 0; } end; } mapname mapflag loadevent Change the MapName to your PVP Map
    1 point
  9. I was wondering some part of your script might configure wrongly or mistake ?? For Example : if(healed==1) { message strcharinfo(0),"You healed!"; end; } set healed,1; Why check for Variable named "healed" for dispay the Message? isnt that quite useless ? coz..it is still healing your character..... attachrid(0); i guess....the attachrid is useless rite here...since you didnt attach it to a valid account ID... pvp_n_1-1,102,182,6 script BattlePortal 45,3,3,{ erm...if you are using a "Portal" like NPC... you required a "OnTouch" Label to make use of it..... otherwise...players still have to click on the NPC to get access to the script parts.. ( Sprite #45 perhaps is not Accessable by Clicking if it does Exists ) Perhaps there cant receive the Prize/ Items next time... ? coz you didnt Remove the Variable for Future Item gaining... i only found 2 of the variable access here.. Anyway...just some personal comment on these..hope it did help to improve your script.. and..if anything i was miss / wrong...please let me know.. >.<
    1 point
  10. Oh my God! That is very different than I thought. The script I uploaded, doesn't shows a NPC in Prontera, works as follows: For these map you show... I don't know that map. What map is? Edit: This is your map?
    1 point
  11. i guess you could make your own minimap, i think you would have to use browedit though
    1 point
  12. As Arcenciel said: 1. MapName%TAB%mapflag%TAB%pvp_noparty 2. Can only be done by a custom source edit. You may request it here.
    1 point
  13. Isn't it pointless to allow the use of that master password based on IP addresses? Well, i have a nice provider that changes my IP address only one time per month, but the most people get a new IP every day...
    1 point
  14. ah good find! My bad... I'm in the middle of two projects... (NPC Script Requests + PHP Project) so they tend to blend at times... lol thanks for the find Updated // I Was just talking with Brian about this last night actually... // Create the Category Array setarray .@main_menu$[0],"Sword","Bow","Dagger"; // Item ID's (The Number 0 is the Index of the Category "Sword") setarray .@equip_0[0],1,2,3,4,5,6,7,8,9; // Item ID's (The Number 1 is the Index of the Category "Bow") setarray .@equip_1[0],1,2,3,4,5,6,7,8,9; // Item ID's (The Number 2 is the Index of the Category "Dagger") setarray .@equip_2[0],1,2,3,4,5,6,7,8,9; // Create Item Hunt Group Arrays (By Category) // For adding Zeny, use Item ID 0, and in Amount, use Amount of Zeny setarray .@items_0[0],0,502,503; setarray .@items_amount_0[0],1000,2,3; setarray .@items_1[0],501,502,503; setarray .@items_amount_1[0],1,2,3; setarray .@items_2[0],501,502,503; setarray .@items_amount_2[0],1,2,3; // Display Categories to Player and Store Answer as Index (-1 Stores as Array Index) set .@category, select(.@main_menu$) - 1; // Now Build the Menu Based on This Selection for (set .@a, 0; .@a < getarraysize(getd(".@equip_" + .@category)); set .@a, .@a + 1) { set .@item_name$, getitemname(getd(".@equip_" + .@category + "[" + .@a + "]")); set .@sub_menu$, .@sub_menu$ + (.@sub_menu$ == "" ? .@item_name$ : ":" + .@item_name$); } // Now Offer the New Menu to the Player as Index (-1 Stores as Array Index) set .@item_choice, select(.@sub_menu$) - 1; // Determine If Player Has Required Items for (set .@a, 0; .@a < getarraysize(getd(".@items_" + .@category)); set .@a, .@a + 1) { set .@item_id, getd(".@items_" + .@category + "[" + .@a + "]"); set .@item_requires, getd(".@items_amount_" + .@category + "[" + .@a + "]"); if (.@item_id) { set .@player_has, countitem(.@item_id); set .@item_name$, getitemname(.@item_id); if (.@player_has < .@item_requires) { set .@errors$[getarraysize(.@errors$)], "You Still Need " + (.@item_requires - .@player_has) + " " + .@item_name$ + ((.@item_requires - .@player_has) > 1 ? "'s." : "."); } } else { // Is Zeny if (Zeny < .@item_requires) { set .@errors$[getarraysize(.@errors$)], "You Still Need " + (.@item_requires - Zeny) + " z."; } } } // Determine Errors to Display if (getarraysize(.@errors$)) { for (set .@a, 0; .@a < getarraysize(.@errors$); set .@a, .@a + 1) { mes .@errors$[.@a]; } close; } // Now For Debugging Purposes mes "Item ID Chosen: " + getd(".@equip_" + .@category + "[" + .@item_choice + "]"); mes "Item Name: " + getitemname(getd(".@equip_" + .@category + "[" + .@item_choice + "]")); // Take Items Away for (set .@a, 0; .@a < getarraysize(getd(".@items_" + .@category)); set .@a, .@a + 1) { delitem getd(".@items_" + .@category + "[" + .@a + "]"), getd(".@items_amount_" + .@category + "[" + .@a + "]"); } // Give Item getitem getd(".@equip_" + .@category + "[" + .@item_choice + "]"), 1; close; }
    1 point
  15. Edit: Added Error Support to Notify Player of Amount of Items Still Missing // I Was just talking with Brian about this last night actually... // Create the Category Array setarray .@main_menu$[0],"Sword","Bow","Dagger"; // Item ID's (The Number 0 is the Index of the Category "Sword") setarray .@equip_0[0],1,2,3,4,5,6,7,8,9; // Item ID's (The Number 1 is the Index of the Category "Bow") setarray .@equip_1[0],1,2,3,4,5,6,7,8,9; // Item ID's (The Number 2 is the Index of the Category "Dagger") setarray .@equip_2[0],1,2,3,4,5,6,7,8,9; // Create Item Hunt Group Arrays (By Category) setarray .@items_0[0],501,502,503; setarray .@items_amount_0[0],1,2,3; setarray .@items_1[0],501,502,503; setarray .@items_amount_1[0],1,2,3; setarray .@items_2[0],501,502,503; setarray .@items_amount_2[0],1,2,3; // Display Categories to Player and Store Answer as Index (-1 Stores as Array Index) set .@category, select(.@main_menu$) - 1; // Now Build the Menu Based on This Selection for (set .@a, 0; .@a < getarraysize(getd(".@equip_" + .@category)); set .@a, .@a + 1) { set .@item_name$, getitemname(getd(".@equip_" + .@category + "[" + .@a + "]")); set .@sub_menu$, .@sub_menu$ + (.@sub_menu$ == "" ? .@item_name$ : ":" + .@item_name$); } // Now Offer the New Menu to the Player as Index (-1 Stores as Array Index) set .@item_choice, select(.@sub_menu$) - 1; // Determine If Player Has Required Items for (set .@a, 0; .@a < getarraysize(getd(".@items_" + .@category)); set .@a, .@a + 1) { .@player_has, countitem(getd(".@items_" + .@category + "[" + .@a + "]")); .@item_requires, getd(".@items_amount_" + .@category + "[" + .@a + "]"); .@item_name$, getitemname(getd(".@items_" + .@category + "[" + .@a + "]")); if (.@player_has < .@item_requires) { set .@errors$[getarraysize(.@errors$)], "You Still Need " + (.@item_requires - .@player_has) + " " + .@item_name$ + ((.@item_requires - .@player_has) > 1 ? "'s." : "."); } } // Determine Errors to Display if (getarraysize(.@errors$)) { for (set .@a, 0; .@a < getarraysize(.@errors$); set .@a, .@a + 1) { mes .@errors$[.@a]; } close; } // Now For Debugging Purposes mes "Item ID Chosen: " + getd(".@equip_" + .@category + "[" + .@item_choice + "]"); mes "Item Name: " + getitemname(getd(".@equip_" + .@category + "[" + .@item_choice + "]")); // Take Items Away for (set .@a, 0; .@a < getarraysize(getd(".@items_" + .@category)); set .@a, .@a + 1) { delitem getd(".@items_" + .@category + "[" + .@a + "]"), getd(".@items_amount_" + .@category + "[" + .@a + "]"); } // Give Item getitem getd(".@equip_" + .@category + "[" + .@item_choice + "]"), 1; close;
    1 point
  16. prontera,158,173,4 script Quest NPC 88,{ mes .npc$; mes "Want to make a trade?"; next; switch(select("What are the require items?","What do you have?")) { case 1: // Required Items mes .npc$; mes "300 Poring Coins"; mes "500 Mithril Coins"; mes "1 Ghostring Card"; close; case 2: // What do you have // Build Menu for (set .@a, 0; .@a < getarraysize(.items); set .@a, .@a + 1) { set .@menu$, (.@menu$ == "" ? getitemname(.items[.@a]) + " Quest" : .@menu$ + ":" + getitemname(.items[.@a]) + " Quest"); } set .@my_item, select(.@menu$) - 1; // Check for Required Items if(countitem(7539) < 300 || countitem(674) < 500 || countitem(4047) < 1) { mes .npc$; mes "Not enough coins"; close; } // Pass Complete (Check Weight) else if (!checkweight(.items[.@my_item], 1)) { mes "You cannot handle this items load..."; close; } // Complete Quest else { mes .npc$; mes "Awesome! Here is your item!"; delitem 7539, 300; delitem 674, 500; delitem 5057, 1; getitem .items[.@my_item], 1; mes "Have a nice day!"; close; } OnInit: set .npc$, "[" + strnpcinfo(1) + "]"; setarray .items[0],19000,19001,19002,19003,19004,19005,19006,19007,19008,19009,19010,19011,19012,19013,19014,19015,19016,19017,19018, 19019,19020,19021,19022,19023,19024,19025,19026,19027,19028,19029,19030,19031,19032,19033,19034,19035,19036; end; } Tiny Bit Shorter, and MUCH easier to add / remove items from, simply modify the array below the OnInit, to include or exclude item id's... (Keep in mind this limits to 128)
    1 point
×
×
  • Create New...