Jump to content

WhatFT

Members
  • Posts

    511
  • Joined

  • Last visited

Posts posted by WhatFT

  1. //= - Enables Stewards inside Guild Strongholds which let's
    //= the guild master invest in Defense and Economy, and
    //= to summon guardians, a Kafra, and enter master's room.
    

     

    on your trunk/npc/guild/agit_main.txt

    I don't get it :))

  2. 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 ! 

  3. 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 !

  4. Copy this to Notepad

     

    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;
    

     

    Save As.. Name.sql

    Open MySQL Query . Click on your main database. then, File Open Script the one that you had saved. then Execute.

     

    SlashGeeGee

     

    Any kind of file names is okay? example qwe.sql

  5. 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
    

     

     

  6. try to use if(BaseClass == Job_Blacksmith){ script } 

     

     

    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; }

     

    Thank You both of you :) I thought the { } will start before "if" but thanks anyways ~

  7. /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 :D

    /// 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
    
  8. 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 ~

  9. If you mean 300 Vit = 100% Anti Stun, check conf/battle/status.conf

     

    // Adjustment for the natural rate of resistance from status changes.

    // If 50, status defense is halved, and you need twice as much stats to block

    // them (eg: 200 vit to completely block stun)

    pc_status_def_rate: 100

    mob_status_def_rate: 100

     

    I knew this is the file :)) Thanks Capuche ~

  10. 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;
    }
    

     

     

  11. /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...