Jump to content

WhatFT

Members
  • Posts

    511
  • Joined

  • Last visited

Everything posted by WhatFT

  1. I had an idea of making a simple script but I'm just having a hard time on this part.. M_Mute2: mes "Enter the COMPLETE name"; next; input .@c_name$; next; mes "How many minutes will you mute [ "+ .@c_name$ +" ]?"; input .@min_mute$; next; atcommand "@mute "+ .@min_mute$ "+ .@c_name$; next; mes " [ "+ .@c_name$ +" ] has been muted for [ "+ .@min_mute$ +" ] minutes."; close; This is part of my script. I don't really understand it lol ) I'm new in making scripts and still aiming high to make better scripts.. This is the line that I'm talking about/taking error.. atcommand "@mute "+ .@min_mute$ "+ .@c_name$; "+ .@min_mute$ Hope someone will help me !
  2. It's customized I think
  3. Haha yea lol ) Have this kind of script?
  4. Does anyone have this script? Or can anyone make some script similar to this?
  5. WhatFT

    Give Item NPC

    It's okay, I already changed it XD
  6. WhatFT

    Give Item NPC

    Ohh, so it's been already released since eAthena )) My bad.. Thanks ~
  7. I don't know if there is this kind of script, so I'll try to request one and this request become successful, I'll ask permission to the creator/s to share this This may be good for Event GMs that doesn't need to have the item given to their inventory. How the script works : GM/Group Access >=20 (or any level of your Event GM) Menu ( Send Prize,M_SP : Check Available Prize List,M_CHKPL : Exit,M_X ) M_SP, Once entered, an input will appear were they can input the IGN of the receiver. M_SP, After they input the IGN, another window will appear were the Available Prize List will show up M_SP, After choosing the available prize list, the item will be send and will dispbottom "Your prize has been send from strcharinfo" M_CHKPL, This is the list were GM99 can access.. M_CHKPL, When GM20+ open this menu, List will show up. GM/Group Acces =99 (or any level of your Admin) Menu ( Send Prize,M_SP : Add List,M_AL : Check Send Logs,M_Logs : Check Available Prize List,M_CHKPL : Exit,M_X ) M_AL, This is were GM99 can add available prize list to be sent. M_Logs, This will save all the logs when the menu M_SP is used. This includes, IGN, Acct ID, Group ID, Time, Item ID & Amount. Logs can be txt or sql based, so can anyone try to understand this one ) If no one can understand I'll make it more clearer, THANKS !
  8. Any kind of file names is okay? example qwe.sql
  9. Hello rAthena, I'm currently having problems creating a table, because I thought this script will install the table automatically.. How to install it? Or how to change the table to make it automatic install? //===== eAthena Script ================================================================================ //= Referral System //===== By: =========================================================================================== //= rahuldev345 //===== Current Version: ============================================================================== //= V.1 //===== Compatible With: ============================================================================== //= eAthena SVN, SQL Only //===== Description: ================================================================================== //= Referral System Working: /* Player A : Old player (Invited player B and C) Player B and C : New comers 1: As Player B and Player C logs in, they need to find npc "Referral Npc" and must Sign with NPC by choosing option "- My Friend Called me!" and Enter the exact name of his friend and then complete process by choosing option "Complete the process". 2: The Player will be asked to Relog to Start with the System. 3: As he relog, a timer will start attaching to player and it will run till he completes his todays work, i.e Play/ Stay online for 5 Hours at your server.(as per below con- figuration, can be changed according to needs). ********************************************************\ set $@hourstoplay, 5; // No. of hours to play everyday. \******************************************************* 4: But, the reward wont be given just yet, the NPC will do constant checking, to see whether players B and C are active, for at least *days( Depends on you. ). Being active means, any(or) all of these; * Logs in and plays atleast X (won't mention this) hours a day. * The npc keeps checking IP's Everytime the players logs in, ( You can set the no. of octets you want to check of ip-address ) Eg; Referrals starting with first 3 octets being the same, ex: 204.152.10.25 and 204.152.10.75, won't count and it will dispbottom the warning. 5: If they meet all those requirements, the inviter, will be rewared with some items. */ //===== Additional Comments: =========================================================================== //= Let me know, if you find any bugs. //===== Changelogs: ==================================================================================== // V.2 (a) Now the npc name is more suitable to edit. // ( Now Recruits can't enter new players name than him. - thanks to Topher08 for pointing that out. // V.3 (a) Prevent players those who completed job, but still able to apply as recruits. //====================================================================================================== // - SQL TABLE /* CREATE TABLE IF NOT EXISTS `callfrnd` ( `id` int(11) NOT NULL auto_increment, `account_id` int(11) NOT NULL default '0', `name` varchar(23) NOT NULL default '', `last_ip` varchar(100) NOT NULL default '', `last_ip2` varchar(100) NOT NULL default '', `ref_name` varchar(23) NOT NULL default '', `ref_id` int(11) NOT NULL default '0', `mins` tinyint(3) unsigned NOT NULL default '0', `days` tinyint(3) unsigned NOT NULL default '0', `task_end` tinyint(3) unsigned NOT NULL default '0', PRIMARY KEY (`account_id`), KEY (`id`) ) ENGINE=MyISAM; */ //====================================================================================================== //====================================================================================================== // Edit Configurations here: //====================================================================================================== - script Ref_config -1,{ OnInit: set $@daystoplay, 2; // total no of days to play. set $@noofplayers, 2; // min. no. of players to call to server to be eligible to get the prize. set $@hourstoplay, 1; // No. of hours to play everyday. set $@noofoctet, 4; // No. of octects, that script will check. set $@new_aid, 2000000; // To be sure that the player is really new to server. Put the latest registered account id here. set $@name$,"^E41B17[Referral NPC]^000000"; // Edit npc name here. end; } //====================================================================================================== // The main NPC: //====================================================================================================== prontera,147,184,5 script Referral Npc 100,{ mes $@name$; mes "^616D7EI am one of the staff members of GM Team. And i am assigned to award players who bring players to our server and contribute to server population."; mes " "; next; mes $@name$; mes "^616D7ESo, How may I help you?"; next; switch(select("- My Friend Called me!:- I have called My Friend's:- Close")) { mes $@name$; case 1: if ( getcharid(3) < $@new_aid ) { mes "^616D7EYou doesn't seems to be new to server."; close; } mes "^616D7EOh.. Nice, so would you like to proceed with the Referral System?"; switch(select("Yes")) { case 1: if (#CallFrnd >= 1) { mes "^616D7EYou are already Registered on our database."; close; } goto ReferralSystem; } case 2: if ( #YCallFrnd ) { mes "^0000ffThanks! for supporting our server."; close; } query_sql("SELECT count(ref_id) from `callfrnd` where ref_id = " + getcharid(3) + " AND task_end = 1",.@count); if(.@count >= $@noofplayers) { mes "^616D7ECongratulations, It seems you have Recruited [^880000 " + .@count + " ^000000] Players, to our server."; next; set #YCallFrnd, 1; mes $@name$; mes "^616D7EAll Process has been completed successfully. Now are eligible of buying any but only one Item from the Referral Award Shop."; mes " "; mes "^616D7EHave a pleasent Stay at our server.!"; close; } mes "^616D7ENot Enough Recruitment's. Work Hard."; close; case 3: mes "^616D7EI wish!, if you could have helped me. :("; close; } end; ReferralSystem: next; mes $@name$; mes " "; mes "^ff0000NOTE: ^000000^616D7EThe Entered Name should match with your friend's name or he won't get the prize."; mes " "; mes "^616D7EEnter your Friend name: "; next; input .@frnd$; if ( .@frnd$ == strcharinfo(0) ) { mes $@name$; mes "^616D7ESorry, you are not allowed to Enter your name."; close; } mes $@name$; mes "^616D7ESo you have been called by [ ^ff000f" + .@frnd$ + "^000000 ]? ^616D7EIs that right??"; next; if(select("Yes:Back")==2) goto ReferralSystem; mes $@name$; mes "^616D7EIf you play more than [ ^2B60DE" + $@daystoplay + " days ^000000] and spend more than 1 hour to our server every day. Your friend will get a New Item from the list."; next; switch(select("Next:Show me the item List")) { case 1: break; case 2: mes $@name$; mes "^616D7ETalk to my Neighbour Npc to check the Item List Or Read forums."; close; } mes $@name$; mes "^616D7EAnd, if you Call your [ ^2B60DE" + $@noofplayers + " Friends ^000000] to our server, and they play more than [ ^2B60DE" + $@daystoplay + " days ^000000] and 1 hour every day. Then you will also have a chance to win a Free Item."; next; mes $@name$; mes "^616D7EIts, Just that you need to follow some rules: "; mes " "; next; switch(select("Exit:Complete the process")) { case 1: mes $@name$; mes "^616D7ENevermind~, You can come back again!"; close; case 2: query_sql("SELECT last_ip FROM `login` WHERE account_id = "+getcharid(3)+"", .@lastip$); // recruits ip address set .@frnd, query_sql ("SELECT name, char.account_id, last_ip FROM `char` LEFT JOIN `login` ON login.account_id = char.account_id where name = '" + escape_sql(.@frnd$) + "'",.@chname$, .@account_id, .@flastip$); // recruiter ip address and information if (!.@frnd) { mes $@name$; mes "^ff0000FAILED! FAILED! FAILED!"; mes " "; mes "^616D7ESorry, We didn't found your friend's name in our database. Make sure that you Enter's Everything correctly."; close; } if ( .@account_id == getcharid(3) ) { mes $@name$; mes "^ff0000WARNING: ^616D7EThis Player is found on your account. Sorry, Unable to proceed further!!!"; mes " "; mes "Enter some other name"; close; } if ( .@account_id > getcharid(3) ) { // i am older than my frnd mes $@name$; mes "^616D7EIt seems, your friend is newer than you to our server. Damn you cheaters. "; close; } if ( .@lastip$ == .@flastip$ ) { mes $@name$; mes "^616D7EIt seems you and your friend are from IP Address: ^ff0000" + .@flastip$ + "^000000. Sorry, but its not allowed."; close; } set #CallFrnd, 1; query_sql("INSERT INTO `callfrnd` VALUES (NULL," + getcharid(3) + ",'" + escape_sql(strcharinfo(0)) + "','" + .@lastip$ + "','None','" + escape_sql(.@frnd$) + "'," + .@account_id + ",0,0,0)"); mes $@name$; mes "^616D7EYour registration is now accepted."; mes "^ff0000Now, you should relog to make changes save and start properly.^000000"; mes " "; mes "and ^0000ff~ Welcome to Xerus Ragnarok Online !."; close; } } //====================================================================================================== // Keep Checking Records and performs accordingly. //====================================================================================================== - script timeplayed -1,{ OnPCLoginEvent: if (#CallFrnd != 1) end; // Task still not started or is completed query_sql("SELECT ref_id, mins, days from `callfrnd` where account_id = " + getcharid(3), @ref_id, @minute, consecutive_days); query_sql("SELECT SUBSTRING_INDEX(last_ip,'.'," + ($@noofoctet) + ") from `login` where account_id = " + @ref_id,.@fip$); query_sql("SELECT SUBSTRING_INDEX(last_ip,'.'," + ($@noofoctet) + ") from `login` where account_id = " + getcharid(3),@myip$); if((#lastDayOnlineC == gettimetick(2)/86400)) end; // If today's job is completed or not. if( #lastDayOnlineC < ((gettimetick(2)/86400)-1) ) { // if login was not yesterday set consecutive_days, 0; set @minute, 0; goto TimerStart; } if( #lastDayOnlineC == ((gettimetick(2)/86400)-1) ) { // if login was yesterday goto TimerStart; } TimerStart: if(.@fip$ == @myip$) { dispbottom "Referral system Stopped because you and your friend(s) ip is same."; end; } attachnpctimer ""+strcharinfo(0); initnpctimer; end; OnTimer30000: if(checkvending() == 1 || checkchatting() == 1) { //Check if Vending or chatting dispbottom "The timer stopped because you are vending/chatting. Please relog if you wish to start again."; stopnpctimer; end; } getmapxy( .@map$, .@x, .@y, 0 ); //Check if Idle if(@map$ == .@map$ && @x == .@x && @y == .@y) { set @afk, @afk + 1; } else { set @afk, 0; } set @map$, .@map$; set @x, .@x; set @y, .@y; if(@afk == 5) { // if afk for 5 mins reduce 4 mins from their total minutes. set @minute, @minute - 4; dispbottom "The timer stopped because you were Idle for 5 minutes. Please relog if you wish to start again."; stopnpctimer; end; } end; OnTimer60000: //Check every 1 Minute set @minute, @minute + 1; if(@minute == ($@hourstoplay*60)) { set @minute,0; query_sql("UPDATE `callfrnd` SET days = (days+1) WHERE account_id = " + getcharid(3) +";"); set #lastDayOnlineC, gettimetick(2)/86400; set consecutive_days, consecutive_days +1; if( consecutive_days == $@daystoplay ) { set #CallFrnd, 2; query_sql("UPDATE `callfrnd` SET task_end = 1 WHERE account_id = " + getcharid(3) +";"); stopnpctimer; end; } end; } initnpctimer; end; OnPCLogoutEvent: if (#CallFrnd != 1) end; query_sql("INSERT INTO `callfrnd` (id,account_id,mins) VALUES (NULL," + getcharid(3) + ","+@minute+") ON DUPLICATE KEY UPDATE account_id= " + getcharid(3) + ",last_ip='"+@myip$+"',mins="+@minute); end; } //====================================================================================================== // Shop NPC: // NOTE: This npc lets you buy only one item of quantity one. //====================================================================================================== prontera,150,184,5 script Referral Award Shop 83,{ callshop "Ref#shop1",1; npcshopattach "Ref#shop1"; end; OnBuyItem: if(#YCallFrnd == 1) { set @cost,0; if ( @bought_quantity > 1) { message strcharinfo(0), "You are only allowed to buy one item."; end; } getitem @bought_nameid,@bought_quantity; set #YCallFrnd, 2; deletearray @bought_quantity, getarraysize(@bought_quantity); deletearray @bought_nameid, getarraysize(@bought_nameid); end; } else { mes "[ " + strnpcinfo(3) + " ]"; mes "What? " + ((#YCallFrnd==0)? "you haven't Referred anyone to our server.":"you have alredy Received the prize."); close; } OnInit: npcshopattach "Ref#shop1"; end; } - shop Ref#shop1 83,12130:1
  10. It means that you got tabbing problems in lua files..Try to undo your works ~
  11. Thank You both of you I thought the { } will start before "if" but thanks anyways ~
  12. WhatFT

    Damage Bug

    /trunk/src/config/renewal.h Maybe you're looking on this line.. /// game renewal server mode /// (disable by commenting the line) /// /// leave this line to enable renewal specific support such as renewal formulas #define RENEWAL I think the damage can be done by here, I'm not sure /// renewal level modifier on damage /// (disable by commenting the line) /// // leave this line to enable renewal base level modifier on skill damage (selected skills only) #define RENEWAL_LVDMG
  13. I already tried adding { } but still the effects are mixing up .... I already tried adding { } but still the effects are mixing up ....
  14. Maybe you're looking for this? trunk/db/pre-re/item_noequip.txt
  15. Very Good Details and Concept, esp the Round Girl )) Worth the Pay ~ Goodjob ! 9/10 )
  16. Hm okay thanks ~ I'll try it..
  17. Does this Item Script even work? I tested it but I think it doesn't work ... if(Class == Job_Whitesmith) Here is a sample.. bonus bAtkRate,10; bonus bDef,4; bonus bMdef,4; bonus bStr,6; bonus bVit,6; if(Class == Job_Lord_Knight) bonus2 bSkillAtk,"KN_BOWLINGBASH",5; bonus bAtkRate,5; bonus bStr,4; if(Class == Job_Champion) bonus2 bSkillAtk,"MO_FINGEROFFENSIVE",5; bonus bMaxSPrate,7; bonus bStr,4; if(Class == Job_Star_Gladiator) bonus2 bSkillAtk,"TK_JUMPKICK",10; bonus bAtkRate,5; bonus bStr,5; When I try to wear it in all jobs, All of those stats are combined, Even If I try using wizard, it still give the same effects on it... need help ASAP ~
  18. I knew this is the file ) Thanks Capuche ~
  19. Where can I edit the Vit of each players? My server has a default of 99 Vit = 100% Anti Stun, I want to change it from 300 Vit Thanks !
  20. Can anyone help me remove the Auto PopOut of the Menu everytime players login? I just want to use the NPC not the automatic popout.. //==============================================================================// //= 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,150,190,5 script Class Helper 891,{ OnPCLoginEvent: // -- Configuration Option set .npcname$,"[ ^0000FF Class Helper ^000000 ]"; set .InfoMenu,0; // 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$; mes "I am the Job Class Helper..."; mes "I am here to help you."; mes " ^FF0000_Xerus Ragnarok Online__^000000"; mes "Do you wish to become Stronger ?"; mes " ^FF0000_Xerus Ragnarok Online_^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 )?"":"^76EE00Clown^000000", "^FF0000Back^000000")) { // --- callsub Job_Changing,<JOB>,<BaseLv>,<JobLv>,<Skill>,<Announce>; Case 1: callsub Job_Changing,4008,255,120,130,"All"; Case 2: callsub Job_Changing,4009,255,120,130,"All"; Case 3: callsub Job_Changing,4010,255,120,130,"All"; Case 4: callsub Job_Changing,4011,255,120,130,"All"; Case 5: callsub Job_Changing,4012,255,120,130,"All"; Case 6: callsub Job_Changing,4013,255,120,130,"All"; Case 7: callsub Job_Changing,4015,255,120,130,"All"; Case 8: callsub Job_Changing,4016,255,120,130,"All"; Case 9: callsub Job_Changing,4017,255,120,130,"All"; Case 10: callsub Job_Changing,4018,255,120,130,"All"; Case 11: callsub Job_Changing,4019,255,120,130,"All"; Case 12: callsub Job_Changing,4021,255,120,130,"All"; Case 13: callsub Job_Changing,4020,255,120,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,255,120,130,"All"; Case 2: callsub Job_Changing,24,255,120,130,"All"; Case 3: callsub Job_Changing,25,255,120,130,"All"; Case 4: callsub Job_Changing,4046,255,120,130,"All"; Case 5: callsub Job_Changing,4047,255,120,130,"All"; Case 6: callsub Job_Changing,4049,255,120,130,"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); 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 "prontera",155,180; save "prontera",155,180; 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 " Job Changer",0; end; }
  21. /rathena/trunk/src/config/renewal.h // Copyright (c) rAthena Dev Teams - Licensed under GNU GPL // For more information, see LICENCE in the main folder #ifndef _CONFIG_RENEWAL_H_ #define _CONFIG_RENEWAL_H_ /** * rAthena configuration file (http://rathena.org) * For detailed guidance on these check http://rathena.org/wiki/SRC/config/ **/ /** * @INFO: This file holds general-purpose renewal settings, for class-specific ones check /src/config/classes folder **/ /// game renewal server mode /// (disable by commenting the line) /// /// leave this line to enable renewal specific support such as renewal formulas #define RENEWAL /// renewal cast time /// (disable by commenting the line) /// /// leave this line to enable renewal casting time algorithms /// cast time is decreased by DEX * 2 + INT while 20% of the cast time is not reduced by stats. /// example: /// on a skill whos cast time is 10s, only 8s may be reduced. the other 2s are part of a /// "fixed cast time" which can only be reduced by specialist items and skills #define RENEWAL_CAST /// renewal drop rate algorithms /// (disable by commenting the line) /// /// leave this line to enable renewal item drop rate algorithms /// while enabled a special modified based on the difference between the player and monster level is applied /// based on the http://irowiki.org/wiki/Drop_System#Level_Factor table #define RENEWAL_DROP /// renewal exp rate algorithms /// (disable by commenting the line) /// /// leave this line to enable renewal item exp rate algorithms /// while enabled a special modified based on the difference between the player and monster level is applied #define RENEWAL_EXP /// renewal level modifier on damage /// (disable by commenting the line) /// // leave this line to enable renewal base level modifier on skill damage (selected skills only) #define RENEWAL_LVDMG /// renewal enchant deadly poison algorithm /// /// leave this line to enable the renewed EDP algorithm /// under renewal mode: /// - damage is NOT increased by 400% /// - it does NOT affect grimtooth /// - weapon and status ATK are increased #define RENEWAL_EDP /// renewal ASPD [malufett] /// (disable by commenting the line) /// /// leave this line to enable renewal ASPD /// - shield penalty is applied /// - AGI has a greater factor in ASPD increase /// - there is a change in how skills/items give ASPD /// - some skill/item ASPD bonuses won't stack #define RENEWAL_ASPD #endif // _CONFIG_RENEWAL_H_ Go to this /// leave this line to enable renewal specific support such as renewal formulas #define RENEWAL And Add // /// leave this line to enable renewal specific support such as renewal formulas //#define RENEWAL This will be Pre-Renewal once you add "//". It will also change the stat points back, I also have the same problem and I just did this step.
×
×
  • Create New...