Jump to content

Patskie

Members
  • Posts

    1702
  • Joined

  • Last visited

  • Days Won

    19

Everything posted by Patskie

  1. nalagay mo ba mga custom items mo sa item_db2.txt? or item_db.txt?
  2. Yes https://www.google.com/search?q=3600*10+seconds&oq=3600&aqs=chrome.1.69i57j69i59j5j0.2096j0&sourceid=chrome&ie=UTF-8
  3. Try : - script Sample -1,{ set .guild_id, getcastledata("prtg_cas01", 1); OnPCLoadMapEvent: getmapxy(.@map$, .@x, .@y, 0); if ( .@map$ == "prtg_cas01" && .guild_id == getcharid(2) ) { sc_start SC_ASPDPOTION2,360000,0; sc_start SC_STRFood,360000,10; sc_start SC_AGIFood,360000,10; sc_start SC_VITFood,360000,10; sc_start SC_INTFood,360000,10; sc_start SC_DEXFood,360000,10; sc_start SC_LUKFood,360000,10; sc_start SC_HitFood,1200000,30; sc_start SC_FleeFood,1200000,30; sc_start SC_BATKFood,1200000,10; sc_start SC_MATKFood,120000,10; specialeffect2 EF_INCAGILITY; sc_start SC_INCREASEAGI,240000,10; specialeffect2 EF_BLESSING; sc_start SC_BLESSING,240000,10; // add all buffs here } end; } prtg_cas01 mapflag loadevent
  4. Replace the identify part by this : case 1: mes "[ ^ffa500Eternal Kafra^000000 ]"; mes "Okay, let me have a look at your inventory."; next; getinventorylist; while( .@idn < @inventorylist_count ){ if ( !@inventorylist_identify[.@idn] ){ delitem2 @inventorylist_id[.@idn],1,0,0,0,0,0,0,0; getitem @inventorylist_id[.@idn],1; } .@idn++; } mes "[ ^ffa500Eternal Kafra^000000 ]"; mes "Everything has already been identified."; next; goto Kaf_End; end;
  5. Can you show the whole script?
  6. Add after : if ( .allow_buffs ) { this script : // Identify all unidentified items getinventorylist; for( set .@i,0; .@i < @inventorylist_count; set .@i, .@i + 1 ) { if ( @inventorylist_identify[.@i] == 1 ) continue; delitem2 @inventorylist_id[.@i],1,0,0,0,0,0,0,0; getitem @inventorylist_id[.@i],1; } // Repair equipment if any equipments are broken if ( getbrokenid(1) ) atcommand "@repairall";
  7. There is so many links out there that will answer your concern. http://www.axwebsolutions.com/knowledgebase.php?action=displayarticle&id=1 http://rathena.org/wiki/Thor_Patcher
  8. The query would only work if they talk to the npc. Not everytime. So i think it would not affect server performance that much. For refine, add this on your script : query_sql "SELECT `refine` FROM `cart_inventory` WHERE `char_id` = '" +getcharid(0)+ "'",.@refine; for ( set .@i, 0; .@i < getarraysize(.@refine); set .@i, .@i + 1 ) if ( .@refine[.@i] > 10 ) end;
  9. Post your script
  10. OnTimer10000: // 10,000 milliseconds divided by 1000 = 10 seconds Wiki : http://rathena.org/wiki/Timers_(Scripting)#NPC_Timers_in_detail
  11. Revised script : //===== eAthena Script ======================================= //= Armor Enchanter //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== //= 1.1 //===== Compatible With: ===================================== //= eAhena SVN //===== Description: ========================================= //= [Aegis Conversion] //= Add a +1, 2, or 3, of a random stat to specified armor. //===== Additional Comments: ================================= //= 1.0 First version. //= 1.1 Corrected typo (Sit -> Suit) (bugreport:4586) //============================================================ poring_c02,176,72,4 script Apprentice Craftsman 73,{ if (Zeny > 399999) { mes "[Apprentice Craftsman]"; mes "I've been studying ways to enhance an armor to maximize it's capability."; next; mes "[Apprentice Craftsman]"; mes "Enchanting is an awesome skill that infuses a mysterious status power into the armor's hidden socket."; next; mes "[Apprentice Craftsman]"; mes "However, you have to keep in mind that if there are two armors of the same kind in your possession, the Enchantment will be applied in the order they are placed in your inventory."; next; mes "[Apprentice Craftsman]"; mes "In that case, the Enchantment may be applied to an item which you didn't mean to Enchant. So just bring ^5555ffONE Armor^000000 you want enchanted to be safe.."; next; mes "[Apprentice Craftsman]"; mes "I'm not responsible for what would happen if you have more than one of the same kind in your inventory."; next; switch(select("Non Slotted Armor.:Slotted Armor.:High Grade Armor.:Maybe next time.")) { case 1: switch(select("Mantle:Coat:Chain Mail:Full Plate:Silk Robe:Saint's Robe:Holy Robe:Wooden Mail:Tights:Silver Robe:Mage Coat:Thief Clothes:Legion Plate Armor:Lucius's Fierce Armor of Volcano:Saphien's Armor of Ocean:Aebeccee's Raging Typhoon Armor:Claytos Cracking Earth Armor:Ninja Suit:Chameleon Armor:Glorious Suit:Glorious Popularized Suit:Glorious Mass-Production Suit")) { case 1: callsub S_EnchantArmor,2307,50; case 2: callsub S_EnchantArmor,2309,50; case 3: callsub S_EnchantArmor,2314,50; case 4: callsub S_EnchantArmor,2316,50; case 5: callsub S_EnchantArmor,2321,50; case 6: callsub S_EnchantArmor,2325,50; case 7: callsub S_EnchantArmor,2327,50; case 8: callsub S_EnchantArmor,2328,50; case 9: callsub S_EnchantArmor,2330,50; case 10: callsub S_EnchantArmor,2332,50; case 11: callsub S_EnchantArmor,2334,50; case 12: callsub S_EnchantArmor,2335,50; case 13: callsub S_EnchantArmor,2341,50; case 14: callsub S_EnchantArmor,2344,50; case 15: callsub S_EnchantArmor,2346,50; case 16: callsub S_EnchantArmor,2348,50; case 17: callsub S_EnchantArmor,2350,50; case 18: callsub S_EnchantArmor,2337,50; case 19: callsub S_EnchantArmor,2386,50; case 20: callsub S_EnchantArmor,2394,50; case 21: callsub S_EnchantArmor,2395,50; case 22: callsub S_EnchantArmor,2396,50; } case 2: switch(select("Mink Coat:Lord's Clothes:Glittering Jacket:Formal Suit:Mantle(1):Coat(1):Chain Mail(1):Full Plate(1):Silk Robe(1):Scapulare(1):Saint's Robe(1):Tights(1):Silver Robe(1):Thief Clothes(1):Legion Plate Armor(1):Lucius's Fierce Armor of Volcano(1):Saphien's Armor of Ocean(1):Aebeccee's Raging Typhoon Armor(1):Claytos Cracking Earth Armor(1)")) { case 1: callsub S_EnchantArmor,2311,55; case 2: callsub S_EnchantArmor,2318,55; case 3: callsub S_EnchantArmor,2319,55; case 4: callsub S_EnchantArmor,2320,55; case 5: callsub S_EnchantArmor,2308,55; case 6: callsub S_EnchantArmor,2310,55; case 7: callsub S_EnchantArmor,2315,55; case 8: callsub S_EnchantArmor,2317,55; case 9: callsub S_EnchantArmor,2322,55; case 10: callsub S_EnchantArmor,2324,55; case 11: callsub S_EnchantArmor,2326,55; case 12: callsub S_EnchantArmor,2331,55; case 13: callsub S_EnchantArmor,2333,55; case 14: callsub S_EnchantArmor,2336,55; case 15: callsub S_EnchantArmor,2342,55; case 16: callsub S_EnchantArmor,2345,55; case 17: callsub S_EnchantArmor,2347,55; case 18: callsub S_EnchantArmor,2349,55; case 19: callsub S_EnchantArmor,2351,55; } case 3: switch(select("Meteo Plate Armor:Orlean's Gown:Life Link:Diablos Robe:Diablos Armor:Assaulter Plate:Elite Engineer Armor:Assassin Robe:Warlock's Battle Robe:Medic's Robe:Elite Archer Suit:Elite Shooter Suit:Sprint Mail:Kandura:Armor of Naga:Improved Tights")) { case 1: callsub S_EnchantArmor,2364,60; case 2: callsub S_EnchantArmor,2365,60; case 3: callsub S_EnchantArmor,2391,60; case 4: callsub S_EnchantArmor,2374,60; case 5: callsub S_EnchantArmor,2375,60; case 6: callsub S_EnchantArmor,2376,60; case 7: callsub S_EnchantArmor,2377,60; case 8: callsub S_EnchantArmor,2378,60; case 9: callsub S_EnchantArmor,2379,60; case 10: callsub S_EnchantArmor,2380,60; case 11: callsub S_EnchantArmor,2381,60; case 12: callsub S_EnchantArmor,2382,60; case 13: callsub S_EnchantArmor,2387,60; case 14: callsub S_EnchantArmor,2388,60; case 15: callsub S_EnchantArmor,2389,60; case 16: callsub S_EnchantArmor,2390,60; } case 4: mes "[Apprentice Craftsman]"; mes "Please come back when you have any interest in enchanting your armor."; close; } } else { mes "[Apprentice Craftsman]"; mes "I am in charge of Enchanting Armors. Simply put, I've been studying ways to power-up armor."; next; mes "[Apprentice Craftsman]"; mes "If by any chance, you would want to enchant your armor, bring me 400,000 zeny and the armor you want to enchant and you are all set to go."; close; } S_EnchantArmor: set .@itemid,getarg(0); if (countitem(7227) < 10) { mes "[Apprentice Craftsman]"; mes "I need 10 TCG's"; close; } if ((countitem(.@itemid) > 0) && (countitem(.@itemid) < 2)) { mes "[Apprentice Craftsman]"; mes "Socket enchant wil cost you 400,000 zeny. And there will be a random option enchanted. Of course, there is a chance of breaking your armor."; next; mes "[Apprentice Craftsman]"; mes "First and most importantly."; mes "^ff5555Existing Refine Level of the Armor"; mes "and Cards will be GONE.^000000"; mes "Do you still want to try an Enchant?"; next; switch(select("Hmm... Let me think it over.:Go ahead.")) { case 1: mes "[Apprentice Craftsman]"; mes "Well, I can't blame you. Safety first, Ey?"; mes "Now you have a nice day."; close; case 2: mes "[Apprentice Craftsman]"; mes "Quite of an adventurer huh? Well, shall we?"; close2; specialeffect2 EF_MAPPILLAR; if (Zeny < 400000) { mes "[Apprentice Craftsman]"; mes "Sorry, but you don't have enough zeny."; close; } set .@enc_ran,1; set zeny,zeny-400000; delitem .@itemid,1; delitem 7227, 10; switch(select("Str +3:Int +3:Dex +3:Agi +3:Vit +3:Luk +3:Nevermind")) { case 1: set .@addpart,4702; getitem2 .@itemid, 1, 1, 0, 0, 0, 0, 0, .@addpart; close; case 2: set .@addpart,4712; getitem2 .@itemid, 1, 1, 0, 0, 0, 0, 0, .@addpart; close; case 3: set .@addpart,4722; getitem2 .@itemid, 1, 1, 0, 0, 0, 0, 0, .@addpart; close; case 4: set .@addpart,4732; getitem2 .@itemid, 1, 1, 0, 0, 0, 0, 0, .@addpart; close; case 5: set .@addpart,4742; getitem2 .@itemid, 1, 1, 0, 0, 0, 0, 0, .@addpart; close; case 6: set .@addpart,4752; getitem2 .@itemid, 1, 1, 0, 0, 0, 0, 0, .@addpart; close; default: close; } } } else close; } Added : if (countitem(7227) < 10) { mes "[Apprentice Craftsman]"; mes "I need 10 TCG's"; close; } and : delitem 7227, 10; Change 10 to any number. It is the amount required by the npc
  12. Try : prontera,177,163,0 warp prtevent 2,2,pvp_n_1-2,98,100 prontera,165,141,1 script MVP 726,{ OnInit: disablenpc "prtevent"; end; OnClock1742: OnTimer10000: announce "MVP has started.",0; monster "pvp_n_1-2",0,0,"angeling",1096,1,"MVP::OnMVPKill"; monster "pvp_n_1-2",0,0,"Archeling",1388,1,"MVP::OnMVPKill"; monster "pvp_n_1-2",0,0,"diveling",1582,1,"MVP::OnMVPKill"; end; OnMVPKill: // do something end; OnTimer310000: stopnpctimer; killmonsterall "guild_vs1"; sleep2 5000; mapannounce "guild_vs1.gat","You'll be warp at prontera in a short while.",16; sleep2 10000; mapwarp "guild_vs1","prontera",155,166; end; }
  13. Native language ( unless you are UK/US citizen ) is strictly prohibited in this area. This is an english section
  14. In your case : - script Sample#1 -1,{ OnInit: bindatcmd "storage",strnpcinfo(0)+"::OnAtcommand"; end; OnAtcommand: if( strcharinfo(3) == "prontera" ) message strcharinfo(0),"You cannot use @storage on prontera"; else openstorage; end; }
  15. prontera,165,141,1 script MVP 726,{ OnClock1642: OnTimer10000: announce "MVP has started.",0; monster "pvp_n_1-2",0,0,"angeling",1096,1,"MVP::OnMVPKill"; monster "pvp_n_1-2",0,0,"Archeling",1388,1,"MVP::OnMVPKill"; monster "pvp_n_1-2",0,0,"diveling",1582,1,"MVP::OnMVPKill"; end; OnMVPKill: // do something OnTimer310000: stopnpctimer; killmonsterall "guild_vs1"; sleep2 5000; mapannounce "guild_vs1.gat","You'll be warp at prontera in a short while.",16; sleep2 10000; mapwarp "guild_vs1","prontera",155,166; end; }
  16. monster "pvp_n_1-2",0,0,"angeling",1096,1,"MVP::OnMVPKill"; monster "pvp_n_1-2",0,0,"Archeling",1388,1,"MVP::OnMVPKill"; monster "pvp_n_1-2",0,0,"diveling",1582,1,"MVP::OnMVPKill"; You need to put an event on your script : OnMVPKill: // do something
  17. Set the amount : set .@point_amt, 20; //Points to get every hour (default: 10)
  18. I think there is no existing script command to check all items of cart of a certain player. Can be done through query_sql.
  19. So meaning if you put 128+ item id's on that single array. All values from 129 onwards will not work. Try ( src/map/script.c#L176 ) : /// Maximum amount of elements in script arrays #define SCRIPT_MAX_ARRAYSIZE 128
  20. Add this on your script : OnDay0130: OnDay0228: OnDay0330: OnDay0430: OnDay0530: OnDay0630: OnDay0730: OnDay0830: OnDay0930: OnDay1030: OnDay1130: OnDay1230: set .prize, 7227; set .amount, 5; query_sql "SELECT `name` FROM `pvp` ORDER BY `kills` DESC LIMIT 1",@name$; if (!isloggedin(getcharid(3, @name$))) { query_sql "INSERT INTO `inventory` ( `char_id`, `nameid`, `amount`, `equip`, `identify` ) VALUES ( '" +getcharid(0, @name$)+ "', '" +.prize+ "', '" +.amount+ "', 0, 1)"; } else getitem .prize, .amount, getcharid(3, @name$); query_sql "TRUNCATE TABLE `pvp`"; end;
  21. trunk/npc/
  22. Test it on yourself ofcourse.
  23. Not sure about this. item_id,item_name,.......{ if ( checkriding() ) { bonus bAtk,30; }; },{},{}
  24. I didn't see any problem(s) with your script. Is there an error popping up on your command line?
  25. Change : set .@mobCount++; to : set .@mobCount, .@mobCount + 1;
×
×
  • Create New...