Jump to content

Kakaroto

Donators
  • Posts

    611
  • Joined

  • Last visited

  • Days Won

    8

Everything posted by Kakaroto

  1. Kakaroto

    lasagna

    I finished: Maps (dungeons, filds) Database of monsters and items. Portals. Now working: Npc's (common). Npc's (quests). Npc's (shops).
  2. //===== rAthena Script ======================================= //= Job Master //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.4 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= A fully functional job changer. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 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. //============================================================ iz_ac02,103,210,4 script Principal Rain 620,{ function Job_Menu; mes "[Job Master]"; if (Class > Job_Soul_Linker) { mes "No more jobs are available."; close; } if (checkfalcon() || checkcart() || checkriding() || ismounting()) { mes "Please remove your " + ((checkfalcon()) ? "falcon" : "") + ((checkcart()) ? "cart" : "") + ((checkriding()) ? "Peco" : "") + ((ismounting()) ? "mount" : "") + " before proceeding."; close; } if (.SkillPointCheck && SkillPoint) { mes "Please use all your skill points before proceeding."; close; } [email protected] = eaclass(); [email protected] = ((.ThirdClass) ? roclass([email protected]&EAJ_UPPERMASK) : Class); if ([email protected] >= Job_Knight && [email protected] <= Job_Crusader2) { if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[1]) { [email protected] = .Rebirth[0] - BaseLevel; [email protected] = .Rebirth[1] - JobLevel; mes "You need " + (([email protected] > 0) ? [email protected] + " more base levels " + (([email protected] > 0) ? "/ " : "") : "") + (([email protected] > 0) ? [email protected] + " more job levels " : "") + "to continue."; close; } if (Class > Job_Crusader2) { mes "Switch to third class?"; next; Job_Menu(roclass([email protected]|EAJL_THIRD)); close; } while(1) { mes "Select an option."; next; [email protected] = select(" ~ ^0055FFRebirth^000000:" + ((.ThirdClass) ? " ~ ^FF0000Third Class^000000" : "") + ": ~ ^777777Cancel^000000"); if ([email protected] == 3) close; mes "[Job Master]"; mes "Are you sure?"; next; Job_Menu((([email protected] == 1) ? Job_Novice_High : roclass([email protected]|EAJL_THIRD))); mes "[Job Master]"; } } [email protected] = roclass([email protected]|EAJL_2_1); [email protected] = roclass([email protected]|EAJL_2_2); if (([email protected]&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) setarray [email protected][0], roclass([email protected]|EAJL_THIRD), 99; if (Class == Job_Ninja || Class == Job_Gunslinger) setarray [email protected][0], [email protected], 70; if ([email protected][0] && .SecondExpanded) { if (BaseLevel < .Rebirth[0] || JobLevel < [email protected][1]) { [email protected] = .Rebirth[0] - BaseLevel; [email protected] = [email protected][1] - JobLevel; mes "You need " + (([email protected] > 0) ? [email protected] + " more base levels " + (([email protected] > 0) ? "/ " : "") : "") + (([email protected] > 0) ? [email protected] + " more job levels " : "") + "to continue."; close; } mes "Switch to " + jobname([email protected][0]) + "?"; next; Job_Menu([email protected][0]); close; } if ([email protected]&EAJL_2) if ([email protected]&(EAJL_UPPER|EAJL_BABY) || roclass([email protected]|EAJL_UPPER) == -1) { mes "No more jobs are available."; close; } if (([email protected]&EAJ_BASEMASK) == EAJ_NOVICE) { if (JobLevel < .JobReq[0]) mes "A job level of " + .JobReq[0] + " is required to change into the 1st Class."; else if (Class == Job_Novice_High && .LastJob && lastJob) { mes "Switch classes now?"; next; Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER)); } else { switch(Class) { case Job_Novice: Job_Menu( Job_Swordman, Job_Mage, Job_Archer, Job_Acolyte, Job_Merchant, Job_Thief, Job_Super_Novice, Job_Taekwon, Job_Gunslinger, Job_Ninja, Job_Baby ); break; case Job_Novice_High: Job_Menu( Job_Swordman_High, Job_Mage_High, Job_Archer_High, Job_Acolyte_High, Job_Merchant_High, Job_Thief_High ); break; case Job_Baby: Job_Menu( Job_Baby_Swordman, Job_Baby_Mage, Job_Baby_Archer, Job_Baby_Acolyte, Job_Baby_Merchant, Job_Baby_Thief, Job_Super_Baby ); break; default: mes "An error has occurred."; break; } } close; } if (roclass([email protected]|EAJL_2_1) == -1 || roclass([email protected]|EAJL_2_2) == -1) mes "No more jobs are available."; else if (!([email protected]&EAJL_2) && JobLevel < .JobReq[1]) mes "A job level of " + .JobReq[1] + " is required to change into the 2nd Class."; else if (.LastJob && lastJob && ([email protected]&EAJL_UPPER)) { mes "Switch classes now?"; next; Job_Menu(lastJob + Job_Novice_High); } else Job_Menu([email protected], [email protected]); close; function Job_Menu { while(1) { if (getargcount() > 1) { mes "Select a job."; [email protected]$ = ""; for ([email protected] = 0; [email protected] < getargcount(); [email protected]++) [email protected]$ = [email protected]$ + " ~ " + jobname(getarg([email protected])) + ":"; [email protected]$ = [email protected]$+" ~ ^777777Cancel^000000"; next; [email protected] = getarg(select([email protected]$) - 1, 0); if ([email protected]) close; if (([email protected] == Job_Super_Novice || [email protected] == Job_Super_Baby) && BaseLevel < .SNovice) { mes "[Job Master]"; mes "A base level of " + .SNovice + " is required to turn into a " + jobname([email protected]) + "."; close; } mes "[Job Master]"; mes "Are you sure?"; next; } else [email protected] = getarg(0); if (select(" ~ Change into ^0055FF" + jobname([email protected]) + "^000000 class: ~ ^777777" + ((getargcount() > 1) ? "Go back" : "Cancel") + "^000000") == 1) { mes "[Job Master]"; mes "You are now " + callfunc("F_InsertArticle", jobname([email protected])) + "!"; if ([email protected] == Job_Novice_High && .LastJob) lastJob = Class; jobchange [email protected]; if ([email protected] == Job_Novice_High) resetlvl(1); else if ([email protected] == Job_Baby) { resetstatus; resetskill; set SkillPoint,0; } specialeffect2 EF_ANGEL2; specialeffect2 EF_ELECTRIC; if (.Platinum) callsub Get_Platinum; close; } if (getargcount() == 1) return; mes "[Job Master]"; } end; } Get_Platinum: skill "NV_FIRSTAID",1,SKILL_PERM; switch (BaseClass) { case Job_Novice: if (Class != Job_Super_Novice) skill "NV_TRICKDEAD",1,SKILL_PERM; break; case Job_Swordman: skill "SM_MOVINGRECOVERY",1,SKILL_PERM; skill "SM_FATALBLOW",1,SKILL_PERM; skill "SM_AUTOBERSERK",1,SKILL_PERM; break; case Job_Mage: skill "MG_ENERGYCOAT",1,SKILL_PERM; break; case Job_Archer: skill "AC_MAKINGARROW",1,SKILL_PERM; skill "AC_CHARGEARROW",1,SKILL_PERM; break; case Job_Acolyte: skill "AL_HOLYLIGHT",1,SKILL_PERM; break; case Job_Merchant: skill "MC_CARTDECORATE",1,SKILL_PERM; skill "MC_CARTREVOLUTION",1,SKILL_PERM; skill "MC_CHANGECART",1,SKILL_PERM; skill "MC_LOUD",1,SKILL_PERM; break; case Job_Thief: skill "TF_SPRINKLESAND",1,SKILL_PERM; skill "TF_BACKSLIDING",1,SKILL_PERM; skill "TF_PICKSTONE",1,SKILL_PERM; skill "TF_THROWSTONE",1,SKILL_PERM; break; default: break; } switch (BaseJob) { case Job_Knight: skill "KN_CHARGEATK",1,SKILL_PERM; break; case Job_Priest: skill "PR_REDEMPTIO",1,SKILL_PERM; break; case Job_Wizard: skill "WZ_SIGHTBLASTER",1,SKILL_PERM; break; case Job_Blacksmith: skill "BS_UNFAIRLYTRICK",1,SKILL_PERM; skill "BS_GREED",1,SKILL_PERM; break; case Job_Hunter: skill "HT_PHANTASMIC",1,SKILL_PERM; break; case Job_Assassin: skill "AS_SONICACCEL",1,SKILL_PERM; skill "AS_VENOMKNIFE",1,SKILL_PERM; break; case Job_Crusader: skill "CR_SHRINK",1,SKILL_PERM; break; case Job_Monk: skill "MO_KITRANSLATION",1,SKILL_PERM; skill "MO_BALKYOUNG",1,SKILL_PERM; break; case Job_Sage: skill "SA_CREATECON",1,SKILL_PERM; skill "SA_ELEMENTWATER",1,SKILL_PERM; skill "SA_ELEMENTGROUND",1,SKILL_PERM; skill "SA_ELEMENTFIRE",1,SKILL_PERM; skill "SA_ELEMENTWIND",1,SKILL_PERM; break; case Job_Rogue: skill "RG_CLOSECONFINE",1,SKILL_PERM; break; case Job_Alchemist: skill "AM_BIOETHICS",1,SKILL_PERM; break; case Job_Bard: skill "BA_PANGVOICE",1,SKILL_PERM; break; case Job_Dancer: skill "DC_WINKCHARM",1,SKILL_PERM; break; default: break; } return; OnInit: setarray .Rebirth[0],99,50; // Minimum base level, job level to rebirth OR change to third class setarray .JobReq[0],10,40; // Minimum job level to turn into 1st class, 2nd class .ThirdClass = 1; // Enable third classes? (1: yes / 0: no) .SecondExpanded = 1; // Enable new expanded second classes: Ex. Super Novice, Kagerou/Oboro, Rebellion? (1: yes / 0: no) .SNovice = 45; // Minimum base level to turn into Super Novice .LastJob = 1; // Enforce linear class changes? (1: yes / 0: no) .SkillPointCheck = 1; // Force player to use up all skill points? (1: yes / 0: no) .Platinum = 1; // Get platinum skills automatically? (1: yes / 0: no) end; } //------------Duplicate iz_ac02_a,103,210,4 duplicate(Principal Rain) Principal Rain#a 620 iz_ac02_b,103,210,4 duplicate(Principal Rain) Principal Rain#b 620 iz_ac02_c,103,210,4 duplicate(Principal Rain) Principal Rain#c 620 iz_ac02_d,103,210,4 duplicate(Principal Rain) Principal Rain#d 620
  3. Yeah I know ... but as I said, my personal opinion, even though the name of the server hybrid does not mean that you need every image have a different logo too with a different color sequence ... my opinion.
  4. It's very weird, in each image you used a color pattern, choose only two at most 3 colors and create a color pattern for your server, so is very weird. Personal opinion.
  5. Hello! Someone could tell me what's wrong with this check? if ( getstatus( SC_MONSTER_TRANSFORM,1 ) != 1002) { No error message displayed in map_server but does not work.
  6. The @Emistry he sells these scripts.
  7. What price? or will release as free? e.e
  8. A while ago I started work to create a full race system with new skills, with processing for each race, you think it would be interesting to add one thing to another?
  9. more lost than the other. You shows an example of DB Hercules. You have presented a model of brathena ... Use: // Items Database // // Structure of Database: // ID,AegisName,Name,Type,Buy,Sell,Weight,ATK[:MATK],DEF,Range,Slots,Job,Class,Gender,Loc,wLV,eLV[:maxLevel],Refineable,View,{ Script },{ OnEquip_Script },{ OnUnequip_Script } exemp: 501,Red_Potion,Red Potion,0,50,,70,,,,,0xFFFFFFFF,63,2,,,,,,{ itemheal rand(45,65),0; },{},{}
  10. Kakaroto

    Enchant

    Hello, I wonder if someone would have to share a npc enchants, or better orbs. It works like this: The player must have the orb you want to place the equipment and can charm any item type of equipment. So it would be: item: x enchants any equipment, either weapon or armor, shoes equipment for head, in short anything. And it is possible to put several different spells. Thank you very much who can share something.
  11. My emulator is 2016, but don't have this packet. Can someone help me? Emulator download link, client 2015 support: CLICK
  12. It works perfectly. Try to download the rAthena on GitHub here: LINK
  13. It worked beautifully! thank you so much!
  14. Hello, I know that is something easy, but I wonder if it is possible to set the maximum amount of members to enter a particular map. Type the group can only have one member in the maximum to enter. I thank you from anyone who can help me.
  15. Crie vergonha na cara e faça você mesmo, se preste ao mínimo desse trabalho.
  16. 4/10 Abusing red color, mixing with black, it is very strange. Choose a color pattern to the server, and create all the images following this pattern.
  17. Hello... Could someone give me a quick little help? I like to check and delete multiple quests a player, but I can not make it work. Script: for([email protected] = 9285; [email protected] <= 9289; [email protected]++) { if(checkquest([email protected])) erasequest [email protected]; } map_server: Thank you in advance!!
  18. You know when RODEX will be released in rAthena?
  19. hmm... so how can I change this operator and maintain the function working properly? I use this way? @edit: I switched the operator for only "=" and it worked ... thanks!
  20. Hello good evening, I'm a little strange problem, I'm trying to create an instance, but if you have more than one person in the group, the instance does not start, is giving errors in map_server, can anyone help me? IMG: script: [email protected],109,348,5 script Chaos#face 683,{ if(getpartyleader(getcharid(1),2) != getcharid(0)) { cutin "H_CHAOS01", 2; mes "[Chaos]"; mes "You are not the Partyleader."; close2; cutin "", 255; end; } switch('progress) { case 0: [email protected] = getcharid(1); getpartymember [email protected],0; 'members = [email protected]; 'partyname$ = getpartyname([email protected]); 'membername$ = [email protected]$[0]; for([email protected] = 1; [email protected] < 'members; [email protected]++) { 'membername$ += " " + [email protected]$[[email protected]]; } cutin "H_CHAOS01", 2; mes "[Chaos]";
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.