|
|
לא ממש הבנתי-אתה רוצה NPC שייזמן מפלצות לבחירתך?
אם כן תשתמש בג'אווה לסקריפט! ואז תשים אותו בתקיית WZ-SCRIPTS-NPC.
פסדר?פסדר!ם-ם
אני אוהב,שוקולד,ועוגת גבינה,עם קרם וסוכריות,ואת עודד מנשה D:
בMapleCharacter תוסיפו את הפונקציות הבאות האלה :
קוד:
public void maxSkill(int skillid) { if (skillid / 10000 == getJob().getId() || isGM() || skillid < 2000) { // lmao im lazy ISkill skill_ = SkillFactory.getSkill(skillid); int maxlevel = skill_.getMaxLevel(); changeSkillLevel(skill_, maxlevel, maxlevel); } } public void maxLimitSkills() { MapleDataProvider dataProvider = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("net.sf.odinms.wzpath") + "/" + "String.wz")); MapleData skilldData = dataProvider.getData("Skill.img"); for (MapleData skill_ : skilldData.getChildren()) { try { maxSkill(Integer.parseInt(skill_.getName())); } catch (NumberFormatException nfe) { break; } catch (NullPointerException npe) { continue; } } } public void AutoJob() { int job1 = 10; int job2 = 30; int job3 = 70; int job4 = 120; boolean autoJob = true; int job_ = client.getPlayer().getJob().getId(); if (autoJob) { if ((level == 8 || level == job1) && job.getId() == 0) { NPCScriptManager.getInstance().start(getClient(), 9200000, null, null); } else if (level == job2 && readyForJob(2) && job.JobIdToString().endsWith("00")) { NPCScriptManager.getInstance().start(getClient(), 9200000, null, null); } else if (level == job3 && job.JobIdToString().endsWith("0") && readyForJob(3)) { client.getPlayer().changeJob(MapleJob.getById(job_ + 1)); getClient().getSession().write(MaplePacketCreator.serverNotice(6, "[Congrats] You have became a " + getJobName() + "!")); } else if (level == job4 && job.JobIdToString().endsWith("1") && readyForJob(4)) { client.getPlayer().changeJob(MapleJob.getById(job_ + 1)); getClient().getSession().write(MaplePacketCreator.serverNotice(6, "[Congrats] You have became a " + getJobName() + "!")); } maxLimitSkills(); } } public String getJobName() { if (job == job.BEGINNER) return "Beginner"; else if (job == job.THIEF) return "Thief"; else if (job == job.WARRIOR) return "Warrior"; else if (job == job.MAGICIAN) return "Magician"; else if (job == job.BOWMAN) return "Bowman"; else if (job == job.PIRATE) return "Pirate"; else if (job == job.BANDIT) return "Bandit"; else if (job == job.ASSASSIN) return "Assasin"; else if (job == job.SPEARMAN) return "Spearman"; else if (job == job.PAGE) return "Page"; else if (job == job.FIGHTER) return "Fighter"; else if (job == job.CLERIC) return "Cleric"; else if (job == job.IL_WIZARD) return "Ice/Light Wizard"; else if (job == job.FP_WIZARD) return "Fire/Posion Wizard"; else if (job == job.HUNTER) return "Hunter"; else if (job == job.CROSSBOWMAN) return "Crossbow Man"; else if (job == job.GUNSLINGER) return "GunSlinger"; else if (job == job.BRAWLER) return "Brawler"; else if (job == job.CHIEFBANDIT) return "Chief Bandit"; else if (job == job.HERMIT) return "Hermit"; else if (job == job.DRAGONKNIGHT) return "Dragon Knight"; else if (job == job.WHITEKNIGHT) return "White Night"; else if (job == job.CRUSADER) return "Crusader"; else if (job == job.PALADIN) return "Paladin"; else if (job == job.PRIEST) return "Priest"; else if (job == job.IL_MAGE) return "Ice/Light Mage"; else if (job == job.FP_MAGE) return "Fire/Posion Mage"; else if (job == job.RANGER) return "Ranger"; else if (job == job.SNIPER) return "Sniper"; else if (job == job.MARAUDER) return "Marauder"; else if (job == job.OUTLAW) return "Outlaw"; else if (job == job.SHADOWER) return "Shadower"; else if (job == job.NIGHTLORD) return "Night Lord"; else if (job == job.DARKKNIGHT) return "Dark Knight"; else if (job == job.HERO) return "Hero"; else if (job == job.PALADIN) return "Paladin"; else if (job == job.IL_ARCHMAGE) return "Ice/Light Arch Mage"; else if (job == job.FP_ARCHMAGE) return "Fire/Posion Arch Mage"; else if (job == job.BOWMASTER) return "Bow Master"; else if (job == job.CROSSBOWMASTER) return "Crossbow Master"; else if (job == job.BUCCANEER) return "Buccaneer"; else if (job == job.CORSAIR) return "Corsair"; else return job.name(); } public boolean readyForJob(int job_) { if (job_ == 2) { boolean next = false; for (int i = 1; i < 6; i++) { if (i == job.getId() / 100) next = true; } return next; } int jobid = job.getId(); if (job_ == 4) { jobid--; } switch (jobid / 100) { case 0: if (job == job.BEGINNER) return false; break; case 1://warrior for (int i = 1; i < 31; i++) { // 130 i += 9; if (jobid == 100 + i) return true; } break; case 2 ://magician for (int i = 1; i <31; i++) { i += 9; if (jobid == 200 + i) return true; } break; case 3 ://bowman for (int i = 1; i <21; i++) { i += 9; if (jobid == 300 + i) return true; } break; case 4://thief for (int i = 1; i <21; i++) { i += 9; if (jobid == 400 + i) return true; } break; case 5://pirate for (int i = 1; i <21; i++) { i += 9; if (jobid == 500 + i) return true; } break; default : return false; } return false;}
ותוסיפו את זה בפונקצייה levelUp
קוד:
AutoJob();
והנה Cody ממש ישן שלחקתי מRageZone :
http://www.fileflyer.com/view/MD3RsAR
תהנוזה בעצם אוטו ג'וב D:
נערך לאחרונה על ידי AstroJack; 07-11-2009 בשעה 11:41.
פסדר?פסדר!ם-ם
אני אוהב,שוקולד,ועוגת גבינה,עם קרם וסוכריות,ואת עודד מנשה D:
מה זה עושה?
וממש להחליף את הכול ב-MapleChar, ומה ב-LevelUP תסביר יותר טוב !
והתכוונתי שאני רוצה להוסיף לשרת שלי את הפוקדה cm.spawnMonster, אז מה לערוך ומה להוסיף,
תודה!
מה שהוא הביא עושה אוטו ג'וב כמו שהוא אמר..
כשאתה מגיע לרמה 10 הוא ישר פותח את CODY ושואל אותך מה אתה רוצה להיות..
כשאתה מגיע לרמה 30 שוב..פותח את CODY..ושואל..
כשאתה מגיע לרמה 70 הוא הופך אותך לעבודה 3..
כשאתה מגיע לרמה 120 הוא הופך אותך לעבודה 4..
(לא בטוחה אם במה שהוא הביא זה פותח את CODY כשאתה מגיע לעבודה 3 או 4 פשוט לא קראתי מה שהוא עשה..מסורבל מידי לקרוא את זה ככה..אבל זה כעיקרון מה שאוטו ג'וב עושה)..