Jump to content

Chronicscape

Member
  • Content count

    1,521
  • Joined

  • Last visited

3 Followers

About Chronicscape

  • Rank
    Rune Member
  • Birthday 04/08/1985

Recent Profile Visitors

4,842 profile views
  1. Chronicscape

    Dusk

    Looks pretty clean from the video. Is it basic no spawn world with empty maps? What revision is this? I was hoping from that 4 hour video youd show more than just 3 or 4 areas. Hows the graphics setting? Full bloom HD?
  2. Your inbox was full... If you need the help (cosmetics) i can message you there.

  3. Chronicscape

    [876] Shop Prices

    I have no clue. It could be your cache. The 9ne included with nocturne is actually spot on. But if you really need ypu can add the method from 718s for custom item prices if you really want to go that far. Any case ive tried nocturne and i see no issues with prices in thier cache.
  4. I dont see any images but try changing the java version in both game/lobby launchers to your java versions.
  5. Sorry it took so long to reply. Been busy. You still need help? Your discord doesnt exist. Add mine - Baki#1388
  6. I am here today to give you a couple scripts for The Inadequacy fight. I will include everything to its spawn location as well as its main combat script. Please do enjoy. Just a nice boss to have and nobody has it yet. I would like to see a server with this in it. Its a nice world boss. This is for the 718/830/876 server data packages. First off make a new folder in the com.rs.game.npc directory called age. Next we put this bit of code in a java document. TheInadequacy.java package com.rs.game.npc.age; import java.util.List; import java.util.concurrent.TimeUnit; import com.rs.cores.CoresManager; import com.rs.game.Animation; import com.rs.game.Entity; import com.rs.game.Graphics; import com.rs.game.Hit; import com.rs.game.Hit.HitLook; import com.rs.game.World; import com.rs.game.WorldTile; import com.rs.game.player.Skills; import com.rs.game.npc.NPC; import com.rs.game.npc.combat.NPCCombatDefinitions; import com.rs.game.player.Player; import com.rs.game.tasks.WorldTask; import com.rs.game.tasks.WorldTasksManager; import com.rs.utils.Utils; @SuppressWarnings("serial") public class TheInadequacy extends NPC { private int fixedCombatType; private int fixedAmount; public TheInadequacy(int id, WorldTile tile, int mapAreaNameHash, boolean canBeAttackFromOutOfArea, boolean spawned) { super(id, tile, mapAreaNameHash, canBeAttackFromOutOfArea, spawned); setLureDelay(0); setForceAgressive(true); } @Override public void sendDeath(Entity source) { final NPCCombatDefinitions defs = getCombatDefinitions(); resetWalkSteps(); getCombat().removeTarget(); setNextAnimation(null); WorldTasksManager.schedule(new WorldTask() { int loop; @Override public void run() { if (loop == 0) { setNextAnimation(new Animation(defs.getDeathEmote())); } else if (loop >= defs.getDeathDelay()) { if(getId() == 5902) { for (NPC n : World.getNPCs()) { if (n == null || n.getId() != 5906) continue; n.sendDeath(n); } setCantInteract(true); transformIntoNPC(5903); WorldTasksManager.schedule(new WorldTask() { @Override public void run() { reset(); setCantInteract(false); } }, 5); } else if(getId() == 5903) { setCantInteract(true); transformIntoNPC(5904); WorldTasksManager.schedule(new WorldTask() { @Override public void run() { reset(); setCantInteract(false); } }, 8); } else if(getId() == 5904) { setCantInteract(true); transformIntoNPC(5905); WorldTasksManager.schedule(new WorldTask() { @Override public void run() { reset(); setCantInteract(false); } }, 11); } else{ drop(); reset(); setLocation(getRespawnTile()); finish(); setRespawnTask(); transformIntoNPC(5902); } stop(); } loop++; } }, 0, 1); } @Override public void setRespawnTask() { if (!hasFinished()) { reset(); setLocation(getRespawnTile()); finish(); } final NPC npc = this; CoresManager.slowExecutor.schedule(new Runnable() { @Override public void run() { setFinished(false); World.addNPC(npc); npc.setLastRegionId(0); World.updateEntityRegion(npc); loadMapRegions(); checkMultiArea(); fixedCombatType = 0; fixedAmount = 0; } }, getCombatDefinitions().getRespawnDelay() * 800, TimeUnit.MILLISECONDS); } public int getFixedCombatType() { return fixedCombatType; } public void setFixedCombatType(int fixedCombatType) { this.fixedCombatType = fixedCombatType; } public int getFixedAmount() { return fixedAmount; } public void setFixedAmount(int fixedAmount) { this.fixedAmount = fixedAmount; } } Next step is going to take you to the npc.combat.impl directory and put this in there package com.rs.game.npc.combat.impl; import com.rs.game.Animation; import com.rs.game.Graphics; import com.rs.game.Entity; import com.rs.game.World; import com.rs.game.ForceTalk; import com.rs.game.npc.NPC; import com.rs.game.player.CombatDefinitions; import com.rs.game.npc.combat.CombatScript; import com.rs.game.npc.combat.NPCCombatDefinitions; import com.rs.utils.Utils; /** * * @author Baki * * * */ public class TheInadequacyCombat extends CombatScript { @Override public Object[] getKeys() { return new Object[] { 5902 }; } @Override public int attack(NPC npc, Entity target) { final NPCCombatDefinitions defs = npc.getCombatDefinitions(); int distanceX = target.getX() - npc.getX(); int distanceY = target.getY() - npc.getY(); int size = npc.getSize(); int hit = 0; int attackStyle = Utils.random(6); if (attackStyle == 0 && (distanceX > size || distanceX < -1 || distanceY > size || distanceY < -1)) { attackStyle = 6; } switch(attackStyle) { case 0: hit = getRandomMaxHit(npc, defs.getMaxHit() - 36, NPCCombatDefinitions.MELEE, target); npc.setNextAnimation(new Animation(6318)); delayHit(npc, 0, target, getMeleeHit(npc, hit)); break; case 1: hit = getRandomMaxHit(npc, defs.getMaxHit(), NPCCombatDefinitions.MAGE, target); npc.setNextAnimation(new Animation(6325)); delayHit(npc, 3, target, getMagicHit(npc, hit)); break; case 2: hit = getRandomMaxHit(npc, defs.getMaxHit() - 36, NPCCombatDefinitions.MELEE, target); npc.setNextAnimation(new Animation(6318)); target.getPoison().makePoisoned(48); delayHit(npc, 0, target, getMeleeHit(npc, hit)); break; case 3: hit = getRandomMaxHit(npc, defs.getMaxHit(), NPCCombatDefinitions.MAGE, target); npc.setNextAnimation(new Animation(6325)); World.spawnNPC(5906, npc, -1, true, true); delayHit(npc, 3, target, getMagicHit(npc, hit)); break; case 4: hit = getRandomMaxHit(npc, defs.getMaxHit() - 36, NPCCombatDefinitions.MELEE, target); npc.setNextGraphics(new Graphics(6318)); delayHit(npc, 3, target, getMeleeHit(npc, hit)); break; case 5: hit = getRandomMaxHit(npc, defs.getMaxHit(), NPCCombatDefinitions.MAGE, target); npc.setNextAnimation(new Animation(6325)); delayHit(npc, 3, target, getMagicHit(npc, hit)); break; } return defs.getAttackDelay(); } } Next into World.java we add the respawn section as well as the multi zone for the fight area import com.rs.game.npc.age.TheInadequacy; else if (id == 5902 || id == 5903 || id == 5904 || id == 5905) n = new TheInadequacy(id, tile, mapAreaNameHash, canBeAttackFromOutOfArea, spawned); || (destX >= 1803 && destX <= 1844 && destY >= 5129 && destY <= 5174) // Inadequacy Fight Next part is go into the data folder and replace these NPC Ids with the ones listed below in unpackedCombatDefinitions.txt 5902 - 18000 6318 6324 6322 6 2 60 520 SPECIAL -1 -1 AGRESSIVE 5903 - 18000 6345 6346 6347 6 2 60 520 MELEE -1 -1 AGRESSIVE 5904 - 18000 6329 6330 6331 6 2 60 520 MELEE -1 -1 AGRESSIVE 5905 - 18000 6342 -1 6349 6 2 60 520 SPECIAL -1 -1 AGRESSIVE Last but not least is the final combat script. Once again go to your npc.combat.impl directory and add the illusive combat script in. package com.rs.game.npc.combat.impl; import com.rs.game.Animation; import com.rs.game.Entity; import com.rs.game.Graphics; import com.rs.game.World; import com.rs.game.WorldTile; import com.rs.game.npc.NPC; import com.rs.game.npc.combat.CombatScript; import com.rs.game.npc.combat.NPCCombatDefinitions; import com.rs.game.player.Player; import com.rs.game.tasks.WorldTask; import com.rs.game.tasks.WorldTasksManager; import com.rs.utils.Utils; public class TheIllusiveCombat extends CombatScript { private static final WorldTile[] COORDS = { new WorldTile(1825, 5162, 2),//North new WorldTile(1825, 5138, 2),//South new WorldTile(1811, 5152, 2),//West new WorldTile(1837, 5152, 2),//East new WorldTile(1830, 5146, 2),//SE new WorldTile(1818, 5145, 2),//SW new WorldTile(1819, 5157, 2),//NW new WorldTile(1831, 5156, 2)//NE }; @Override public Object[] getKeys() { return new Object[] { 5905 }; } @Override public int attack(final NPC npc, Entity target) { NPCCombatDefinitions defs = npc.getCombatDefinitions(); if(Utils.random(5) == 0) { //bury npc.setNextAnimation(new Animation(6340)); npc.setCantInteract(true); npc.getCombat().removeTarget(); final Player player = (Player) (target instanceof Player ? target : null); if(player != null) player.getInterfaceManager().sendTab(player.getInterfaceManager().hasRezizableScreen() ? 1 : 11, 226); final WorldTile middle = npc.getMiddleWorldTile(); WorldTasksManager.schedule(new WorldTask() { @Override public void run() { if(player != null) player.getPackets().closeInterface(player.getInterfaceManager().hasRezizableScreen() ? 1 : 11); npc.setCantInteract(false); if(npc.isDead()) return; npc.setNextWorldTile(new WorldTile(COORDS[Utils.random(COORDS.length)])); npc.setNextAnimation(new Animation(6341)); } }, 2); }else{ npc.setNextAnimation(new Animation(defs.getAttackEmote())); delayHit(npc, 0, target, getMeleeHit(npc, getRandomMaxHit(npc, defs.getMaxHit(), NPCCombatDefinitions.MELEE, target))); } return defs.getAttackDelay(); } } Now all you have to do is save and compile. If you use a .bat compiler paste this code into the batch file if not dont worry about it src/com/rs/game/npc/age/*.java Lastly inside NPCSpawning.java add this line: World.spawnNPC(5902, new WorldTile(1824, 5165, 2), -1, true, true);//The Inadequacy
  7. There are many ways to do this. If it is just friends I would suggest using Hamachi so you dont have to pay for a vps for you and a couple people. It also depends on what revision you want as well.
  8. i would look either in settings.java player.java commands.java and a couple login scripts
  9. Sorry for the late reply life has been busy. I have updated the links properly. Thank you.
  10. if you still would like some help on this I can figure something out. I am pretty sure this release works only well once its made into a jar. I know my 876 does. But try making a localhost jar client first. If not then we can see about the other solution which is in eclipse.
  11. First off you are in the wrong section. This is EOC+ not 317/osrs. But what java are you running?
  12. lol well what was your in game name? Sorry I had been on vacation so I am replying now. I might be looking for mod spots soon. Depends on how big we can get with advertisements and so forth. Main thing I need an intro video done (i suck at making videos).
  13. Why yes there is https://discord.gg/ha6Trq I will update main post to reflect that. Thanks.
  14. All I can see is what looks like a normal image if a 317/oldschool server. The issue is on your PC. Try playing with the aspect ratio.
  15. I see no blurring. have you tried right clicking your desktop background to change the aspect ratio?
×