Jump to content

SevySevSevy

Members
  • Posts

    54
  • Joined

  • Last visited

2 Followers

Profile Information

  • Gender
    Male
  • Location
    Prontera.
  • Server
    LegendsRO

Contact Methods

Recent Profile Visitors

2207 profile views

SevySevSevy's Achievements

Poring

Poring (1/15)

0

Reputation

  1. good to hear that, my server won't be opening till next week good thing this script might be one of my servers main attraction xD
  2. no I'm still at Comic-con, ill be back to my home computer on Monday (3 more days) where can test things, this laptop is not setup for RO I'll be waiting then How's the Comic-con going ?
  3. Hello, I would like to request an event script that would run every 3 days and will pick any random player online and reward them a certain amount of zeny lets say 100m zennies. The npc should announce who the lucky winner is too. TIA
  4. any update about the debug msg ? can we remove it ? it spams my map server like hell xD
  5. use bonus bAtkRange,N; change the N to ur desired range. for the nightvision goggles
  6. Well that would just add OCA to the shop list. I want the NPC to trade players OCA's for 2 Points just like the normal cards. bump!
  7. Hello, can someone help me with this script ? I want it to accept OCA ( old card album #616 ) for 2 points too like normal cards. Here's the script : //===== rAthena Script ======================================= //= Card Trader //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.1 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Exchange cards for points. //============================================================ prontera,175,159,4 script Card Trader 90,{ mes "[Card Trader]"; mes "Hi, "+strcharinfo(0)+"!"; mes "What can I do for you?"; next; switch(select(" > Information: > Trade in cards: > Point shop (^0055FF"+getd(.Points$)+"^000000): > Leave")) { case 1: mes "[Card Trader]"; mes "Do you find that you've got"; mes "useless cards lying around?"; mes "I'll be glad to take them off"; mes "your hands!"; next; mes "[Card Trader]"; mes "I'll give you ^0055FF"+.Points[0]+" Point"+((.Points[0] == 1)?"":"s")+"^000000 for each"; mes "card you give me, and"; mes "^0055FF"+.Points[1]+" Points^000000 for MVP cards."; mes "You can trade those points"; mes "for items later on."; mes "How does that sound?"; emotion e_cash; close; case 2: mes "[Card Trader]"; mes "Select the cards you"; mes "want to trade in."; if (.Level) { mes " "; mes "They must be dropped"; mes "by monsters of level"; mes .Level+" and above."; } deletearray @sold_nameid[0],getarraysize(@sold_nameid); callshop "card_shop",2; npcshopattach "card_shop"; end; case 3: mes "[Card Trader]"; mes "You have ^0055FF"+getd(.Points$)+"^000000 Point"+((getd(.Points$) == 1)?".":"s."); callshop "card_shop",1; npcshopattach "card_shop"; end; case 4: mes "[Card Trader]"; mes "*yawn*"; mes "See you later!"; emotion e_yawn; close; } OnSellItem: mes "Cards to sell:"; mes "-----------------------------------"; for(set .@i,0; .@i<getarraysize(@sold_nameid); set .@i,.@i+1) if (@sold_nameid[.@i] > 4000 && @sold_nameid[.@i] < 4700) { if (.Level) { query_sql("SELECT `LV` FROM `mob_db` WHERE `DropCardid` = "+@sold_nameid[.@i],.@lv); if (.@lv < .Level) { dispbottom getitemname(@sold_nameid[.@i])+" is under the minimum level."; continue; } } set .@card_id[getarraysize(.@card_id)], @sold_nameid[.@i]; set .@card_amt[getarraysize(.@card_amt)], @sold_quantity[.@i]; set .@mvp, compare(.MVP$,""+@sold_nameid[.@i]); mes ((.@mvp)?" ^FF0000":" ^777777")+@sold_quantity[.@i]+"x "+getitemname(@sold_nameid[.@i])+"^000000"; set .@card_total, .@card_total+(@sold_quantity[.@i]*((.@mvp)?.Points[1]:.Points[0])); } deletearray @sold_nameid[0], getarraysize(@sold_nameid); deletearray @sold_quantity[0], getarraysize(@sold_quantity); if (!.@card_id) { mes " ^777777(none)^000000"; emotion e_swt; close; } mes " "; mes "---------- Total: ^0055FF"+.@card_total+" pt.^000000 -------"; next; if(select(" > ^0055FFComplete trade...^000000: > ^777777Cancel^000000") == 2) { mes "[Card Trader]"; mes "Oh, okay..."; emotion e_hmm; close; } for(set .@i,0; .@i<getarraysize(.@card_id); set .@i,.@i+1) delitem .@card_id[.@i],.@card_amt[.@i]; setd .Points$, getd(.Points$)+.@card_total; mes "[Card Trader]"; mes "All done!"; emotion e_ho; close; OnBuyItem: for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1) for(set .@j,0; .@j<getarraysize(.Shop); set .@j,.@j+2) if (@bought_nameid[.@i] == .Shop[.@j]) { set .@cost, .@cost+(.Shop[.@j+1]*@bought_quantity[.@i]); break; } if (.@cost > getd(.Points$)) { mes "[Card Trader]"; mes "You don't have enough Points."; emotion e_omg; } else { mes "Items purchased:"; mes "-----------------------------------"; for(set .@i,0; .@i<getarraysize(@bought_nameid); set .@i,.@i+1) { getitem @bought_nameid[.@i], @bought_quantity[.@i]; mes " ^777777"+@bought_quantity[.@i]+"x "+getitemname(@bought_nameid[.@i])+"^000000"; } mes " "; mes "---------- Total: ^0055FF"+.@cost+" pt.^000000 -------"; setd .Points$, getd(.Points$)-.@cost; emotion e_cash; } deletearray @bought_nameid[0], getarraysize(@bought_nameid); deletearray @bought_quantity[0], getarraysize(@bought_quantity); close; OnInit: set .Level,0; // Minimum monster level to trade corresponding cards. set .Points$,"#Card_Points"; // Variable to store points. setarray .Shop[0], // Card Shop items: <ID>,<point cost> 30814,300,12246,750; setarray .Points[0],2,150; // Points per <normal card>,<MVP card> set .MVP$, // List of MVP cards. "4121,4123,4128,4131,4132,4134,4135,4137,4143,4144,4145,4146,4147,4148,4168,4236,"+ "4241,4263,4276,4302,4305,4318,4324,4330,4342,4357,4359,4361,4363,4365,4399,4403,4407"; npcshopdelitem "card_shop",909; for(set .@i,0; .@i<getarraysize(.Shop); set .@i,.@i+2) npcshopadditem "card_shop",.Shop[.@i],.Shop[.@i+1]; end; } - shop card_shop -1,909:-1
  8. here you are Thankyou very much, you really helping me a lot.
  9. Can someone please add Ninja,Taekwon and Gunslinger class on this Class Specialization script by euphy ?? I know how to add the case 25: Option("Kensei","Final Stike Master",30782,"Tenzou","Element Bender",30783); part of the script but I dont know how to allow the jobs mentioned above when the NPC checks if you can specialize or not. Heres the full script . //===== eAthena Script ======================================= //= Class Specialization //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.2 //===== Description: ========================================= //= A class expansion system allowing characters to //= "specialize" in a particular aspect of their job. //============================================================ aretnorp,219,317,4 script Legend's Quest 588,{ function Option; // --------------------- Config --------------------- // Max: Maximum base level, maximum job level, // and maximum job level for Super Novices. // SReq: Items required to specialize. // Format is "ID1,Count1,ID2,Count2,..." // If no requirements, use a single 0. // DReq: Zeny, in MILLIONS, to despecialize. // If no requirement, use 0. setarray .Max[0],255,120,90; setarray .SReq[0],7443,10,30705,15,1009,1500,916,300,954,500,7294,20,969,100,617,50,938,1000,616,25,7211,10,7297,15,7023,30,7017,30,30716,1; set .DReq,150; set .n$,"[ Krito ]"; // -------------------------------------------------- mes .n$; if (BaseLevel < .Max[0]) { mes "Sorry, but I can only speak to the worthy ones..."; close; } if (Class != 23 && (Class < 4008 || Class > 4022)) { mes "This feature is not available for your class."; close; } if ((JobLevel < .Max[1]) || (Class == 23 && JobLevel < .Max[2])) { mes "You must master your class before using this feature."; close; } mes "Welcome, I see you have mastered your class."; sleep2 500; mes "Do you know that the process of being a ^0055ffLegend^000000 can greatly enhance your attributes."; sleep2 750; mes "I have been practicing the art of Legend transformation, with hard work and determination"; sleep2 750; mes "I perfected it and now I offer Legends transformation to the worthy..."; sleep2 750; mes "^ff0000Do you want to be transformed into a Legend?^000000"; sleep2 750; next; if(select("I want to be a Legend!:I'll think about it.")==2) goto Closing; mes .n$; for (set .@i,3350; .@i<=3377; set .@i,.@i+1) if (countitem(.@i)>0) { sleep2 1000; goto Despecialize; } sleep2 500; if (getarraysize(.SReq)) { mes "The process is not simple."; sleep2 1000; mes "I require the following items:"; sleep2 750; set .@i,0; while (.@i < getarraysize(.SReq)) { mes " ~ ^FF0000"+getitemname(.SReq[.@i])+"^000000 [^0055ff"+countitem(.SReq[.@i])+"^000000/"+.SReq[.@i+1]+"]"; sleep2 100; set .@i, .@i+2; } next; if(select("I've got them all.:I'll come back later.")==2) close; set .@i,0; while (.@i < getarraysize(.SReq)) { if (countitem(.SReq[.@i]) < .SReq[.@i+1]) { mes .n$; sleep2 500; mes "You're missing some items."; sleep2 500; mes "I'll need all the materials"; mes "for this to work."; close; } set .@i, .@i+2; } mes .n$; } switch(Class){ case 23: Option("Ultra Novice","Heightened magical powers",3372,"Hyper Novice","Insurmountable in strength",3373); case 4008: Option("Slayer","Agile sword-bearer",3350,"Lancer","Spear expert",3351); case 4009: Option("Cardinal","Divine healer",3354,"Battle Priest","Powerful acolyte-warrior",3355); case 4010: Option("Evoker","Bolt-oriented magician",3364,"Sorcerer","Area-oriented spellcaster",3365); case 4011: Option("Goldsmith","Master forger",3376,"Battlesmith","Impulsive axeman",3377); case 4012: Option("Scout","Swift archer",3368,"Ranger","Dagger-wielder",3369); case 4013: Option("Virus","Strength in poison",3362,"Reaver","High-defense killer",3363); case 4015: Option("Guardian","Unstoppable tank",3352,"Templar","Holy mercenary",3353); case 4016: Option("Brawler","Lethal combos",3356,"Zealot","Fanatic striker",3357); case 4017: Option("Geomancer","Single-spell sorcerer",3366,"Enchanter","Melee assaulter",3367); case 4018: Option("Raider","Cunning marksman",3374,"Backstabber","Delusive assassin",3375); case 4019: Option("Apothecary","Potion-brewer",3370,"Terrorist","Malicious bomber",3371); case 4020: Option("Minstrel","Gifted bard",3358,"Jester","Musical killer",3359); case 4021: Option("Performer","Gifted dancer",3360,"Siren","Musical killer",3361); case 25: Option("Kensei","Final Stike Master",30782,"Tenzou","Element Bender",30783); case case default: mes "Something went wrong. Try again."; close; } function Option { mes "^0055ff > "+getarg(0); sleep2 200; mes "^777777 > "+getarg(1)+"."; mes " "; sleep2 200; mes "^0055ff > "+getarg(3); sleep2 200; mes "^777777 > "+getarg(4)+".^000000"; set @menu$,"^0055ff"+getarg(0)+":"+getarg(3)+":^777777Cancel^000000"; sleep2 1000; next; switch(select(@menu$)) { case 1: set @sring,getarg(2); set @sclass$,getarg(0); goto SConfirm; case 2: set @sring,getarg(5); set @sclass$,getarg(3); goto SConfirm; case 3: goto Closing; } } SConfirm: mes .n$; mes "Are you sure you want to specialize as the ^0055ff" + @sclass$ + "^000000 class?"; mes " "; sleep2 500; next; if(select("I need more time to think.:I am ready.")==1) goto Closing; progressbar "",2; specialeffect2 248; if (getarraysize(.SReq)) { set .@i,0; while (.@i < getarraysize(.SReq)) { delitem .SReq[.@i], .SReq[.@i+1]; set .@i, .@i+2; } } mes .n$; mes "...finished!"; sleep2 500; mes "Here's your ^0055ff" + getitemname(@sring) + "^000000."; sleep2 200; getitem @sring,1; ResetStatus; set StatusPoint, StatusPoint + 2000; sleep2 200; set legendok, 1; announce ""+ strcharinfo(0) +" has completed the Legends Quest, He is now part of history.",bc_all; nude; equip @sring; close; Despecialize: mes "You've already specialized!"; sleep2 1000; if (.DReq) { mes " "; mes "^777777There is a way to switch, if you really want to... but it's costly.^000000"; sleep2 1000; next; if(select("Okay, never mind.:I still want to switch!")==1) close; mes .n$; sleep2 1000; mes "...okay."; sleep2 800; mes "To undo the specialization process, I'll need ^ff0000" + .DReq + " million Zeny^000000 to"; mes "obtain all the materials I need."; mes " "; sleep2 1000; mes "Are you sure?"; sleep2 1000; next; if(select("What? No way!:Yes.")==1) goto Closing; mes .n$; if (Zeny < (.DReq*1000000)) { sleep2 500; mes "You don't have enough Zeny."; sleep2 500; mes "It's an expensive procedure, so please reconsider."; close; } } else { mes "Your ring will be deleted if you despecialize."; sleep2 1000; next; if(select("Oh, never mind then.:Let me despecialize!")==1) close; mes .n$; sleep2 1000; mes "Do you really want to despecialize?"; sleep2 500; next; if(select("No, I've changed my mind.:Yes.")==1) close; mes .n$; } progressbar "", 2; specialeffect2 338; set Zeny, Zeny - (.DReq*1000000); for (set .@i,3350; .@i<=3377; set .@i,.@i+1) if (countitem(.@i)>0) delitem .@i,1; mes "...finished!"; sleep2 1000; mes "^777777(I hope you don't regret this...)^000000"; sleep2 1000; close; Closing: mes .n$; mes "Come back when you've"; mes "made your decision."; close; } function script SpecEffect { function dd { while(.@j<=getarg(2)){ set .@j, .@j+1; specialeffect2 getarg(0); sleep2(getarg(1)); } return; } if(@effectdelay < gettimetick(2)) { set @effectdelay, gettimetick(2)+5; dd(54,10,2); dd(55,10,2); dd(668,10,2); dd(58,10,2); dd(377,10,2); dd(500,20,2); } } TIA
  10. Problem fixed thanks stolao !
×
×
  • Create New...