hannahhaven621
Members-
Posts
6 -
Joined
-
Last visited
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
hannahhaven621's Achievements
-
Adaptation to Circunstance not working
hannahhaven621 replied to Agriias's question in General Support
case BD_ADAPTATION: #ifdef RENEWAL clif_skill_nodamage(src, bl, skill_id, skill_lv, 1); sc_start(src, bl, type, 100, skill_lv, skill_get_time(skill_id, skill_lv)); #else if(tsc && tsc->data[SC_DANCING]){ clif_skill_nodamage(src,bl,skill_id,skill_lv,1); status_change_end(bl, SC_DANCING, INVALID_TIMER); } #endif break; then change it to : case BD_ADAPTATION: if(tsc && tsc->data[SC_DANCING]){ clif_skill_nodamage(src,bl,skill_id,skill_lv,1); status_change_end(bl, SC_DANCING, INVALID_TIMER); } break; recompile ? -
Rebalancing of 1st/2nd/Transcendent class skills for Pre-Renewal
hannahhaven621 replied to WhiteEagle's question in Source Requests
if you are looking to use the renewal formula on a pre-re server i'd suggest that you enable renewal then disable everything else. then move your pre-re db to your re db so you still have the same db for every NPC and items. -
Good day , i'd like to know where i can make changes with Wugstrike and Landprotect so they can pass through Cliffs. at the moment it doesn't so it'll be really awesome if you guys can show me where i can make the changes. thanks ! ?
-
SC_Oratio status special effect and Hiding / Cloaking
hannahhaven621 posted a question in Source Support
Good day , i'd like to know where i can make changes with SC_Oratio so the special effect is visible to all players when the target is hidden. rAthena currently has the Special Effect hidden from other players when in Cloaking/Hidden Status. i've already changed the database so it affects units in Hiding/Cloaking however the special effect is also being hidden when the unit with the status is in Hiding/Cloaking. -
i did a clean up of the script however i have experienced an issue when the item in your inventory is greater than what you have from your restock list. what happens is that a negative amount of item is dropped from the player. this version does not need the ticket however it only works whenever you are in town. EDIT: v1.2 with the function to prevent the error when the items in your inventory is greater than that of your re-stock list. //===== rAthena Script ======================================= //= @restock command //===== By: ================================================== //= Mastagoon //===== Description: ========================================= //= @restock command to get certain items from your storage //===== Current Version: ===================================== //= 1.0 //= 1.1 added town only and clean up on some of the code. //= 1.2 added an if function when your items in your inventory is greater than the items from your stock list<hannahhaven621> //===== TODO: ================================================ //= @restock SNAPSHOT //============================================================ - script restock_atcmd -1,{ function addSpace { set .@space$, ""; for(.@i = 1; .@i <= getarg(0); .@i++) { set .@space$, .@space$+" "; } return .@space$; } function showRestockHelp { dispbottom "Command Usage : "; dispbottom "@restock add <itemid> <quantity> : add item to restock list"; dispbottom "@restock remove <itemid> : remove item from restock list"; dispbottom "@restock list : show current restock list"; dispbottom "@restock reset : reset restock list"; dispbottom "@restock help/h : show this help menu"; dispbottom "@restock : get restock items from the storage."; } OnInit: .TicketID = -1; setarray .allowedtypes[0],0,1,2,3,7,8,9,10,11,12; //healing,usable,etc,delayed usable bindatcmd "restock",strnpcinfo(3)+"::OnAtcommand"; end; OnAtcommand: switch(.@atcmd_numparameters) { case 0: // @restock command if(getarraysize(RestockList) == 0) { dispbottom "Your restock list is empty."; end; } if(!getmapflag(strcharinfo(3),mf_town,0)) { dispbottom "You can only use this command inside Towns."; end; } for(.@i = 0; .@i < getarraysize(RestockList); .@i++) { .@amount = RestockAmountList[.@i] - countitem(RestockList[.@i]); if(!storagecountitem(RestockList[.@i]) > .@amount) { dispbottom "@restocking "+getitemname(RestockList[.@i])+" failed, your item in your inventory is greater than your restock list."; close; } if(storagecountitem(RestockList[.@i]) >= .@amount) { getitem RestockList[.@i],.@amount; storagedelitem RestockList[.@i],.@amount; // successful @restock } else { dispbottom "@restocking "+getitemname(RestockList[.@i])+" failed, not enough in storage."; } } break; case 1: if(strtolower(.@atcmd_parameters$[0]) == "list") { // get restock list if(getarraysize(RestockList) == 0) { dispbottom "Your restock list is empty."; end; } dispbottom "ID"+addSpace(32)+"Name"+addSpace(32)+"Quantity"; dispbottom "============================================"; for(.@i = 0; .@i < getarraysize(RestockList); .@i++) { .@item_name$ = getitemname(RestockList[.@i]); dispbottom RestockList[.@i]+addSpace(30-getstrlen(.@i+""))+.@item_name$+addSpace(36- getstrlen(.@item_name$))+RestockAmountList[.@i]; } } else if(strtolower(.@atcmd_parameters$[0]) == "reset") { // reset restock list deletearray RestockList[0],getarraysize(RestockList); deletearray RestockAmountList[0],getarraysize(RestockAmountList); dispbottom "Your restock list have been reset."; } else if(strtolower(.@atcmd_parameters$[0]) == "help" || strtolower(.@atcmd_parameters$[0]) == "h") { showRestockHelp(); } break; case 2: if(strtolower(.@atcmd_parameters$[0]) != "remove") { showRestockHelp(); end; } .@item = atoi(.@atcmd_parameters$[1]); if(getitemname(.@item) == "null") { dispbottom "@restock : This item dones not exist. (id "+.@item+")"; end; } .@index = inarray(RestockList, .@item); if(.@index == -1) { //item is not in the list dispbottom "@restock : This item is not on your restock list."; end; } deletearray RestockList[.@index],1; deletearray RestockAmountList[.@index],1; dispbottom "@restock: item "+getitemname(.@item)+" deleted succesfully!"; break; case 3: .@item = atoi(.@atcmd_parameters$[1]); .@quantity = atoi(.@atcmd_parameters$[2]); if(strtolower(.@atcmd_parameters$[0]) != "add" || !.@item || !.@quantity) { dispbottom "@restock : Invaild parameters."; showRestockHelp(); end; } if(getitemname(.@item) == "null"){ dispbottom "@restock : This item does not exist. (id "+.@item+")"; end; } else if(inarray(.allowedtypes[0],getiteminfo(.@item,2)) == -1) { dispbottom "@restock : You cannot restock this type of items."; end; } else if(inarray(RestockList[0],.@item) >= 0) { dispbottom "@restock : Item '"+getitemname(.@item)+"' (id:"+.@item+") already in list."; end; } else if(.@quantity < 1 || .@quantity > 500) { dispbottom "@restock : Please enter valid quantity value (1 - 500)"; end; } //passed all checks setarray RestockList[getarraysize(RestockList)],.@item; setarray RestockAmountList[getarraysize(RestockAmountList)],.@quantity; dispbottom "@restock : Item '"+getitemname(.@item)+"' (id:"+.@item+") amount "+.@quantity+" successfully added!"; break; default: showRestockHelp(); break; } end; }
-
InfiniteSpace and SkyFortress not working
hannahhaven621 replied to GiftBox's question in Scripting Support
if you are using the latest version of rAthena you can use the sky fortress script that's officially written for the emulator.