Jump to content

Kenpachi

Members
  • Posts

    764
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by Kenpachi

  1. http://rathena.org/wiki/Custom_Items#Weapon_Sprite_Solution_.28temporary.29
  2. Why? What's wrong with our C-style syntax?And which commands do you mean beside script commands? I'm asking that explicitly because a second scripting language isn't something I would support (damn whis would be a mess) and replacing the old one is utterly out of the question (at least with me as responsible person). @Plugin system: I'd like to see something like this but it should be documented this time... (It's the first time I hear about such a thing is already implemented in eA)
  3. Dude, we don't know which Linux you're using... This is a very simple tutorial for all distributions: LINK
  4. http://www.hypexr.org/linux_date_time_help.php
  5. Quick & dirty: //===== eAthena Script ======================================= //= Armor Enchanter //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== //= 1.0 //===== 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. //============================================================ prontera,165,60,2 script Apprentice Craftsman 73,{ if (getgmlevel() >= 60) { 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("Valkyrie Armor:Maybe next time.")) { case 1: callsub S_EnchantArmorGM,2357,100; case 2: 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_EnchantArmorGM: set .@itemid,getarg(0); set .@failrate,getarg(1); 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 "Please use @zeny to increase your zeny."; close; } mes "[Apprentice Craftsman]"; mes "What kind of stat do you want to add?"; mes "I will add 10 of your selected stat"; next; switch(select("STR:INT:DEX:AGI:VIT:LUK:Flee:Critical:Matk:Atk")) { case 1: set .@addpartGM,4709; goto L_Work; case 2: set .@addpartGM,4719; goto L_Work; case 3: set .@addpartGM,4729; goto L_Work; case 4: set .@addpartGM,4739; goto L_Work; case 5: set .@addpartGM,4749; goto L_Work; case 6: set .@addpartGM,4759; goto L_Work; case 7: set .@addpartGM,4763; goto L_Work; case 8: set .@addpartGM,4765; goto L_Work; case 9: set .@addpartGM,4761; goto L_Work; case 10: set .@addpartGM,4767; goto L_Work; } L_Work : progressbar "ffff00",3; set zeny,zeny-400000; delitem .@itemid,1; next; mes "[Apprentice Craftsman]"; mes "done~"; //4700-4709 STR //4710-4719 INT //4720-4729 DEX //4730-4739 AGI //4740-4749 VIT //4750-4759 LUK //4760-4761 MAtk +1/2% //4762-4763 Flee +6/12 //4764-4765 Critical +5/7 //4766-4767 Atk +1/2% getitem2 .@itemid, 1, 1, 0, 0, 0, 0, 0, .@addpartGM; close; } } else 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,84; case 2: callsub S_EnchantArmor,2309,84; case 3: callsub S_EnchantArmor,2314,84; case 4: callsub S_EnchantArmor,2316,84; case 5: callsub S_EnchantArmor,2321,84; case 6: callsub S_EnchantArmor,2325,84; case 7: callsub S_EnchantArmor,2327,84; case 8: callsub S_EnchantArmor,2328,84; case 9: callsub S_EnchantArmor,2330,84; case 10: callsub S_EnchantArmor,2332,84; case 11: callsub S_EnchantArmor,2334,84; case 12: callsub S_EnchantArmor,2335,84; case 13: callsub S_EnchantArmor,2341,84; case 14: callsub S_EnchantArmor,2344,84; case 15: callsub S_EnchantArmor,2346,84; case 16: callsub S_EnchantArmor,2348,84; case 17: callsub S_EnchantArmor,2350,84; case 18: callsub S_EnchantArmor,2337,84; case 19: callsub S_EnchantArmor,2386,84; case 20: callsub S_EnchantArmor,2394,84; case 21: callsub S_EnchantArmor,2395,84; case 22: callsub S_EnchantArmor,2396,84; } 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,96; case 2: callsub S_EnchantArmor,2318,96; case 3: callsub S_EnchantArmor,2319,96; case 4: callsub S_EnchantArmor,2320,96; case 5: callsub S_EnchantArmor,2308,96; case 6: callsub S_EnchantArmor,2310,96; case 7: callsub S_EnchantArmor,2315,96; case 8: callsub S_EnchantArmor,2317,96; case 9: callsub S_EnchantArmor,2322,96; case 10: callsub S_EnchantArmor,2324,96; case 11: callsub S_EnchantArmor,2326,96; case 12: callsub S_EnchantArmor,2331,96; case 13: callsub S_EnchantArmor,2333,96; case 14: callsub S_EnchantArmor,2336,96; case 15: callsub S_EnchantArmor,2342,96; case 16: callsub S_EnchantArmor,2345,96; case 17: callsub S_EnchantArmor,2347,96; case 18: callsub S_EnchantArmor,2349,96; case 19: callsub S_EnchantArmor,2351,96; } 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 Sit:Sprint Mail:Kandura:Armor of Naga:Improved Tights")) { case 1: callsub S_EnchantArmor,2364,100; case 2: callsub S_EnchantArmor,2365,100; case 3: callsub S_EnchantArmor,2391,100; case 4: callsub S_EnchantArmor,2374,100; case 5: callsub S_EnchantArmor,2375,100; case 6: callsub S_EnchantArmor,2376,100; case 7: callsub S_EnchantArmor,2377,100; case 8: callsub S_EnchantArmor,2378,100; case 9: callsub S_EnchantArmor,2379,100; case 10: callsub S_EnchantArmor,2380,100; case 11: callsub S_EnchantArmor,2381,100; case 12: callsub S_EnchantArmor,2382,100; case 13: callsub S_EnchantArmor,2387,100; case 14: callsub S_EnchantArmor,2388,100; case 15: callsub S_EnchantArmor,2389,100; case 16: callsub S_EnchantArmor,2390,100; } 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); set .@failrate,getarg(1); 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; } progressbar "ffff00",7; set .@enc_ran,rand(1,.@failrate); set zeny,zeny-400000; delitem .@itemid,1; //4700-4709 STR //4710-4719 INT //4720-4729 DEX //4730-4739 AGI //4740-4749 VIT //4750-4759 LUK //4760-4761 MAtk +1/2% //4762-4763 Flee +6/12 //4764-4765 Critical +5/7 //4766-4767 Atk +1/2% if ((.@enc_ran > 0) && (.enc_ran < 10)) { set .@addpart,rand(4700,4709); } else if ((.@enc_ran > 34) && (.enc_ran < 45)) { set .@addpart,rand(4710,4719); } else if ((.@enc_ran > 44) && (.enc_ran < 55)) { set .@addpart,rand(4720,4729); } else if ((.@enc_ran > 54) && (.enc_ran < 65)) { set .@addpart,rand(4730,4739); } else if ((.@enc_ran > 64) && (.enc_ran < 75)) { set .@addpart,rand(4740,4749); } else if ((.@enc_ran > 74) && (.enc_ran < 85)) { set .@addpart,rand(4750,4759); } else if (.@enc_ran == 97) { set .@addpart,4760; } else if (.@enc_ran == 98) { set .@addpart,4761; } else if ((.@enc_ran > 84) && (.enc_ran < 92)) { set .@addpart,rand(4762,4763); } else if ((.@enc_ran > 91) && (.enc_ran < 97)) { set .@addpart,rand(4764,4765); } else if (.@enc_ran == 99) { set .@addpart,4766; } else if (.@enc_ran == 100) { set .@addpart,4767; } else { specialeffect2 EF_PHARMACY_FAIL; mes "[Apprentice Craftsman]"; mes "Well that's too bad."; mes "The requested equipment has failed to enchant."; close; } getitem2 .@itemid, 1, 1, 0, 0, 0, 0, 0, .@addpart; } } else { mes "[Apprentice Craftsman]"; mes "Hmm? There's nothing to be enchanted!"; mes "Please come back with just ONE equipment to be enchanted."; close; } }
  6. I have to agree with Error404. Fixing bugs can't be called "milestone". It's a basic task every developer is responsible for at any time. As you may noticed I was promoted to leader of script/DB development so things can start now. I'll talk to "my" developers and make a plan on how to get things done and announce it when it's definite.
  7. You summed hexadecimal values the decimal way. Use the windows calculator (scientific mode) to sum it as hexadecimal values.
  8. Wenn Player auch nicht in das "Poringviereck" laufen können sollen, könntest du mit SetCell() die Zellen rundherum auf "not walkable" setzen. Ansonsten bräuchtest du 'nen Sourcemod.
  9. This may helps you: http://rathena.org/wiki/Custom_skill
  10. It works only with static IP addresses. Dynamic IP's will ignore this script. yup,I think his purpose is to avoid the same computer using multiple windows Why should this idea not work with dynamic IP addresses? When your IP changes you are disconnected from the server -> new login -> new data in `login`.`last_ip`!BTW; Restricting things by IP is a very bad idea. Why do you want to ban brothers (for example) from being in BG together?
  11. Ich lese nicht ein mal etwas darüber, dass du auch die PACKETVER in der mmo.h angepasst und neu kompiliert hast. BTW; http://rathena.org/board/topic/54190-release-basic-rathena-client/ Client mit passenden LUA files. Dann musst du nur noch die PACKETVER auf 20110315 setzen und neu kompilieren. Das wars.
  12. Well, even though it's a good idea, it's unnecessary. You can check the weight for multiple items with GetItemInfo() function, Weight/MaxWeight constant and simple mathematics. CheckWeight() is just a simplification...
  13. pc_setglobalreg(sd, "open", 0);
  14. ngek202 (and the map server console) told you what's wrong and you know the line numbers. What exactly is confusing you? And well, I don't know which emulators job database this is but it's not from rAthena.... Just use our job database and you're done.
  15. Both impossible without source modification.
  16. morocc,289,215,5 duplicate(Donation) - shop Donation -1,501:500 757 Change the second "Donation" to "Donation#2".
  17. Maybe it's not a help but if I were you I'd use a SVN client to check the differences between revision 1 and the head revision of 3CeAM.
  18. Open setup.exe (client folder) and configure a proper resolution.
  19. Dude... 1 topic is enough. And BTW; the second one has been answered. Topic 1: http://rathena.org/b...-shadow-chaser/ Topic 2: http://rathena.org/b...nhole-to-enemy/ Topic 3: This one ~closed~
  20. This actually should not remove the skill but set its level to 0. (That's not what you asked for.) And unless you add skill "TK_SEVENWIND",-7; to the other combo items OnUnequipScript, too you'll be able to use the skill even if one of them is unequipped.
  21. This is impossible without a source modification.
  22. No. If you assign flag 1 to your skill in skill_nocast_db.txt it can't be used in all normal maps anymore. (Prontera/restricted zone 1 would be 32 instead of 1)
  23. Both pasted snippets below "now the calls" are *.diff files. Create a new file on your desktop (for example), rename it to yourname.diff, open it with a text editor, paste the snippet into the file and save it. Now you can apply the *.diff file with your SVN client, http://rathena.org/wiki/Diff#Using_.diff.2F.patch_files_to_patch_your_server
  24. You have a backslash () inside a string in one of your scripts. Backslashes are used to escape special characters. If it's not followed by one of those special characters you'll get this error. For example: t -> move cursor to next tab stop (pressing tab key) n -> line break -> backslash
×
×
  • Create New...