JassMax Posted January 28, 2014 Posted January 28, 2014 want to add this with { bonus bStr,20; bonus bAgi,15; bonus2 bAddRace,RC_NonBoss,25; bonus2 bAddRace,RC_Boss,25; } + 20 str + 15 agi and 25% dmg all mobs / racesI want to add 1% Atk per refine from 1 -10 Quote
JassMax Posted January 28, 2014 Author Posted January 28, 2014 bonus bAtkRate,getrefine(); thanks i try and let u know bonus bAtkRate,getrefine(); thanks i try and let u know Attack in not increasing Quote
clydelion Posted January 29, 2014 Posted January 29, 2014 Did you try attacking? I think bAtkRate reflects only on the actual damage(not shown in the char info), unlike bAtk Quote
Kido Posted January 29, 2014 Posted January 29, 2014 well there is a way to display it (it's all i can think for now lol) but i can't remember exactly the command (i couldn't find it on script_commands ), it goes like this: bonus bBaseAtk,((/*here goes the command that catches the user ATK*/)/100)*(getrefine()); so, for example, if X user has 1000 of ATK then it would be like (1000/100)*(refine) let's say the item is +7 (1000/100)*(7)=70 so it will get a bonus of + 70 ATK 1000*7%=70 or to see the final bonus 1000*1.07=1070 it should work, only that command i can't remember edit: oh yeah lol i remember where i saw something like this it was on this script, a file submited by Emistry http://rathena.org/board/topic/68453-utility-build-manager/ prontera,155,181,5 script Build Manager 757,{ function ManageBuild; mes "Select Your Services"; next; switch( select( ( .BMMode & 1 )?"^FF0000Save & Switch Builds^000000":"", ( .BMMode & 2 )?"^0000FFReset Status^000000":"", ( .BMMode & 4 )?"^0000FFReset Skills^000000":"")){ Case 1: for( set .@i,1; .@i <= .MaxSlots; set .@i,.@i + 1 ) set .@Menu$,.@Menu$ + (( getd( "Slot_"+.@i+"$" ) == "" )?"^FF0000Empty Slot^000000":getd( "Slot_"+.@i+"$" ) )+":"; set .@Slot,select( .@Menu$ ); do{ next; mes "Build : ^FF0000"+(( getd( "Slot_"+.@Slot+"$" ) == "" )?"Slot "+.@Slot:getd( "Slot_"+.@Slot+"$" ) )+"^000000"; mes "STR - ^0000FF"+getd( "STR_"+.@Slot )+"^000000 INT - ^0000FF"+getd( "INT_"+.@Slot )+"^000000"; mes "AGI - ^0000FF"+getd( "AGI_"+.@Slot )+"^000000 DEX - ^0000FF"+getd( "DEX_"+.@Slot )+"^000000"; mes "VIT - ^0000FF"+getd( "VIT_"+.@Slot )+"^000000 LUK - ^0000FF"+getd( "LUK_"+.@Slot )+"^000000"; mes " "; mes "Remaining Points : ^0000FF"+getd( "STATS_"+.@Slot )+"^000000"; set .@Option,select(( getd( "Slot_"+.@Slot+"$" ) == "" )?"":"^0000FFSwitch", ( getd( "Slot_"+.@Slot+"$" ) == "" )?"Save":"", ( getd( "Slot_"+.@Slot+"$" ) == "" )?"":"^FF0000Clear" ); ManageBuild( .@Slot,.@Option); }while( .@Option != 1 ); break; Case 2: ResetStatus; mes "Status has been Reseted."; break; Case 3: ResetSkill; mes "Skills has been Reseted."; break; } close; function ManageBuild { switch( getarg(1) ){ Case 1: // Switch Build message strcharinfo(0),"Build has been ^FF0000Switched^000000."; ResetStatus; set StatusPoint,getd( "STATS_"+getarg(0) ); statusup2 bStr,getd( "STR_"+getarg(0) ) - 1; statusup2 bAgi,getd( "AGI_"+getarg(0) ) - 1; statusup2 bVit,getd( "VIT_"+getarg(0) ) - 1; statusup2 bInt,getd( "INT_"+getarg(0) ) - 1; statusup2 bDex,getd( "DEX_"+getarg(0) ) - 1; statusup2 bLuk,getd( "LUK_"+getarg(0) ) - 1; break; Case 2: // Save Build setd( "STR_"+getarg(0) ),readparam(bStr); setd( "AGI_"+getarg(0) ),readparam(bAgi); setd( "VIT_"+getarg(0) ),readparam(bVIT); setd( "INT_"+getarg(0) ),readparam(bInt); setd( "DEX_"+getarg(0) ),readparam(bDex); setd( "LUK_"+getarg(0) ),readparam(bLuk); setd( "STATS_"+getarg(0) ),StatusPoint; if( .Length[0] < .Length[1] && .Length[0] ){ mes "Input a ^FF0000Name^000000 for this Slot."; mes "Name Length : "+.Length[0]+" ~ "+.Length[1]+" Chars"; do{ input getd( "Slot_"+getarg(0)+"$" ); }while( getstrlen( getd( "Slot_"+getarg(0)+"$" ) ) < .Length[0] || getstrlen( getd( "Slot_"+getarg(0)+"$" ) ) > .Length[1] ); }else{ setd( "Slot_"+getarg(0)+"$" ),"Build "+getarg(0); } message strcharinfo(0),"Build has been ^FF0000Saved^000000."; break; Case 3: // Remove Build message strcharinfo(0),"Build has been ^FF0000Cleared^000000."; setd( "STR_"+getarg(0) ),0; setd( "AGI_"+getarg(0) ),0; setd( "VIT_"+getarg(0) ),0; setd( "INT_"+getarg(0) ),0; setd( "DEX_"+getarg(0) ),0; setd( "LUK_"+getarg(0) ),0; setd( "STATS_"+getarg(0) ),0; setd( "Slot_"+getarg(0)+"$" ),""; break; } return; } OnInit: // Mode of NPC // 1 = Save & Switch // 2 = Reset Status // 4 = Reset Skills // 7 = All of Above [ 1+2+4 = 7 ] set .BMMode,7; // How Many Slots available to Save Status Builds. set .MaxSlots,3; // Enable Stats Slot Rename + Max Name Length ( 0 = Disable ) setarray .Length,4,26; // Min. ~ Max. Words. end; } aw it was for stats only ): but, there should be something that reads too the ATK of a player isn't ): ? Quote
clydelion Posted January 29, 2014 Posted January 29, 2014 There's none. Unless you customize the source, you can add a script command that reads the actual ATK1/ATK2. Quote
Kido Posted January 29, 2014 Posted January 29, 2014 huh yeah, i just guessed that instead of make a custom src command, wouldn't be easier to just edit/adjust the bAtkRate to show the numbers on the player stats? Quote
nanakiwurtz Posted January 29, 2014 Posted January 29, 2014 prontera,155,184,5 script mmmm 100,{ mes "Atk1 = "+readparam(41); mes "Atk2 = "+readparam(42); close; } 1 Quote
Zezicla Posted January 29, 2014 Posted January 29, 2014 cant it be added somewhere in src to read its param ? btw also do this for all stuff that aint updated/shown in info window ? Quote
clydelion Posted January 29, 2014 Posted January 29, 2014 prontera,155,184,5 script mmmm 100,{ mes "Atk1 = "+readparam(41); mes "Atk2 = "+readparam(42); close; } Ohh neat. I was wrong, readparam was updated. Quote
Question
JassMax
want to add this with
+ 20 str + 15 agi and 25% dmg all mobs / races
I want to add
1% Atk per refine from 1 -10
9 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.