Jump to content

vhan48

Members
  • Posts

    49
  • Joined

  • Last visited

Posts posted by vhan48

  1. Use old SVNs (eathena,3ceam,eamod) , and update the database for the latest mobs and items. 

    what if i do this kind of stuffs

     

    Defines #define  RENEWAL //#define  RENEWAL_CAST //#define  RENEWAL_DROP //#define  RENEWAL_EXP //#define  RENEWAL_LVDMG //#define  RENEWAL_EDP //#define  RENEWAL_ASPD

    So it means it will enable renewal items & mobs but still those commented lines wont be implement?

    Still, i think that's not enough either, there are still some hard coded src edits that must be done if you follow that path, such as adjusting the "renewal fixed after cast delay", so i think, the easiest and probably "the" solution is to use the older SVN's that already had it coded.

  2. Hello everyone,

    I'm having a hard time looking for the source code for status point gain consumption modifier (highlighted in green) , so that i can edit the status point gain per level,  I've been trying for the code on char.c,char.h,int_status.c,int_status.h,skill.c,and skill.h, but i haven't had any luck on finding the line or i might have looked past it, please guys I need your help. Any,hints, tips,guides regarding this status point src of mine would be very much appreciated. Thanks in advance /thx

     

     

    stat.jpg

    *please ignore the "Attack Power" xD*

    for those who may ask why,it's because i want to make it a constant value : (Spoiler)

    from

    Default : 

    1 = 2

    11 = 3

    21 = 4

    31 = 5

    41 = 6

    51 = 7

    61 = 8

    71 = 9

    81 = 10

    91 = 11

     

    Into 

    Constant:

    1 = 2

    11 = 2

    21 = 2

    31 = 2

    41 = 2

    51 = 2

    61 = 2

    71 = 2

    81 = 2

    91 = 2

     

     

    *Solved http://rathena.org/board/topic/79916-changing-base-stat-point-counter/

     

    /no1 

     

    Thank you very much people :D

  3. Hmmm, I think, you should just go for

    4128,Golden_Bug_Card,Golden Thief Bug Card,6,20,,10,,,,,,,,32,,,,,{ bonus bNoMagicDamage,1; bonus bUseSPrate,100; },{},{}

    Since 1% magic reduction is not that significant, and NoMagicDamage 1, can also block coma effects :D that might solve it, or risk doing src edits. 

  4. 4128,Golden_Bug_Card,Golden Thief Bug Card,6,20,,10,,,,,,,,32,,,,,{ bonus bNoMagicDamage,100; bonus bUseSPrate,100; },{},{}

    to remove the magic damage reduction, just delete the bonus "bNoMagicDamage,100;" thus making it

    4128,Golden_Bug_Card,Golden Thief Bug Card,6,20,,10,,,,,,,,32,,,,,{ bonus bUseSPrate,100; },{},{}
    

    then to add ailment reductions,you may refer to this:

     

    bonus2 bResEff,e,x;			Adds a x/10000 tolerance to effect e (e.g. x=100 makes 1% tolerance, x=10000 makes 100% tolerance, etc)
    							
    e: Eff_Blind, Eff_Sleep, Eff_Poison, Eff_Freeze, Eff_Silence, Eff_Stun, Eff_Curse, Eff_Confusion, Eff_Stone, Eff_Bleeding
  5. hi, i think this might help, you just need to reach the prerequisite requirements and level to change classes:

    //===== rAthena Script =======================================
    //= Job Master
    //===== By: ==================================================
    //= Euphy
    //===== Current Version: =====================================
    //= 1.3
    //===== Compatible With: ===================================== 
    //= rAthena SVN r16114+
    //===== Description: =========================================
    //= A fully functional job changer.
    //===== Additional Comments: =================================
    //= 1.0 Initial script.
    //= 1.1 Fixed reset on Baby job change.
    //= 1.2 Added Expanded Super Novice support and initial Kagerou/Oboro support.
    //= 1.3 Kagerou/Oboro added.
    //============================================================
    
    prontera,153,193,6	script	Job Master	123,{
    function Job_Menu; function A_An;
    
    	mes "[Job Master]";
    	if (Class > 4049) {
    		mes "No more jobs are available.";
    		close;
    	}
    	if (checkfalcon() || checkcart() || checkriding() || ismounting()) {
    		mes "Please remove your "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkriding())?"Peco":"")+((ismounting())?"mount":"")+" before proceeding.";
    		close;
    	}
    	if (.SkillPointCheck && SkillPoint) {
    		mes "Please use all your skill points before proceeding.";
    		close;
    	}
    
    	set .@eac, eaclass();
    	set .@i, ((.ThirdClass)?roclass(.@eac&EAJ_UPPERMASK):Class);
    	if (.@i > 6 && .@i < 22) {
    		if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[1]) {
    			set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .Rebirth[1]-JobLevel;
    			mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue.";
    			close;
    		}
    		if (Class > 21) {
    			mes "Switch to third class?";
    			next;
    			Job_Menu(roclass(.@eac|EAJL_THIRD));
    			close;
    		}
    		while(1) {
    			mes "Select an option.";
    			next;
    			set .@i, select(" ~ ^0055FFRebirth^000000:"+((.ThirdClass)?" ~ ^FF0000Third Class^000000":"")+": ~ ^777777Cancel^000000");
    			if (.@i==3) close;
    			mes "[Job Master]";
    			mes "Are you sure?";
    			next;
    			Job_Menu(((.@i==1)?4001:roclass(.@eac|EAJL_THIRD)));
    			mes "[Job Master]";
    		}
    	}
    	set .@j1, roclass(.@eac|EAJL_2_1); set .@j2,roclass(.@eac|EAJL_2_2);
    	if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) setarray .@exp[0],roclass(.@eac|EAJL_THIRD),99;
    	if (Class == Job_Ninja) setarray .@exp[0],.@j1,70;
    	if (.@exp[0] && .ThirdClass) {
    		if (BaseLevel < .Rebirth[0] || JobLevel < .@exp[1]) {
    			set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .@exp[1]-JobLevel;
    			mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue.";
    			close;
    		}
    		mes "Switch to "+jobname(.@exp[0])+"?";
    		next;
    		Job_Menu(.@exp[0]);
    		close;
    	}
    	if (.@eac&EAJL_2)
    		if (.@eac&(EAJL_UPPER|EAJL_BABY) || roclass(.@eac|EAJL_UPPER) == -1) {
    			mes "No more jobs are available.";
    			close;
    		}
    	if ((.@eac&EAJ_BASEMASK) == EAJ_NOVICE) {
    		if (JobLevel < .JobReq[0])
    			mes "A job level of "+.JobReq[0]+" is required to change into the 1st Class.";
    		else if (Class == 4001 && .LastJob && lastJob) {
    			mes "Switch classes now?";
    			next;
    			Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER));
    		} else switch(Class) {
    			case 0: Job_Menu(1,2,3,4,5,6,23,4046,24,25,4023);
    			case 4001: Job_Menu(4002,4003,4004,4005,4006,4007);
    			case 4023: Job_Menu(4024,4025,4026,4027,4028,4029,4045);
    			default: mes "An error has occurred."; break;
    		}
    		close;
    	}
    	if (roclass(.@eac|EAJL_2_1) == -1 || roclass(.@eac|EAJL_2_2) == -1)
    		mes "No more jobs are available.";
    	else if (!(.@eac&EAJL_2) && JobLevel < .JobReq[1])
    		mes "A job level of "+.JobReq[1]+" is required to change into the 2nd Class.";
    	else if (.LastJob && lastJob && (.@eac&EAJL_UPPER)) {
    		mes "Switch classes now?";
    		next;
    		Job_Menu(lastJob+4001);
    	} else
    		Job_Menu(.@j1,.@j2);
    	close;
    
    function Job_Menu {
    	while(1) {
    		if (getargcount() > 1) {
    			mes "Select a job.";
    			set .@menu$,"";
    			for(set .@i,0; .@i<getargcount(); set .@i,.@i+1)
    				set .@menu$, .@menu$+" ~ "+jobname(getarg(.@i))+":";
    			set .@menu$, .@menu$+" ~ ^777777Cancel^000000";
    			next;
    			set .@i, getarg(select(.@menu$)-1,0);
    			if (!.@i) close;
    			if ((.@i == 23 || .@i == 4045) && BaseLevel < .SNovice) {
    				mes "[Job Master]";
    				mes "A base level of "+.SNovice+" is required to turn into a "+jobname(.@i)+".";
    				close;
    			}
    			mes "[Job Master]";
    			mes "Are you sure?";
    			next;
    		} else
    			set .@i, getarg(0);
    		if (select(" ~ Change into ^0055FF"+jobname(.@i)+"^000000 class: ~ ^777777"+((getargcount() > 1)?"Go back":"Cancel")+"^000000") == 1) {
    			mes "[Job Master]";
    			mes "You are now "+A_An(jobname(.@i))+"!";
    			if (.@i==4001 && .LastJob) set lastJob, Class;
    			jobchange .@i;
    			if (.@i==4001 || .@i==4023) resetlvl(1);
    			specialeffect2 338; specialeffect2 432;
    			if (.Platinum) callsub Get_Platinum;
    			close;
    		}
    		if (getargcount() == 1) return;
    		mes "[Job Master]";
    	}
    	end;
    }
    
    function A_An {
    	setarray .@A$[0],"a","e","i","o","u";
    	set .@B$, "_"+getarg(0);
    	for(set .@i,0; .@i<5; set .@i,.@i+1)
    		if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0);
    	return "a "+getarg(0);
    }
    
    Get_Platinum:
    	skill 142,1,0;
    	switch(BaseClass) {
    		case 0: if (Class !=23) skill 143,1,0; break;
    		case 1: skill 144,1,0; skill 145,1,0; skill 146,1,0; break;
    		case 2: skill 157,1,0; break;
    		case 3: skill 147,1,0; skill 148,1,0; break;
    		case 4: skill 156,1,0; break;
    		case 5: skill 153,1,0; skill 154,1,0; skill 155,1,0; break;
    		case 6: skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; break;
    		default: break;
    	}
    	switch(BaseJob) {
    		case 7: skill 1001,1,0; break;
    		case 8: skill 1014,1,0; break;
    		case 9: skill 1006,1,0; break;
    		case 10: skill 1012,1,0; skill 1013,1,0; break;
    		case 11: skill 1009,1,0; break;
    		case 12: skill 1003,1,0; skill 1004,1,0; break;
    		case 14: skill 1002,1,0; break;
    		case 15: skill 1015,1,0; skill 1016,1,0; break;
    		case 16: skill 1007,1,0; skill 1008,1,0; skill 1017,1,0; skill 1018,1,0; skill 1019,1,0; break;
    		case 17: skill 1005,1,0; break;
    		case 18: skill 238,1,0; break;
    		case 19: skill 1010,1,0; break;
    		case 20: skill 1011,1,0; break;
    		default: break;
    	}
    	return;
    
    OnInit:
    	setarray .Rebirth[0],99,50;	// Minimum base level, job level to rebirth OR change to third class
    	setarray .JobReq[0],10,40;	// Minimum job level to turn into 1st class, 2nd class
    	set .ThirdClass,1;		// Enable third classes? (1: yes / 0: no)
    	set .SNovice,45;		// Minimum base level to turn into Super Novice
    	set .LastJob,1;			// Enforce linear class changes? (1: yes / 0: no)
    	set .SkillPointCheck,1;		// Force player to use up all skill points? (1: yes / 0: no)
    	set .Platinum,1;		// Get platinum skills automatically? (1: yes / 0: no)
    	end;
    }
    

    cheers!~  /no1

  6. Hi, you can try my Guild Manager:

    //******* Guild Manager by Vhan48**********
    //******* Please Keep my Credits*********
    //********Thank you*******************
    
    prontera,164,135,4	script	Guild Manager	884,{
    	if( BaseLevel>90 )
      if( JobLevel>50 )
      if (getcharid(2)==0) {
    	  mes "[Guild Manager]";
    	mes "Hi "+ strcharinfo ( 0 ) +" I'm the guild manager, I can help you organize a guild for a fee";
      next;
      mes "[Guild Manager]";
    	mes "Do you want to avail my service?";    
        switch(select("Yes!:I'll think about it.")) {
    	case 1:
      
      mes "[Guild Manager]";
      mes "Okay,you will need the following items:";
      next;
      mes "Emperium (714) x1";
    next;
      mes "[Guild Manager]";
      mes "Are you sure you to gather it all?";
    	goto yes_no;  
    yes_no:
    	menu "Yes",g_check,"No",m_noitem;
    
    
    g_check:
    if(countitem(714)<1)
    
      goto m_noitem;
    next;
      mes "[Guild Manager]";
      mes "Seems like , it's a piece of cake for you?";
    delitem 714,1;    
      next;  
    	mes "[Guild Manager]";
    	mes "Please Enter the name of the Guild that you want to be organized:";
    	next;
    	input .@name$;
    next;
    	mes "[Guild Manager]";
    	mes "Congratulations. You have now created your own guild!.";
    	close2;
      atcommand "@guild "+.@name$+"";    
    	announce " Guild Master "+ strcharinfo ( 0 ) +" has established the "+.@name$+" Guild! Make your members proud!.",0;
    	end;
    
    m_noitem:
    	mes "[Guild Manager]";
    	mes "Sorry,You haven't completed the requirements yet, please come back after completing it.";
      
      case 2:
    	mes "[Guild Manager]";
    	mes "Ok, decide carefully"; 
      close;   
      } 
        }
    	mes "[Guild Manager]";
      mes "Hi "+ strcharinfo ( 0 ) +" . You must not be in a guild and should be base level 99 and job level 70 to avail my services.";  
    	close;
    
    } 

     

     

     hope it helps  /no1
  7. Try this,

    prontera,155,181,5    script    Loki     467,{
     
     
        mes "You will receive Some Present as a reward for supporting the server";
        mes "We're gladly thankful for your support in the future too.";
        next;
     
      atcommand "@produce 2383" ; // Brynhild [0] how to add players name to the item when they receive it?
     
        emotion e_thx;
        close;
     
     OnInit:
            waitingroom "Giver",0;
            end;
     
     
    }
    
    • Upvote 1
  8. Try rediffing your Client and select "Increase Zoom Out Max" function, if it still does not work, it can be edited by changing the .rsw, .gat. ,extra, file tho it's not advisable since it requires more experience in mapping   /oops  .

  9. that script uses zeny as its currency right? better use this script, its easier to config and simpler.

    prontera,164,168,4 shop Tool Dealer 807,502:1000,503:5000,  

     

    map,coordinate-x,coordinate-y,npc poisition,function,shop name,npc view,item:price,item:price,

     

     

    so that's basically the structure of the script, if you want to add another item, just use the format

    item:price, format and paste it after the comma (,)

  10. Hi everyone!,


    I am just a rookie in designing patchers and would like to ask your comments/opinions about my work to improve it a lot more.  /ok

    Thank you very much in advance!

     

     

    Patcher Design 1

     

    vansample11_zps849f83ac.jpg

     

    Patcher Design 2

     

    vansample12_zps2c99b37c.jpg

×
×
  • Create New...