Jump to content

sandbox

Members
  • Posts

    949
  • Joined

  • Last visited

  • Days Won

    16

Everything posted by sandbox

  1. You have to configure them here https://github.com/rathena/rathena/blob/master/conf/groups.conf and you have to adjust their group in the login table.
  2. Are you on a high rates server? I doubt it would change anything
  3. Google http://php.about.com/od/mysqladministration/qt/repair_mysql.htm Though, make sure you backup first, just in case your repair deletes anything.. If you are unsure, you can ask your host to do it for you.
  4. Awesome! Loved the 3Dish look, though the borders could be improved more 9/10!
  5. Thanks! I can't even remember where I got that portable software xD
  6. That's weird, why would it freeze? What's your revision #?
  7. IME, it has minimal effect on PvP. But in PvM, you can totally see the difference.
  8. Hmm, I'm really not sure about this one, is it only those items mentioned are the ones undroppable? Might wanna check your inventory window too, if you have your dropping locked.
  9. Try this //==============================================================================// //= Script Release : Job Changer + Max Leveler [ Version 1.6 ] //==================================By==========================================// //= ManiacSociety //==============================================================================// //= Idea Came From : ManiacSociety //= Helper : Emistry & Kenpachi //==============================================================================// //= D E S C R I P T I O N S //==============================================================================// // -- 1. Character can choose a Job which he like to be. // -- 2. This NPC only have 1 Time Usage. // If it is set to Account Based then that account can use 1 times. // If it is set to Character Based then all new character can use 1 times. // -- 3. Complete skills / Skill Points will be given if it is set to be. // -- 4. Base Level and Job Level will be given upon Job Change. // -- 5. Allow players to click an items to call out the NPC. //==============================================================================// //= V E R S I O N S //==============================================================================// // -- [ 1.6 ] : Added Item Script which allow the Scripts work as a "Tickets". // -- [ 1.5 ] : Added Configuration for Account Based / Character Based Settings // -- [ 1.4 ] : Added Baby Classes + 3rd Job Classes. // -- [ 1.3 ] : Added Configuration Option , 4 Announce Option , Informations. // -- [ 1.2 ] : Simplified Scripts + Shorten the Scripts. // -- [ 1.1 ] : Added New Job Change Option. // -- [ 1.0 ] : Simple Login Auto Max Level + Job Changer. //==============================================================================// //= R U L E S //==============================================================================// // -- 1. Do not use for exchanging purpose. // -- 2. Do not claim it as yours. // -- 3. Do not change or remove the credits. // -- 4. Do not sell the script in order to get paid. // -- 5. Do not re-sharing upon modified without permission. //==============================================================================// // -- Add this at item DB. ( Change it to any items to your like. ) // -- 30000,JobClassTicket,JobClassTicket,11,10,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ doevent "ClassHelper::OnPCLoginEvent"; },{},{} prontera,147,194,4 script ClassHelper 718,{ // -- Configuration Option set .npcname$,"[ ^0000FF Class Helper ^000000 ]"; set .InfoMenu,1; // Classes Informations Option [ 0 - Disable / 1 - Enable ] set .1stClassMenu,0; // First Job Class Option [ 0 - Disable / 1 - Enable ] set .2ndClassMenu,0; // Second Job Class Option [ 0 - Disable / 1 - Enable ] set .High1stClassMenu,0; // High 1st Class Option [ 0 - Disable / 1 - Enable ] set .Trans2ndClassMenu,1; // Transcendent Class Option [ 0 - Disable / 1 - Enable ] set .Trans3rdClassMenu,0; // Third Job Class Option [ 0 - Disable / 1 - Enable ] set .ExpandedClassMenu,1; // Expanded Class Option [ 0 - Disable / 1 - Enable ] set .BabyClassMenu,1; // Baby Job Class Option [ 0 - Disable / 1 - Enable ] set .Baby3rdClassMenu,0; // Baby Third Job Class Option [ 0 - Disable / 1 - Enable ] set .Allskills,1; // Complete Skills Option [ 0 - Disable / 1 - Enable ] // -- Usable for Only 1 Time set .Based,1; // [ 0 - Account Based / 1 - Character Based ] if( ClassHelper == 1 || #ClassHelper == 1 )end; Main_Menu: mes .npcname$; if(#JobIP$ == getcharip()) { mes "You can only use this once"; close; } mes "I am the Job Class Helper..."; mes "I am here to help you."; mes " ^FF0000________________________________^000000"; mes "Do you wish to become Stronger ?"; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "Do you admire those who have a great power ? Do you wish to become a part of them ? If yes , then which classes that you admire the most ?"; next; switch(select(( .InfoMenu == 0 )?"":"^4EEE94Classes Information^000000", ( .1stClassMenu == 0 )?"":"^0000FFFirst Job Classes^000000", ( .2ndClassMenu == 0 )?"":"^0000FFSecond Job Classes^000000", ( .High1stClassMenu == 0 )?"":"^0000FFHigh First Job Classes^000000", ( .Trans2ndClassMenu == 0 )?"":"^0000FFTranscendent Job Classes^000000", ( .Trans3rdClassMenu == 0 )?"":"^0000FFThird Job Classes^000000", ( .ExpandedClassMenu == 0 )?"":"^0000FFExpanded Job Classes^000000", ( .BabyClassMenu == 0 )?"":"^0000FFBaby Normal Job Classes^000000", ( .Baby3rdClassMenu == 0 )?"":"^0000FFBaby Third Job Classes^000000", "^FF0000Sorry, i admire nobody....^000000")) { Case 1: goto Classes_info; Case 2: goto FirstJob_Classes; Case 3: goto SecondJob_Classes; Case 4: goto HighFirstJob_Classes; Case 5: goto TransSecondJob_Classes; Case 6: goto TransThirdJob_Classes; Case 7: goto ExpandedJob_Classes; Case 8: goto BabyJob_Classes; Case 9: goto BabyThirdJob_Classes; Case 10: if ( .Based == 0 ){ set #ClassHelper,1; } if ( .Based == 1 ){ set ClassHelper,1; } close; } FirstJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^76EE00Swordman^000000", "^76EE00Magician^000000", "^76EE00Archer^000000", "^76EE00Acolyte^000000", "^76EE00Merchant^000000", "^76EE00Thief^000000", "^FF0000Back^000000")) { // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; Case 1: callsub Job_Changing,1,99,50,60,"All"; Case 2: callsub Job_Changing,2,99,50,60,"All"; Case 3: callsub Job_Changing,3,99,50,60,"All"; Case 4: callsub Job_Changing,4,99,50,60,"All"; Case 5: callsub Job_Changing,5,99,50,60,"All"; Case 6: callsub Job_Changing,6,99,50,60,"All"; Case 7: goto Main_Menu; } HighFirstJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^76EE00High Swordman^000000", "^76EE00High Magician^000000", "^76EE00High Archer^000000", "^76EE00High Acolyte^000000", "^76EE00High Merchant^000000", "^76EE00High Thief^000000", "^FF0000Back^000000")) { // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; Case 1: callsub Job_Changing,4002,99,50,60,"All"; Case 2: callsub Job_Changing,4003,99,50,60,"All"; Case 3: callsub Job_Changing,4004,99,50,60,"All"; Case 4: callsub Job_Changing,4005,99,50,60,"All"; Case 5: callsub Job_Changing,4006,99,50,60,"All"; Case 6: callsub Job_Changing,4007,99,50,60,"All"; Case 7: goto Main_Menu; } SecondJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^76EE00Knight^000000", "^76EE00Priest^000000", "^76EE00Wizard^000000", "^76EE00Blacksmith^000000", "^76EE00Hunter^000000", "^76EE00Assassin^000000", "^76EE00Crusader^000000", "^76EE00Monk^000000", "^76EE00Sage^000000", "^76EE00Rogue^000000", "^76EE00Alchemist^000000", ( Sex == 0 )?"":"^76EE00Dancer^000000", ( Sex == 1 )?"":"^76EE00Bard^000000", "^FF0000Back^000000")) { // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; Case 1: callsub Job_Changing,7,99,50,110,"All"; Case 2: callsub Job_Changing,8,99,50,110,"All"; Case 3: callsub Job_Changing,9,99,50,110,"All"; Case 4: callsub Job_Changing,10,99,50,110,"All"; Case 5: callsub Job_Changing,11,99,50,110,"All"; Case 6: callsub Job_Changing,12,99,50,110,"All"; Case 7: callsub Job_Changing,14,99,50,110,"All"; Case 8: callsub Job_Changing,15,99,50,110,"All"; Case 9: callsub Job_Changing,16,99,50,110,"All"; Case 10: callsub Job_Changing,17,99,50,110,"All"; Case 11: callsub Job_Changing,18,99,50,110,"All"; Case 12: callsub Job_Changing,20,99,50,110,"All"; Case 13: callsub Job_Changing,19,99,50,110,"All"; Case 14: goto Main_Menu; } TransSecondJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^76EE00Lord Knight^000000", "^76EE00High Priest^000000", "^76EE00High Wizard^000000", "^76EE00Whitesmith^000000", "^76EE00Sniper^000000", "^76EE00Assassin Cross^000000", "^76EE00Paladin^000000", "^76EE00Champion^000000", "^76EE00Professor^000000", "^76EE00Stalker^000000", "^76EE00Creator^000000", ( Sex == 0 )?"":"^76EE00Gypsy^000000", ( Sex == 1 )?"":"^76EE00Clowm^000000", "^FF0000Back^000000")) { // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; Case 1: callsub Job_Changing,4008,99,70,130,"All"; Case 2: callsub Job_Changing,4009,99,70,130,"All"; Case 3: callsub Job_Changing,4010,99,70,130,"All"; Case 4: callsub Job_Changing,4011,99,70,130,"All"; Case 5: callsub Job_Changing,4012,99,70,130,"All"; Case 6: callsub Job_Changing,4013,99,70,130,"All"; Case 7: callsub Job_Changing,4015,99,70,130,"All"; Case 8: callsub Job_Changing,4016,99,70,130,"All"; Case 9: callsub Job_Changing,4017,99,70,130,"All"; Case 10: callsub Job_Changing,4018,99,70,130,"All"; Case 11: callsub Job_Changing,4019,99,70,130,"All"; Case 12: callsub Job_Changing,4021,99,70,130,"All"; Case 13: callsub Job_Changing,4020,99,70,130,"All"; Case 14: goto Main_Menu; } TransThirdJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^76EE00Rune Knight^000000", "^76EE00Warlock^000000", "^76EE00Ranger^000000", "^76EE00Arch Bishop^000000", "^76EE00Mechanic^000000", "^76EE00Guillotine Cross^000000", "^76EE00Royal Guard^000000", "^76EE00Sorcerer^000000", ( Sex == 0 )?"":"^76EE00Wanderer^000000", ( Sex == 1 )?"":"^76EE00Minstrel^000000", "^76EE00Shura^000000", "^76EE00Genetic^000000", "^76EE00Shadow Chaser^000000", "^FF0000Back^000000")) { // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; Case 1: callsub Job_Changing,4060,99,70,200,"All"; Case 2: callsub Job_Changing,4061,99,70,200,"All"; Case 3: callsub Job_Changing,4062,99,70,200,"All"; Case 4: callsub Job_Changing,4063,99,70,200,"All"; Case 5: callsub Job_Changing,4064,99,70,200,"All"; Case 6: callsub Job_Changing,4065,99,70,200,"All"; Case 7: callsub Job_Changing,4073,99,70,200,"All"; Case 8: callsub Job_Changing,4074,99,70,200,"All"; Case 9: callsub Job_Changing,4076,99,70,200,"All"; Case 10: callsub Job_Changing,4075,70,70,200,"All"; Case 11: callsub Job_Changing,4077,70,70,200,"All"; Case 12: callsub Job_Changing,4078,70,70,200,"All"; Case 13: callsub Job_Changing,4079,70,70,200,"All"; Case 14: goto Main_Menu; } ExpandedJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^76EE00Super Novice^000000", "^76EE00Gunslinger^000000", "^76EE00Ninja^000000", "^76EE00Takewon^000000", "^76EE00Star Gladiator^000000", "^76EE00Soul Linker^000000", "^FF0000Back^000000")) { // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; Case 1: callsub Job_Changing,23,99,99,110,"All"; Case 2: callsub Job_Changing,24,99,50,600,"All"; Case 3: callsub Job_Changing,25,99,50,60,"All"; Case 4: callsub Job_Changing,4046,99,50,60,"All"; Case 5: callsub Job_Changing,4047,99,50,110,"All"; Case 6: callsub Job_Changing,4049,99,50,110,"All"; Case 7: goto Main_Menu; } BabyJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^76EE00Baby Swordman^000000", "^76EE00Baby Magician^000000", "^76EE00Baby Archer^000000", "^76EE00Baby Acolyte^000000", "^76EE00Baby Merchant^000000", "^76EE00Baby Thief^000000", "^76EE00Baby Knight^000000", "^76EE00Baby Priest^000000", "^76EE00Baby Wizard^000000", "^76EE00Baby Blacksmith^000000", "^76EE00Baby Hunter^000000", "^76EE00Baby Assassin^000000", "^76EE00Baby Crusader^000000", "^76EE00Baby Monk^000000", "^76EE00Baby Sage^000000", "^76EE00Baby Rogue^000000", "^76EE00Baby Alchemist^000000", ( Sex == 0 )?"":"^76EE00Baby Dancer^000000", ( Sex == 1 )?"":"^76EE00Baby Bard^000000", "^76EE00Baby Baby^000000", "^FF0000Back^000000")) { // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; Case 1: callsub Job_Changing,4024,99,50,60,"All"; Case 2: callsub Job_Changing,4025,99,50,60,"All"; Case 3: callsub Job_Changing,4026,99,50,60,"All"; Case 4: callsub Job_Changing,4027,99,50,60,"All"; Case 5: callsub Job_Changing,4028,99,50,60,"All"; Case 6: callsub Job_Changing,4029,99,50,60,"All"; Case 7: callsub Job_Changing,4030,99,50,110,"All"; Case 8: callsub Job_Changing,4031,99,50,110,"All"; Case 9: callsub Job_Changing,4032,99,50,110,"All"; Case 10: callsub Job_Changing,4033,99,50,110,"All"; Case 11: callsub Job_Changing,4034,99,50,110,"All"; Case 12: callsub Job_Changing,4035,99,50,110,"All"; Case 13: callsub Job_Changing,4037,99,50,110,"All"; Case 14: callsub Job_Changing,4038,99,50,110,"All"; Case 15: callsub Job_Changing,4039,99,50,110,"All"; Case 16: callsub Job_Changing,4040,99,50,110,"All"; Case 17: callsub Job_Changing,4041,99,50,110,"All"; Case 18: callsub Job_Changing,4043,99,50,110,"All"; Case 19: callsub Job_Changing,4042,99,50,110,"All"; Case 20: callsub Job_Changing,4045,99,50,110,"All"; Case 21: goto Main_Menu; } BabyThirdJob_Classes: mes .npcname$; mes "So, i give you a chance now. Which Classes will you choose to join ? Tell me your desired Classes."; next; switch(select("^76EE00Baby Rune Knight^000000", "^76EE00Baby Warlock^000000", "^76EE00Baby Ranger^000000", "^76EE00Baby Arch Bishop^000000", "^76EE00Baby Mechanic^000000", "^76EE00Baby Guillotine Cross^000000", "^76EE00Baby Royal Guard^000000", "^76EE00Baby Sorcerer^000000", ( Sex == 0 )?"":"^76EE00Baby Wanderer^000000", ( Sex == 1 )?"":"^76EE00Baby Minstrel^000000", "^76EE00Baby Shura^000000", "^76EE00Baby Genetic^000000", "^76EE00Baby Shadow Chaser^000000", "^FF0000Back^000000")) { // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; Case 1: callsub Job_Changing,4096,99,70,200,"All"; Case 2: callsub Job_Changing,4097,99,70,200,"All"; Case 3: callsub Job_Changing,4098,99,70,200,"All"; Case 4: callsub Job_Changing,4099,99,70,200,"All"; Case 5: callsub Job_Changing,4100,99,70,200,"All"; Case 6: callsub Job_Changing,4101,99,70,200,"All"; Case 7: callsub Job_Changing,4102,99,70,200,"All"; Case 8: callsub Job_Changing,4103,99,70,200,"All"; Case 9: callsub Job_Changing,4105,99,70,200,"All"; Case 10: callsub Job_Changing,4104,99,70,200,"All"; Case 11: callsub Job_Changing,4106,99,70,200,"All"; Case 12: callsub Job_Changing,4107,99,70,200,"All"; Case 13: callsub Job_Changing,4108,99,70,200,"All"; Case 14: goto Main_Menu; } Job_Changing: mes .npcname$; mes "You are now a part of ^FF0000"+jobname(getarg(0))+"^000000."; if (compare(getarg(4),"All")){ announce "[ "+strcharinfo(0)+" ] has changed to [ "+jobname(getarg(0))+" ].",bc_all,0x76EE00; } if (compare(getarg(4),"Map")){ announce "[ "+strcharinfo(0)+" ] has changed to [ "+jobname(getarg(0))+" ].",bc_map,0x76EE00; } if (compare(getarg(4),"Area")){ announce "[ "+strcharinfo(0)+" ] has changed to [ "+jobname(getarg(0))+" ].",bc_area,0x76EE00; } if (compare(getarg(4),"Self")){ announce "[ "+strcharinfo(0)+" ] has changed to [ "+jobname(getarg(0))+" ].",bc_self,0x76EE00; } jobchange getarg(0); #JobIP$ = getcharip(); set BaseLevel,getarg(1); set JobLevel,getarg(2); ResetSkill; ResetStatus; set SkillPoint,getarg(3); if ( .Allskills == 1 ){ atcommand "@allskills"; set SkillPoint,0; } percentheal 100,100; if ( .Based == 0 ){ set #ClassHelper,1; } if ( .Based == 1 ){ set ClassHelper,1; } close; Classes_info: mes .npcname$; mes "=====[^76EE00 Swordman Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Enthusiastic skills in sword fighting is a definite attraction to all teenagers. Easy to control and master character enables most players to be a great player."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Archer Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Long ranged attack ability and special techniques of archers in defeating enemy often lure players to try this."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Mage Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Fascinating element techniques involvement of nature in its abilities is truly amazing with their series of undefeatable magics."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Thief Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Poisoning and dodging abilities will defeat most of the enemy. Maximum defensive and offensive ability caused this character to fearsome one."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Acolyte Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "A supportive character, most of the skills like helping will benefit to teammates who lead to teammates act like a terminator."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Merchant Classes ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Involving communication with other players that emphasizes on battles, intelligence in business dealing. His versatility made him must not be look down."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Super Novice ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "A job who are Advanced after Novice Class. It look alike like a Novice but it is not. Beside that, it can learn most of the skills for all 1st Job Class."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Gunslinger ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "The only Job class in RO who are using Gun as weapon. If are you a Gun Lover , there is no doubt you will choose this Job."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Ninja ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "A mysterious Job Class , who alway processing Ancient Spells , look alike with Mage but not mage , good in PK , can evade very well during PK."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Taekwon ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Just like the name has mentioned. The only class in RO who are not using any Weapon. Attack enemy using barehand and foots. "; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Star Gladiator ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "A class who can use the power of the Sun / Star / Moon. By processing the power of Universe to gain a stronger Power."; mes " ^FF0000________________________________^000000"; next; mes .npcname$; mes "=====[^76EE00 Soul Linker ^000000]====="; mes " ^FF0000________________________________^000000"; mes "^4EEE94Description :^000000"; mes "Class that work like a Shaman, who able to recalling the soul of the dead from the underworld to Boost other class ability."; mes " ^FF0000________________________________^000000"; next; goto Main_Menu; }
  10. Comment out these lines if(gettimetick(2) < HuntDelay) { mes "You can only do this quest once a day!"; close; } HuntDelay = gettimetick(2)+86400; //Once a day only.
  11. Kindly refrain from flaming other members especially in a language they can't understand. Anyways if you've found a more useful solution, it would be best to include it so whenever someone is in need, they could easily search for the answer. Thank you!
  12. Add this to the script you're talking about if(#JobIP$ == getcharip()) { mes "You can only use this once"; close; } else #JobIP$ = getcharip();
  13. Kindly test.. All credits goes to @ToastOfDoom for this one.. I went through all the pain when he lectured me about your two requests.. Thank you sensei toasty - script TownInvasion -1,{ OnMinute00: if(gettime(3) % 2 == 1 && !agitcheck() && !agitcheck2()) { for(.@i = 0; .@i < 4; .@i++) { //Spawn on 4 towns do { .@index = rand(.num_towns); } while (.@temp_check[.@index]); .@temp_check[.@index] = 1; announce .Town$[.@index]+" Guard: Help us! Our town is being invaded!",bc_blue|bc_all; for(.@ix = 0; .@ix < 5; .@ix++) { //MvP spawner monster .Town$[.@index],0,0,"--ja--",.MvP[rand(getarraysize(.MvP))],1,strnpcinfo(1)+"::OnInvadeDeath"; } for(.@iy = 0; .@iy < 100; .@iy++) { //Mob spawner monster .Town$[.@index],0,0,"--ja--",-1,1,strnpcinfo(1)+"::OnMobsDeath"; } } } end; OnInvadeDeath: .@RandMvP = rand(getarraysize(.Prize)); getitem .Prize[.@RandMvP],.PAmt[.@RandMvP]; goto CheckWipe; end; OnMobsDeath: .@RandMob = rand(getarraysize(.Prize2)); getitem .Prize2[.@RandMob],.PAmt2[.@RandMob]; goto CheckWipe; end; CheckWipe: if(mobcount(strcharinfo(3),"OnInvadeDeath") < 1 && mobcount(strcharinfo(3),"OnMobsDeath") < 1) announce "Thank you, "+strcharinfo(3)+" has been saved!",bc_blue|bc_all; end; OnInit: //Towns to Invade setarray .Town$[0],"prontera","izlude","geffen","payon","alberta","aldebaran","yuno","lighthalzen","einbroch","einbech","comodo","umbala","amatsu","gonryun","ayothaya","louyang","hugel","rachel","veins"; set .num_towns, getarraysize(.Town$); //MvPs to summon setarray .MvP[0],1583,1832,1312; //Prize to give MVP setarray .Prize[0],7227,607,608,501,502,503,504,505,506,507,508,509,510,511,512; setarray .PAmt[0],1,1,1,1,1,1,1,1,1,1,1,1,1,1,1; //Prize to give Mobs setarray .Prize2[0],7227,607,608,501,502,503,504,505,506,507,508,509,510,511,512; setarray .PAmt2[0],1,1,1,1,1,1,1,1,1,1,1,1,1,1,1; end; }
  14. Sample based on Hat[1] 30027,Aurous_Iris_Crown,Aurous Iris Crown,4,1000,,200,,2,,1,0xFFFFFFFF,63,2,256,,0,1,16,{},{},{}
  15. Add before if(BaseJob==Job_Novice || BaseLevel<254) { getguildmember getcharid(2); if($@guildmembercount < 5) { mes "Your guild needs at least 5 members."; close; }
  16. Sorry for the late reply, you can use getitem with getitem2 instead!
  17. Try this invek,145,165,3 script Bossnia Guard 123,{ set .@name$,"[Bossnia Guard]"; mes .@name$; mes "What level of Bossnia do you want to enter?"; next; switch(select("Bossnia1:Bossnia2:Bossnia3:Bossnia4")){ case 1: mes .@name$; mes "Ok then,"; mes "First you need to pay me 100,000,000z and bring me ^ff000010 Crystal Fragments^000000.."; next; mes "Ow you already have them!"; if (countitem(7321) <10 || Zeny >= 100000000 ) { mes .@name$; mes "Sorry you don't have enough zeny or you don't have the required items"; } if (countitem(7321) <0 || Zeny >= 100000000 ) { mes .@name$; mes "Sorry, I can't let you enter Bossnia if you have the required items!"; } else { delitem 7321,10; set Zeny, Zeny-100000000; warp "bossnia_01",203,203; } close;break; case 2: mes .@name$; mes "Ok then,"; mes "First you need to pay me 100,000,000z and bring me ^ff000010 Crystal Fragments^000000.."; next; mes "Ow you already have them!"; if (countitem(7321) <10 || Zeny >= 100000000 ) { mes .@name$; mes "Sorry you don't have enough zeny or you don't have the required items"; } if (countitem(7321) <0 || Zeny >= 100000000 ) { mes .@name$; mes "Sorry, I can't let you enter Bossnia if you have the required items!"; } else { delitem 7321,10; set Zeny, Zeny-100000000; warp "bossnia_02",203,203; } close; break; case 3: mes .@name$; mes "Ok then,"; mes "First you need to pay me 100,000,000z and bring me ^ff000010 Crystal Fragments^000000.."; next; mes "Ow you already have them!"; if (countitem(7321) <10 || Zeny >= 100000000 ) { mes .@name$; mes "Sorry you don't have enough zeny or you don't have the required items"; } if (countitem(7321) <0 || Zeny >= 100000000 ) { mes .@name$; mes "Sorry, I can't let you enter Bossnia if you have the required items!"; } else { delitem 7321,10; set Zeny, Zeny-100000000; warp "bossnia_03",203,203; } close; break; case 4: mes .@name$; mes "Ok then,"; mes "First you need to pay me 100,000,000z and bring me ^ff000010 Crystal Fragments^000000.."; next; mes "Ow you already have them!"; if (countitem(7321) <10 || Zeny >= 100000000 ) { mes .@name$; mes "Sorry you don't have enough zeny or you don't have the required items"; } if (countitem(7321) <0 || Zeny >= 100000000 ) { mes .@name$; mes "Sorry, I can't let you enter Bossnia if you have the required items!"; } else { delitem 7321,10; set Zeny, Zeny-100000000; warp "bossnia_04",203,203; } close; break; } }
  18. You're asking two different things, if you are asking what is said on your title, the script below would broadcast everytime a player kills an MvP - script MvPannounce -1,{ OnNPCKillEvent: if(getmonsterinfo(killedrid,22) > 0) { announce strcharinfo(0)+" just killed "+getmonsterinfo(killedrid,0)+"!",0; } end; }
  19. Create an NPC then use the sprite ID of the monster instead. Unless you want to make something different, elaborate your request.
  20. For the freeze rate, check battle/conf/status.conf
  21. - script RandomDrop -1,{ OnNPCKillEvent: if(killedrid == 1002) { // Remove so it would apply to all monsters if(rand(10) < 5) { // 50% chance to Drop getmapxy(.@DMap$,.@Dx,.@Dy,0); makeitem .DropList[rand(getarraysize(.DropList))],1,.@DMap$,.@Dx,.@Dy; } } end; OnInit: setarray .DropList[0],607,608,609; // Edit to desired Item ID to be dropped end; }
  22. your_map,0,0,0,0%TAB%monster%TAB%your_mob%TAB%1234,100,10000,20000,0;
  23. We already talked about this at iRC ;-; plz no stab mr akkarin PS: you know im ur autoliker <3
  24. <map name>,<x>,<y>,<facing>%TAB%duplicate(<label>)%TAB%<NPC Name>%TAB%<sprite id> pron_mall,92,67,5 duplicate(Bulletin Quest) Bulletin Quest#1 837
×
×
  • Create New...