Jump to content

Yoona

Members
  • Posts

    567
  • Joined

  • Last visited

Everything posted by Yoona

  1. @GmOcean Still the same error eveytime the Event starts @bump
  2. @Ghost I am amazed by this Russian Roulette Event but, suddenly there was an error on the script i don't know what happened. the error was npc_parsearcfile: Unknown syntax in file Error in Line 1 ( the script ) always on line one,,,
  3. I am amazed by this Event but, suddenly there was an error on the script i don't know what happened. by the way the error was npc_parsearcfile: Unknown syntax in file Error in Line 1 ( the script ) //======================================================================================== //Title: Asiong Salonga | Russian Roulette //Version: 1.0 //Author: Ghost //Created: 12/24/2011 //Released: 12/24/2011 //Compatibility: rAthena | eAthena //rAthena Topic: http://rathena.org/board/topic/58222-ghosts-scripts/ //Required File: http://www.mediafire.com/?ry9k4uolxlmj4kv //Reference: http://en.wikipedia.org/wiki/Russian_roulette //Note: Thanks to Z3R0, Arcenciel, and `KeiKun for helping me on making this script. //©2011-2012 Ghost //======================================================================================== izlude,120,96,6, script Asiong Salonga 731,{ //--Configuration goto Asiong; OnInit: set .NPC$, "[Asiong Salonga]"; //What is the NPC name? set .GMLevel, 90; //What is the minimum gm level to activate the event? set .GetSkull, 1; //Do you want to get the skulls of the dead after winning? 1: Enabled | 0:Disable set .Zeny, 0; //How much zeny you want the winner to get? | 0:Disable setarray .ItemID[0], 7179; //What is the Item ID of the prize? | 0:Disable setarray .ItemAmount[0],100; //How many pieces of the prize? setarray .DeathDialog$[0], "Sayonara!", "Hasta la vista, baby!", "Die!"; //What do you want the NPC will say when someone dies? setarray .AliveDialog$[0], "You lucky bastard!", "Bloody hell!", "Why can't you die!"; //What do you want the NPC will say when someone lives? end; //--End Asiong: mes .NPC$; mes "Russian Roulette is a potentially lethal game of chance in which participants place a single round in a revolver, spin the cylinder, place the muzzle against their head and pull the trigger."; if(.play == 2){ close; } switch(select("Play:"+((getgmlevel() >= .GMLevel)?"Activate":"")+"")){ case 1: if((.play == 1) && (.pReg < .maxplayer)){ for(set .@i, 0; .@i < .maxplayer; set .@i, .@i + 1){ if(.playerlist$[.@i] == strcharinfo(0)){ next; mes .NPC$; mes "You are already registered!"; close; } } set .playerlist$[.pReg], strcharinfo(0); set .pReg, .pReg + 1; announce "["+.pReg+"/"+.maxplayer+"] "+strcharinfo(0)+" is registered.",bc_all; if(.pReg == .maxplayer){ goto PlayRR; } close; } else if((.pReg == .maxplayer) && (.play == 1)){ next; mes .NPC$; mes "No open slot available."; close; } next; mes .NPC$; mes "Event has not yet started."; close; case 2: next; mes .NPC$; mes "What is the maximum player?"; input .maxplayer; if(.maxplayer < 2){ dispbottom "Max player must be greater than 1."; close; } set .maxplayer, .maxplayer; set .play, 1; announce "[Russian Roulette] Registration is open. "+.maxplayer+" players needed!",bc_all; close; } close; PlayRR: close2; detachrid; copyarray .copiedplayer$[0], .playerlist$[0], 128; set .play, 2; announce "[Russian Roulette] Thrilling trigger pulls are about to start!",bc_all; announce "Active Player Listing",bc_all,0xFFFFFF; for(set .@i, 0; .@i < getarraysize(.playerlist$); set .@i, .@i + 1){ set .@j, .@j + 1; announce ""+.@j+". "+.playerlist$[.@i]+"",bc_all,0xFFFFFF; sleep2 1000; } announce "Do not disconnect. You will be disqualified!",bc_all,0xFFFFFF; callsub OnSpin; close; OnSpin: set .spin, rand(0, .pReg - 1); attachrid(getcharid(3, .playerlist$[.spin])); callsub OnCheck; announce .NPC$ +" The revolver is spinning . . .",bc_all; sleep2 3000; announce .NPC$ +" Revolver slowly stopped spinning . . .",bc_all; sleep2 2000; announce .NPC$ +" The revolver is pointing to "+ strcharinfo(0) +" . . .",bc_all; sleep2 3000; announce .NPC$ +" Pull the trigger now "+ strcharinfo(0),bc_all; callsub OnCheck; callsub OnShoot; sleep2 3000; callsub OnSpin; return; OnShoot: if(rand(1, 3) == 1){ soundeffectall "Revolver.wav", 0; sleep2 2300; specialeffect2 669; specialeffect2 531; percentheal -100, -100; deletearray .playerlist$[.spin], 1; set .pReg, .pReg - 1; announce "["+.pReg+"/"+.maxplayer+"] "+strcharinfo(0)+" is out!",bc_all,0xFF0000; announce ""+.NPC$+" "+.deathdialog$[rand(1, getarraysize(.deathdialog))]+"", bc_all,0xFF0000; } else { soundeffectall "Revolver.wav", 0; sleep2 2300; specialeffect2 675; specialeffect2 522 + rand(1,14); announce ""+.NPC$+" "+.alivedialog$[rand(1, getarraysize(.alivedialog))]+"", bc_all,0xFF0000; } return; OnCheck: if(.pReg <= 0){ announce .NPC$ +" No winner! They all disappear!",bc_all; callsub CleanUp; } else if((.pReg == 1) && (.maxplayer <= 2) && (getarraysize(.disqualified$))){ announce .NPC$ +" No winner! A player has been disqualified in 2 player mode.",bc_all; callsub CleanUp; } else if((.pReg == 1) && (.maxplayer >= 2)){ announce .NPC$ +" We got a winner! Congratulations "+strcharinfo(0)+"!",bc_all; if(.GetSkull){ for(set .@i, 0; .@i < .maxplayer; set .@i, .@i + 1){ if(strcharinfo(0) != .copiedplayer$[.@i]){ getnameditem 7420, .copiedplayer$[.@i]; } } } for(set .@i, 0; .@i < getarraysize(.ItemID); set .@i, .@i + 1){ if(.ItemID){ getitem .ItemID[.@i], .ItemAmount[.@i]; } } if(.Zeny){ set Zeny, Zeny + .Zeny; } callsub CleanUp; } return; OnPCLogoutEvent: if(.play){ setarray .disqualified$[.@l], strcharinfo(0); set .@l, .@l + 1; for(set .@i, 0; .@i < .maxplayer; set .@i, .@i + 1){ if(.playerlist$[.@i] == strcharinfo(0)){ deletearray .playerlist$[.@i], 1; set .pReg, .pReg - 1; announce "["+.pReg+"/"+.maxplayer+"] "+strcharinfo(0)+" has disqualified.",bc_all,0xFF0000; break; } } } end; //--Clean Variables CleanUp: set .play, 0; set .pReg, 0; set .maxplayer, 0; deletearray .playerlist$, 128; deletearray .copiedplayer$, 128; deletearray .disqualified$, 128; end; //--End } can somene fix this script?
  4. @GmOcean Thanks for the reply and i will inform you if there's still an error I tried it and still the error script_rid2sd: fatal error ! player not attached
  5. This is the script : //########################################################################## //By: ____ _ __ __ ____ _____ # // | \ ___ __ __ _ | | \ \ / /_ _ _ / ___\ / ____| # // | || | / _ \\ \ / /| || | \ \ / /| || \ | || | ___ | (___ # // | || || __/ \ \/ / | || |__ \ \/\/ / | || \| || |___|\ \___ \ # // __|____/__\___|__\__/__|_||____|_____\_/\_/__|_||_|\__|_\_____/_____) | # //|_____________________________________________________________________/ # // # //########################################################################## // # //== Dice Event # // # //########################################################################## // # //== Automatically starts a dice event every 30 minutes of every hour # // # //== Prize- Change 13723 to any item ID you want the winner to recieved # // # // Code Modify by : WordsUp // Credit still for mAisakaTaiga //########################################################################## - script Dice#announcer -1,{ OnInit: disablenpc "prtevent"; hideonnpc "Dice#evnt1"; end; OnClock0100: OnClock0200: OnClock0300: OnClock0400: OnClock0500: OnClock0600: OnClock0700: OnClock0800: OnClock0900: OnClock1000: OnClock1100: OnClock0000: OnClock1300: OnClock1400: OnClock1500: OnClock1600: OnClock1700: OnClock1800: OnClock1900: OnClock2000: OnClock2100: OnClock2200: OnClock2300: OnClock2400: announce "Dice: We are going to have a Dice event.",bc_all,0x00CED1; sleep2 10000; announce "Dice: For those who wants to join, Please proceed zhakastia 56, 55 and enter the Warp Portal.",bc_all,0x00CED1; sleep2 10000; announce "Dice: After 1 Minute the Portal will close.",0; sleep2 10000; announce "Dice: So please go to zhakastia 56, 55 and enter the Warp Portal now if you want to join.",bc_all,0x00CED1; enablenpc "prtevent"; initnpctimer; end; OnTimer30000: announce "Dice: Last 30 seconds.",bc_map,0x00CED1; sleep2 5000; announce "Dice: If you want to join please enter the Warp Portal beside me here zhakastia 56, 55.",bc_all,0x00CED1; end; OnTimer50000: announce "Dice: Last 10 seconds.",bc_all,0x00CED1; end; OnTimer55000: announce "Dice: 5.",bc_all,0x00CED1; end; OnTimer56000: announce "Dice: 4.",bc_all,0x00CED1; end; OnTimer57000: announce "Dice: 3.",bc_all,0x00CED1; end; OnTimer58000: announce "Dice: 2.",bc_all,0x00CED1; end; OnTimer59000: announce "Dice: 1.",bc_all,0x00CED1; end; OnTimer60000: announce "Dice: Time's up.",bc_all,0x00CED1; end; OnTimer61000: disablenpc "prtevent"; donpcevent "Dice#evnt1::OnEnable"; stopnpctimer; end; OnTimer62000: announce "Dice: The next Dice event will begin after 1 Hour",bc_all,0x00CED1; end; } //-------------------------------------------------- zhakastia,52,55,0 warp prtevent 2,2,quiz_01,204,90 //-------------------------------------------------- quiz_01,204,93,6 script Dice#evnt1 715,{ //-------------------------------------------------- mes "[Dice]"; mes "Please tell me your name"; next; input .@name$; if(.@name$ != strcharinfo(0)) { mes "[Dice]"; mes "Are you sure thats your character name?"; close; } mes "[Dice]"; mes "Congrats. You've won."; close2; announce "Dice: We have a winner, "+.@name$+".",bc_map,0x00CED1; getitem 22001,5; warp "zhakastia",97,62; hideonnpc "Dice#evnt1"; end; OnEnable: mapannounce "quiz_01","Dice: We are about to start the Dice event.",bc_map,0x00CED1; sleep2 10000; mapannounce "quiz_01","Dice: You MUST GO INSIDE THE BOX, because if you're caught standing on the stairs you'll be automatically disqualified.",bc_map,0x00CED1; sleep2 10000; mapannounce "quiz_01","Dice: That's that.. Now let's play...",bc_map,0x00CED1; sleep2 10000; goto L_Start; end; L_Start: if(getmapusers("quiz_01") == 1) goto L_Champ; if(getmapusers("quiz_01") == 0) goto L_None; if(getmapusers("quiz_01") > 1) { announce "Dice: . . . . .",0; set $@number, rand(1,4); sleep2 10000; announce "Dice: I have a number now. Please go to the box of the number you want.... GO!",bc_map,0x00CED1; sleep2 10000; announce "Dice: 5",bc_map,0x00CED1; sleep2 5000; announce "Dice: 4",bc_map,0x00CED1; sleep2 4000; announce "Dice: 3",bc_map,0x00CED1; sleep2 3000; announce "Dice: 2",bc_map,0x00CED1; sleep2 2000; announce "Dice: 1",bc_map,0x00CED1; sleep2 1000; announce "Dice: Time's up.",bc_map,0x00CED1; donpcevent "evnt#1::OnEnable"; announce "Dice: Winning number "+$@number+".",bc_map,0x00CED1; if(($@number != 1) && ($@number != 2) && ($@number != 3)) goto L_Lose1; if(($@number != 1) && ($@number != 2) && ($@number != 4)) goto L_Lose2; if(($@number != 1) && ($@number != 3) && ($@number != 4)) goto L_Lose3; if(($@number != 2) && ($@number != 3) && ($@number != 4)) goto L_Lose4; end; } L_Lose1: areawarp "quiz_01",183,81,191,59,"zhakastia",97,62; areawarp "quiz_01",195,81,203,59,"zhakastia",97,62; areawarp "quiz_01",207,81,215,59,"zhakastia",97,62; goto L_Start; end; L_Lose2: areawarp "quiz_01",183,81,191,59,"zhakastia",97,62; areawarp "quiz_01",195,81,203,59,"zhakastia",97,62; areawarp "quiz_01",219,81,227,59,"zhakastia",97,62;; goto L_Start; end; L_Lose3: areawarp "quiz_01",183,81,191,59,"zhakastia",97,62; areawarp "quiz_01",207,81,215,59,"zhakastia",97,62; areawarp "quiz_01",219,81,227,59,"zhakastia",97,62; goto L_Start; end; L_Lose4: areawarp "quiz_01",195,81,203,59,"zhakastia",97,62; areawarp "quiz_01",207,81,215,59,"zhakastia",97,62; areawarp "quiz_01",219,81,227,59,"zhakastia",97,62; goto L_Start; end; L_Champ: mapannounce "quiz_01","Dice: Come to me and tell me your name.",bc_map,0x00CED1; hideoffnpc "Dice#evnt1"; end; L_None: announce "No One Entered the Dice Event. Event Closed",bc_map,0x00CED1; hideonnpc "Dice#evnt1"; end; } - script evnt#1 -1,{ OnEnable: areawarp "quiz_01",182,94,228,88,"prontera",156,174; areawarp "quiz_01",185,87,188,82,"prontera",156,174; areawarp "quiz_01",197,87,200,82,"prontera",156,174; areawarp "quiz_01",209,87,212,82,"prontera",156,174; areawarp "quiz_01",221,87,224,82,"prontera",156,174; end; } // -- Mapflags quiz_01 mapflag nowarp quiz_01 mapflag nowarpto quiz_01 mapflag noteleport quiz_01 mapflag nosave quiz_01 mapflag nomemo quiz_01 mapflag nobranch quiz_01 mapflag noloot quiz_01 mapflag noskill quiz_01 mapflag nopenalty @bump !
  6. Can someone Modify this script into this kind of set up 1. 5 Points Each 2. Have A Shop that players can choose what they want. 3. Credits to the one who will help me The Script is here : //# autopoints/onlinepoints v1.0 - script autopoints -1,{ OnInit: //############# C O N F I G ############# set .max_idle, 900; // disable autopoints (seconds) 0=UNLI set .reenable_ap, 1; // reenable autopoints when move (0=NO 1=YES) //####################################### end; OnPCLoginEvent: set @blnCanGetItem, 1; OnSec: if( !checkvending() ){ getmapxy( .@mapt$, .@xt, .@yt, 0 ); if( @map$==.@mapt$ && @x==.@xt && @y==.@yt ){ set @idle_secs, @idle_secs + 1; }else{ set @idle_secs, 0; if( @blnCanGetItem==0 && .reenable_ap!=0 ){ set @blnCanGetItem, 1; dispbottom "Re-enabled Autopoints"; } } set @map$, .@mapt$; set @x, .@xt; set @y, .@yt; if( @idle_secs==.max_idle && .max_idle!=0 ){ set @blnCanGetItem, 0; dispbottom "Disabled Autopoints"; } if( @blnCanGetItem==1 ){ //set #seconds_ap, #seconds_ap + 1; //set @seconds_ap, #seconds_ap; set @seconds_ap, @seconds_ap + 1; //EVERY 1 HOUR if( @seconds_ap%3600==0 ){ getitem 671, 5; dispbottom "You get 5 Golds every 1 hr online"; } //EVERY 30 MINS if( @seconds_ap%1800==0 ){ getitem 671, 1; dispbottom "You get 1 Gold every 30 mins online"; } } addtimer 1000, strnpcinfo(3)+"::OnSec"; } }
  7. switch(select("View Emp Break Ladder:Redeem points for TCG:More Info:" + ((getgmlevel()>=99) ? "Reset Ladder":""))) { case 1: query_sql "SELECT `char`.`name`, `char`.`class`, guild.`name`, CAST(`value` AS UNSIGNED) " + "FROM global_reg_value " + "LEFT JOIN `char` ON global_reg_value.char_id=`char`.char_id " + "LEFT JOIN `guild` ON `char`.guild_id=guild.guild_id " + "WHERE global_reg_value.`str`='breaker_points' " + "ORDER BY CAST(`value` AS UNSIGNED) DESC LIMIT 10", .@name$, .@job, .@guild$, .@points; mes "[Top 10 Emp Breakers]"; for (set .@i,0; .@i<getarraysize(.@name$); set .@i,.@i+1) { mes (.@i+1) +". ^0000FF"+ .@name$[.@i] +"^000000, "+jobname(.@job[.@i])+", "+ .@guild$[.@i] +" ("+ .@points[.@i] +((.@points[.@i]==1)?" pt":" pts")+")"; } break; case 2: mes "[Emp Break Ladder]"; mes "Total Emp Breaks: " + breaker_points; mes "Available Points: " + (breaker_points - breaker_tcg); if (breaker_points == 0) { mes "You have not broke the emp yet!"; } else if (breaker_points <= breaker_tcg) { mes "You've already exchanged all your points for TCG."; mes "Come back after you break the emp again!"; } else { set .@reward, breaker_points - breaker_tcg; if (select("Redeem points for "+.@reward+" TCG:Cancel") == 2) { mes "Come back if you change your mind."; } else if (checkweight(7227, .@reward) == 0) { mes "You are overweight or carrying too many items."; } else { getitem 7227, .@reward; set breaker_tcg, breaker_tcg + .@reward mes "Here are your "+.@reward+" TCG!"; } } break; case 3: mes "[Emp Break Ladder]"; mes "Each time you break the emp, you earn 1 point."; mes "Then, talk to me to redeem your point(s) for TCG."; break; case 4: if (getgmlevel() < 99) end; set .@AID, playerattached(); // reset for offline chars query_sql "DELETE FROM global_reg_value WHERE `str`='breaker_points'"; query_sql "DELETE FROM global_reg_value WHERE `str`='breaker_tcg'"; // for each online char, reset breaker_points to 0 while (getusers(1) > .@count) { set .@count, .@count + query_sql("SELECT account_id FROM `char` WHERE online=1 LIMIT 128 OFFSET "+.@count, .@account_id); set .@i, 0; while (.@i < getarraysize(.@account_id)) { if (attachrid(.@account_id[.@i])) doevent strnpcinfo(3)+"::OnResetBreakerPoints"; set .@i, .@i +1; } deletearray .@account_id, 128; sleep 1; // prevent infinity loop } attachrid .@AID; mes "Emp Break Ladder has been reset."; break; } close; OnResetBreakerPoints: set breaker_points, 0; set breaker_tcg, 0; end; }
  8. @Patskie now here's the error mes "Here are your "+.@reward+" TCG!"; it says parse_line expected ' ; '
  9. The Script was based in this Post #here Image Error
  10. When you found the ID# 2471 Remove the " // " so its should be 2471,SampleName,kROName,iROName
  11. Go to : trunk/db/pre-ren/mob_db.txt and look for that monster class or Go to : trunk/db/re/mob_db.txt Confuse? the first that i suggest was Pre - Renewal based, and the second one is for Renewal based server.
  12. Duplicate the shop? i will try my best if i can but don't expect that it will be perfect.. not a professional scripter
  13. Yoona

    Item Heal

    @chriser Thanks for the info but this is not what im looking for.. @LuLu Thanks, but what if only SP randomly heal 50~100 % ? @Lugia Thanks for the Info, i already did that
  14. I see, so this is what it means i was checking lately on my src files and i notice this custom folder, by the way thanks ! great job more power rAthena ! and to all who built it !
  15. @keima25 i mean a fresh data folder, that has no custom items...
  16. this is what i use .. but i try to use this too FB later its work on base level 255 but job still 70 although the skill is up all .. who can i change the job level to 120 .. Make sure that you change this on your trunk/db/.../job_exp.txt //Job - Adv Second Classes 120,4008:4009:4010:4011:4012:4013
  17. Use mine: //==============================================================================// //= 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. //==============================================================================// // OnPCLoginEvent: // -- 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,150,150,4 script Class Helper 779,{ // -- Configuration Option set .npcname$,"[ ^0000FF Class Helper ^000000 ]"; set .InfoMenu,0; // Classes Informations Option [ 0 - Disable / 1 - Enable ] set .1stClassMenu,1; // First Job Class Option [ 0 - Disable / 1 - Enable ] set .2ndClassMenu,1; // Second Job Class Option [ 0 - Disable / 1 - Enable ] set .High1stClassMenu,1; // 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$; 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,255,120,120,"All"; Case 2: callsub Job_Changing,2,255,120,120,"All"; Case 3: callsub Job_Changing,3,255,120,120,"All"; Case 4: callsub Job_Changing,4,255,120,120,"All"; Case 5: callsub Job_Changing,5,255,120,120,"All"; Case 6: callsub Job_Changing,6,255,120,120,"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,255,120,120,"All"; Case 2: callsub Job_Changing,4003,255,120,120,"All"; Case 3: callsub Job_Changing,4004,255,120,120,"All"; Case 4: callsub Job_Changing,4005,255,120,120,"All"; Case 5: callsub Job_Changing,4006,255,120,120,"All"; Case 6: callsub Job_Changing,4007,255,120,120,"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,255,120,110,"Self"; Case 2: callsub Job_Changing,8,255,120,110,"Self"; Case 3: callsub Job_Changing,9,255,120,110,"Self"; Case 4: callsub Job_Changing,10,255,120,110,"Self"; Case 5: callsub Job_Changing,11,255,120,110,"Self"; Case 6: callsub Job_Changing,12,255,120,110,"Self"; Case 7: callsub Job_Changing,14,255,120,110,"Self"; Case 8: callsub Job_Changing,15,255,120,110,"Self"; Case 9: callsub Job_Changing,16,255,120,110,"Self"; Case 10: callsub Job_Changing,17,255,120,110,"Self"; Case 11: callsub Job_Changing,18,255,120,110,"Self"; Case 12: callsub Job_Changing,20,255,120,110,"Self"; Case 13: callsub Job_Changing,19,255,120,110,"Self"; 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,255,120,170,"Self"; Case 2: callsub Job_Changing,4009,255,120,170,"Self"; Case 3: callsub Job_Changing,4010,255,120,170,"Self"; Case 4: callsub Job_Changing,4011,255,120,170,"Self"; Case 5: callsub Job_Changing,4012,255,120,170,"Self"; Case 6: callsub Job_Changing,4013,255,120,170,"Self"; Case 7: callsub Job_Changing,4015,255,120,170,"Self"; Case 8: callsub Job_Changing,4016,255,120,170,"Self"; Case 9: callsub Job_Changing,4017,255,120,170,"Self"; Case 10: callsub Job_Changing,4018,255,120,170,"Self"; Case 11: callsub Job_Changing,4019,255,120,170,"Self"; Case 12: callsub Job_Changing,4021,255,120,170,"Self"; Case 13: callsub Job_Changing,4020,255,120,170,"Self"; 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", "^76EE00Star Gladiator^000000", "^76EE00Soul Linker^000000", "^FF0000Back^000000")) { // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; Case 1: callsub Job_Changing,23,255,120,170,"All"; Case 2: callsub Job_Changing,24,255,120,170,"All"; Case 3: callsub Job_Changing,25,255,120,170,"All"; Case 4: callsub Job_Changing,4047,255,120,170,"All"; Case 5: callsub Job_Changing,4049,255,120,170,"All"; Case 6: 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,255,50,60,"Self"; Case 2: callsub Job_Changing,4025,255,50,60,"Self"; Case 3: callsub Job_Changing,4026,255,50,60,"Self"; Case 4: callsub Job_Changing,4027,255,50,60,"Self"; Case 5: callsub Job_Changing,4028,255,50,60,"Self"; Case 6: callsub Job_Changing,4029,255,50,60,"Self"; Case 7: callsub Job_Changing,4030,255,50,110,"Self"; Case 8: callsub Job_Changing,4031,255,50,110,"Self"; Case 9: callsub Job_Changing,4032,255,50,110,"Self"; Case 10: callsub Job_Changing,4033,255,50,110,"Self"; Case 11: callsub Job_Changing,4034,255,50,110,"Self"; Case 12: callsub Job_Changing,4035,255,50,110,"Self"; Case 13: callsub Job_Changing,4037,255,50,110,"Self"; Case 14: callsub Job_Changing,4038,255,50,110,"Self"; Case 15: callsub Job_Changing,4039,255,50,110,"Self"; Case 16: callsub Job_Changing,4040,255,50,110,"Self"; Case 17: callsub Job_Changing,4041,255,50,110,"Self"; Case 18: callsub Job_Changing,4043,255,50,110,"Self"; Case 19: callsub Job_Changing,4042,255,50,110,"Self"; Case 20: callsub Job_Changing,4045,255,50,110,"Self"; 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); 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; } //warp "new_1-1",53,106; //save "prontera",156,191; 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; OnInit: waitingroom "Auto Job Changer",0; end; } Character Based ( so everytime they make another character they can use this NPC ) Auto Level 255 and Job 120 with Skill All command.
  18. @keima replicate another RO file and try if it will work... so you can check what's the problem maybe Hair Style problem? Pallete problem?
  19. Yoona

    Item Heal

    How can i make an Item for example Yggberry It heals your HP/SP randomly with 30 ~ 50%?
  20. just put " // " on the skill you want to remove
  21. Yoona

    Refiner

    That's why i was looking for this kind of script, cos i can't find the one that i want... @bump !
  22. Go to line 79 and you can find this // the cost to rent a room set .rentitemid, 674; // item id use for rent a room - 674 - mithil coin set .rentitemamount, 0; // amount of items to rent a room set .rentcost, 10000; // otherwise, zeny cost to rent a room
  23. Ohh, then maybe its your custom item...
×
×
  • Create New...