-
Posts
446 -
Joined
-
Last visited
-
Days Won
34
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by Mabuhay
-
-
8 hours ago, razermantis said:
Can someone guide me how to put capped damage to all skills
ExampleBowling Bash = 80,000 Maxed damage ( Edited stats will do nothing ) Maximum Damage
Falcon Assult = 120,000 Maxed damage ( Edited stats will do nothing ) Maximum Damage
Cart Termination = 180,000 Maxed damage ( Edited stats will do nothing ) Maximum Damage
Asura Strike = 999,999 Maxed damage ( Edited stats will do nothing ) Maximum DamageI've done this before but. sadly i forgot it. it's been 7 years
Look for this on battle.cpp :
static void battle_calc_weapon_final_atk_modifiers(struct Damage* wd, struct block_list *src,struct block_list *target,uint16 skill_id,uint16 skill_lv)
Add this.. ( remove + ) :
// Skill damage adjustment if ((skill_damage = battle_skill_damage(src, target, skill_id)) != 0) ATK_ADDRATE(wd->damage, wd->damage2, skill_damage); + if (skill_id == MO_EXTREMITYFIST) + wd->damage = cap_value(wd->damage, INT_MIN, 999999 ); // capped to 999,999
Do the same to other skills on your list.
-
1 hour ago, Ryo Osaki said:
How to activate the Sound for Dota PVP?
That's another issue. But you need the sound files first. Everything should be explanatory after that. Since the script is made to make the sound appear in the first place.
-
Look for all lines with getmapxy. Replace 0 to BL_PC
- 1
-
Hi, so, I decided to compile all my releases here for easier view to those who wants to see my works.
Just click on the link to see its description. Enjoy and hope these would help!
================================================================================================================================================
Free Releases :
- Event Manager
- Reward Function ( Item or Variable )
- Event Consumable
- @go/@warp delay when hit
- Automated GvG
- [Updated] +7 and above refined item wont drop
- Euphy's Quest Shop with Success Rates
- Item Trader with Success Rates
- @itemrain command
- @giveitem command
- Euphy WoE controller + gepard check + minor fix
- @market clone patch update [December-2019]
- Emperium Breaker + Points + Shop
I am constantly checking both script request and script support. Whichever takes my interest, I will post and release here. If you have cool Event Ideas ( at least cool for me ), don't hesitate to drop me a DM. Or if you have an old event lying around needing some updates, I'd gladly take a look at it.
================================================================================================================================================
Showcase :
[Video] War Arena + Spectator mode
Spoiler[Video] Punching Bag with Param Setter
SpoilerSet your own punching bag parameter as desired to test your damage. This is a modification of Punching Bag from Secret with damage counter.
[Video] WoE : Longest Def Ranking + Reward
SpoilerLongest Def Reward
- Rewards longest def guild
- Stores data by Castle, Guild and Date
- Gepard Reward Check
-
WoE Ranker
- can sort using castle or guild
- only castle or guild with data will appear in the menu
-
Can manually delete the records via npc
- can be reset by castle
- can be reset by date
- can reset everything
-
Added Agit Points Ranking System
- Guild will earn +1 points for longest def
- +2 points for castle owner
[Video] WoE : Time-based Participation Reward
Spoiler- Reward Participating players depending on their current play time during WoE
- Idled players will have their timers paused until they moved once again
- Added Gepard Reward Check
- Easily configured
All of these showcased scripts are found here : https://mabuhay-solution.com/product-category/npc-scripts/
There are also script videos found in my YouTube channel : https://www.youtube.com/channel/UCfGxj9_ifGQoL_Ug0dtHYDg
- 5
- 2
- 1
-
2 minutes ago, Danieljo1994 said:
I am use RO offline, need complier?and if need,how to use complier,and built source file,please helpme step by step
-
-
1 hour ago, Danieljo1994 said:
Help me i can change my max level,
Always invalid max lvl in server
Iam done follow the right rules,
Src-Map-maph-change max lvl
Battle/client/change max lvl
Db/exp
Db/import/exp
And the result always invalid max level
Please HELP ME
did you compile?
-
10 hours ago, Naruto said:
//===== Rogue ============================== //-- RG_BACKSTAB 212,0,500,0,0,0,0 //-- RG_RAID 214,0,0,0,5000,30000,0 //-- RG_STRIPEWEAPON 215,1000,1000,0,75000:90000:105000:120000:135000,0,0 //-- RG_STRIPSHIELD 216,1000,1000,0,75000:90000:105000:120000:135000,0,0 //-- RG_STRIPWEAPON 217,1000,1000,0,75000:90000:105000:120000:135000,0,0
no striparmor but 2 stripweapon
thank you and good day
Probably typo?
215,1,6,1,0,0x1,0,5,1,no,0,0,0,weapon,0,0x0, RG_STRIPWEAPON,Divest Weapon 217,1,6,1,0,0x1,0,5,1,no,0,0,0,weapon,0,0x0, RG_STRIPARMOR,Divest Armor
-
1 hour ago, exchisu said:
Hi all, i was looking for a Welcome pack script with a itembound (getitembound) i was trying somes but i get errors so...
Want a Welcome Pack NPC one per IP with itembound
Thanks!
prontera,150,180,0 script Welcome Pack NPC 123,{ .@ip$ = replacestr(getcharip(),".","s"); if (getd("$ip_"+.@ip$)) { // edit message here. mes "You have claimed your reward."; close; } mes "Here you go."; close2; setd "$ip_"+.@ip$, 1; // add items here.. getitembound 1202, 1, Bound_Account; end; }
- 2
-
10 hours ago, Mihael said:
Hi boomers, i need a script (uh... really?)
Yewah UwU.
Description Event Poring Hunter:
- The event happens every 1 hour.
- 5 minutes to start the event access to the map is allowed to players and the global message is sent to the server "Poring Hunter : The event will start in 5 minutes, talk to me in prontera to enter!".
- With the event enabled, npc will display a menu with the option to "join to event" that will teleport the player to the "pvp_n_1-2" map.
- The player can only access the event map if he has nothing in his inventory (alt + e).
- After 5 minutes access to the map is closed and the global message is sent to the server "Poring Hunter : The portal for the event has been closed, the event has started, good luck to all players!".
- The event starts more only if 1 player is on the map "pvp_n_1-2". If no player has entered the event it is canceled and a global message is sent to the server "Poring Hunter : Event has been canceled due to lack of players".
- Starting the event, Porings, Poporings and Drops will be invoked on map "pvp_n_1-2".
- Porings grant 1 point when killed, Drops 5 points, Poporings -10 points.
- By killing the monsters you will be informed how many points you have per dispbottom "You have "x" Point(s)".
- Players will have 3 minutes to get as many points as possible.
- The player who gets the most points within 3 minutes will be the winner of the event.
- The winner of the event will be announced with a global message "Poring Hunter : The event is over, and the winner is player "Player Name" with "Number of Points". He must speak to me in prontera to receive his prize."
- A few seconds after the winner is announced, all players on the "pvp_n_1-2" map will be taken to prontera 150 150 and the event ends.
- The winning player must go to npc in prontera and request their prize. 100x Yggdrasil Fruits (Item 607).
Here.
I did follow most of it except for reward. I automatically sent the reward to player.
There are instructions in the script if you wish to change some stuff.
Tested and should work on latest
clientrathena.I will only support bug fixes, modifications wont be entertained.
This will be added on my Event Manager soon.
- 1
- 1
-
15 hours ago, shatowolf said:
The Bombring bug report -> once it start then your in the map, all in the map will get reward then warp to prontera, no monster spawn.
add this :
OnStart: if ( .start ) end; .round = 0; // add this
on bombring.txt
- 1
-
Oh i see, well, doesnt matter, its not like it adds +100 damage when your character face south upon login.
-
@Mael's thing is correct. No need for src mod and stuff because it is already implemented in rAthena since 2014.
// When a player teleports, changes maps, or logs in, will they face the direction they were facing before warped? // Official: Disabled, players always face North. spawn_direction: 0
just set spawn_direction to 1.
-
To get rid of the warning, just comment the header in db/soul_link.yml
#Header: # Metadata for future use # Type: MOD_SECRET_SOUL_LINK # Version: 1
- 1
- 1
-
If you are using linux, you can use this :
https://www.devroom.io/2009/10/26/how-to-create-and-apply-a-patch-with-git/
If you've done a lot of changes, just do manual instruction instead of creating a patch. This method is very confusing to do if its your first time.
-
42 minutes ago, gidzdlcrz said:
//===== rAthena Script ======================================= //= Euphy's Quest Shop //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.6b //===== Compatible With: ===================================== //= rAthena SVN r16862+ //===== Description: ========================================= //= A dynamic quest shop based on Lunar's, with easier config. //= Includes support for multiple shops & cashpoints. //= Item Preview script by ToastOfDoom. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.2 Added category support. //= 1.3 More options and fixes. //= 1.4 Added debug settings. //= 1.5 Replaced categories with shop IDs. //= 1.6 Added support for purchasing stackables. //= 1.6a Added support for previewing costumes and robes. //= 1.6b Added 'disable_items' command. //============================================================ // Shop NPCs -- supplying no argument displays entire menu. // callfunc "pshop"{,<shop ID>{,<shop ID>{,...}}}; //============================================================ prontera,143,125,6 script Donation Shop#1 564,{ callfunc "pshop"; } // Script Core //============================================================ - script donation_shop -1,{ function Add; function Chk; function Slot; function A_An; OnInit: freeloop(1); // ----------------------------------------------------------- // Basic shop settings. // ----------------------------------------------------------- set .Announce,1; // Announce purchased completion? (1: yes / 0: no) set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never) set .ShowID,0; // Show item IDs? (1: yes / 0: no) set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no) set .MaxStack,100; // Max number of quest items purchased at one time. // ----------------------------------------------------------- // Points variable -- optional quest requirement. // setarray .Points$[0],"<variable name>","<display name>"; // ----------------------------------------------------------- setarray .Points$[0],"#CASHPOINTS","Cash Points"; // ----------------------------------------------------------- // Shop IDs -- to add shops, copy dummy data at bottom of file. // setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...}; // ----------------------------------------------------------- setarray .Shops$[1],"First Edition Items"; // ----------------------------------------------------------- // Donation items -- do NOT use a reward item more than once! // Add(<shop ID>,<reward ID>,<reward amount>, // <Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // ----------------------------------------------------------- Add(1,32001,1,0,0,7179,1); Add(1,32002,1,0,0,7179,1); Add(1,32003,1,0,0,7179,1); Add(1,32004,1,0,0,7179,1); Add(1,32005,1,0,0,7179,1); Add(1,2646,1,0,0,7179,1); // ----------------------------------------------------------- freeloop(0); set .menu$,""; for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) { set .menu$, .menu$+.Shops$[.@i]+":"; npcshopdelitem "pshop"+.@i,909; } end; OnMenu: set .@size, getarraysize(@i); if (!.@size) set .@i, select(.menu$); else if (.@size == 1) set .@i, @i[0]; else { for(set .@j,0; .@j<.@size; set .@j,.@j+1) set .@menu$, .@menu$+.Shops$[@i[.@j]]+":"; set .@i, @i[select(.@menu$)-1]; } deletearray @i[0],getarraysize(@i); if (.Shops$[.@i] == "") { message strcharinfo(0),"An error has occurred."; end; } dispbottom "Select one item at a time."; callshop "pshop"+.@i,1; npcshopattach "pshop"+.@i; end; OnBuyItem: // .@q[] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... } setarray .@q[0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]); copyarray .@q[3],getd(".q_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+.@q[0])); set .@q[2],.@q[1]*.@q[3]; if (!.@q[2] || .@q[2] > 30000) { message strcharinfo(0),"You can't purchase that many "+getitemname(.@q[0])+"."; end; } mes "[Donation Shop]"; mes "Item: ^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000"; mes "Requirements:"; disable_items; if (.@q[4]) mes " > "+Chk(Zeny,.@q[4]*.@q[1])+(.@q[4]*.@q[1])+" Zeny^000000"; if (.@q[5]) mes " > "+Chk(getd(.Points$[0]),.@q[5]*.@q[1])+(.@q[5]*.@q[1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+(.@q[5]*.@q[1])+")^000000"; if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000"; next; setarray @qe[1], getiteminfo(.@q[0],5), getiteminfo(.@q[0],11); if (@qe[2] > 0 && ((@qe[1] & 1) || (@qe[1] & 256) || (@qe[1] & 512) || (@qe[1] & 1024) || (@qe[1] & 2048) || (@qe[1] & 4096) || (@qe[1] & 4) || (@qe[1] & 8192))) set .@preview,1; addtimer 1000, strnpcinfo(0)+"::OnEnd"; while(1) { switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[7])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) { case 1: if (@qe[0]) { mes "[Donation Shop]"; mes "You're missing one or more"; mes "^FF0000 Proof of Donation^000000."; close; } if (!checkweight(.@q[0],.@q[2])) { mes "[Donation Shop]"; mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000"; close; } if (.@q[4]) set Zeny, Zeny-(.@q[4]*.@q[1]); if (.@q[5]) setd .Points$[0], getd(.Points$[0])-(.@q[5]*.@q[1]); if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) delitem .@q[.@i],.@q[.@i+1]*.@q[1]; getitem .@q[0],.@q[2]; if (.Announce) announce strcharinfo(0)+" has purchased "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):(getitemname(.@q[0])))+"!",0; specialeffect2 EF_FLOWERLEAF; close; case 2: setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1; if ((@qe[1] & 1) || (@qe[1] & 4096)) changelook LOOK_HEAD_BOTTOM, @qe[2]; else if ((@qe[1] & 256) || (@qe[1] & 1024)) changelook LOOK_HEAD_TOP, @qe[2]; else if ((@qe[1] & 512) || (@qe[1] & 2048)) changelook LOOK_HEAD_MID, @qe[2]; else if ((@qe[1] & 4) || (@qe[1] & 8192)) changelook LOOK_ROBE, @qe[2]; break; case 3: close; } } OnEnd: if (@qe[7]) { changelook LOOK_HEAD_BOTTOM, @qe[3]; changelook LOOK_HEAD_TOP, @qe[4]; changelook LOOK_HEAD_MID, @qe[5]; changelook LOOK_ROBE, @qe[6]; } deletearray @qe[0],8; end; function Add { if (getitemname(getarg(1)) == "null") { debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; } setarray .@j[0],getarg(2),getarg(3),getarg(4); for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) { if (getitemname(getarg(.@i)) == "null") { debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped)."; return; } else setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1); } copyarray getd(".q_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j); npcshopadditem "pshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0); return; } function Chk { if (getarg(0) < getarg(1)) { set @qe[0],1; return "^FF0000"; } else return "^00FF00"; } function Slot { set .@s$,getitemname(getarg(0)); switch(.ShowSlot) { case 1: if (!getitemslots(getarg(0))) return .@s$; case 2: if (getiteminfo(getarg(0),2) == 4 || getiteminfo(getarg(0),2) == 5) return .@s$+" ["+getitemslots(getarg(0))+"]"; default: return .@s$; } } 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); } } function script pshop { deletearray @i[0],getarraysize(@i); for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set @i[.@i],getarg(.@i); doevent "donation_shop::OnMenu"; end; } // Dummy shop data -- copy as needed. //============================================================ - shop pshop1 -1,909:-1 - shop pshop2 -1,909:-1 - shop pshop3 -1,909:-1 - shop pshop4 -1,909:-1 - shop pshop5 -1,909:-1
This is the script im using on my server right now. I want to put pub on it. But the problem is i dont know where to put the
OnInit: waitingroom "Donation Shop",0; end;
Can you help me?
And also. When im using @reloadnpc the items in the Donation Shop will become jellopy. I should use @reload script to have it fully functional again. ---> Is this normal?
// Shop NPCs -- supplying no argument displays entire menu. // callfunc "pshop"{,<shop ID>{,<shop ID>{,...}}}; //============================================================ prontera,143,125,6 script Donation Shop#1 564,{ callfunc "pshop"; OnInit: waitingroom "Donate Shop",0; }
I think @reloadnpc is buggy when used to refresh an npc with waiting rooms. Better use @reloadscript.
- 1
-
11 minutes ago, BeWan said:
its easy to add npc event
yup, and the fact that it is not broken or anything doesn't really motivate me
-
2 hours ago, Sirique said:
Yeah that I figured it would be the best way to go, so I would simply like have to use the item available in the wheel that has the more weight right?
Kind Regards,
SiriqueAlternatively, you may check the players current weight.. like maybe players must have less than 75% of max weight, so add something like :
if ( Weight >= MaxWeight - (MaxWeight / 4) ) { mes "You must at least 25% of your current weight available."; close; }
Edit: Ehh, I'm not sure if the mes implies the correct meaning on what I wanted to say xD
- 1
-
Maybe some other time in the future. Those events are not broken. So, I don't have any intentions to add them for now.
-
2 hours ago, Mihael said:
Hi boomers,
I am creating an offer npc that appears 1 time each month, and would like to put a code inside the waitroom that shows the amount of days left until the start of that offer.Like this:
Day 1:
Next Offer Appears in: 30D at 21:00
Automatic in Day 2:
Next Offer Appears in: 29D at 21:00
Automatic in Day 3:
Next Offer Appears in: 28D at 21:00
In last Day:
OFFER DAY !!!
How could I do this?
Something like this:
prontera,154,184,0 script Test CountDown 123,{ end; OnInit: // when npc is initiated.. OnHour00: // resets every 00:00 delwaitingroom; .@end_day = 20; // 20th day of the month is the end time. .@time = gettime(DT_DAYOFMONTH); if ( .@end_day > .@time ) { waitingroom "Next offer appears in "+(.@end_day-.@time)+"D at 21:00",0; // Before offer day } else if ( .@end_day == .@time ) { waitingroom "OFFER DAY!",0; // During offer day } else { waitingroom "OFFER EXPIRED!",0; // After offer day } end; }
- 1
-
HG files doesn't share the same with ROBE files. Unless you did do the first 5 steps correctly, you shouldn't have this problem.
- 1
-
2 hours ago, Ryo Osaki said:
PER ACCOUNT
Can't you read the script you
madeposted? You are offering service (in your signature) yet you still dont know how to work with variables?Variables --------- The meat of every programming language is variables - places where you store data. In the rAthena scripting language, variable names are not case sensitive. Variables are divided into and uniquely identified by the combination of: prefix - determines the scope and extent (or lifetime) of the variable name - an identifier consisting of '_' and alphanumeric characters postfix - determines the type of the variable: integer or string Scope can be: global - global to all servers local - local to the server account - attached to the account of the character identified by RID character - attached to the character identified by RID npc - attached to the NPC scope - attached to the scope of the instance Extent can be: permanent - They still exist when the server resets. temporary - They cease to exist when the server resets. Prefix: scope and extent nothing - A permanent variable attached to the character, the default variable type. They are stored by char-server in the `char_reg_num` and `char_reg_str`. "@" - A temporary variable attached to the character. SVN versions before 2094 revision and RC5 version will also treat 'l' as a temporary variable prefix, so beware of having variable names starting with 'l' if you want full backward compatibility. "$" - A global permanent variable. They are stored by map-server in database table `mapreg`. "$@" - A global temporary variable. This is important for scripts which are called with no RID attached, that is, not triggered by a specific character object. "." - A NPC variable. They exist in the NPC and disappear when the server restarts or the NPC is reloaded. Can be accessed from inside the NPC or by calling 'getvariableofnpc'. Function objects can also have .variables which are accessible from inside the function, however 'getvariableofnpc' does NOT work on function objects. ".@" - A scope variable. They are unique to the instance and scope. Each instance has its own scope that ends when the script ends. Calling a function with callsub/callfunc starts a new scope, returning from the function ends it. When a scope ends, its variables are converted to values ('return .@var;' returns a value, not a reference). "'" - An instance variable. These are used with the instancing system and are unique to each instance type. Can be accessed from inside the instance or by calling 'getvariableofinstance'. "#" - A permanent local account variable. They are stored by char-server in the `acc_reg_num` table and `acc_reg_str`. "##" - A permanent global account variable stored by the login server. They are stored in the `global_acc_reg_num` table and `global_acc_reg_str`. The only difference you will note from normal # variables is when you have multiple char-servers connected to the same login server. The # variables are unique to each char-server, while the ## variables are shared by all these char-servers. Postfix: integer or string nothing - integer variable, can store positive and negative numbers, but only whole numbers (so don't expect to do any fractional math) '$' - string variable, can store text Examples: name - permanent character integer variable name$ - permanent character string variable @name - temporary character integer variable @name$ - temporary character string variable $name - permanent global integer variable $name$ - permanent global string variable $@name - temporary global integer variable $@name$ - temporary global string variable .name - NPC integer variable .name$ - NPC string variable .@name - scope integer variable .@name$ - scope string variable 'name - instance integer variable 'name$ - instance string variable #name - permanent local account integer variable #name$ - permanent local account string variable ##name - permanent global account integer variable ##name$ - permanent global account string variable If a variable was never set, it is considered to equal zero for integer variables or an empty string ("", nothing between the quotes) for string variables. Once you set it to that, the variable is as good as forgotten forever, and no trace remains of it even if it was stored with character or account data.
2 hours ago, Ryo Osaki said:AND IF YOU GET IT, ACCOUNT BOUNDED
*getitembound <item id>,<amount>,<bound type>{,<account ID>}; *getitembound "<item name>",<amount>,<bound type>{,<account ID>}; This command behaves identically to 'getitem', but the items created will be bound to the target character as specified by the bound type. All items created in this manner cannot be dropped, sold, vended, auctioned, or mailed, and in some cases cannot be traded or stored. Valid bound types are: Bound_Account : Account Bound item Bound_Guild : Guild Bound item Bound_Party : Party Bound item Bound_Char : Character Bound item --------------------------------------- *getitembound2 <item id>,<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<bound type>{,<account ID>}; *getitembound2 "<item name>",<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<bound type>{,<account ID>}; *getitembound3 <item id>,<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<bound type>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<account ID>}; *getitembound3 "<item name>",<amount>,<identify>,<refine>,<attribute>,<card1>,<card2>,<card3>,<card4>,<bound type>,<RandomIDArray>,<RandomValueArray>,<RandomParamArray>{,<account ID>}; This command behaves identically to 'getitem2', but the items created will be bound to the target character as specified by the bound type. All items created in this manner cannot be dropped, sold, vended, auctioned, or mailed, and in some cases cannot be traded or stored. For a list of bound types see 'getitembound'. 'getitembound3' is advance version of 'getitembound2' that also use Item Random Option as additional values. <RandomIDArray> : Array variable of ID for item random option, see db/[pre-]re/item_randomopt_db.txt <RandomValueArray> : Array variable of item random option's value. <RandomParamArray> : Array variable of item random option's param. Example to get Crimson Weapon with Ghost property: // +9 Crimson Dagger [2] setarray .@OptID[0],RDMOPT_WEAPON_ATTR_TELEKINESIS; setarray .@OptVal[0],0; setarray .@OptParam[0],0; getitembound3 28705,1,1,9,0,0,0,0,0,BOUND_CHAR,.@OptID,.@OptVal,.@OptParam;
Or download this in-case you didnt see this in your server files :
Spoiler//===== rAthena Documentation================================ //= rAthena Script Commands //===== By:================================================== //= rAthena Dev Team //===== Last Updated:======================================== //= 20180831 //===== Description:========================================= //= A reference manual for the rAthena scripting language. //= Commands are sorted depending on their functionality. //=========================================================== This document is a reference manual for all the scripting commands and functions available in rAthena. It is not a simple tutorial. When people tell you to "Read The F***ing Manual", they mean this. This is not a place to teach you basic programming. This document will not teach you basic programming by itself. It's more of a reference for those who have at least a vague idea of what they want to do and want to know what tools they have available to do it. We've tried to keep it as simple as possible, but if you don't understand it, getting a clear book on programming in general will help better than yelling around the forum for help. A little learning never caused anyone's head to explode.
-
8 hours ago, Humble_Bee said:
I've been having trouble finding the formulas for the core stats (str, dex, luk….). Can someone tell me where they are? I'd like to adjust a few (like lowering the hit bonus from luk and etc). Thanks!
status.cpp.. There are comments in the code as to what it adjusts and etc.. I cannot point it out to you now cuz i am on mobile. I am about to go to work in a bit.
-
Usually its a client thing. I have seen this happen countless times. Although this is not harmful or any thing, this doesn't affect gameplay. The bar should show when you get exp.
- 1
Old Script Support
in Scripting Support
Posted
Try changing all rand(0.x) to coma rand(0,x)