Jump to content

Hayato

Members
  • Posts

    66
  • Joined

  • Last visited

Recent Profile Visitors

2103 profile views

Hayato's Achievements

Poring

Poring (1/15)

  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

10

Reputation

1

Community Answers

  1. My bad, sorry for the bad explanation. I basically want the Malangdo Costume NPC (from official rathena) accept ALL costumes instead of the ones listed in the file AND instead of giving me costume boxes I want him to give me 1 Jellopy per Costume Item. //===== rAthena Script ======================================= //= Costumes NPCs. //===== Description: ========================================= //= [Official Conversion] //= Costumes exchange/enchant NPCs in Malangdo. //= The database of the following box are left empty //= until high items ID are supported: //= Enchant_Stone_Box19 //= Enchant_Stone_Box20 //= Enchant_Stone_Box21 //===== Changelogs: ========================================== //= 1.0 First version. [Capuche] //============================================================ // Costume exchange mal_in01,20,124,5 script Designer Heidam#eventhat 4_CAT_SAILOR5,{ if (checkweight(1301,1) == 0) { mes "- Please stop here!! -"; mes "- You have carried too much items, -"; mes "- Therefore unable receive any item again, -"; mes "- Please reduce your weight, -"; mes "- And come back again later! -"; close; } disable_items; mes "[Designer Heidam]"; mes "I am Designer Heidam, who has all kinds of cool costumes in the World."; mes "If you have any Kitcoins with you, come look for Designer Heidam!"; next; if (select( "Exchange costume for random enchant box", "Continue conversation" ) == 2) { mes "[Designer Heidam]"; mes "Though I look out of shape right now, I used to be a well known fashion model and designer!"; next; mes "[Designer Heidam]"; mes "Don't pity me! I am well aware of my looks, but I like who I am inside."; close; } mes "[" + strcharinfo(0) + "]"; mes "This item is useless to me! Do you have anything else?"; next; mes "[Designer Heidam]"; mes "Oh, then I can exchange it for a box of costume enchantment items."; next; mes "- Rummaging -"; next; // =================================================================== // =================== Costume Enchant Stone Box 4 =================== // =================================================================== .@box_list[0] = 22826; // Enchant_Stone_Box4 setarray .@item_list_0[0], 19608, // C_Chick_Hat 19654, // C_J_Captain_Hat 19712, // C_Little_Angel_Doll 19721, // C_Darkness_Helm 19823, // C_White_Cat_Hood 19876, // C_Rabbit_Ear_Hat 20036, // C_Sword_Master_Crown 20145, // C_Robo_Eye 20146, // C_Angel_Spirit 20147, // C_Bell_Pigeon 20746; // C_Rudra_Wing // =================================================================== // =================== Costume Enchant Stone Box 5 =================== // =================================================================== .@box_list[1] = 22868; // Enchant_Stone_Box5 setarray .@item_list_1[0], 19601, // Drooping_Aliot 19643, // C_Whikebain_Ears 19787, // C_Devoted_Eyes 19836, // C_L_Magestic_Goat 19912, // C_Cat_Eye 19928, // C_Gothic_Heart_Wing 19930, // C_Angel_Mini_Silk_Hat 19668, // C_Wind_Milestone 20070, // C_Alpaca_Hood 20115, // C_Under_Rim_Glasses 20130, // C_Whisper_Tall_Hat 20132, // C_Subject_Aura 20133, // C_Poring_Mascot_Costume 20199, // C_Evil_Marcher_Hat 20200, // C_Rabbit_Head_Dress 20202, // C_Deviruchi_Balloon 20217, // C_Arabian_Veil 20224, // C_Red_Tailed_Ribbon 20230, // C_Mask_Of_Bankrupt 20231, // C_Snowman_Hat 20232, // C_Celines_Ribbon 20233, // C_Gold_Angel_Sculpture 20263, // C_Hat_Of_Drowsy_Cat 20761, // C_Wing_Of_Happiness 20798; // GrimReaper_Protection // =================================================================== // =================== Costume Enchant Stone Box 6 =================== // =================================================================== .@box_list[2] = 22905; // Enchant_Stone_Box6 setarray .@item_list_2[0], 19954, // C_3D_Glasses 20071, // C_Worg_In_Mouth 20239, // C_Large_Ribbon_Muffler 20242, // C_Snownow_Hat 20273, // C_Soft_Sheep_Hat 20762; // C_GreatDevilWing // =================================================================== // =================== Costume Enchant Stone Box 7 =================== // =================================================================== .@box_list[3] = 22953; // Enchant_Stone_Box7 setarray .@item_list_3[0], 18740, // C_Hair_Of_The_Strong 19815, // C_Lolita_Ten_Gallon_Hat 20255, // C_Love_Cheek 20266, // C_Secret_Zipper 20268, // C_Sleep_Eclipse_Family 20286, // C_Under_Rim_Glasses_Red 20329, // C_Tare_HSchool_Doll_Hat 20330; // C_Sombrero // =================================================================== // =================== Costume Enchant Stone Box 8 =================== // =================================================================== .@box_list[4] = 23001; // Enchant_Stone_Box8 setarray .@item_list_4[0], 19158, // C_Gemini_Eyes 19816, // C_Pecopeco_Cap 19925, // C_One_Eyed_Glasses 20071, // C_Worg_In_Mouth 20125, // C_Mini_Glasses 20201, // C_Banshee_Master_Kiss 20204, // C_Hunting_Cap 20235, // C_Frozen_Land_Rose 20253, // C_Droopy_Alice_Doll 20254, // C_Ribbon_Yellow 20258, // C_Blue_Head_Dress 20264, // C_Blood_Sucker 20266, // C_Secret_Zipper 20270, // C_Gryphon_Wing_Ears 20315, // C_Analyze_Eye 20318, // C_Charleston_Antenna 20340, // C_Straight_Pony_BL 20341, // C_Cowlick_BL 20342, // C_Loose_Wave_Twin_BL 20349, // C_FlyingGalapago 20350, // C_Cowlick_YL 20351, // C_Cowlick_GN 20352, // C_Cowlick_PP 20353, // C_Cowlick_RD 20354, // C_Cowlick_OM 20355, // C_Cowlick_BU 20356, // C_Cowlick_WH 20357, // C_Straight_Pony_YL 20358, // C_Straight_Pony_GN 20359, // C_Straight_Pony_PP 20360, // C_Straight_Pony_RD 20361, // C_Straight_Pony_OM 20362, // C_Straight_Pony_BU 20363, // C_Straight_Pony_WH 20364, // C_Loose_Wave_Twin_YL 20365, // C_Loose_Wave_Twin_GN 20366, // C_Loose_Wave_Twin_PP 20367, // C_Loose_Wave_Twin_RD 20368, // C_Loose_Wave_Twin_OM 20369, // C_Loose_Wave_Twin_BU 20370, // C_Loose_Wave_Twin_WH 20396, // C_Woodie_Hat 20448, // C_Cons_Of_Water 20457, // C_Feather_Fluttering 20487, // C_Floral_Waltz 20489, // C_Pope_Crown 20504, // C_Cupid_Wing_Pink 20299, // C_Face_Crusher 19598, // C_Wondering_Wolf_Helm 20300; // C_Hill_Wind_Mask // =================================================================== // =================== Costume Enchant Stone Box 9 =================== // =================================================================== .@box_list[5] = 23058; // Enchant_Stone_Box9 setarray .@item_list_5[0], 18744, // C_World_Star 19600, // Drooping_Kiehl 19760, // C_Rainbow_Veil 19761, // C_White_Lily 19978, // C_Silver_Exclamation 19979, // C_Golden_Question 20172, // C_Pumpkin_Head 20180, // C_Westren_Grace 20278, // C_Man_Medal 20325, // C_Little_Aquarium 20344, // C_Happy_Balloon_J 20398, // C_Niflheim_Bunny_Hat 20399, // C_Crow_Tengu_Mask 20404, // C_Blessing_Of_Angels 20405, // C_Eremes_Scarf 20447, // C_Small_Poring_Band 31331, // C_Chung_E_Shinyon_Cap 31372, // C_Binit_Doll_Hat 31430, // C_Seppl_Hat_TW 31431; // C_Curupira_Hat_TW // ==================================================================== // =================== Costume Enchant Stone Box 10 =================== // ==================================================================== .@box_list[6] = 23086; // Enchant_Stone_Box10 setarray .@item_list_6[0], 20430, // C_Morocc_Kid_Servant 20432, // C_Khalitzburg_KN_Helm 20433, // C_Louise_Red_Hat 20440, // C_Tone_Of_Gold 20458, // C_Wild_Poring_Rider 20459, // C_Valhalla_Idol 20464, // C_Monochrome_RibbonHat 20491, // C_Laser_Of_Eagle 20502, // C_Devil_Wing 20507, // C_Poring_Bag 31087, // C_Dwarf_Beard 31088; // C_Mad_Hatter // ==================================================================== // =================== Costume Enchant Stone Box 11 =================== // ==================================================================== .@box_list[7] = 23174; // Enchant_Stone_Box11 setarray .@item_list_7[0], 5909, // C_Valkyrie_Circlet 5979, // C_Angel_Fluttering 19745, // C_Holy_Marching_Hat_J 19825, // C_Vicious_Stop_Bandage 20149, // C_Hexagon_Spectacles 20381, // C_Steampunk_Hat 20383, // C_Magicdecoy_Doll 20483, // C_Butterfly_Barrettes 20490, // C_Full_Bloom_Hp_Blue 20499, // C_Cat_Ear_Hat 20509, // C_Wings_of_Uriel 31029, // C_Pig_Nose 31032, // C_Tare_Luwmin 31040, // C_Magical_Feather 31055, // C_Poring_Soap_Pipe 31057, // C_Eremes_Scarf_Black 31062, // C_Eleanor_Wig 31063, // C_Hair_Bun_BU 31064, // C_Hair_Bun_RD 31065, // C_Hair_Bun_YL 31066, // C_Hair_Bun_GN 31067, // C_Hair_Bun_BL 31068, // C_Hair_Bun_WH 31069, // C_Hair_Bun_OM 31070, // C_Hair_Bun_PP 31071, // C_Roll_Twin_BU 31072, // C_Roll_Twin_RD 31073, // C_Roll_Twin_YL 31074, // C_Roll_Twin_GN 31075, // C_Roll_Twin_BL 31076, // C_Roll_Twin_WH 31077, // C_Roll_Twin_OM 31078, // C_Roll_Twin_PP 31079, // C_Long_Pony_BU 31080, // C_Long_Pony_RD 31081, // C_Long_Pony_YL 31082, // C_Long_Pony_GN 31083, // C_Long_Pony_BL 31084, // C_Long_Pony_WH 31085, // C_Long_Pony_OM 31086, // C_Long_Pony_PP 31120, // C_Vampire_Familiar 31123, // C_Ghostring_Tall_Hat 31125, // C_QueenAnzRevenge 31118, // C_Assassin_Skull_Mask 31370, // C_Straight_Long_YLK 31376, // C_Jirant_Circlet 31391, // C_Floating_Stone_Of_Int 31418, // C_Leek_In_Mouth 20508, // C_Poster_Girl_Hat 20530, // C_Wings_of_Gabriel 19555; // C_Crescent_Helm // ==================================================================== // =================== Costume Enchant Stone Box 12 =================== // ==================================================================== .@box_list[8] = 23299; // Enchant_Stone_Box12 setarray .@item_list_8[0], 20156, // C_Fan_In_Mouth 20195, // C_Scratching_Cat 20449, // C_White_Black_Temp 20511, // C_Blue_Fairy_Wing 20514, // C_Thanatos_Sword 20765, // C_Archangel_Wing 31134, // C_Happy_Parrot_J 31136, // C_Clock_Casket 31160, // C_RuneHelm 31162, // C_Shaving_Foam 31165, // C_Piggyback 31186, // C_Black_Cat 31300, // C_Warm_Cat_Muffler 31327; // C_Stretched_Nose_M // 31627; // C_L_Magesic2_TW // ==================================================================== // =================== Costume Enchant Stone Box 13 =================== // ==================================================================== .@box_list[9] = 23524; // Enchant_Stone_Box13 setarray .@item_list_9[0], 20488, // C_Pope_Ribbon 20495, // C_Quati_Hat_J 31031, // C_Tare_Pope_Casual 31033, // C_BelieversCap 31122, // C_Bloody_Stop_Bandage 31164, // C_Brown_Stall 31166, // C_Teddy_Bear_Hood 31168, // C_Mouton_Life_BL 31178, // C_Flame_Muffler 31294, // C_Jirant_Circlet_Red 31397, // C_Pope_Sitting_Head 31545, // C_Eremes_Scarf_BU // 31626, // C_FluffyWing_TW 31628; // C_Bogy_Cap_TW // ==================================================================== // =================== Costume Enchant Stone Box 14 =================== // ==================================================================== .@box_list[10] = 23629; // Enchant_Stone_Box14 setarray .@item_list_10[0], 31415, // C_Wanderer_Sakkat 19289, // C_Moon_Eyepatch 19291, // C_Shiba_Inu 19294, // C_CatEars_Cyber_HeadP_R 19763, // C_Leaf_Cat_Hat 20376, // C_Memories_Of_Lovers 20493, // C_Wing_Headphone 20498, // C_Elephant_Hat 20516, // C_Wings_of_Michael 31180, // C_Shura_King_Pledge 31329, // C_Alice_Wig 31332, // Khalitzburg_KN_Helm_BL 31414, // C_Cancer_Diadem 31504; // C_Starving_Fish_Hat // ==================================================================== // =================== Costume Enchant Stone Box 15 =================== // ==================================================================== .@box_list[11] = 23682; // Enchant_Stone_Box15 setarray .@item_list_11[0], 19723, // C_Sacred_Torch_Coronet 19953, // C_Parade_Cap 19959, // C_Drooping_Argiope 19960, // C_Chain_Puppet 19992, // C_Chilly_Breath 20179, // C_Monkey_On_Fur_Hat 20510, // C_SwordWing 20515, // C_Magic_Circle 20517, // C_GiantCatBag_TW 31152, // C_Piamette_BowTie_Red 31314, // C_Ghost_Holiday 31396, // C_Sorcerer_Hood 31398, // C_Blinking_Thin_Eyes 31432, // C_Luwmin_Ice 31433, // C_Astro_Circle 31437, // C_Baby_Penguin 31439, // C_Fluffy_Heart_Earmuffs 31452, // C_White_Cat 31460, // C_Blessing_Sky_Lantern 31463, // C_Flying_Drone 31498, // C_Elephangel_TH // 31722, // C_Sedora_Hat 31412; // C_Virgo_Crown // ==================================================================== // =================== Costume Enchant Stone Box 16 =================== // ==================================================================== // Note: The reward is 'Costume Enchant Stone Box 16' on items description but Enchant_Stone_Box21 in the file .@box_list[12] = 100314; // Enchant_Stone_Box21 setarray .@item_list_12[0], 20033, // C_Buddhist_Priest_Crown 20098, // C_Vampire_Hairband 20171, // C_Sepia_Cap 20174, // C_Halloween_Hat_Orange 20395, // C_BlackWitchHat 20482, // C_Heaven_Cage 20533, // C_PinkButterfly_Wing_T 20535, // C_Digital_Space 20543, // C_Halloween_Poring_Bag 31139, // C_White_Rabbit_Ear 31249, // C_Rabbit_Hopping 31489, // C_Bouquet_Hat 31490, // C_Poring_Muffler 31529, // C_Happy_Rabbit_Ribbon 31606; // C_Autumn_Headband // ==================================================================== // =================== Costume Enchant Stone Box 17 =================== // ==================================================================== .@box_list[13] = 100314; // Enchant_Stone_Box21 setarray .@item_list_13[0], 19990, // C_Snow_Rabbit_Knit_Hat 20175, // C_Diabolic_Headphone 20546, // C_Backside_Ribbon_Bell 20764, // C_Fallen_Angel_Wing 31440, // C_Snow_Bear_Food 31565, // C_Princess_Ribbon_Crown 31586, // C_Poporing_Muffler 31616, // C_Sleep_Sheep_TW 31625, // C_Protect_Cloth 31693; // C_LunaticMuffler // ==================================================================== // =================== Costume Enchant Stone Box 18 =================== // ==================================================================== .@box_list[14] = 100314; // Enchant_Stone_Box21 setarray .@item_list_14[0], 20257, // C_Black_Rabbit_Bonnet 20486, // C_Twin_Margaret 20570, // C_HeartChocoBag 20572, // C_WingOfHeart 31382, // C_Cat_Ears_Punkish 31481, // C_CatCoffeeCup_TW 31624, // C_HeartOfCat_TW 31699; // C_Smiling_Eyes // ==================================================================== // =================== Costume Enchant Stone Box 19 =================== // ==================================================================== .@box_list[15] = 100052; // Enchant_Stone_Box19 setarray .@item_list_15[0], 20022, // C_Love_Piece 20519, // C_Full_BloomCherry_Tree 20576, // C_Cat_Fork 31027, // C_Pretty_Bear 31483, // C_CatEarRibbon_TW 31512, // C_Panda_Rabbit 31569, // C_OpenAir_Headset 31572, // C_Mobile_Pursuit_System 31573, // C_Mecha_Cat_Ears 31574, // C_Cyber_Income 31600, // C_Kishu_Inu 31614, // C_Fox 31698, // C_Pigtail_Red_Hood 31765, // C_Garnet_Tiara 31766, // C_Peony_Hair_Ornament 440000; // C_SharkHead // ==================================================================== // =================== Costume Enchant Stone Box 20 =================== // ==================================================================== .@box_list[16] = 100202; // Enchant_Stone_Box20 setarray .@item_list_16[0], 20582, // C_T_Bear_Bag 20584, // C_Big_Foxtail 20588, // C_Nifl_Bloom 31479, // C_ManyStars_TW 31568, // C_Floating_Ball_TW 31611, // C_Dark_Snake_Lord_Stall 31671, // Costume_Twin_Cannon 31673, // C_Picnic_Basket 31688, // C_Poring_On_Shoulder 31735, // Costume_Yawata_Seal 31787, // C_SavageB_On_Shoulder 31798, // C_Baby_Panda 31799, // C_Pretty_Bear_WH 31832, // C_Bicolor_Cat_Witch_Hat 31884, // C_Magic_Helm 400020; // C_BeachBall // ==================================================================== // =================== Costume Enchant Stone Box 21 =================== // ==================================================================== .@box_list[17] = 100314; // Enchant_Stone_Box21 setarray .@item_list_17[0], 20592, // C_Santa_Backpack 31509, // C_Fawn_Ear 31559, // C_Royalguard_Necklace 440002; // C_Happy_Cat_TW while(1) { for ( .@i = 0; .@i < 18; ++.@i ) { if (getiteminfo(.@box_list[.@i], 2) == -1) // temporary check continue; .@size = getarraysize( getd(".@item_list_" + .@i) ); for ( .@h = 0; .@h < .@size; ++.@h ) { .@id = getd( ".@item_list_" + .@i + "[" + .@h + "]" ); if (getiteminfo(.@id, 2) == -1) // temporary check continue; if (countitem(.@id) < 1) continue; mes "[Designer Heidam]"; mes "I see that you have a ^3131FF" + getitemname(.@id) + "^000000. Do you want to exchange this with a costume enchantment box?"; next; switch( select( "Exchange", "Look for something else", "Stop Exchanging" ) ) { case 1: mes "[Designer Heidam]"; if (countitem(.@id) < 1) mes "Oh~ Something suddenly disappeared..."; else { mes "Exchange Completed."; delitem .@id, 1; getitem .@box_list[.@i], 1; } mes "Let me check you for another item to exchange..."; next; break; case 2: break; case 3: mes "[Designer Heidam]"; mes "Meow? Where are you going?"; close; } } } mes "[Designer Heidam]"; mes "Guess that is all."; next; if (select( "Look more", "Quit" ) == 2) { mes "[Designer Heidam]"; mes "Bye~"; close; } } } This NPC takes 1 of your costumes and turns it into a Costume Enchant Box. But the costume MUST be listed in the script. I want the script to take ANY costume, so that there is no need to make a list in this script. And instead of giving me a costume box, i want the npc to give me 1 jellopy. Hope this explains it better ?
  2. Hello, Could somebody script me an npc like this? Costume Exchanger who can take ANY costume item (head/mid/low/garment) and in return gives you an item for it. The npc scans all costumes in your inventory and in the menu you can select which costume you wanna exchange for a jellopy I would appreciate it! Thanks!
  3. Hello, I'm trying to enable Star Gladiator and Soul linker to be able to change job to Star Emperor and Soul Reaper in jobmaster.txt from latest rAthena. I also want to force rebirth for all other classes that can change to third job, except for SR and SE. Could I get some support for this please? //===== rAthena Script ======================================= //= Job Master //===== Description: ========================================= //= A fully functional job changer. //===== Additional Comments: ================================= //= 1.0 Initial script. [Euphy] //= 1.1 Fixed reset on Baby job change. //= 1.2 Added Expanded Super Novice support and initial Kagerou/Oboro support. //= 1.3 Kagerou/Oboro added. //= 1.4 Rebellion added. //= 1.5 Added option to disable RebirthClass. [mazvi] //= 1.6 Added option to get job related equipment on change. [Braniff] //= 1.7 Readability changes. Also added BabyExpanded and BabySummoner classes. [Jey] //= 1.8 Added option to disable Baby Novice Only but Baby Class can be Enabled [mazvi] //= 1.9 Migrate/Integrate to Global Functions Platinum Skills. [mazvi] //============================================================ prontera,153,193,6 script Job Master 123,{ function Get_Job_Equip; // Checks if the Player has the required level. // closes if not, returns if yes function Require_Level { if (BaseLevel < getarg(0) || JobLevel < getarg(1)) { .@blvl = getarg(0) - BaseLevel; .@jlvl = getarg(1) - JobLevel; mes "Level requirement:"; mes ((getarg(0)>1)? "^bb0000"+getarg(0)+"^000000 (^bb0000Base^000000) / ":"")+"^00bb00"+ getarg(1)+"^000000 (^00bb00Job^000000)"; mes "You need " + ((.@blvl > 0) ? "^bb0000"+.@blvl+"^000000 more base levels " + ((.@jlvl > 0) ? "and " : "") : "") + ((.@jlvl > 0) ? "^00bb00"+.@jlvl+"^000000 more job levels " : "") + "to continue."; close; } return; } // Checks if the given eac is a baby class function Is_Baby { return ((getarg(0, eaclass())&EAJL_BABY)>0); } // Checks if the player can change to third class. // Note: This does not include the level checks. function Can_Change_Third { // To change to third class you either need to be: // * Second Class // * Transcendent Second Class // * Baby Second Class if( !.ThirdClass ) return false; // Third job change disabled if( !(eaclass()&EAJL_2) ) return false; // Not second Class if( eaclass()&EAJL_THIRD ) return false; // Already Third Class if( roclass(eaclass()|EAJL_THIRD) < 0 ) return false; // Job has no third Class if( (eaclass()&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE ) return false; // Exp. Super Novice equals 3rd Cls, but has it's own case if( Is_Baby() && (!.BabyClass || !.BabyThird) ) return false; // No Baby (Third) change allowed return true; } function Can_Rebirth { // To rebirth, you need to be: // * Second Class if( !.RebirthClass ) return false; // Rebirth disabled if( !(eaclass()&EAJL_2) ) return false; // Not second Class if( eaclass()&(EAJL_UPPER|EAJL_THIRD) ) return false; // Already Rebirthed/ Third Class if( roclass(eaclass()|EAJL_UPPER) < 0 ) return false; // Job has no transcended class if( Is_Baby() && !.BabyClass ) return false; // No Baby changes allowed return true; } // Checks if the given eac is a first class function Is_First_Cls { return (getarg(0) <= EAJ_TAEKWON); } function Check_Riding { // Note: Why we should always check for Riding: // Mounts are considered as another class, which // would make this NPC bigger just to handle with // those special cases. if (checkfalcon() || checkcart() || checkriding() || ismounting()) { mes "Please remove your " + ((checkfalcon()) ? "falcon" : "") + ((checkcart()) ? "cart" : "") + ((checkriding()) ? "Peco" : "") + ((ismounting()) ? "mount" : "") + " before proceeding."; close; } return; } function Check_SkillPoints { if (.SkillPointCheck && SkillPoint) { mes "Please use all your skill points before proceeding."; close; } return; } // addJobOptions is essentially the same like // setarray .@array[getarraysize(.@array)],opt1,opt2,...; // It's just easier to read, since we're using it very often function Job_Options { .@argcount = getargcount(); .@arr_size = getarraysize(getarg(0)); for( .@i = 1; .@i < .@argcount; .@i++) { setarray getelementofarray(getarg(0), .@arr_size++),getarg(.@i); } } // Begin of the NPC mes .NPCName$; Check_Riding(); Check_SkillPoints(); // initialisation .@eac = eaclass(); .@third_possible = Can_Change_Third(); .@rebirth_possible = Can_Rebirth(); .@first_eac = .@eac&EAJ_BASEMASK; .@second_eac = .@eac&EAJ_UPPERMASK; // Note: These are already set in pc.cpp // BaseClass = roclass(.@eac&EAJ_BASEMASK) which is the players First Class // BaseJob = roclass(.@eac&EAJ_UPPERMASK) which is the players Second Class //dispbottom "Debug: eac ("+.@eac+"), third ("+.@third_possible+"), rebirth("+.@rebirth_possible+"), BaseClass ("+BaseClass+"), BaseJob ("+BaseJob+")"; // From here on the jobmaster checks the current class // and fills the the array `.@job_opt` with possible // job options for the player. if( .@rebirth_possible ) { // Rebirth option (displayed on the top of the menu) Require_Level(.Req_Rebirth[0], .Req_Rebirth[1]); Job_Options(.@job_opt, Job_Novice_High); } if( .@third_possible ) { // Third Job change (displayed below rebirth) Require_Level(.Req_Third[0], .Req_Third[1]); Job_Options(.@job_opt, roclass(.@eac|EAJL_THIRD)); } if (.SecondExpanded && (.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE && // is Super Novice !(eaclass()&EAJL_THIRD) ) { // not already Expanded SN // (Baby) Super Novice to Expanded (Baby) Super Novice if( !Is_Baby(.@eac) || (.BabyClass && .BabyExpanded) ) { // .BabyClass & .BabyExpanded must be enabled if the is a baby Require_Level(.Req_Exp_SNOVI[0], .Req_Exp_SNOVI[1]); Job_Options(.@job_opt,roclass(.@eac|EAJL_THIRD)); // Expanded SN is "third" cls } } if (.SecondExpanded && ((.@eac&(~EAJL_BABY)) == EAJ_NINJA || // is (Baby) Ninja (.@eac&(~EAJL_BABY)) == EAJ_GUNSLINGER)) { // is (Baby) Gunslinger // (Baby) Ninja to (Baby) Kagerou / Oboro // (Baby) Gunslinger to (Baby) Rebellion if( !Is_Baby(.@eac) || (.BabyClass && .BabyExpanded) ) { // .BabyClass & .BabyExpanded must be enabled if the is a baby Require_Level(.Req_Exp_NJ_GS[0], .Req_Exp_NJ_GS[1]); // Kagerou, Oboro, Rebellion are considered as a 2-1 class Job_Options(.@job_opt, roclass(.@eac|EAJL_2_1)); } } // Player is Job_Novice, Job_Novice_High or Job_Baby if (.@first_eac == EAJ_NOVICE && .@second_eac != EAJ_SUPER_NOVICE) { // MAPID_NOVICE, MAPID_SUPER_NOVICE, MAPID_NOVICE_HIGH, MAPID_BABY Require_Level(.Req_First[0], .Req_First[1]); switch(Class) { case Job_Novice: // First job change Job_Options(.@job_opt,Job_Swordman, Job_Mage, Job_Archer, Job_Acolyte, Job_Merchant, Job_Thief, Job_Super_Novice, Job_Taekwon, Job_Gunslinger, Job_Ninja); if( .BabyNovice ) Job_Options(.@job_opt, Job_Baby); break; case Job_Novice_High: // Job change after rebirth if( .LastJob && lastJob ) Job_Options(.@job_opt, roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER)); else Job_Options(.@job_opt, Job_Swordman_High, Job_Mage_High, Job_Archer_High, Job_Acolyte_High, Job_Merchant_High, Job_Thief_High); break; case Job_Baby: if( !.BabyClass ) break; // First job change as a baby Job_Options(.@job_opt, Job_Baby_Swordman, Job_Baby_Mage, Job_Baby_Archer,Job_Baby_Acolyte, Job_Baby_Merchant, Job_Baby_Thief); if( .BabyExpanded ) Job_Options(.@job_opt, Job_Super_Baby, Job_Baby_Taekwon, Job_Baby_Gunslinger, Job_Baby_Ninja); if( .BabySummoner ) Job_Options(.@job_opt, Job_Baby_Summoner); break; default: mes "An error has occurred."; close; } } else if( Is_First_Cls(.@eac) || // First Class Is_First_Cls(.@eac&(~EAJL_UPPER)) || // Trans. First Cls (.BabyClass && Is_First_Cls(.@eac&(~EAJL_BABY))) ) { // Baby First Cls // Player is First Class (not Novice) // most jobs should have two options here (2-1 and 2-2) .@class1 = roclass(.@eac|EAJL_2_1); // 2-1 .@class2 = roclass(.@eac|EAJL_2_2); // 2-2 // dispbottom "Debug: Classes: class1 ("+.@class1+"), class2 ("+.@class2+")"; if(.LastJob && lastJob && (.@eac&EAJL_UPPER)) { // Player is rebirth Cls and linear class changes are enforced Require_Level(.Req_Second[0], .Req_Second[1]); Job_Options(.@job_opt, lastJob + Job_Novice_High); } else { // Class is not enforced, player can decide. if( .@class1 > 0 ) { // 2-1 Require_Level(.Req_Second[0], .Req_Second[1]); Job_Options(.@job_opt, .@class1); } if( .@class2 > 0 ) { // 2-2 Require_Level(.Req_Second[0], .Req_Second[1]); Job_Options(.@job_opt, .@class2); } } } // Displaying the Job Menu defined by .@job_opt. // .@job_opt should not be changed below this line. function Job_Menu; Job_Menu(.@job_opt); close; // Displays the job menu function Job_Menu { // getarg(0) is the .@job_opt array holding all available job changes. function Confirm_Change; while(true) { .@opt_cnt = getarraysize(getarg(0)); if( .@opt_cnt <= 0 ) { mes "No more jobs are available."; close; } .@selected = 0; // Just a single job class given, no select needed if (.@opt_cnt > 1) { // Multiple job classes given. Select one and save it to .@class // After that confirm .@class mes "Select a job."; .@menu$ = ""; for (.@i = 0; .@i < .@opt_cnt; .@i++) { if( getelementofarray(getarg(0), .@i) == Job_Novice_High) .@jobname$ = "^0055FFRebirth^000000"; else .@jobname$ = jobname(getelementofarray(getarg(0), .@i)); .@menu$ = .@menu$ + " ~ " + .@jobname$ + ":"; } .@menu$ = .@menu$+" ~ ^777777Cancel^000000"; .@selected = select(.@menu$) - 1; if( .@selected < 0 || .@selected >= .@opt_cnt ) close; next; mes .NPCName$; } .@class = getelementofarray(getarg(0), .@selected); if ((.@class == Job_Super_Novice || .@class == Job_Super_Baby) && BaseLevel < .SNovice) { // Special Level Requirement because Super Novice and // Super Baby can both be selected in one of the first class // changes. That's why the Level Requirement is after and not before // the selection. mes "A base level of " + .SNovice + " is required to turn into a " + jobname(.@class) + "."; return; } // Confirm the Class Confirm_Change(.@class, .@opt_cnt > 1); next; mes .NPCName$; } return; } // Executes the actual jobchange and closes. function Job_Change { .@previous_class = Class; .@to_cls = getarg(0); next; mes .NPCName$; mes "You are now " + callfunc("F_InsertArticle", jobname(.@to_cls)) + "!"; if (.@to_cls == Job_Novice_High && .LastJob) lastJob = Class; // Saves the lastJob for rebirth jobchange .@to_cls; if (.@to_cls == Job_Novice_High) resetlvl(1); else if (.@to_cls == Job_Baby) { resetstatus; resetskill; set SkillPoint,0; } specialeffect2 EF_ANGEL2; specialeffect2 EF_ELECTRIC; if (.@previous_class != Class) { if (.Platinum) callfunc "F_GetPlatinumSkills"; if (.GetJobEquip) Get_Job_Equip(); } close; // Always closes after the change } function Confirm_Change { // Player confirms he want to change into .@class .@class = getarg(0, -1); .@back = getarg(1, false); if( .@class < 0 || eaclass(.@class) == -1 ) { mes "Unknown Class Error."; close; } mes "Do you want to change into ^0055FF"+jobname(.@class)+"^000000 class?"; .@job_option$ = " ~ Change into ^0055FF"+jobname(.@class)+"^000000 class"; if( .@class == Job_Novice_High) .@job_option$ = " ~ ^0055FFRebirth^000000"; if (select(.@job_option$+": ~ ^777777" + ((.@back) ?"Go back" : "Cancel") + "^000000") == 1) { Job_Change(.@class); } if (!.@back) close; // "Cancel" pressed return; } // Function which gives a job related item to the player // the items are the rewards from the original job change quests function Get_Job_Equip { // Note: The item is dropping, when the player can't hold it. // But that's better than not giving the item at all. .@eac = eaclass(); if( .@eac&EAJL_THIRD ) { // Third Class Items getitem 2795,1; // Green Apple Ring for every 3rd Class switch(BaseJob) { // BaseJob of Third Cls // For Normal Third, Baby Third and Transcended Third Cls case Job_Knight: getitem 5746,1; break; // Rune Circlet [1] case Job_Wizard: getitem 5753,1; break; // Magic Stone Hat [1] case Job_Hunter: getitem 5748,1; break; // Sniper Goggle [1] case Job_Priest: getitem 5747,1; break; // Mitra [1] case Job_Blacksmith: getitem 5749,1; break; // Driver Band [1] case Job_Assassin: getitem 5755,1; break; // Silent Executor [1] case Job_Crusader: getitem 5757,1; break; // Dip Schmidt Helm [1] case Job_Sage: getitem 5756,1; break; // Wind Whisper [1] case Job_Bard: getitem 5751,1; break; // Maestro Song's Hat [1] case Job_Dancer: getitem 5758,1; break; // Dying Swan [1] case Job_Monk: getitem 5754,1; break; // Blazing Soul [1] case Job_Alchemist: getitem 5752,1; break; // Midas Whisper[1] case Job_Rogue: getitem 5750,1; // Shadow Handicraft [1] getitem 6121,1; // Makeover Brush getitem 6122,1; break; // Paint Brush } } else if (.@eac&EAJL_2) { // Second Class (And not Third Class) switch(BaseJob) { // Second Class case Job_Knight: getitem 1163,1; break; // Claymore [0] case Job_Priest: getitem 1522,1; break; // Stunner [0] case Job_Wizard: getitem 1617,1; break; // Survivor's Rod [0] case Job_Blacksmith: getitem 1360,1; break; // Two-Handed-Axe [1] case Job_Hunter: getitem 1718,1; break; // Hunter Bow [0] case Job_Assassin: getitem 1254,1; break; // Jamadhar [0] case Job_Crusader: getitem 1410,1; break; // Lance [0] case Job_Monk: getitem 1807,1; break; // Fist [0] case Job_Sage: getitem 1550,1; break; // Book [3] case Job_Rogue: getitem 1222,1; break; // Damascus [1] case Job_Alchemist: getitem 1126,1; break; // Saber [2] case Job_Bard: getitem 1907,1; break; // Guitar [0] case Job_Dancer: getitem 1960,1; break; // Whip [1] case Job_Super_Novice: getitem 1208,1; break; // Main Gauche [4] case Job_Star_Gladiator: getitem 1550,1; break; // Book [3] case Job_Soul_Linker: getitem 1617,1; break; // Survivor's Rod [0] } } else { // Neither Second or Third Cls // => First Cls or not covered by the switch switch(BaseClass) { // First Class case Job_Swordman: getitem 1108,1; break; // Blade [4] case Job_Mage: getitem 1602,1; break; // Rod [4] case Job_Archer: getitem 1705,1; break; // Composite Bow [4] case Job_Acolyte: getitem 1505,1; break; // Mace [4] case Job_Merchant: getitem 1302,1; break; // Axe [4] case Job_Thief: getitem 1208,1; break; // Main Gauche [4] case Job_Gunslinger: getitem 13101,1; break; // Six Shooter [2] case Job_Ninja: getitem 13010,1; break; // Asura [2] } } return; } OnInit: // Initialisation, do not edit these .NPCName$ = "[Job Master]"; // Settings .ThirdClass = true; // Enable third classes? .RebirthClass = true; // Enable rebirth classes? .SecondExpanded = true; // Enable new expanded second classes: Ex. Super Novice, Kagerou/Oboro, Rebellion? .BabyNovice = true; // Enable Baby novice classes? Disable it if you like player must have parent to get job baby. .BabyClass = true; // Enable Baby classes? .BabyThird = true; // Enable Baby third classes? .BabyExpanded = true; // Enable Baby Expanded classes: Ex. Baby Ninja, Baby Taekwon, etc. .BabySummoner = true; // Enable Baby Summoner? .LastJob = true; // Enforce linear class changes? .SkillPointCheck = true; // Force player to use up all skill points? .Platinum = true; // Get platinum skills automatically? .GetJobEquip = false; // Get job equipment (mostly weapons) on job change? // Level Requirements setarray .Req_First[0],1,10; // Minimum base level, job level to turn into 1st class setarray .Req_Second[0],1,40; // Minimum base level, job level to turn into 2nd class setarray .Req_Rebirth[0],99,50; // Minimum base level, job level to rebirth setarray .Req_Third[0],99,50; // Minimum base level, job level to change to third class setarray .Req_Exp_NJ_GS[0],99,70; // Minimum base level, job level to turn into Expanded Ninja and Gunslinger setarray .Req_Exp_SNOVI[0],99,99; // Minimum base level, job level to turn into Expanded Super Novice .SNovice = 45; // Minimum base level to turn into Super Novice // Setting adjustments by PACKETVER if( PACKETVER < 20161207 ) { if( .BabyExpanded ) debugmes "jobmaster: BabyExpanded is disabled due to outdated PACKETVER."; if( .BabySummoner ) debugmes "jobmaster: BabySummoner is disabled due to outdated PACKETVER."; .BabyExpanded = false; .BabySummoner = false; } end; } nevermind i fixed it
  4. Currently there's a hoard of scammers on discord, the ones that start the conversation with "hi sir".. Offering a fix to the apples and ask for 120$ "because it seems to be very difficult and time consuming to fix" so if anybody sees scum like this , make sure you block / avoid him. This is the issue and according to github https://github.com/rathena/rathena/pull/2494#issuecomment-673528469 It's related to the 2020 client using "32 bits" and with the current release of the refine ui its at 16 bits. So if anybody knows a fix to this and is willing to share it, i would really appreciate it!
  5. Basically, it seems like on kRO some items have priority when being displayed. On pServers it looks like this: we also have these transparent outter lines for costume garments that they dont have So does anybody know a fix for this or knows why it is like that on pservers? on kRO okay so, I just figured out that it has to do with this: RobeTopLayer = { SPRITE_ROBE_IDs.ROBE_BAG_OF_ADVENTURER, SPRITE_ROBE_IDs.ROBE_AMISTR_BAG, SPRITE_ROBE_IDs.ROBE_BAG_OF_ANTONIO, SPRITE_ROBE_IDs.ROBE_Poring_Bag, SPRITE_ROBE_IDs.ROBE_EXE_Backpack, SPRITE_ROBE_IDs.ROBE_Thanatos_Sword, SPRITE_ROBE_IDs.ROBE_GiantCatBag, SPRITE_ROBE_IDs.ROBE_BlackCatBag, SPRITE_ROBE_IDs.ROBE_C_School_Bag_RD, SPRITE_ROBE_IDs.ROBE_C_School_Bag_BL, SPRITE_ROBE_IDs.ROBE_C_Cat_Fork, SPRITE_ROBE_IDs.ROBE_Balloon_Wing, SPRITE_ROBE_IDs.ROBE_C_T_Bear_Bag, SPRITE_ROBE_IDs.ROBE_C_Big_Foxtail, SPRITE_ROBE_IDs.ROBE_C_Loli_Ruri_Moon, SPRITE_ROBE_IDs.ROBE_Bow_On_the_Back, SPRITE_ROBE_IDs.ROBE_Santa_Backpack, SPRITE_ROBE_IDs.ROBE_C_Evil_Druid_Cross, SPRITE_ROBE_IDs.ROBE_C_Big_Ribbon_Cloak, SPRITE_ROBE_IDs.ROBE_C_Ice_Wing, SPRITE_ROBE_IDs.ROBE_C_GiantCatBag_JP_BL } inside spriterobename.lub looks like 2018 clients dont support it?
  6. Hello im looking for a script that i can add to my instances that allows players to obtain rewards from instances with only 3 accounts. For example someone runs OGH with 5 of his accounts, after killing amdareis and talking to the final NPC only 3 accounts will get rewarded even though hes inside with 5 accounts. hope someone can help ty so much!
  7. Hello im looking for a script.that only happens the first time you enter izlude (accountbound) 1. Player enters Izlude for the first time 2. Chat window with a cutin and some text opens automatically 3. Player is able to close the chat 4. After Closing the chat the game automatically naviagtes the player to e.g. ( izlude 126/185 ) hope someone can help out and thanks a lot for your time!
  8. 30,Nightmarish Jitterbug,3300,300,1@jtb,16,18
  9. tried 3 different clients all same error 2017-01-25 / 2017-05-17 / 2017-06-14b
  10. Hayato

    To delete delay

    Im having this issue aswell, can confirm.
  11. Hi there. All the items you listed are working and im using zackdeavers files aswell (unmodified). It might be on your end. try to update your RO with rsu-kro-renewal-lite + rsu-kro-rag-lite and see if it works. ... if it doesn't work grab this grf and merge the Sprites + Texture folder to your "custom.grf" and see if it works :)! good luck
  12. hello guys i have a problem that i cant explain at all.. is there something like a crashlog saved anywhere? does ANYBODY know how to fix this? its pretty frustrating. tried clean install of kro etc nothing works. tried different clients etc etc i have no clue what causes this. dont know if it helps but: on my friends pc it happens aswell.. when i hovar my mouse over the small X marked on the screenshots my client crashes. EDIT: when i drag the picture/cardbmp away a little bit then it doesnt crash and im able to click x. FUCKIN WEIRD Temporary Solution: Set cutins to 2 and the bmps are gonna appear on the bottom right of your screen without the x. Which file makes this X even appear there? is it inside the source or the script itself? i dont get it. if its the last solution then i would just like to remove the X entirely. issue:
  13. Hey there. i really suck at spriting etc. Is there someone who could help me out by creating this MISC item for me please? .act spr item/collection it would be awesome!! and i would be really grateful. thank you
×
×
  • Create New...