• Content Count

  • Avg. Content Per Day

  • Joined

  • Last visited

  • Days Won


dev LOOLP last won the day on November 8 2019

dev LOOLP had the most liked content!

Community Reputation

34 Excellent

1 Follower

About dev LOOLP

  • Rank

Recent Profile Visitors

529 profile views
  1. You can use the current rathena. What I said about the old version is client side. Hexed
  2. Rathena after 2017-09-xx I don't remember the exact value, had the base data changed according to kRO, no longer supporting the idea of Homunc playing automatically due to AI. To make AI resolution, clean attack as Homunculus has always been, previous versions must be used.
  3. // conf/battle/misc.conf#L65 Actual -> night_at_start: no Alter -> night_at_start: yes // conf/battle/misc.conf#L75 Actual -> night_duration: 0 Keep at 0, but if there is still a change to day mode for some reason, change this value 0 to 86400000.
  4. case 1: set [email protected][0],@bought_nameid; copyarray [email protected][1],getd(".item_"[email protected][email protected]+"[0]"),getarraysize(getd(".item_"[email protected][email protected]+"[0]")); if ( [email protected][1] ) { mes strcharinfo(0) + " Un error ocurrio."; close; } mes "Deseas comprar el item " + getitemname([email protected][1]) + " al precio de ^DF0101" + [email protected][3] * @bought_quantity + " BG's jugados?^000000"; if ( select ( " - Sí : - Mejor no " ) == 2 ) close; if ( countitem( 32025 ) < [email protected][3] * @bought_quantity ) { next; mes "No tienes la cantidad de bg's jugados"; mes "Actualmente tienes : " + countitem( 32025 ) + " BG's jugados"; } else { getitem @bought_nameid , [email protected][2] * @bought_quantity; delitem 32025, [email protected][3] * @bought_quantity; } close; //no-break;
  5. You have to remove pos / delay .. not cast .. But yes it's in skill_cast_db. //-- NJ_SHADOWJUMP 529,0,1000,0,0,0,0 //-- AS_CLOAKING 135,0,0,0,500:1000:2000:3000:4000:5000:6000:7000:8000:9000,0,0
  6. //===== rAthena Script ======================================= //= Ticket Refiner //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.1 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= [Official Conversion] //= Refiner that uses +5~9/+11 refine tickets to refine //= equipment with no chance of failure. //= NOTE: This NPC is currently disabled on official servers. //===== Additional Comments: ================================= //= 1.0 First version. [Euphy] //= 1.1 Do not refine above ticket level. [Euphy] //============================================================ // Main NPC :: safety_Ref_NPC //============================================================ prontera,184,177,6 script Refine Master 851,{ disable_items; if (countitem(6238) || countitem(6228) || countitem(6229) || countitem(6230) || countitem(6231) || countitem(6456)) set [email protected],1; if (countitem(6239) || countitem(6232) || countitem(6233) || countitem(6234) || countitem(6235) || countitem(6457)) set [email protected],1; if ([email protected] && [email protected]) { mes "[Refine Master]"; mes "Hello!"; mes "What's up?"; mes "I'm a specialist"; mes "for refining items,"; mes "but I don't work anymore."; next; switch(select("I'll go on my way.:Hmm... this makes me curious.")) { case 1: mes "[Refine Master]"; mes "Take care, adventurer."; close; case 2: mes "[Refine Master]"; mes "Actully, I sometimes provide refine services for adventurers with a ^006400Refine Ticket^000000..."; mes "Bye bye~!"; close; } } emotion ET_SURPRISE; mes "[Refine Master]"; mes "Greetings!"; mes "I can refine an item up to the ^006400same level as your ticket^000000."; mes "You don't have to worry! There's no chance of breaking your item."; next; if(select("I'll come back later.:Refine item with ticket.") == 1) { mes "[Refine Master]"; mes "Okay."; mes "You can come again later."; close; } mes "[Refine Master]"; mes "Which equipment would you like to refine?"; next; setarray [email protected]$[1],"Head upper","Armor","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head middle","Head lower"; setarray [email protected][1], EQI_HEAD_TOP, EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_SHOES, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_MID, EQI_HEAD_LOW; for(set [email protected],1; [email protected]<=10; set [email protected],[email protected]+1) set [email protected]$, [email protected]$+((getequipisequiped([email protected][[email protected]]))?getequipname([email protected][[email protected]]):[email protected]$[[email protected]]+"- [Empty]")+":"; set [email protected], [email protected][ select([email protected]$) ]; if (!getequipisequiped([email protected])) { mes "[Refine Master]"; mes "You have to equip the item you want to refine."; close; } if (!getequipisenableref([email protected])) { emotion ET_OTL; mes "[Refine Master]"; mes "Oh, I'm sorry."; mes "This item is impossible to refine."; close; } [email protected] = getequipid([email protected]); // save id of the item [email protected] = getequiprefinerycnt([email protected]); //save refinery count setarray [email protected][0], getequipcardid([email protected],0), getequipcardid([email protected],1), getequipcardid([email protected],2), getequipcardid([email protected],3); switch(getequipweaponlv([email protected])) { default: case 0: setarray [email protected][0],6457,6235,6234,6233,6232,6239; setarray [email protected][0],5,6,7,8,9,11; set [email protected]$,"Armor"; set [email protected],[email protected]; break; case 1: case 2: case 3: case 4: setarray [email protected][0],6456,6231,6230,6229,6228,6238; setarray [email protected][0],5,6,7,8,9,11; set [email protected]$,"Weapon"; set [email protected],[email protected]; break; } if ([email protected]) { emotion ET_THINK; mes "[Refine Master]"; mes "If you want to refine this ^006400"[email protected]$+"^000000, please come along with ^006400"[email protected]$+" Refine Ticket^000000."; mes "See you later!"; close; } mes "[Refine Master]"; mes "Please choose which ^006400"[email protected]$+" Refine Ticket^000000 you want to use."; next; set [email protected]$,""; for(set [email protected],0; [email protected]<getarraysize([email protected]); set [email protected],[email protected]+1) set [email protected]$, [email protected]$+getitemname([email protected][[email protected]])+":"; set [email protected], select([email protected]$)-1; set [email protected]_lv, [email protected][[email protected]]; set [email protected]_id, [email protected][[email protected]]; if (countitem([email protected]_id) == 0) { emotion ET_QUESTION; mes "[Refine Master]"; mes getitemname([email protected]_id)+" is not in your inventory. Did you put it in your storage?"; mes "Please check again."; mes "See you later!"; close; } if (getequiprefinerycnt([email protected]) >= [email protected]_lv) { emotion ET_PROFUSELY_SWEAT; mes "[Refine Master]"; mes "^8B4513This item is already refined as much as your deed.^000000"; mes "Please come along with an item refined less than your ticket."; close; } mes "[Refine Master]"; mes "I'm going to refine ^006400"+getequipname([email protected])+"^8B4513 up to the +"[email protected]_lv+" level^000000 with ^006400"+getitemname([email protected]_id)+"^000000."; mes "May I proceed?"; next; if(select("No.:Yes.") == 1) { emotion ET_THINK; mes "[Refine Master]"; mes "Oh, you changed your mind."; mes "Ok."; mes "You can come back later."; close; } mes "[Refine Master]"; mes "Great."; mes "As you wish!"; mes "I have my own special way to refine..."; mes ".......ka boom!"; if (countitem([email protected]_id)) { delitem [email protected]_id,1; // anti-hack if (callfunc("F_IsEquipIDHack", [email protected], [email protected]) || callfunc("F_IsEquipRefineHack", [email protected], [email protected]) || callfunc("F_IsEquipCardHack", [email protected], [email protected][0], [email protected][1], [email protected][2], [email protected][3])) { mes "[Refine Master]"; emotion ET_FRET; mes "Wait a second..."; mes "Do you think I'm stupid?!"; mes "You switched the item while I wasn't looking! Get out of here!"; close; } } else { next; mes "Error!"; mes "Please report this."; close; } set .value, rand(0,100); if(.value >= 98){ specialeffect EF_SUI_EXPLOSION; successrefitem [email protected], [email protected]_lv - getequiprefinerycnt([email protected]); }else{ mes "Refinement failed, ticket was consuming. Try again."; } next; emotion ET_DELIGHT; mes "[Refine Master]"; mes "Alright, here it is~"; mes "Well, ^0000FF"+strcharinfo(0)+"^000000!"; mes "Congratulations on your shining "[email protected]$+"."; mes "You look GREAT!"; mes "Farewell~!"; close; } It's like 2% success, you'll see it will fail! Just edit the value down there again to correct it for 40 .. I changed the effect of success for when it succeeds, I have no way to test or refine the code now, because I'm in the company ...
  7. Yeah! set .value, rand(0,100); // It will generate a value from 0 to 99 ..
  8. Find successrefitem [email protected], [email protected]_lv - getequiprefinerycnt([email protected]); Alter : set .value, rand(0,100); if(.value >= 20){ successrefitem [email protected], [email protected]_lv - getequiprefinerycnt([email protected]); }else{ mes "Refinement failed, ticket was consuming. Try again."; } It has a 20% failure rate and 80% success rate, it will consume the ticket anyway, it will not break if it fails. If it's different rates for each level of refinement, just do an OnInit stating the odds and check on an array.
  9. To spawn random mobs, use the same array idea as the items, set the quantity, id of the mobs, and invoke the same way as the poring in question. Just use the array [x]
  10. You did it correct, I just presented some improvements :)
  11. dev LOOLP

    Cell PvP

    Would anyone have a version of Cell PvP or some diff that made the effect of some cells become battlefield [pvp]? I used the version Cell PvP 1.7, it worked, but had some bugs for example .. In the common PvP arena, the quantitative score and the time in the arena, was blinking nonstop .. Thank you very much for the contribution.
  12. Completing the script : @BeWan prontera,154,179,4 script summoner 100,{ if( countitem(512) > 500){ delitem 512,500; monster "prontera", 0, 0, "Poring", 1005, 1, strnpcinfo(0) + "::OnMobKilled"; monster "prontera", 0, 0, "Poring", 1115, 1, strnpcinfo(0) + "::OnMobKilled"; end; }else{ mes "sorry you need 500 apple to summon"; } OnMobKilled: set @amount, rand(1,5); //quantity of different items set @whatItem, rand(0,[email protected]); //Which item was chosen set @amountItem, rand(1,10); //Quantity of item you will receive for (i = 0; i < @amount; i++) { getitem @whatItem, @amountItem; } end; OnInit: setarray [email protected][0],500,501,502,503,504,505,506,507; //Itens [email protected] = getarraysize([email protected]); //Size Array Itens end; }
  13. Basta atribuir nas posições x,y .. as coordenadas 0,0 .. que vai gerar aleatoriamente. Just assign at positions x, y .. the coordinates 0,0 .. that will generate randomly.